The most common word for features that make a platform work is to use
'HAVE_xxx'. Rename this option to match.

Update the help to use the word 'phase' rather than 'stage', since
that is the current terminology. Also clarify that, absent this setting,
the stack pointer generally comes from the value used by U-Boot proper,
rather than SPL.

Move the option just above TPL_STACK which depends on it.

Signed-off-by: Simon Glass <s...@chromium.org>
---

(no changes since v3)

Changes in v3:
- Reword the Kconfig help for TPL_HAVE_INIT_STACK

Changes in v2:
- Add new patch to rename TPL_NEEDS_SEPARATE_STACK

 arch/arm/lib/crt0.S            |  2 +-
 arch/arm/lib/crt0_64.S         |  2 +-
 arch/arm/mach-rockchip/Kconfig | 14 +++++++-------
 common/spl/Kconfig.tpl         | 19 ++++++++++---------
 configs/mk808_defconfig        |  2 +-
 5 files changed, 20 insertions(+), 19 deletions(-)

diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S
index 3e4906e273d..aca5b865680 100644
--- a/arch/arm/lib/crt0.S
+++ b/arch/arm/lib/crt0.S
@@ -100,7 +100,7 @@ ENTRY(_main)
  * Set up initial C runtime environment and call board_init_f(0).
  */
 
-#if defined(CONFIG_TPL_BUILD) && defined(CONFIG_TPL_NEEDS_SEPARATE_STACK)
+#if defined(CONFIG_TPL_BUILD) && defined(CONFIG_TPL_HAVE_INIT_STACK)
        ldr     r0, =(CONFIG_TPL_STACK)
 #elif defined(CONFIG_XPL_BUILD) && defined(CONFIG_SPL_STACK)
        ldr     r0, =(CONFIG_SPL_STACK)
diff --git a/arch/arm/lib/crt0_64.S b/arch/arm/lib/crt0_64.S
index 32401f544a7..62a0abe1fed 100644
--- a/arch/arm/lib/crt0_64.S
+++ b/arch/arm/lib/crt0_64.S
@@ -69,7 +69,7 @@ ENTRY(_main)
 /*
  * Set up initial C runtime environment and call board_init_f(0).
  */
-#if defined(CONFIG_TPL_BUILD) && defined(CONFIG_TPL_NEEDS_SEPARATE_STACK)
+#if defined(CONFIG_TPL_BUILD) && defined(CONFIG_TPL_HAVE_INIT_STACK)
        ldr     x0, =(CONFIG_TPL_STACK)
 #elif defined(CONFIG_XPL_BUILD) && defined(CONFIG_SPL_STACK)
        ldr     x0, =(CONFIG_SPL_STACK)
diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
index adac11a6b89..c6e347b8d9d 100644
--- a/arch/arm/mach-rockchip/Kconfig
+++ b/arch/arm/mach-rockchip/Kconfig
@@ -9,7 +9,7 @@ config ROCKCHIP_PX30
        select SPL
        select TPL
        select TPL_TINY_FRAMEWORK if TPL
-       select TPL_NEEDS_SEPARATE_STACK if TPL
+       select TPL_HAVE_INIT_STACK if TPL
        imply SPL_SEPARATE_BSS
        select SPL_SERIAL
        select TPL_SERIAL
@@ -107,7 +107,7 @@ config ROCKCHIP_RK322X
        select TPL
        select TPL_DM
        select TPL_OF_LIBFDT
-       select TPL_NEEDS_SEPARATE_STACK if TPL
+       select TPL_HAVE_INIT_STACK if TPL
        select SPL_DRIVERS_MISC
        imply ROCKCHIP_COMMON_BOARD
        imply SPL_SERIAL
@@ -140,7 +140,7 @@ config ROCKCHIP_RK3288
        imply TPL_DRIVERS_MISC
        imply TPL_LIBCOMMON_SUPPORT
        imply TPL_LIBGENERIC_SUPPORT
-       imply TPL_NEEDS_SEPARATE_STACK
+       imply TPL_HAVE_INIT_STACK
        imply TPL_OF_CONTROL
        imply TPL_OF_PLATDATA
        imply TPL_RAM
@@ -198,7 +198,7 @@ config ROCKCHIP_RK3328
        select SPL
        select SUPPORT_TPL
        select TPL
-       select TPL_NEEDS_SEPARATE_STACK if TPL
+       select TPL_HAVE_INIT_STACK if TPL
        imply ARMV8_CRYPTO
        imply ARMV8_SET_SMPEN
        imply MISC
@@ -226,7 +226,7 @@ config ROCKCHIP_RK3368
        select ARM64
        select SUPPORT_SPL
        select SUPPORT_TPL
-       select TPL_NEEDS_SEPARATE_STACK if TPL
+       select TPL_HAVE_INIT_STACK if TPL
        imply ROCKCHIP_COMMON_BOARD
        imply SPL_ROCKCHIP_COMMON_BOARD
        imply SPL_SEPARATE_BSS
@@ -258,7 +258,7 @@ config ROCKCHIP_RK3399
        select SPL_RAM if SPL
        select SPL_REGMAP if SPL
        select SPL_SYSCON if SPL
-       select TPL_NEEDS_SEPARATE_STACK if TPL
+       select TPL_HAVE_INIT_STACK if TPL
        select SPL_SEPARATE_BSS
        select CLK
        select FIT
@@ -393,7 +393,7 @@ config ROCKCHIP_RV1126
        select SKIP_LOWLEVEL_INIT_ONLY
        select TPL
        select SUPPORT_TPL
-       select TPL_NEEDS_SEPARATE_STACK
+       select TPL_HAVE_INIT_STACK
        select TPL_ROCKCHIP_BACK_TO_BROM
        select SPL
        select SUPPORT_SPL
diff --git a/common/spl/Kconfig.tpl b/common/spl/Kconfig.tpl
index 22ca7016453..421352f9396 100644
--- a/common/spl/Kconfig.tpl
+++ b/common/spl/Kconfig.tpl
@@ -106,12 +106,6 @@ config TPL_LDSCRIPT
          May be left empty to trigger the Makefile infrastructure to
          fall back to the linker-script used for the SPL stage.
 
-config TPL_NEEDS_SEPARATE_STACK
-       bool "TPL needs a separate initial stack-pointer"
-       help
-         Enable, if the TPL stage should not inherit its initial
-         stack-pointer from the settings for the SPL stage.
-
 config TPL_POWER
        bool "Support power drivers"
        help
@@ -140,11 +134,18 @@ config TPL_MAX_SIZE
        help
          The maximum size (in bytes) of the TPL stage.
 
+config TPL_HAVE_INIT_STACK
+       bool "TPL requires a initial, fixed, stack-pointer location"
+       help
+         Enable if the TPL phase should not inherit its initial
+         stack-pointer from the settings for U-Boot proper (or SPL if
+         SPL_STACK is defined), but should set its own value.
+
 config TPL_STACK
-       hex "Address of the initial stack-pointer for the TPL stage"
-       depends on TPL_NEEDS_SEPARATE_STACK
+       hex "Address of the initial stack-pointer for the TPL phase"
+       depends on TPL_HAVE_INIT_STACK
        help
-         The address of the initial stack-pointer for the TPL stage.
+         The address of the initial stack-pointer for the TPL phase
          Usually this will be the (aligned) top-of-stack.
 
 config TPL_READ_ONLY
diff --git a/configs/mk808_defconfig b/configs/mk808_defconfig
index e47d0b594f3..a1f089a23ea 100644
--- a/configs/mk808_defconfig
+++ b/configs/mk808_defconfig
@@ -48,7 +48,7 @@ CONFIG_SPL_NO_BSS_LIMIT=y
 CONFIG_SPL_SEPARATE_BSS=y
 CONFIG_SPL_FS_EXT4=y
 CONFIG_SYS_MMCSD_FS_BOOT_PARTITION=2
-CONFIG_TPL_NEEDS_SEPARATE_STACK=y
+CONFIG_TPL_HAVE_INIT_STACK=y
 # CONFIG_BOOTM_PLAN9 is not set
 # CONFIG_BOOTM_RTEMS is not set
 # CONFIG_BOOTM_VXWORKS is not set
-- 
2.43.0

Reply via email to