Merge branch 'master' of git://git.denx.de/u-boot-sunxi
[platform/kernel/u-boot.git] / arch / arm / Kconfig
index dc9e24d..cefa8f4 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,13 +520,20 @@ 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 ARCH_BCM6858
+       bool "Broadcom BCM6858 family"
+       select DM
+       select OF_CONTROL
+       imply CMD_DM
+
 config TARGET_VEXPRESS_CA15_TC2
        bool "Support vexpress_ca15_tc2"
        select CPU_V7A
@@ -548,6 +547,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 +577,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 +600,25 @@ 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 SYS_THUMB_BUILD
+       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 +630,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 +665,42 @@ config ARCH_MESON
          targeted at media players and tablet computers. We currently
          support the S905 (GXBaby) 64-bit SoC.
 
-config ARCH_MX8M
+config ARCH_MEDIATEK
+       bool "MediaTek SoCs"
+       select BINMAN
+       select DM
+       select OF_CONTROL
+       select SPL_DM if SPL
+       select SPL_LIBCOMMON_SUPPORT if SPL
+       select SPL_LIBGENERIC_SUPPORT if SPL
+       select SPL_OF_CONTROL if SPL
+       select SUPPORT_SPL
+       help
+         Support for the MediaTek SoCs family developed by MediaTek Inc.
+         Please refer to doc/README.mediatek for more information.
+
+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_IMX8M
        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 +724,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 +750,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 +765,7 @@ config ARCH_OWL
        select DM
        select DM_SERIAL
        select OF_CONTROL
+       imply CMD_DM
 
 config ARCH_QEMU
        bool "QEMU Virtual Platform"
@@ -731,14 +773,19 @@ 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
+       imply ARCH_MISC_INIT if DISPLAY_CPUINFO
 
 config TARGET_S32V234EVB
        bool "Support s32v234evb"
@@ -751,45 +798,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 MSM_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 SPL_LIBDISK_SUPPORT
+       imply SPL_MMC_SUPPORT
        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
+       imply SPL_SPI_FLASH_SUPPORT
+       imply SPL_SPI_SUPPORT
 
 config ARCH_SUNXI
        bool "Support sunxi (Allwinner) SoCs"
@@ -797,6 +846,7 @@ config ARCH_SUNXI
        select CMD_GPIO
        select CMD_MMC if MMC
        select CMD_USB if DISTRO_DEFAULTS
+       select CLK
        select DM
        select DM_ETH
        select DM_GPIO
@@ -809,27 +859,39 @@ 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
        imply SPL_LIBCOMMON_SUPPORT
-       imply SPL_LIBDISK_SUPPORT
        imply SPL_LIBGENERIC_SUPPORT
        imply SPL_MMC_SUPPORT if MMC
        imply SPL_POWER_SUPPORT
        imply SPL_SERIAL_SUPPORT
        imply USB_GADGET
 
+config ARCH_VERSAL
+       bool "Support Xilinx Versal Platform"
+       select ARM64
+       select CLK
+       select DM
+       select DM_ETH if NET
+       select DM_MMC if MMC
+       select DM_SERIAL
+       select OF_CONTROL
+
 config ARCH_VF610
        bool "Freescale Vybrid"
        select CPU_V7A
@@ -839,52 +901,65 @@ 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_ETH if NET
+       select DM_MMC if MMC
        select DM_SERIAL
-       select CLK
+       select OF_CONTROL
+       imply CMD_DM
+       imply DM_USB_GADGET
 
 config ARCH_ZYNQMP
        bool "Xilinx ZynqMP based platform"
        select ARM64
-       select BOARD_LATE_INIT
+       select CLK
        select DM
-       select OF_CONTROL
+       select DM_ETH if NET
+       select DM_MMC if MMC
        select DM_SERIAL
-       select SUPPORT_SPL
-       select CLK
+       select DM_SPI if SPI
+       select DM_SPI_FLASH if DM_SPI
+       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 SPL_SEPARATE_BSS if SPL
+       select SUPPORT_SPL
+       imply BOARD_LATE_INIT
+       imply CMD_DM
        imply FAT_WRITE
+       imply MP
+       imply DM_USB_GADGET
 
 config TEGRA
        bool "NVIDIA Tegra"
@@ -899,8 +974,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"
@@ -920,9 +995,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
@@ -932,9 +1007,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
@@ -944,9 +1019,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
@@ -958,11 +1033,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
@@ -974,11 +1049,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
@@ -990,11 +1065,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
@@ -1010,6 +1085,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.
@@ -1018,10 +1094,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
@@ -1067,8 +1144,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
@@ -1090,9 +1167,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
@@ -1103,40 +1180,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.
@@ -1149,9 +1226,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.
@@ -1161,9 +1238,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.
@@ -1173,10 +1250,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.
@@ -1189,11 +1266,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.
@@ -1234,6 +1311,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.
@@ -1244,16 +1323,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
@@ -1267,15 +1347,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
@@ -1284,44 +1365,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
 
@@ -1351,10 +1434,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"
@@ -1371,7 +1458,9 @@ source "arch/arm/mach-imx/mx7/Kconfig"
 
 source "arch/arm/mach-imx/mx7ulp/Kconfig"
 
-source "arch/arm/mach-imx/mx8m/Kconfig"
+source "arch/arm/mach-imx/imx8/Kconfig"
+
+source "arch/arm/mach-imx/imx8m/Kconfig"
 
 source "arch/arm/mach-imx/mxs/Kconfig"
 
@@ -1387,6 +1476,8 @@ source "arch/arm/mach-rmobile/Kconfig"
 
 source "arch/arm/mach-meson/Kconfig"
 
+source "arch/arm/mach-mediatek/Kconfig"
+
 source "arch/arm/mach-qemu/Kconfig"
 
 source "arch/arm/mach-rockchip/Kconfig"
@@ -1413,12 +1504,14 @@ source "arch/arm/cpu/armv7/vf610/Kconfig"
 
 source "arch/arm/mach-zynq/Kconfig"
 
+source "arch/arm/mach-zynqmp/Kconfig"
+
+source "arch/arm/mach-versal/Kconfig"
+
 source "arch/arm/mach-zynqmp-r5/Kconfig"
 
 source "arch/arm/cpu/armv7/Kconfig"
 
-source "arch/arm/cpu/armv8/zynqmp/Kconfig"
-
 source "arch/arm/cpu/armv8/Kconfig"
 
 source "arch/arm/mach-imx/Kconfig"
@@ -1432,12 +1525,14 @@ source "board/armltd/vexpress/Kconfig"
 source "board/armltd/vexpress64/Kconfig"
 source "board/broadcom/bcm23550_w1d/Kconfig"
 source "board/broadcom/bcm28155_ap/Kconfig"
+source "board/broadcom/bcm968580xref/Kconfig"
 source "board/broadcom/bcmcygnus/Kconfig"
 source "board/broadcom/bcmnsp/Kconfig"
 source "board/broadcom/bcmns2/Kconfig"
 source "board/cavium/thunderx/Kconfig"
 source "board/cirrus/edb93xx/Kconfig"
 source "board/eets/pdu001/Kconfig"
+source "board/emulation/qemu-arm/Kconfig"
 source "board/freescale/ls2080a/Kconfig"
 source "board/freescale/ls2080aqds/Kconfig"
 source "board/freescale/ls2080ardb/Kconfig"
@@ -1454,7 +1549,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"
@@ -1472,11 +1566,9 @@ 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"
@@ -1487,8 +1579,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