浏览代码

spl: Kconfig: migrate $(SPL_TPL_)LDSCRIPT to Kconfig

Now that we have split up SPL_LDSCRIPT into a SPL and TPL variant and
have started to use the TPL-variant for the RK3368, it's time to clean
up behind ourselves: move both variants into Kconfig and remove them
from the whitelist.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Philipp Tomsich 7 年之前
父节点
当前提交
dd6fbcb938
共有 3 个文件被更改,包括 27 次插入3 次删除
  1. 19 0
      common/spl/Kconfig
  2. 8 1
      scripts/Makefile.spl
  3. 0 2
      scripts/config_whitelist.txt

+ 19 - 0
common/spl/Kconfig

@@ -18,6 +18,16 @@ config SPL
 
 
 if SPL
 if SPL
 
 
+config SPL_LDSCRIPT
+	string "Linker script for the SPL stage"
+	default "arch/$(ARCH)/cpu/u-boot-spl.lds"
+	depends on SPL
+	help
+	  The SPL stage will usually require a different linker-script
+	  (as it runs from a different memory region) than the regular
+	  U-Boot stage.	 Set this to the path of the linker-script to
+	  be used for SPL.
+
 config SPL_BOARD_INIT
 config SPL_BOARD_INIT
 	bool "Call board-specific initialization in SPL"
 	bool "Call board-specific initialization in SPL"
 	help
 	help
@@ -707,6 +717,15 @@ config TPL
 
 
 if TPL
 if TPL
 
 
+config TPL_LDSCRIPT
+        string "Linker script for the TPL stage"
+	depends on TPL
+	help
+	  The TPL stage will usually require a different linker-script
+	  (as it runs from a different memory region) than the regular
+	  U-Boot stage.  Set this to the path of the linker-script to
+	  be used for TPL.
+
 config TPL_BOOTROM_SUPPORT
 config TPL_BOOTROM_SUPPORT
         bool "Support returning to the BOOTROM (from TPL)"
         bool "Support returning to the BOOTROM (from TPL)"
 	help
 	help

+ 8 - 1
scripts/Makefile.spl

@@ -103,9 +103,16 @@ u-boot-spl-platdata := $(obj)/dts/dt-platdata.o
 endif
 endif
 
 
 # Linker Script
 # Linker Script
-ifdef CONFIG_$(SPL_TPL_)LDSCRIPT
+# First test whether there's a linker-script for the specific stage defined...
+ifneq ($(CONFIG_$(SPL_TPL_)LDSCRIPT),)
 # need to strip off double quotes
 # need to strip off double quotes
 LDSCRIPT := $(addprefix $(srctree)/,$(CONFIG_$(SPL_TPL_)LDSCRIPT:"%"=%))
 LDSCRIPT := $(addprefix $(srctree)/,$(CONFIG_$(SPL_TPL_)LDSCRIPT:"%"=%))
+else
+# ...then fall back to the generic SPL linker-script
+ifneq ($(CONFIG_SPL_LDSCRIPT),)
+# need to strip off double quotes
+LDSCRIPT := $(addprefix $(srctree)/,$(CONFIG_SPL_LDSCRIPT:"%"=%))
+endif
 endif
 endif
 
 
 ifeq ($(wildcard $(LDSCRIPT)),)
 ifeq ($(wildcard $(LDSCRIPT)),)

+ 0 - 2
scripts/config_whitelist.txt

@@ -2207,7 +2207,6 @@ CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER
 CONFIG_SPL_INIT_MINIMAL
 CONFIG_SPL_INIT_MINIMAL
 CONFIG_SPL_JR0_LIODN_NS
 CONFIG_SPL_JR0_LIODN_NS
 CONFIG_SPL_JR0_LIODN_S
 CONFIG_SPL_JR0_LIODN_S
-CONFIG_SPL_LDSCRIPT
 CONFIG_SPL_LOAD_FIT_ADDRESS
 CONFIG_SPL_LOAD_FIT_ADDRESS
 CONFIG_SPL_MAX_FOOTPRINT
 CONFIG_SPL_MAX_FOOTPRINT
 CONFIG_SPL_MAX_PEB_SIZE
 CONFIG_SPL_MAX_PEB_SIZE
@@ -4909,7 +4908,6 @@ CONFIG_TI_KEYSTONE_SERDES
 CONFIG_TI_KSNAV
 CONFIG_TI_KSNAV
 CONFIG_TI_SPI_MMAP
 CONFIG_TI_SPI_MMAP
 CONFIG_TMU_TIMER
 CONFIG_TMU_TIMER
-CONFIG_TPL_LDSCRIPT
 CONFIG_TPL_MAX_SIZE
 CONFIG_TPL_MAX_SIZE
 CONFIG_TPL_PAD_TO
 CONFIG_TPL_PAD_TO
 CONFIG_TPL_STACK
 CONFIG_TPL_STACK