summaryrefslogtreecommitdiff
path: root/include/system-constants.h
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2022-05-25 12:16:03 -0400
committerTom Rini <trini@konsulko.com>2022-06-06 12:09:19 -0400
commiteaf6ea6a1dc10d49cdcbcad0f8b0abb6c1eb1db1 (patch)
tree08730191ffa8d746827684e78887966c866fe172 /include/system-constants.h
parent42c6141d379c0458cbacfb166b4a2d4cd8817325 (diff)
downloadu-boot-eaf6ea6a1dc10d49cdcbcad0f8b0abb6c1eb1db1.tar.gz
u-boot-eaf6ea6a1dc10d49cdcbcad0f8b0abb6c1eb1db1.tar.bz2
u-boot-eaf6ea6a1dc10d49cdcbcad0f8b0abb6c1eb1db1.zip
Migrate CUSTOM_SYS_INIT_SP_ADDR to Kconfig using system-constants.h
- Make all users of CUSTOM_SYS_INIT_SP_ADDR reference SYS_INIT_SP_ADDR - Introduce HAS_CUSTOM_SYS_INIT_SP_ADDR to allow for setting the stack pointer directly, otherwise we use the common calculation. - On some platforms that were using the standard calculation but did not set CONFIG_SYS_INIT_RAM_SIZE / CONFIG_SYS_INIT_RAM_ADDR, set them. - On a small number of platforms that were not subtracting GENERATED_GBL_DATA_SIZE do so now via the standard calculation. - CONFIG_SYS_INIT_SP_OFFSET is now widely unused, so remove it from most board config header files. Signed-off-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'include/system-constants.h')
-rw-r--r--include/system-constants.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/system-constants.h b/include/system-constants.h
index 4fd24f4609..de66fece95 100644
--- a/include/system-constants.h
+++ b/include/system-constants.h
@@ -3,4 +3,20 @@
#ifndef __SYSTEM_CONSTANTS_H__
#define __SYSTEM_CONSTANTS_H__
+/*
+ * The most common case for our initial stack pointer address is to
+ * say that we have defined a static intiial ram address location and
+ * size and from that we subtract the generated global data size.
+ */
+#ifdef CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR
+#define SYS_INIT_SP_ADDR CONFIG_CUSTOM_SYS_INIT_SP_ADDR
+#else
+#ifdef CONFIG_MIPS
+#define SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_INIT_SP_OFFSET)
+#else
+#define SYS_INIT_SP_ADDR \
+ (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
+#endif
+#endif
+
#endif