Merge branch 'master' of git://git.denx.de/u-boot-sunxi
[oweals/u-boot.git] / arch / arm / Kconfig
index 5b3746c80bf9be3270283f68d35b38b12de429d4..2899a60793c6748924e60d00869f63b9d6cc5a6a 100644 (file)
@@ -169,7 +169,7 @@ config ARM_ERRATA_833471
        bool
 
 config ARM_ERRATA_845369
-       bool
+       bool
 
 config ARM_ERRATA_852421
        bool
@@ -219,25 +219,25 @@ config CPU_ARM1176
 
 config CPU_V7A
        bool
-       select HAS_VBAR
        select HAS_THUMB2
+       select HAS_VBAR
        select SYS_CACHE_SHIFT_6
        imply SYS_ARM_MMU
 
 config CPU_V7M
        bool
        select HAS_THUMB2
-       select THUMB2_KERNEL
-       select SYS_CACHE_SHIFT_5
        select SYS_ARM_MPU
+       select SYS_CACHE_SHIFT_5
        select SYS_THUMB_BUILD
+       select THUMB2_KERNEL
 
 config CPU_V7R
        bool
        select HAS_THUMB2
-       select SYS_CACHE_SHIFT_6
-       select SYS_ARM_MPU
        select SYS_ARM_CACHE_CP15
+       select SYS_ARM_MPU
+       select SYS_CACHE_SHIFT_6
 
 config CPU_PXA
        bool
@@ -427,30 +427,21 @@ config ARCH_DAVINCI
 
 config KIRKWOOD
        bool "Marvell Kirkwood"
-       select CPU_ARM926EJS
-       select BOARD_EARLY_INIT_F
        select ARCH_MISC_INIT
+       select BOARD_EARLY_INIT_F
+       select CPU_ARM926EJS
 
 config ARCH_MVEBU
        bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
-       select OF_CONTROL
-       select OF_SEPARATE
        select DM
        select DM_ETH
        select DM_SERIAL
        select DM_SPI
        select DM_SPI_FLASH
+       select OF_CONTROL
+       select OF_SEPARATE
        select SPI
-
-config TARGET_DEVKIT3250
-       bool "Support devkit3250"
-       select CPU_ARM926EJS
-       select SUPPORT_SPL
-
-config TARGET_WORK_92105
-       bool "Support work_92105"
-       select CPU_ARM926EJS
-       select SUPPORT_SPL
+       imply CMD_DM
 
 config TARGET_APF27
        bool "Support apf27"
@@ -463,31 +454,31 @@ config ORION5X
 
 config TARGET_SPEAR300
        bool "Support spear300"
-       select CPU_ARM926EJS
        select BOARD_EARLY_INIT_F
-       imply CMD_SAVES
+       select CPU_ARM926EJS
        select PL011_SERIAL
+       imply CMD_SAVES
 
 config TARGET_SPEAR310
        bool "Support spear310"
-       select CPU_ARM926EJS
        select BOARD_EARLY_INIT_F
-       imply CMD_SAVES
+       select CPU_ARM926EJS
        select PL011_SERIAL
+       imply CMD_SAVES
 
 config TARGET_SPEAR320
        bool "Support spear320"
-       select CPU_ARM926EJS
        select BOARD_EARLY_INIT_F
-       imply CMD_SAVES
+       select CPU_ARM926EJS
        select PL011_SERIAL
+       imply CMD_SAVES
 
 config TARGET_SPEAR600
        bool "Support spear600"
-       select CPU_ARM926EJS
        select BOARD_EARLY_INIT_F
-       imply CMD_SAVES
+       select CPU_ARM926EJS
        select PL011_SERIAL
+       imply CMD_SAVES
 
 config TARGET_STV0991
        bool "Support stv0991"
@@ -496,16 +487,17 @@ config TARGET_STV0991
        select DM_SERIAL
        select DM_SPI
        select DM_SPI_FLASH
+       select PL01X_SERIAL
        select SPI
        select SPI_FLASH
-       select PL01X_SERIAL
+       imply CMD_DM
 
 config TARGET_X600
        bool "Support x600"
        select BOARD_LATE_INIT
        select CPU_ARM926EJS
-       select SUPPORT_SPL
        select PL011_SERIAL
+       select SUPPORT_SPL
 
 config TARGET_WOODBURN
        bool "Support woodburn"
@@ -528,11 +520,12 @@ config TARGET_MX35PDK
 config ARCH_BCM283X
        bool "Broadcom BCM283X family"
        select DM
-       select DM_SERIAL
        select DM_GPIO
+       select DM_SERIAL
        select OF_CONTROL
        select PL01X_SERIAL
        select SERIAL_SEARCH_ALL
+       imply CMD_DM
        imply FAT_WRITE
 
 config TARGET_VEXPRESS_CA15_TC2
@@ -548,6 +541,7 @@ config ARCH_BCMSTB
        select DM
        select OF_CONTROL
        select OF_PRIOR_STAGE
+       imply CMD_DM
        help
          This enables support for Broadcom ARM-based set-top box
          chipsets, including the 7445 family of chips.
@@ -577,13 +571,13 @@ config TARGET_BCM28155_AP
 config TARGET_BCMCYGNUS
        bool "Support bcmcygnus"
        select CPU_V7A
-       imply CRC32_VERIFY
+       imply BCM_SF2_ETH
+       imply BCM_SF2_ETH_GMAC
        imply CMD_HASH
+       imply CRC32_VERIFY
        imply FAT_WRITE
        imply HASH_VERIFY
        imply NETDEVICES
-       imply BCM_SF2_ETH
-       imply BCM_SF2_ETH_GMAC
 
 config TARGET_BCMNSP
        bool "Support bcmnsp"
@@ -600,22 +594,24 @@ config TARGET_BCMNS2
 config ARCH_EXYNOS
        bool "Samsung EXYNOS"
        select DM
+       select DM_GPIO
        select DM_I2C
-       select DM_SPI_FLASH
+       select DM_KEYBOARD
        select DM_SERIAL
        select DM_SPI
-       select DM_GPIO
-       select DM_KEYBOARD
+       select DM_SPI_FLASH
        select SPI
+       imply CMD_DM
        imply FAT_WRITE
 
 config ARCH_S5PC1XX
        bool "Samsung S5PC1XX"
        select CPU_V7A
        select DM
-       select DM_SERIAL
        select DM_GPIO
        select DM_I2C
+       select DM_SERIAL
+       imply CMD_DM
 
 config ARCH_HIGHBANK
        bool "Calxeda Highbank"
@@ -627,17 +623,24 @@ config ARCH_INTEGRATOR
        select DM
        select DM_SERIAL
        select PL01X_SERIAL
+       imply CMD_DM
 
 config ARCH_KEYSTONE
        bool "TI Keystone"
+       select CMD_POWEROFF
        select CPU_V7A
        select SUPPORT_SPL
-       select SYS_THUMB_BUILD
-       select CMD_POWEROFF
        select SYS_ARCH_TIMER
+       select SYS_THUMB_BUILD
        imply CMD_MTDPARTS
-       imply FIT
        imply CMD_SAVES
+       imply FIT
+
+config ARCH_K3
+       bool "Texas Instruments' K3 Architecture"
+       select SPL
+       select SUPPORT_SPL
+       select FIT
 
 config ARCH_OMAP2PLUS
        bool "TI OMAP2+"
@@ -655,11 +658,28 @@ config ARCH_MESON
          targeted at media players and tablet computers. We currently
          support the S905 (GXBaby) 64-bit SoC.
 
+config ARCH_LPC32XX
+       bool "NXP LPC32xx platform"
+       select CPU_ARM926EJS
+       select DM
+       select DM_GPIO
+       select DM_SERIAL
+       select SPL_DM if SPL
+       select SUPPORT_SPL
+       imply CMD_DM
+
+config ARCH_IMX8
+       bool "NXP i.MX8 platform"
+       select ARM64
+       select DM
+       select OF_CONTROL
+
 config ARCH_MX8M
        bool "NXP i.MX8M platform"
        select ARM64
        select DM
        select SUPPORT_SPL
+       imply CMD_DM
 
 config ARCH_MX23
        bool "NXP i.MX23 family"
@@ -683,19 +703,19 @@ config ARCH_MX31
        select CPU_ARM1136
 
 config ARCH_MX7ULP
-        bool "NXP MX7ULP"
+       bool "NXP MX7ULP"
        select CPU_V7A
        select ROM_UNIFIED_SECTIONS
        imply MXC_GPIO
 
 config ARCH_MX7
        bool "Freescale MX7"
+       select ARCH_MISC_INIT
+       select BOARD_EARLY_INIT_F
        select CPU_V7A
        select SYS_FSL_HAS_SEC if SECURE_BOOT
        select SYS_FSL_SEC_COMPAT_4
        select SYS_FSL_SEC_LE
-       select BOARD_EARLY_INIT_F
-       select ARCH_MISC_INIT
        imply MXC_GPIO
 
 config ARCH_MX6
@@ -709,13 +729,13 @@ config ARCH_MX6
 
 if ARCH_MX6
 config SPL_LDSCRIPT
-        default "arch/arm/mach-omap2/u-boot-spl.lds"
+       default "arch/arm/mach-omap2/u-boot-spl.lds"
 endif
 
 config ARCH_MX5
        bool "Freescale MX5"
-       select CPU_V7A
        select BOARD_EARLY_INIT_F
+       select CPU_V7A
        imply MXC_GPIO
 
 config ARCH_OWL
@@ -724,6 +744,7 @@ config ARCH_OWL
        select DM
        select DM_SERIAL
        select OF_CONTROL
+       imply CMD_DM
 
 config ARCH_QEMU
        bool "QEMU Virtual Platform"
@@ -731,12 +752,16 @@ config ARCH_QEMU
        select DM_SERIAL
        select OF_CONTROL
        select PL01X_SERIAL
+       imply CMD_DM
+       imply DM_RTC
+       imply RTC_PL031
 
 config ARCH_RMOBILE
        bool "Renesas ARM SoCs"
+       select BOARD_EARLY_INIT_F
        select DM
        select DM_SERIAL
-       select BOARD_EARLY_INIT_F
+       imply CMD_DM
        imply FAT_WRITE
        imply SYS_THUMB_BUILD
 
@@ -751,43 +776,47 @@ config ARCH_SNAPDRAGON
        select DM
        select DM_GPIO
        select DM_SERIAL
-       select SPMI
+       select MSM_SMEM
        select OF_CONTROL
        select OF_SEPARATE
+       select SMEM
+       select SPMI
+       imply CMD_DM
 
 config ARCH_SOCFPGA
        bool "Altera SOCFPGA family"
        select ARCH_EARLY_INIT_R
-       select ARCH_MISC_INIT
+       select ARCH_MISC_INIT if !TARGET_SOCFPGA_ARRIA10
+       select ARM64 if TARGET_SOCFPGA_STRATIX10
        select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
        select DM
        select DM_SERIAL
        select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
        select OF_CONTROL
+       select SPL_DM_RESET if DM_RESET
+       select SPL_DM_SERIAL
        select SPL_LIBCOMMON_SUPPORT
        select SPL_LIBDISK_SUPPORT
        select SPL_LIBGENERIC_SUPPORT
        select SPL_MMC_SUPPORT if DM_MMC
        select SPL_NAND_SUPPORT if SPL_NAND_DENALI
        select SPL_OF_CONTROL
+       select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10
        select SPL_SERIAL_SUPPORT
-       select SPL_DM_SERIAL
-       select SPL_RESET_SUPPORT
        select SPL_SPI_FLASH_SUPPORT if SPL_SPI_SUPPORT
        select SPL_SPI_SUPPORT if DM_SPI
        select SPL_WATCHDOG_SUPPORT
        select SUPPORT_SPL
-       select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
        select SYS_NS16550
        select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
-       select ARM64 if TARGET_SOCFPGA_STRATIX10
+       imply CMD_DM
        imply CMD_MTDPARTS
        imply CRC32_VERIFY
        imply DM_SPI
        imply DM_SPI_FLASH
        imply FAT_WRITE
        imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
-       select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10
+       imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
 
 config ARCH_SUNXI
        bool "Support sunxi (Allwinner) SoCs"
@@ -807,16 +836,19 @@ config ARCH_SUNXI
        select SPECIFY_CONSOLE_INDEX
        select SPL_STACK_R if SPL
        select SPL_SYS_MALLOC_SIMPLE if SPL
-       select SYS_NS16550
        select SPL_SYS_THUMB_BUILD if !ARM64
+       select SYS_NS16550
        select SYS_THUMB_BUILD if !ARM64
        select USB if DISTRO_DEFAULTS
-       select USB_STORAGE if DISTRO_DEFAULTS
        select USB_KEYBOARD if DISTRO_DEFAULTS
+       select USB_STORAGE if DISTRO_DEFAULTS
        select USE_TINY_PRINTF
+       imply CMD_DM
        imply CMD_GPT
+       imply CMD_UBI if NAND
        imply DISTRO_DEFAULTS
        imply FAT_WRITE
+       imply FIT
        imply OF_LIBFDT_OVERLAY
        imply PRE_CONSOLE_BUFFER
        imply SPL_GPIO_SUPPORT
@@ -828,6 +860,14 @@ config ARCH_SUNXI
        imply SPL_SERIAL_SUPPORT
        imply USB_GADGET
 
+config ARCH_VERSAL
+       bool "Support Xilinx Versal Platform"
+       select ARM64
+       select CLK
+       select DM
+       select DM_SERIAL
+       select OF_CONTROL
+
 config ARCH_VF610
        bool "Freescale Vybrid"
        select CPU_V7A
@@ -837,52 +877,56 @@ config ARCH_VF610
 
 config ARCH_ZYNQ
        bool "Xilinx Zynq based platform"
-       select BOARD_LATE_INIT
-       select CPU_V7A
-       select SUPPORT_SPL
-       select OF_CONTROL
-       select SPL_BOARD_INIT if SPL
        select BOARD_EARLY_INIT_F if WDT
-       select SPL_OF_CONTROL if SPL
+       select CLK
+       select CLK_ZYNQ
+       select CPU_V7A
        select DM
        select DM_ETH if NET
-       select SPL_DM if SPL
        select DM_MMC if MMC
-       select DM_SPI
        select DM_SERIAL
+       select DM_SPI
        select DM_SPI_FLASH
-       select SPL_SEPARATE_BSS if SPL
        select DM_USB if USB
-       select CLK
-       select SPL_CLK if SPL
-       select CLK_ZYNQ
+       select OF_CONTROL
        select SPI
+       select SPL_BOARD_INIT if SPL
+       select SPL_CLK if SPL
+       select SPL_DM if SPL
+       select SPL_OF_CONTROL if SPL
+       select SPL_SEPARATE_BSS if SPL
+       select SUPPORT_SPL
+       imply ARCH_EARLY_INIT_R
+       imply BOARD_LATE_INIT
        imply CMD_CLK
-       imply FAT_WRITE
+       imply CMD_DM
        imply CMD_SPL
-       imply ARCH_EARLY_INIT_R
+       imply FAT_WRITE
 
 config ARCH_ZYNQMP_R5
        bool "Xilinx ZynqMP R5 based platform"
+       select CLK
        select CPU_V7R
-       select OF_CONTROL
        select DM
        select DM_SERIAL
-       select CLK
+       select OF_CONTROL
+       imply CMD_DM
 
 config ARCH_ZYNQMP
        bool "Xilinx ZynqMP based platform"
        select ARM64
-       select BOARD_LATE_INIT
+       select CLK
        select DM
-       select OF_CONTROL
        select DM_SERIAL
-       select SUPPORT_SPL
-       select CLK
+       select DM_USB if USB
+       select OF_CONTROL
        select SPL_BOARD_INIT if SPL
        select SPL_CLK if SPL
-       select DM_USB if USB
+       select SUPPORT_SPL
+       imply BOARD_LATE_INIT
+       imply CMD_DM
        imply FAT_WRITE
+       imply MP
 
 config TEGRA
        bool "NVIDIA Tegra"
@@ -897,8 +941,8 @@ config TARGET_VEXPRESS64_AEMV8A
 config TARGET_VEXPRESS64_BASE_FVP
        bool "Support Versatile Express ARMv8a FVP BASE model"
        select ARM64
-       select SEMIHOSTING
        select PL01X_SERIAL
+       select SEMIHOSTING
 
 config TARGET_VEXPRESS64_BASE_FVP_DRAM
        bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
@@ -918,9 +962,9 @@ config TARGET_VEXPRESS64_JUNO
 config TARGET_LS2080A_EMU
        bool "Support ls2080a_emu"
        select ARCH_LS2080A
+       select ARCH_MISC_INIT
        select ARM64
        select ARMV8_MULTIENTRY
-       select ARCH_MISC_INIT
        help
          Support for Freescale LS2080A_EMU platform
          The LS2080A Development System (EMULATOR) is a pre silicon
@@ -930,9 +974,9 @@ config TARGET_LS2080A_EMU
 config TARGET_LS2080A_SIMU
        bool "Support ls2080a_simu"
        select ARCH_LS2080A
+       select ARCH_MISC_INIT
        select ARM64
        select ARMV8_MULTIENTRY
-       select ARCH_MISC_INIT
        help
          Support for Freescale LS2080A_SIMU platform
          The LS2080A Development System (QDS) is a pre silicon
@@ -942,9 +986,9 @@ config TARGET_LS2080A_SIMU
 config TARGET_LS1088AQDS
        bool "Support ls1088aqds"
        select ARCH_LS1088A
+       select ARCH_MISC_INIT
        select ARM64
        select ARMV8_MULTIENTRY
-       select ARCH_MISC_INIT
        select BOARD_LATE_INIT
        select SUPPORT_SPL
        help
@@ -956,11 +1000,11 @@ config TARGET_LS1088AQDS
 config TARGET_LS2080AQDS
        bool "Support ls2080aqds"
        select ARCH_LS2080A
+       select ARCH_MISC_INIT
        select ARM64
        select ARMV8_MULTIENTRY
        select BOARD_LATE_INIT
        select SUPPORT_SPL
-       select ARCH_MISC_INIT
        imply SCSI
        imply SCSI_AHCI
        help
@@ -972,11 +1016,11 @@ config TARGET_LS2080AQDS
 config TARGET_LS2080ARDB
        bool "Support ls2080ardb"
        select ARCH_LS2080A
+       select ARCH_MISC_INIT
        select ARM64
        select ARMV8_MULTIENTRY
        select BOARD_LATE_INIT
        select SUPPORT_SPL
-       select ARCH_MISC_INIT
        imply SCSI
        imply SCSI_AHCI
        help
@@ -988,11 +1032,11 @@ config TARGET_LS2080ARDB
 config TARGET_LS2081ARDB
        bool "Support ls2081ardb"
        select ARCH_LS2080A
+       select ARCH_MISC_INIT
        select ARM64
        select ARMV8_MULTIENTRY
        select BOARD_LATE_INIT
        select SUPPORT_SPL
-       select ARCH_MISC_INIT
        help
          Support for Freescale LS2081ARDB platform.
          The LS2081A Reference design board (RDB) is a high-performance
@@ -1008,6 +1052,7 @@ config TARGET_HIKEY
        select OF_CONTROL
        select PL01X_SERIAL
        select SPECIFY_CONSOLE_INDEX
+       imply CMD_DM
          help
          Support for HiKey 96boards platform. It features a HI6220
          SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
@@ -1016,10 +1061,11 @@ config TARGET_POPLAR
        bool "Support Poplar 96boards Enterprise Edition Platform"
        select ARM64
        select DM
-       select OF_CONTROL
        select DM_SERIAL
        select DM_USB
+       select OF_CONTROL
        select PL01X_SERIAL
+       imply CMD_DM
          help
          Support for Poplar 96boards EE platform. It features a HI3798cv200
          SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
@@ -1065,8 +1111,8 @@ config TARGET_LS1012A2G5RDB
 config TARGET_LS1012AFRWY
        bool "Support ls1012afrwy"
        select ARCH_LS1012A
-       select BOARD_LATE_INIT
        select ARM64
+       select BOARD_LATE_INIT
        imply SCSI
        imply SCSI_AHCI
        help
@@ -1088,9 +1134,9 @@ config TARGET_LS1012AFRDM
 config TARGET_LS1088ARDB
        bool "Support ls1088ardb"
        select ARCH_LS1088A
+       select ARCH_MISC_INIT
        select ARM64
        select ARMV8_MULTIENTRY
-       select ARCH_MISC_INIT
        select BOARD_LATE_INIT
        select SUPPORT_SPL
        help
@@ -1101,40 +1147,40 @@ config TARGET_LS1088ARDB
 
 config TARGET_LS1021AQDS
        bool "Support ls1021aqds"
+       select ARCH_LS1021A
+       select ARCH_SUPPORT_PSCI
+       select BOARD_EARLY_INIT_F
        select BOARD_LATE_INIT
        select CPU_V7A
        select CPU_V7_HAS_NONSEC
        select CPU_V7_HAS_VIRT
-       select SUPPORT_SPL
-       select ARCH_LS1021A
-       select ARCH_SUPPORT_PSCI
        select LS1_DEEP_SLEEP
+       select SUPPORT_SPL
        select SYS_FSL_DDR
-       select BOARD_EARLY_INIT_F
        imply SCSI
 
 config TARGET_LS1021ATWR
        bool "Support ls1021atwr"
+       select ARCH_LS1021A
+       select ARCH_SUPPORT_PSCI
+       select BOARD_EARLY_INIT_F
        select BOARD_LATE_INIT
        select CPU_V7A
        select CPU_V7_HAS_NONSEC
        select CPU_V7_HAS_VIRT
-       select SUPPORT_SPL
-       select ARCH_LS1021A
-       select ARCH_SUPPORT_PSCI
        select LS1_DEEP_SLEEP
-       select BOARD_EARLY_INIT_F
+       select SUPPORT_SPL
        imply SCSI
 
 config TARGET_LS1021AIOT
        bool "Support ls1021aiot"
+       select ARCH_LS1021A
+       select ARCH_SUPPORT_PSCI
        select BOARD_LATE_INIT
        select CPU_V7A
        select CPU_V7_HAS_NONSEC
        select CPU_V7_HAS_VIRT
        select SUPPORT_SPL
-       select ARCH_LS1021A
-       select ARCH_SUPPORT_PSCI
        imply SCSI
        help
          Support for Freescale LS1021AIOT platform.
@@ -1147,9 +1193,9 @@ config TARGET_LS1043AQDS
        select ARCH_LS1043A
        select ARM64
        select ARMV8_MULTIENTRY
+       select BOARD_EARLY_INIT_F
        select BOARD_LATE_INIT
        select SUPPORT_SPL
-       select BOARD_EARLY_INIT_F
        imply SCSI
        help
          Support for Freescale LS1043AQDS platform.
@@ -1159,9 +1205,9 @@ config TARGET_LS1043ARDB
        select ARCH_LS1043A
        select ARM64
        select ARMV8_MULTIENTRY
+       select BOARD_EARLY_INIT_F
        select BOARD_LATE_INIT
        select SUPPORT_SPL
-       select BOARD_EARLY_INIT_F
        imply SCSI
        help
          Support for Freescale LS1043ARDB platform.
@@ -1171,10 +1217,10 @@ config TARGET_LS1046AQDS
        select ARCH_LS1046A
        select ARM64
        select ARMV8_MULTIENTRY
+       select BOARD_EARLY_INIT_F
        select BOARD_LATE_INIT
-       select SUPPORT_SPL
        select DM_SPI_FLASH if DM_SPI
-       select BOARD_EARLY_INIT_F
+       select SUPPORT_SPL
        imply SCSI
        help
          Support for Freescale LS1046AQDS platform.
@@ -1187,11 +1233,11 @@ config TARGET_LS1046ARDB
        select ARCH_LS1046A
        select ARM64
        select ARMV8_MULTIENTRY
+       select BOARD_EARLY_INIT_F
        select BOARD_LATE_INIT
-       select SUPPORT_SPL
        select DM_SPI_FLASH if DM_SPI
        select POWER_MC34VR500
-       select BOARD_EARLY_INIT_F
+       select SUPPORT_SPL
        imply SCSI
        help
          Support for Freescale LS1046ARDB platform.
@@ -1221,6 +1267,7 @@ config ARCH_UNIPHIER
        select DM_RESET
        select DM_SERIAL
        select DM_USB
+       select OF_BOARD_SETUP
        select OF_CONTROL
        select OF_LIBFDT
        select PINCTRL
@@ -1231,6 +1278,8 @@ config ARCH_UNIPHIER
        select SPL_OF_CONTROL if SPL
        select SPL_PINCTRL if SPL
        select SUPPORT_SPL
+       imply CMD_DM
+       imply DISTRO_DEFAULTS
        imply FAT_WRITE
        help
          Support for UniPhier SoC family developed by Socionext Inc.
@@ -1241,16 +1290,17 @@ config STM32
        select CPU_V7M
        select DM
        select DM_SERIAL
-       select SYS_THUMB_BUILD
+       imply CMD_DM
 
 config ARCH_STI
        bool "Support STMicrolectronics SoCs"
+       select BLK
        select CPU_V7A
        select DM
-       select DM_SERIAL
-       select BLK
        select DM_MMC
        select DM_RESET
+       select DM_SERIAL
+       imply CMD_DM
        help
          Support for STMicroelectronics STiH407/10 SoC family.
          This SoC is used on Linaro 96Board STiH410-B2260
@@ -1264,15 +1314,16 @@ config ARCH_STM32MP
        select DM_GPIO
        select DM_RESET
        select DM_SERIAL
+       select MISC
        select OF_CONTROL
        select OF_LIBFDT
-       select MISC
        select PINCTRL
        select REGMAP
        select SUPPORT_SPL
        select SYSCON
        select SYSRESET
        select SYS_THUMB_BUILD
+       imply CMD_DM
        help
          Support for STM32MP SoC family developed by STMicroelectronics,
          MPUs based on ARM cortex A core
@@ -1281,44 +1332,46 @@ config ARCH_STM32MP
 
 config ARCH_ROCKCHIP
        bool "Support Rockchip SoCs"
-       select OF_CONTROL
        select BLK
        select DM
-       select SPL_DM if SPL
-       select SYS_MALLOC_F
-       select SYS_THUMB_BUILD if !ARM64
-       select SPL_SYS_MALLOC_SIMPLE if SPL
        select DM_GPIO
        select DM_I2C
        select DM_MMC
+       select DM_PWM
+       select DM_REGULATOR
        select DM_SERIAL
        select DM_SPI
        select DM_SPI_FLASH
        select DM_USB if USB
-       select DM_PWM
-       select DM_REGULATOR
        select ENABLE_ARM_SOC_BOOT0_HOOK
+       select OF_CONTROL
        select SPI
+       select SPL_DM if SPL
+       select SPL_SYS_MALLOC_SIMPLE if SPL
+       select SYS_MALLOC_F
+       select SYS_THUMB_BUILD if !ARM64
+       imply ADC
+       imply CMD_DM
        imply DISTRO_DEFAULTS
        imply FAT_WRITE
-       imply USB_FUNCTION_FASTBOOT
-       imply SPL_SYSRESET
-       imply TPL_SYSRESET
-       imply ADC
        imply SARADC_ROCKCHIP
+       imply SPL_SYSRESET
        imply SYS_NS16550
+       imply TPL_SYSRESET
+       imply USB_FUNCTION_FASTBOOT
 
 config TARGET_THUNDERX_88XX
        bool "Support ThunderX 88xx"
        select ARM64
        select OF_CONTROL
-       select SYS_CACHE_SHIFT_7
        select PL01X_SERIAL
+       select SYS_CACHE_SHIFT_7
 
 config ARCH_ASPEED
        bool "Support Aspeed SoCs"
-       select OF_CONTROL
        select DM
+       select OF_CONTROL
+       imply CMD_DM
 
 endchoice
 
@@ -1348,10 +1401,14 @@ source "arch/arm/mach-highbank/Kconfig"
 
 source "arch/arm/mach-integrator/Kconfig"
 
+source "arch/arm/mach-k3/Kconfig"
+
 source "arch/arm/mach-keystone/Kconfig"
 
 source "arch/arm/mach-kirkwood/Kconfig"
 
+source "arch/arm/cpu/arm926ejs/lpc32xx/Kconfig"
+
 source "arch/arm/mach-mvebu/Kconfig"
 
 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
@@ -1368,6 +1425,8 @@ source "arch/arm/mach-imx/mx7/Kconfig"
 
 source "arch/arm/mach-imx/mx7ulp/Kconfig"
 
+source "arch/arm/mach-imx/imx8/Kconfig"
+
 source "arch/arm/mach-imx/mx8m/Kconfig"
 
 source "arch/arm/mach-imx/mxs/Kconfig"
@@ -1410,6 +1469,8 @@ source "arch/arm/cpu/armv7/vf610/Kconfig"
 
 source "arch/arm/mach-zynq/Kconfig"
 
+source "arch/arm/mach-versal/Kconfig"
+
 source "arch/arm/mach-zynqmp-r5/Kconfig"
 
 source "arch/arm/cpu/armv7/Kconfig"
@@ -1451,7 +1512,6 @@ source "board/freescale/ls1012ardb/Kconfig"
 source "board/freescale/ls1012afrdm/Kconfig"
 source "board/freescale/mx35pdk/Kconfig"
 source "board/freescale/s32v234evb/Kconfig"
-source "board/gdsys/a38x/Kconfig"
 source "board/grinn/chiliboard/Kconfig"
 source "board/gumstix/pepper/Kconfig"
 source "board/h2200/Kconfig"
@@ -1469,11 +1529,11 @@ source "board/st/stv0991/Kconfig"
 source "board/tcl/sl50/Kconfig"
 source "board/ucRobotics/bubblegum_96/Kconfig"
 source "board/birdland/bav335x/Kconfig"
-source "board/timll/devkit3250/Kconfig"
 source "board/toradex/colibri_pxa270/Kconfig"
 source "board/vscom/baltos/Kconfig"
 source "board/woodburn/Kconfig"
-source "board/work-microwave/work_92105/Kconfig"
+source "board/xilinx/Kconfig"
+source "board/xilinx/zynq/Kconfig"
 source "board/xilinx/zynqmp/Kconfig"
 source "board/zipitz2/Kconfig"
 
@@ -1482,8 +1542,8 @@ source "arch/arm/Kconfig.debug"
 endmenu
 
 config SPL_LDSCRIPT
-        default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
-        default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
+       default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
+       default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
        default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64