aboutsummaryrefslogtreecommitdiff
path: root/plat/allwinner/common
diff options
context:
space:
mode:
authorSamuel Holland <samuel@sholland.org>2019-02-17 15:10:36 -0600
committerSamuel Holland <samuel@sholland.org>2020-02-12 21:18:21 -0600
commitae3fe6e3e6119663d59831ca6cb39fc66c8ae4f3 (patch)
tree8379f16d004de8cc6c85b2af115f17730a963837 /plat/allwinner/common
parent98367c8061c103159475ecf5beba48da597c84bf (diff)
downloadtrusted-firmware-a-ae3fe6e3e6119663d59831ca6cb39fc66c8ae4f3.tar.gz
allwinner: Adjust SRAM A2 base to include the ARISC vectors
The ARISC vector area consists of 0x4000 bytes before the beginning of usable SRAM. Still, it is technically a part of SRAM A2, so include it in the memory definition. This avoids the confusing practice of subtracting from the beginning of the SRAM region when referencing the ARISC vectors. Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: Iae89e01aeab93560159562692e03e88306e2a1bf
Diffstat (limited to 'plat/allwinner/common')
-rw-r--r--plat/allwinner/common/include/platform_def.h2
-rw-r--r--plat/allwinner/common/sunxi_common.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/plat/allwinner/common/include/platform_def.h b/plat/allwinner/common/include/platform_def.h
index 32a7c0408a..6f2274473e 100644
--- a/plat/allwinner/common/include/platform_def.h
+++ b/plat/allwinner/common/include/platform_def.h
@@ -13,7 +13,7 @@
#include <sunxi_mmap.h>
-#define BL31_BASE SUNXI_SRAM_A2_BASE
+#define BL31_BASE (SUNXI_SRAM_A2_BASE + 0x4000)
#define BL31_LIMIT (SUNXI_SRAM_A2_BASE + SUNXI_SRAM_A2_SIZE)
/* Overwrite U-Boot SPL, but reserve the first page for the SPL header. */
diff --git a/plat/allwinner/common/sunxi_common.c b/plat/allwinner/common/sunxi_common.c
index 3759c285e2..45e415460f 100644
--- a/plat/allwinner/common/sunxi_common.c
+++ b/plat/allwinner/common/sunxi_common.c
@@ -175,7 +175,7 @@ DEFINE_BAKERY_LOCK(arisc_lock);
*/
void sunxi_execute_arisc_code(uint32_t *code, size_t size, uint16_t param)
{
- uintptr_t arisc_reset_vec = SUNXI_SRAM_A2_BASE - 0x4000 + 0x100;
+ uintptr_t arisc_reset_vec = SUNXI_SRAM_A2_BASE + 0x100;
do {
bakery_lock_get(&arisc_lock);