spl: Add an SPL_HAVE_INIT_STACK option
At present there is a hex value SPL_STACK which both determines whether
SPL has its own initial stack and the hex value of that stack.
Split off the former into SPL_HAVE_INIT_STACK with SPL_STACK depending
on that and only providing the latter.
Signed-off-by: Simon Glass <sjg@chromium.org>
[trini: Resync defconfig files]
diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index 7d67809..97f542f 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -387,11 +387,29 @@
both SPL and U-Boot itself. If you need to specify a different address
however, say N here and then set a different value in CONFIG_SPL_STACK.
-config SPL_STACK
- hex "Initial stack pointer location"
+config SPL_HAVE_INIT_STACK
+ bool "SPL requires a initial, fixed, stack-pointer location"
depends on (ARM || ARCH_JZ47XX || MICROBLAZE || RISCV) && \
SPL_FRAMEWORK || ROCKCHIP_RK3036
depends on !SPL_SHARES_INIT_SP_ADDR
+ default y if ARCH_MX7
+ default y if ARCH_MX6 && MX6_OCRAM_256KB
+ default y if ARCH_MX6 && !MX6_OCRAM_256KB
+ default y if MACH_SUN50I_H6 || MACH_SUN50I_H616 || MACH_SUN8I_R528
+ default y if MACH_SUN50I || MACH_SUN50I_H5
+ default y if MACH_SUN9I
+ default y if ARCH_SUNXI
+ default y if ARCH_SC5XX && (SC59X_64 || SC59X)
+ default y if ARCH_SC5XX && SC58X
+ default y if ARCH_SC5XX && SC57X
+ help
+ Enable if the SPL phase should not use inherit its initial
+ stack-pointer from the settings for U-Boot proper, but should set
+ its own value.
+
+config SPL_STACK
+ hex "Address of the initial stack-pointer for the SPL phase"
+ depends on SPL_HAVE_INIT_STACK
default 0x946bb8 if ARCH_MX7
default 0x93ffb8 if ARCH_MX6 && MX6_OCRAM_256KB
default 0x91ffb8 if ARCH_MX6 && !MX6_OCRAM_256KB
@@ -401,9 +419,9 @@
default 0x54000 if MACH_SUN50I || MACH_SUN50I_H5
default 0x18000 if MACH_SUN9I
default 0x8000 if ARCH_SUNXI
- default 0x200E4000 if ARCH_SC5XX && (SC59X_64 || SC59X)
- default 0x200B0000 if ARCH_SC5XX && SC58X
- default 0x200D0000 if ARCH_SC5XX && SC57X
+ default 0x200e4000 if ARCH_SC5XX && (SC59X_64 || SC59X)
+ default 0x200b0000 if ARCH_SC5XX && SC58X
+ default 0x200d0000 if ARCH_SC5XX && SC57X
help
Address of the start of the stack SPL will use before SDRAM is
initialized.