[PATCH 2/2] global: Make ARCH_MISC_INIT a selected symbol

Tom Rini trini at konsulko.com
Fri Jul 4 23:45:42 CEST 2025


This symbol is not something that the user should be enabling or
disabling but rather the developer for a particular board should select
it when required.

This is mostly size neutral, however a few places do have changes. In
the case of i.MX6ULL systems, it is always the case that
arch_misc_init() could call setup_serial_number() and do useful work,
but was not enabled widely, but now is. In the case of i.MX23/28
systems, we should be able to call mx28_fixup_vt() again here, so do so.
Finally, some platforms were calling arch_misc_init() and then not doing
anything and this results in removing the option.

Signed-off-by: Tom Rini <trini at konsulko.com>
---
Cc: Stefano Babic <sbabic at nabladev.com>
Cc: Fabio Estevam <festevam at gmail.com>
Cc: "NXP i.MX U-Boot Team" <uboot-imx at nxp.com>
---
 arch/arm/Kconfig                          | 7 ++++---
 arch/arm/cpu/armv7/ls102xa/Kconfig        | 1 +
 arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 1 +
 arch/arm/mach-imx/imx9/Kconfig            | 2 ++
 arch/arm/mach-imx/mx6/Kconfig             | 1 +
 arch/arm/mach-omap2/am33xx/Kconfig        | 6 ++++++
 arch/mips/mach-octeon/Kconfig             | 1 +
 board/toradex/verdin-imx8mm/spl.c         | 2 ++
 common/Kconfig                            | 3 ++-
 9 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index be0819a9c9d6..a10d1bb32b63 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -905,6 +905,7 @@ config ARCH_IMX8
 
 config ARCH_IMX8M
 	bool "NXP i.MX8M platform"
+	select ARCH_MISC_INIT if FSL_CAAM
 	select ARM64
 	select GPIO_EXTRA_HEADER
 	select MACH_IMX
@@ -954,6 +955,7 @@ config ARCH_IMXRT
 
 config ARCH_MX23
 	bool "NXP i.MX23 family"
+	select ARCH_MISC_INIT
 	select CPU_ARM926EJS
 	select GPIO_EXTRA_HEADER
 	select MACH_IMX
@@ -961,6 +963,7 @@ config ARCH_MX23
 
 config ARCH_MX28
 	bool "NXP i.MX28 family"
+	select ARCH_MISC_INIT
 	select CPU_ARM926EJS
 	select GPIO_EXTRA_HEADER
 	select MACH_IMX
@@ -1102,6 +1105,7 @@ config ARCH_QEMU
 
 config ARCH_RENESAS
 	bool "Renesas ARM SoCs"
+	select ARCH_MISC_INIT if DISPLAY_CPUINFO && !(RZA1 || RZN1)
 	select DM
 	select DM_SERIAL
 	select GPIO_EXTRA_HEADER
@@ -1111,7 +1115,6 @@ config ARCH_RENESAS
 	imply FAT_WRITE
 	imply OF_UPSTREAM
 	imply SYS_THUMB_BUILD
-	imply ARCH_MISC_INIT if DISPLAY_CPUINFO
 
 config ARCH_SNAPDRAGON
 	bool "Qualcomm Snapdragon SoCs"
@@ -1540,7 +1543,6 @@ config TARGET_LX2160AQDS
 config TARGET_LX2162AQDS
 	bool "Support lx2162aqds"
 	select ARCH_LX2162A
-	select ARCH_MISC_INIT
 	select ARM64
 	select ARMV8_MULTIENTRY
 	select ARCH_SUPPORT_TFABOOT
@@ -1953,7 +1955,6 @@ config TARGET_SL28
 config TARGET_TEN64
 	bool "Support ten64"
 	select ARCH_LS1088A
-	select ARCH_MISC_INIT
 	select ARM64
 	select ARMV8_MULTIENTRY
 	select ARCH_SUPPORT_TFABOOT
diff --git a/arch/arm/cpu/armv7/ls102xa/Kconfig b/arch/arm/cpu/armv7/ls102xa/Kconfig
index 46ace7e5fd68..5c8839583aa6 100644
--- a/arch/arm/cpu/armv7/ls102xa/Kconfig
+++ b/arch/arm/cpu/armv7/ls102xa/Kconfig
@@ -1,5 +1,6 @@
 config ARCH_LS1021A
 	bool
+	select ARCH_MISC_INIT if FSL_CAAM
 	select FSL_DEVICE_DISABLE
 	select FSL_IFC if !QSPI_BOOT && !SD_BOOT_QSPI
 	select LS102XA_STREAM_ID
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
index 080fe3fc327d..787c7a7c1da6 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
+++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
@@ -328,6 +328,7 @@ config ARCH_LX2160A
 
 config FSL_LSCH2
 	bool
+	select ARCH_MISC_INIT if FSL_CAAM
 	select SKIP_LOWLEVEL_INIT
 	select SYS_FSL_CCSR_GUR_BE
 	select SYS_FSL_CCSR_SCFG_BE
diff --git a/arch/arm/mach-imx/imx9/Kconfig b/arch/arm/mach-imx/imx9/Kconfig
index 280d255c0864..6af45938edb3 100644
--- a/arch/arm/mach-imx/imx9/Kconfig
+++ b/arch/arm/mach-imx/imx9/Kconfig
@@ -22,10 +22,12 @@ config IMX93
 config IMX91
 	bool
 	select IMX9
+	select ARCH_MISC_INIT
 	select ARMV8_SPL_EXCEPTION_VECTORS
 
 config IMX95
 	bool
+	select ARCH_MISC_INIT
 	select ARMV8_SPL_EXCEPTION_VECTORS
 	select IMX9
 	select DM_MAILBOX
diff --git a/arch/arm/mach-imx/mx6/Kconfig b/arch/arm/mach-imx/mx6/Kconfig
index 2f873ed6ddf1..3f5e91da204f 100644
--- a/arch/arm/mach-imx/mx6/Kconfig
+++ b/arch/arm/mach-imx/mx6/Kconfig
@@ -63,6 +63,7 @@ config MX6UL
 
 config MX6ULL
 	bool "i.MX 6ULL SoC support"
+	select ARCH_MISC_INIT
 	select ROM_UNIFIED_SECTIONS
 	select SYSCOUNTER_TIMER
 	select SYS_L2CACHE_OFF
diff --git a/arch/arm/mach-omap2/am33xx/Kconfig b/arch/arm/mach-omap2/am33xx/Kconfig
index 46abf070f9d5..dff4f1cf202f 100644
--- a/arch/arm/mach-omap2/am33xx/Kconfig
+++ b/arch/arm/mach-omap2/am33xx/Kconfig
@@ -9,6 +9,7 @@ choice
 
 config TARGET_AM335X_EVM
 	bool "Support am335x_evm"
+	select ARCH_MISC_INIT
 	select BOARD_LATE_INIT
 	select DM
 	select DM_GPIO
@@ -70,6 +71,7 @@ config TARGET_AM335X_SHC
 
 config TARGET_AM335X_GUARDIAN
 	bool "Support am335x based guardian board from bosch"
+	select ARCH_MISC_INIT
 	select BOARD_LATE_INIT
 	select DM
 	select DM_SERIAL
@@ -116,6 +118,7 @@ config TARGET_ETAMIN
 
 config TARGET_PCM051
 	bool "Support pcm051"
+	select ARCH_MISC_INIT
 	select DM
 	select DM_GPIO
 	select DM_SERIAL
@@ -123,6 +126,7 @@ config TARGET_PCM051
 
 config TARGET_PHYCORE_AM335X_R2
 	bool "Support phyCORE AM335X R2"
+	select ARCH_MISC_INIT
 	select DM
 	select DM_GPIO
 	select DM_SERIAL
@@ -130,6 +134,7 @@ config TARGET_PHYCORE_AM335X_R2
 
 config TARGET_PXM2
 	bool "Support pxm2"
+	select ARCH_MISC_INIT
 	select BOARD_LATE_INIT
 	select DM
 	select DM_GPIO
@@ -148,6 +153,7 @@ config TARGET_RASTABAN
 
 config TARGET_RUT
 	bool "Support rut"
+	select ARCH_MISC_INIT
 	select BOARD_LATE_INIT
 	select DM
 	select DM_GPIO
diff --git a/arch/mips/mach-octeon/Kconfig b/arch/mips/mach-octeon/Kconfig
index 5d2186bba551..6105cdcf96ea 100644
--- a/arch/mips/mach-octeon/Kconfig
+++ b/arch/mips/mach-octeon/Kconfig
@@ -42,6 +42,7 @@ config TARGET_OCTEON_EBB7304
 
 config TARGET_OCTEON_NIC23
 	bool "Marvell Octeon NIC23"
+	select ARCH_MISC_INIT
 	select OCTEON_CN73XX
 	help
 	 Choose this for the Octeon NIC23 board
diff --git a/board/toradex/verdin-imx8mm/spl.c b/board/toradex/verdin-imx8mm/spl.c
index 1020078afea2..3c2d0ba1dd46 100644
--- a/board/toradex/verdin-imx8mm/spl.c
+++ b/board/toradex/verdin-imx8mm/spl.c
@@ -53,7 +53,9 @@ void spl_dram_init(void)
 
 void spl_board_init(void)
 {
+#if IS_ENABLED(CONFIG_ARCH_MISC_INIT)
 	arch_misc_init();
+#endif
 }
 
 #ifdef CONFIG_SPL_LOAD_FIT
diff --git a/common/Kconfig b/common/Kconfig
index 17539079f90f..a2f653f7e722 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -704,8 +704,9 @@ config ARCH_EARLY_INIT_R
 	  enabled. This can be used to set up architecture-specific devices.
 
 config ARCH_MISC_INIT
-	bool "Call arch-specific init after relocation, when console is ready"
+	bool
 	help
+	  Call arch-specific init after relocation, when console is ready.
 	  With this option U-Boot will call arch_misc_init() after
 	  relocation to allow miscellaneous arch-dependent initialisation
 	  to be performed. This function should be defined by the board
-- 
2.43.0



More information about the U-Boot mailing list