Merge branch 'master' of git://git.denx.de/u-boot-sunxi
[oweals/u-boot.git] / arch / arm / Kconfig
index 2bbb86c462dd50e58f40eaa665b70105737a0ff4..2899a60793c6748924e60d00869f63b9d6cc5a6a 100644 (file)
@@ -108,6 +108,9 @@ config SYS_ARM_MPU
 # CONFIG_ARM_ERRATA_621766
 # CONFIG_ARM_ERRATA_798870
 # CONFIG_ARM_ERRATA_801819
+# CONFIG_ARM_CORTEX_A8_CVE_2017_5715
+# CONFIG_ARM_CORTEX_A15_CVE_2017_5715
+
 config ARM_ERRATA_430973
        bool
 
@@ -166,7 +169,7 @@ config ARM_ERRATA_833471
        bool
 
 config ARM_ERRATA_845369
-       bool
+       bool
 
 config ARM_ERRATA_852421
        bool
@@ -177,6 +180,12 @@ config ARM_ERRATA_852423
 config ARM_ERRATA_855873
        bool
 
+config ARM_CORTEX_A8_CVE_2017_5715
+       bool
+
+config ARM_CORTEX_A15_CVE_2017_5715
+       bool
+
 config CPU_ARM720T
        bool
        select SYS_CACHE_SHIFT_5
@@ -210,24 +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
@@ -393,7 +403,7 @@ choice
 
 config ARCH_AT91
        bool "Atmel AT91"
-       select SPL_BOARD_INIT if SPL
+       select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
 
 config TARGET_EDB93XX
        bool "Support edb93xx"
@@ -417,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"
@@ -453,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"
@@ -486,23 +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
-
-config TARGET_MX31PDK
-       bool "Support mx31pdk"
-       select BOARD_LATE_INIT
-       select CPU_ARM1136
        select SUPPORT_SPL
-       select BOARD_EARLY_INIT_F
 
 config TARGET_WOODBURN
        bool "Support woodburn"
@@ -525,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
@@ -539,6 +535,17 @@ config TARGET_VEXPRESS_CA15_TC2
        select CPU_V7_HAS_VIRT
        select PL011_SERIAL
 
+config ARCH_BCMSTB
+       bool "Broadcom BCM7XXX family"
+       select CPU_V7A
+       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.
+
 config TARGET_VEXPRESS_CA5X2
        bool "Support vexpress_ca5x2"
        select CPU_V7A
@@ -564,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"
@@ -587,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"
@@ -614,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+"
@@ -642,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"
@@ -665,20 +698,24 @@ config ARCH_MX28
        select PL011_SERIAL
        select SUPPORT_SPL
 
+config ARCH_MX31
+       bool "NXP i.MX31 family"
+       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
@@ -692,27 +729,39 @@ 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
+       bool "Actions Semi OWL SoCs"
+       select ARM64
+       select DM
+       select DM_SERIAL
+       select OF_CONTROL
+       imply CMD_DM
+
 config ARCH_QEMU
        bool "QEMU Virtual Platform"
        select DM
        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
 
@@ -727,28 +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 CPU_V7A
-       select SUPPORT_SPL
+       select ARCH_EARLY_INIT_R
+       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 DM
-       select ENABLE_ARM_SOC_BOOT0_HOOK
-       select ARCH_EARLY_INIT_R
-       select ARCH_MISC_INIT
-       select SYS_THUMB_BUILD
+       select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10
+       select SPL_SERIAL_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_NS16550
+       select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
+       imply CMD_DM
        imply CMD_MTDPARTS
        imply CRC32_VERIFY
        imply DM_SPI
        imply DM_SPI_FLASH
        imply FAT_WRITE
-       imply HW_WATCHDOG
        imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
+       imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
 
 config ARCH_SUNXI
        bool "Support sunxi (Allwinner) SoCs"
@@ -768,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
@@ -789,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
@@ -798,43 +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 FAT_WRITE
+
+config ARCH_ZYNQMP_R5
+       bool "Xilinx ZynqMP R5 based platform"
+       select CLK
+       select CPU_V7R
+       select DM
+       select DM_SERIAL
+       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"
@@ -849,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"
@@ -870,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
@@ -882,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
@@ -894,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
@@ -908,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
@@ -924,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
@@ -940,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
@@ -960,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.
@@ -968,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
@@ -1014,6 +1108,19 @@ config TARGET_LS1012A2G5RDB
          development platform that supports the QorIQ LS1012A
          Layerscape Architecture processor.
 
+config TARGET_LS1012AFRWY
+       bool "Support ls1012afrwy"
+       select ARCH_LS1012A
+       select ARM64
+       select BOARD_LATE_INIT
+       imply SCSI
+       imply SCSI_AHCI
+       help
+        Support for Freescale LS1012AFRWY platform.
+        The LS1012A FRWY board (FRWY) is a high-performance
+        development platform that supports the QorIQ LS1012A
+        Layerscape Architecture processor.
+
 config TARGET_LS1012AFRDM
        bool "Support ls1012afrdm"
        select ARCH_LS1012A
@@ -1027,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
@@ -1040,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.
@@ -1086,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.
@@ -1098,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.
@@ -1110,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.
@@ -1126,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.
@@ -1160,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
@@ -1170,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.
@@ -1180,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
@@ -1203,6 +1314,7 @@ config ARCH_STM32MP
        select DM_GPIO
        select DM_RESET
        select DM_SERIAL
+       select MISC
        select OF_CONTROL
        select OF_LIBFDT
        select PINCTRL
@@ -1211,6 +1323,7 @@ config ARCH_STM32MP
        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
@@ -1219,46 +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
-       imply CMD_FASTBOOT
+       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 FASTBOOT
        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
 
@@ -1278,6 +1391,8 @@ source "arch/arm/mach-at91/Kconfig"
 
 source "arch/arm/mach-bcm283x/Kconfig"
 
+source "arch/arm/mach-bcmstb/Kconfig"
+
 source "arch/arm/mach-davinci/Kconfig"
 
 source "arch/arm/mach-exynos/Kconfig"
@@ -1286,16 +1401,22 @@ 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"
 
 source "arch/arm/mach-imx/mx2/Kconfig"
 
+source "arch/arm/mach-imx/mx3/Kconfig"
+
 source "arch/arm/mach-imx/mx5/Kconfig"
 
 source "arch/arm/mach-imx/mx6/Kconfig"
@@ -1304,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"
@@ -1314,6 +1437,8 @@ source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
 
 source "arch/arm/mach-orion5x/Kconfig"
 
+source "arch/arm/mach-owl/Kconfig"
+
 source "arch/arm/mach-rmobile/Kconfig"
 
 source "arch/arm/mach-meson/Kconfig"
@@ -1344,6 +1469,10 @@ 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"
 
 source "arch/arm/cpu/armv8/zynqmp/Kconfig"
@@ -1381,10 +1510,8 @@ source "board/freescale/ls1046ardb/Kconfig"
 source "board/freescale/ls1012aqds/Kconfig"
 source "board/freescale/ls1012ardb/Kconfig"
 source "board/freescale/ls1012afrdm/Kconfig"
-source "board/freescale/mx31pdk/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"
@@ -1400,12 +1527,13 @@ source "board/spear/spear600/Kconfig"
 source "board/spear/x600/Kconfig"
 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"
 
@@ -1414,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