From 1ebfc0c631e3073d6f7ae97aa001b26b660c08c4 Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Sun, 18 Apr 2021 22:21:41 -0500 Subject: sunxi: A23/A33/H3: Move sun8i secure monitor to SRAM A2 So far for the H3, A23, and A33 SoCs, we use DRAM to hold the secure monitor code (providing PSCI runtime services). And while those SoCs do not have the secure SRAM B like older SoCs, there is enough (secure) SRAM A2 to put the monitor code and data in there instead. Follow the design of 64-bit SoCs and use the first part for the monitor, and the last 16 KiB for the SCP firmware. With this change, the monitor no longer needs to reserve a region in DRAM. Signed-off-by: Samuel Holland Reviewed-by: Andre Przywara [Andre: amend commit message, fix R40 and V3s build] Signed-off-by: Andre Przywara --- include/configs/sun8i.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'include') diff --git a/include/configs/sun8i.h b/include/configs/sun8i.h index 9b4675e4c37..27c9808a494 100644 --- a/include/configs/sun8i.h +++ b/include/configs/sun8i.h @@ -12,6 +12,16 @@ * A23 specific configuration */ +#ifdef SUNXI_SRAM_A2_SIZE +/* + * If the SoC has enough SRAM A2, use that for the secure monitor. + * Skip the first 16 KiB of SRAM A2, which is not usable, as only certain bytes + * are writable. Reserve the last 17 KiB for the resume shim and SCP firmware. + */ +#define CONFIG_ARMV7_SECURE_BASE (SUNXI_SRAM_A2_BASE + 16 * 1024) +#define CONFIG_ARMV7_SECURE_MAX_SIZE (SUNXI_SRAM_A2_SIZE - 33 * 1024) +#endif + /* * Include common sunxi configuration where most the settings are */ -- cgit v1.3.1