diff mbox

[U-Boot,1/3] spl: add hierarchical defaults for SPL_LDSCRIPT

Message ID 1501879949-7825-2-git-send-email-philipp.tomsich@theobroma-systems.com
State Accepted
Delegated to: Philipp Tomsich
Headers show

Commit Message

Philipp Tomsich Aug. 4, 2017, 8:52 p.m. UTC
With SPL_LDSCRIPT moved to Kconfig (and this being a 'string' config
node), all the lingering definitions in header files will cause errors
due to the redefinition of the configuration item.

As we don't want to pollute the defconfig files (and values should
usually be identical for entire architectures), the defaults are moved
into Kconfig.  Kconfig will always pick the first default that
matches, so please keep these values at the end of each file (to allow
any board-specific Kconfig, which will be included earlier) to
override with an unconditional default setting.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

---

 arch/arm/Kconfig                          | 12 ++++++++++++
 arch/arm/cpu/armv8/fsl-layerscape/Kconfig |  3 +++
 arch/arm/mach-at91/Kconfig                |  4 ++++
 arch/arm/mach-davinci/Kconfig             |  4 ++++
 arch/arm/mach-exynos/Kconfig              |  3 +++
 arch/arm/mach-omap2/Kconfig               |  3 +++
 arch/arm/mach-orion5x/Kconfig             |  3 +++
 arch/arm/mach-sunxi/Kconfig               |  3 +++
 arch/arm/mach-zynq/Kconfig                |  3 +++
 arch/microblaze/Kconfig                   |  3 +++
 board/armadeus/apf27/Kconfig              |  3 +++
 board/freescale/mx31pdk/Kconfig           |  3 +++
 board/spear/x600/Kconfig                  |  3 +++
 13 files changed, 50 insertions(+)

Comments

Simon Glass Aug. 6, 2017, 5:17 a.m. UTC | #1
Hi Philipp,

On 4 August 2017 at 14:52, Philipp Tomsich
<philipp.tomsich@theobroma-systems.com> wrote:
> With SPL_LDSCRIPT moved to Kconfig (and this being a 'string' config
> node), all the lingering definitions in header files will cause errors
> due to the redefinition of the configuration item.
>
> As we don't want to pollute the defconfig files (and values should
> usually be identical for entire architectures), the defaults are moved
> into Kconfig.  Kconfig will always pick the first default that
> matches, so please keep these values at the end of each file (to allow
> any board-specific Kconfig, which will be included earlier) to
> override with an unconditional default setting.
>
> Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
>
> ---
>
>  arch/arm/Kconfig                          | 12 ++++++++++++
>  arch/arm/cpu/armv8/fsl-layerscape/Kconfig |  3 +++
>  arch/arm/mach-at91/Kconfig                |  4 ++++
>  arch/arm/mach-davinci/Kconfig             |  4 ++++
>  arch/arm/mach-exynos/Kconfig              |  3 +++
>  arch/arm/mach-omap2/Kconfig               |  3 +++
>  arch/arm/mach-orion5x/Kconfig             |  3 +++
>  arch/arm/mach-sunxi/Kconfig               |  3 +++
>  arch/arm/mach-zynq/Kconfig                |  3 +++
>  arch/microblaze/Kconfig                   |  3 +++
>  board/armadeus/apf27/Kconfig              |  3 +++
>  board/freescale/mx31pdk/Kconfig           |  3 +++
>  board/spear/x600/Kconfig                  |  3 +++
>  13 files changed, 50 insertions(+)
>

Reviewed-by: Simon Glass <sjg@chromium.org>

I would expect this to generate warnings given that the header files
define these also. But perhaps it doesn't since the values are the
same.
Philipp Tomsich Aug. 6, 2017, 5:18 p.m. UTC | #2
> With SPL_LDSCRIPT moved to Kconfig (and this being a 'string' config
> node), all the lingering definitions in header files will cause errors
> due to the redefinition of the configuration item.
> 
> As we don't want to pollute the defconfig files (and values should
> usually be identical for entire architectures), the defaults are moved
> into Kconfig.  Kconfig will always pick the first default that
> matches, so please keep these values at the end of each file (to allow
> any board-specific Kconfig, which will be included earlier) to
> override with an unconditional default setting.
> 
> Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
> ---
> 
>  arch/arm/Kconfig                          | 12 ++++++++++++
>  arch/arm/cpu/armv8/fsl-layerscape/Kconfig |  3 +++
>  arch/arm/mach-at91/Kconfig                |  4 ++++
>  arch/arm/mach-davinci/Kconfig             |  4 ++++
>  arch/arm/mach-exynos/Kconfig              |  3 +++
>  arch/arm/mach-omap2/Kconfig               |  3 +++
>  arch/arm/mach-orion5x/Kconfig             |  3 +++
>  arch/arm/mach-sunxi/Kconfig               |  3 +++
>  arch/arm/mach-zynq/Kconfig                |  3 +++
>  arch/microblaze/Kconfig                   |  3 +++
>  board/armadeus/apf27/Kconfig              |  3 +++
>  board/freescale/mx31pdk/Kconfig           |  3 +++
>  board/spear/x600/Kconfig                  |  3 +++
>  13 files changed, 50 insertions(+)
> 

Applied to u-boot-rockchip, thanks!
diff mbox

Patch

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 7f6ab4a..2b72810 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -609,6 +609,11 @@  config ARCH_MX6
 	select SYS_FSL_SEC_LE
 	select SYS_THUMB_BUILD if SPL
 
+if ARCH_MX6
+config SPL_LDSCRIPT
+        default "arch/arm/mach-omap2/u-boot-spl.lds"
+endif
+
 config ARCH_MX5
 	bool "Freescale MX5"
 	select CPU_V7
@@ -1222,3 +1227,10 @@  source "board/zipitz2/Kconfig"
 source "arch/arm/Kconfig.debug"
 
 endmenu
+
+config SPL_LDSCRIPT
+        default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if CPU_ARM926EJS
+        default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
+	default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
+
+
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
index 5825f9b..5ba347c 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
+++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
@@ -392,3 +392,6 @@  config SYS_MC_RSV_MEM_ALIGN
 	help
 	  Reserved memory needs to be aligned for MC to use. Default value
 	  is 512MB.
+
+config SPL_LDSCRIPT
+	default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
index 033c1ef..c81264b 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -198,4 +198,8 @@  source "board/siemens/corvus/Kconfig"
 source "board/siemens/taurus/Kconfig"
 source "board/siemens/smartweb/Kconfig"
 
+config SPL_LDSCRIPT
+	default "arch/arm/mach-at91/arm926ejs/u-boot-spl.lds" if CPU_ARM926EJS
+	default "arch/arm/mach-at91/armv7/u-boot-spl.lds" if CPU_V7
+
 endif
diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig
index 4757f24..35e4e9b 100644
--- a/arch/arm/mach-davinci/Kconfig
+++ b/arch/arm/mach-davinci/Kconfig
@@ -53,4 +53,8 @@  source "board/davinci/ea20/Kconfig"
 source "board/omicron/calimain/Kconfig"
 source "board/lego/ev3/Kconfig"
 
+config SPL_LDSCRIPT
+	default "board/$(BOARDDIR)/u-boot-spl-ipam390.lds" if TARGET_IPAM390
+	default "board/$(BOARDDIR)/u-boot-spl-da850evm.lds"
+
 endif
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index d1aa68d..8b1389f 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -161,4 +161,7 @@  source "board/samsung/smdk5250/Kconfig"
 source "board/samsung/smdk5420/Kconfig"
 source "board/samsung/espresso7420/Kconfig"
 
+config SPL_LDSCRIPT
+	default "board/samsung/common/exynos-uboot-spl.lds" if ARCH_EXYNOS5 || ARCH_EXYNOS4
+
 endif
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 013586e..588ef8f 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -165,4 +165,7 @@  source "board/ti/am335x/Kconfig"
 source "board/compulab/cm_t335/Kconfig"
 source "board/compulab/cm_t43/Kconfig"
 
+config SPL_LDSCRIPT
+        default "arch/arm/mach-omap2/u-boot-spl.lds"
+
 endif
diff --git a/arch/arm/mach-orion5x/Kconfig b/arch/arm/mach-orion5x/Kconfig
index 7644b8d..2984a3e 100644
--- a/arch/arm/mach-orion5x/Kconfig
+++ b/arch/arm/mach-orion5x/Kconfig
@@ -15,4 +15,7 @@  config SYS_SOC
 
 source "board/LaCie/edminiv2/Kconfig"
 
+config SPL_LDSCRIPT
+	default "$(CPUDIR)/orion5x/u-boot-spl.lds" if ORION5X
+
 endif
diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
index 94412ba..386befb 100644
--- a/arch/arm/mach-sunxi/Kconfig
+++ b/arch/arm/mach-sunxi/Kconfig
@@ -1,5 +1,8 @@ 
 if ARCH_SUNXI
 
+config SPL_LDSCRIPT
+	default "arch/arm/cpu/armv7/sunxi/u-boot-spl.lds" if !ARM64
+
 config IDENT_STRING
 	default " Allwinner Technology"
 
diff --git a/arch/arm/mach-zynq/Kconfig b/arch/arm/mach-zynq/Kconfig
index c428ce5..b9cd45b 100644
--- a/arch/arm/mach-zynq/Kconfig
+++ b/arch/arm/mach-zynq/Kconfig
@@ -1,5 +1,8 @@ 
 if ARCH_ZYNQ
 
+config SPL_LDSCRIPT
+	default "arch/arm/mach-zynq/u-boot-spl.lds"
+
 config SPL_FAT_SUPPORT
 	default y
 
diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
index 20fa25b..f791c00 100644
--- a/arch/microblaze/Kconfig
+++ b/arch/microblaze/Kconfig
@@ -21,4 +21,7 @@  endchoice
 
 source "board/xilinx/microblaze-generic/Kconfig"
 
+config SPL_LDSCRIPT
+	default "arch/microblaze/cpu/u-boot-spl.lds"
+
 endmenu
diff --git a/board/armadeus/apf27/Kconfig b/board/armadeus/apf27/Kconfig
index 65544a8..a342d2e 100644
--- a/board/armadeus/apf27/Kconfig
+++ b/board/armadeus/apf27/Kconfig
@@ -1,5 +1,8 @@ 
 if TARGET_APF27
 
+config SPL_LDSCRIPT
+	default "arch/$(ARCH)/cpu/u-boot-spl.lds"
+
 config SYS_BOARD
 	default "apf27"
 
diff --git a/board/freescale/mx31pdk/Kconfig b/board/freescale/mx31pdk/Kconfig
index 055545c..b9fc2d5 100644
--- a/board/freescale/mx31pdk/Kconfig
+++ b/board/freescale/mx31pdk/Kconfig
@@ -1,5 +1,8 @@ 
 if TARGET_MX31PDK
 
+config SPL_LDSCRIPT
+	default "arch/$(ARCH)/cpu/u-boot-spl.lds"
+
 config SYS_BOARD
 	default "mx31pdk"
 
diff --git a/board/spear/x600/Kconfig b/board/spear/x600/Kconfig
index 6a1c5c7..59f2b1e 100644
--- a/board/spear/x600/Kconfig
+++ b/board/spear/x600/Kconfig
@@ -1,5 +1,8 @@ 
 if TARGET_X600
 
+config SPL_LDSCRIPT
+	default "arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds"
+
 config SYS_BOARD
 	default "x600"