[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