Merge https://source.denx.de/u-boot/custodians/u-boot-samsung
[platform/kernel/u-boot.git] / arch / arm / Kconfig
index b2f7fcb..3a745ce 100644 (file)
@@ -67,6 +67,7 @@ config GIC_V3_ITS
        bool "ARM GICV3 ITS"
        select REGMAP
        select SYSCON
+       select IRQ
        help
          ARM GICV3 Interrupt translation service (ITS).
          Basic support for programming locality specific peripheral
@@ -89,6 +90,9 @@ config HAS_VBAR
 config HAS_THUMB2
        bool
 
+config GPIO_EXTRA_HEADER
+       bool
+
 # Used for compatibility with asm files copied from the kernel
 config ARM_ASM_UNIFIED
        bool
@@ -346,7 +350,7 @@ config SYS_CACHELINE_SIZE
 choice
        prompt "Select the ARM data write cache policy"
        default SYS_ARM_CACHE_WRITETHROUGH if TARGET_BCMCYGNUS || \
-                                             TARGET_BCMNSP || CPU_PXA || RZA1
+                                             CPU_PXA || RZA1
        default SYS_ARM_CACHE_WRITEBACK
 
 config SYS_ARM_CACHE_WRITEBACK
@@ -517,25 +521,19 @@ choice
 
 config ARCH_AT91
        bool "Atmel AT91"
+       select GPIO_EXTRA_HEADER
        select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
        select SPL_SEPARATE_BSS if SPL
 
-config TARGET_EDB93XX
-       bool "Support edb93xx"
-       select CPU_ARM920T
-       select PL010_SERIAL
-
 config TARGET_ASPENITE
        bool "Support aspenite"
        select CPU_ARM926EJS
-
-config TARGET_GPLUGD
-       bool "Support gplugd"
-       select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
 
 config ARCH_DAVINCI
        bool "TI DaVinci"
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
        select SPL_DM_SPI if SPL
        imply CMD_SAVES
        help
@@ -546,6 +544,7 @@ config ARCH_KIRKWOOD
        select ARCH_MISC_INIT
        select BOARD_EARLY_INIT_F
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
 
 config ARCH_MVEBU
        bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
@@ -554,6 +553,7 @@ config ARCH_MVEBU
        select DM_SERIAL
        select DM_SPI
        select DM_SPI_FLASH
+       select GPIO_EXTRA_HEADER
        select SPL_DM_SPI if SPL
        select SPL_DM_SPI_FLASH if SPL
        select OF_CONTROL
@@ -561,42 +561,10 @@ config ARCH_MVEBU
        select SPI
        imply CMD_DM
 
-config TARGET_APF27
-       bool "Support apf27"
-       select CPU_ARM926EJS
-       select SUPPORT_SPL
-
 config ARCH_ORION5X
        bool "Marvell Orion"
        select CPU_ARM926EJS
-
-config TARGET_SPEAR300
-       bool "Support spear300"
-       select BOARD_EARLY_INIT_F
-       select CPU_ARM926EJS
-       select PL011_SERIAL
-       imply CMD_SAVES
-
-config TARGET_SPEAR310
-       bool "Support spear310"
-       select BOARD_EARLY_INIT_F
-       select CPU_ARM926EJS
-       select PL011_SERIAL
-       imply CMD_SAVES
-
-config TARGET_SPEAR320
-       bool "Support spear320"
-       select BOARD_EARLY_INIT_F
-       select CPU_ARM926EJS
-       select PL011_SERIAL
-       imply CMD_SAVES
-
-config TARGET_SPEAR600
-       bool "Support spear600"
-       select BOARD_EARLY_INIT_F
-       select CPU_ARM926EJS
-       select PL011_SERIAL
-       imply CMD_SAVES
+       select GPIO_EXTRA_HEADER
 
 config TARGET_STV0991
        bool "Support stv0991"
@@ -605,32 +573,23 @@ config TARGET_STV0991
        select DM_SERIAL
        select DM_SPI
        select DM_SPI_FLASH
+       select GPIO_EXTRA_HEADER
        select PL01X_SERIAL
        select SPI
        select SPI_FLASH
        imply CMD_DM
 
-config TARGET_X600
-       bool "Support x600"
-       select BOARD_LATE_INIT
-       select CPU_ARM926EJS
-       select PL011_SERIAL
-       select SUPPORT_SPL
-
 config TARGET_FLEA3
        bool "Support flea3"
        select CPU_ARM1136
-
-config TARGET_MX35PDK
-       bool "Support mx35pdk"
-       select BOARD_LATE_INIT
-       select CPU_ARM1136
+       select GPIO_EXTRA_HEADER
 
 config ARCH_BCM283X
        bool "Broadcom BCM283X family"
        select DM
        select DM_GPIO
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select PL01X_SERIAL
        select SERIAL_SEARCH_ALL
@@ -655,17 +614,11 @@ config ARCH_BCM6858
        select OF_CONTROL
        imply CMD_DM
 
-config TARGET_VEXPRESS_CA15_TC2
-       bool "Support vexpress_ca15_tc2"
-       select CPU_V7A
-       select CPU_V7_HAS_NONSEC
-       select CPU_V7_HAS_VIRT
-       select PL011_SERIAL
-
 config ARCH_BCMSTB
        bool "Broadcom BCM7XXX family"
        select CPU_V7A
        select DM
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select OF_PRIOR_STAGE
        imply CMD_DM
@@ -673,31 +626,10 @@ config ARCH_BCMSTB
          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
-       select PL011_SERIAL
-
-config TARGET_VEXPRESS_CA9X4
-       bool "Support vexpress_ca9x4"
-       select CPU_V7A
-       select PL011_SERIAL
-
-config TARGET_BCM23550_W1D
-       bool "Support bcm23550_w1d"
-       select CPU_V7A
-       imply CRC32_VERIFY
-       imply FAT_WRITE
-
-config TARGET_BCM28155_AP
-       bool "Support bcm28155_ap"
-       select CPU_V7A
-       imply CRC32_VERIFY
-       imply FAT_WRITE
-
 config TARGET_BCMCYGNUS
        bool "Support bcmcygnus"
        select CPU_V7A
+       select GPIO_EXTRA_HEADER
        imply BCM_SF2_ETH
        imply BCM_SF2_ETH_GMAC
        imply CMD_HASH
@@ -706,13 +638,10 @@ config TARGET_BCMCYGNUS
        imply HASH_VERIFY
        imply NETDEVICES
 
-config TARGET_BCMNSP
-       bool "Support bcmnsp"
-       select CPU_V7A
-
 config TARGET_BCMNS2
        bool "Support Broadcom Northstar2"
        select ARM64
+       select GPIO_EXTRA_HEADER
        help
          Support for Broadcom Northstar 2 SoCs.  NS2 is a quad-core 64-bit
          ARMv8 Cortex-A57 processors targeting a broad range of networking
@@ -732,11 +661,13 @@ config ARCH_EXYNOS
        select DM
        select DM_GPIO
        select DM_I2C
+       select DM_ETH
        select DM_KEYBOARD
        select DM_SERIAL
        select DM_SPI
        select DM_SPI_FLASH
        select SPI
+       select GPIO_EXTRA_HEADER
        imply SYS_THUMB_BUILD
        imply CMD_DM
        imply FAT_WRITE
@@ -748,17 +679,28 @@ config ARCH_S5PC1XX
        select DM_GPIO
        select DM_I2C
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        imply CMD_DM
 
 config ARCH_HIGHBANK
        bool "Calxeda Highbank"
        select CPU_V7A
-       select PL011_SERIAL
+       select PL01X_SERIAL
+       select DM
+       select DM_SERIAL
+       select OF_CONTROL
+       select OF_BOARD
+       select CLK
+       select CLK_CCF
+       select AHCI
+       select DM_ETH
+       select PHYS_64BIT
 
 config ARCH_INTEGRATOR
        bool "ARM Ltd. Integrator family"
        select DM
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select PL01X_SERIAL
        imply CMD_DM
 
@@ -769,6 +711,7 @@ config ARCH_IPQ40XX
        select DM_GPIO
        select DM_SERIAL
        select DM_RESET
+       select GPIO_EXTRA_HEADER
        select MSM_SMEM
        select PINCTRL
        select CLK
@@ -780,6 +723,7 @@ config ARCH_KEYSTONE
        bool "TI Keystone"
        select CMD_POWEROFF
        select CPU_V7A
+       select GPIO_EXTRA_HEADER
        select SUPPORT_SPL
        select SYS_ARCH_TIMER
        select SYS_THUMB_BUILD
@@ -796,13 +740,16 @@ config ARCH_K3
 config ARCH_OMAP2PLUS
        bool "TI OMAP2+"
        select CPU_V7A
+       select GPIO_EXTRA_HEADER
        select SPL_BOARD_INIT if SPL
        select SPL_STACK_R if SPL
        select SUPPORT_SPL
+       imply TI_SYSC if DM && OF_CONTROL
        imply FIT
 
 config ARCH_MESON
        bool "Amlogic Meson"
+       select GPIO_EXTRA_HEADER
        imply DISTRO_DEFAULTS
        imply DM_RNG
        help
@@ -813,6 +760,7 @@ config ARCH_MESON
 config ARCH_MEDIATEK
        bool "MediaTek SoCs"
        select DM
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select SPL_DM if SPL
        select SPL_LIBCOMMON_SUPPORT if SPL
@@ -829,6 +777,7 @@ config ARCH_LPC32XX
        select DM
        select DM_GPIO
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select SPL_DM if SPL
        select SUPPORT_SPL
        imply CMD_DM
@@ -837,12 +786,17 @@ config ARCH_IMX8
        bool "NXP i.MX8 platform"
        select ARM64
        select DM
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select ENABLE_ARM_SOC_BOOT0_HOOK
 
 config ARCH_IMX8M
        bool "NXP i.MX8M platform"
        select ARM64
+       select GPIO_EXTRA_HEADER
+       select SYS_FSL_HAS_SEC if IMX_HAB
+       select SYS_FSL_SEC_COMPAT_4
+       select SYS_FSL_SEC_LE
        select DM
        select SUPPORT_SPL
        imply CMD_DM
@@ -852,33 +806,42 @@ config ARCH_IMXRT
        select CPU_V7M
        select DM
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select SUPPORT_SPL
        imply CMD_DM
 
 config ARCH_MX23
        bool "NXP i.MX23 family"
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
        select PL011_SERIAL
        select SUPPORT_SPL
 
 config ARCH_MX25
        bool "NXP MX25"
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
        imply MXC_GPIO
 
 config ARCH_MX28
        bool "NXP i.MX28 family"
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
        select PL011_SERIAL
        select SUPPORT_SPL
 
 config ARCH_MX31
        bool "NXP i.MX31 family"
        select CPU_ARM1136
+       select GPIO_EXTRA_HEADER
 
 config ARCH_MX7ULP
        bool "NXP MX7ULP"
        select CPU_V7A
+       select GPIO_EXTRA_HEADER
+       select SYS_FSL_HAS_SEC if IMX_HAB
+       select SYS_FSL_SEC_COMPAT_4
+       select SYS_FSL_SEC_LE
        select ROM_UNIFIED_SECTIONS
        imply MXC_GPIO
        imply SYS_THUMB_BUILD
@@ -887,6 +850,7 @@ config ARCH_MX7
        bool "Freescale MX7"
        select ARCH_MISC_INIT
        select CPU_V7A
+       select GPIO_EXTRA_HEADER
        select SYS_FSL_HAS_SEC if IMX_HAB
        select SYS_FSL_SEC_COMPAT_4
        select SYS_FSL_SEC_LE
@@ -897,6 +861,7 @@ config ARCH_MX7
 config ARCH_MX6
        bool "Freescale MX6"
        select CPU_V7A
+       select GPIO_EXTRA_HEADER
        select SYS_FSL_HAS_SEC
        select SYS_FSL_SEC_COMPAT_4
        select SYS_FSL_SEC_LE
@@ -912,18 +877,21 @@ config ARCH_MX5
        bool "Freescale MX5"
        select BOARD_EARLY_INIT_F
        select CPU_V7A
+       select GPIO_EXTRA_HEADER
        imply MXC_GPIO
 
 config ARCH_NEXELL
        bool "Nexell S5P4418/S5P6818 SoC"
        select ENABLE_ARM_SOC_BOOT0_HOOK
        select DM
+       select GPIO_EXTRA_HEADER
 
 config ARCH_OWL
        bool "Actions Semi OWL SoCs"
        select DM
        select DM_ETH
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select OWL_SERIAL
        select CLK
        select CLK_OWL
@@ -946,23 +914,20 @@ config ARCH_RMOBILE
        bool "Renesas ARM SoCs"
        select DM
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        imply 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"
-       select ARM64
-       select SYS_FSL_ERRATUM_ESDHC111
-
 config ARCH_SNAPDRAGON
        bool "Qualcomm Snapdragon SoCs"
        select ARM64
        select DM
        select DM_GPIO
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select MSM_SMEM
        select OF_CONTROL
        select OF_SEPARATE
@@ -974,10 +939,11 @@ config ARCH_SOCFPGA
        bool "Altera SOCFPGA family"
        select ARCH_EARLY_INIT_R
        select ARCH_MISC_INIT if !TARGET_SOCFPGA_ARRIA10
-       select ARM64 if TARGET_SOCFPGA_STRATIX10 || TARGET_SOCFPGA_AGILEX
+       select ARM64 if TARGET_SOCFPGA_SOC64
        select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
        select DM
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
        select OF_CONTROL
        select SPL_DM_RESET if DM_RESET
@@ -986,16 +952,16 @@ config ARCH_SOCFPGA
        select SPL_LIBGENERIC_SUPPORT
        select SPL_NAND_SUPPORT if SPL_NAND_DENALI
        select SPL_OF_CONTROL
-       select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10 || TARGET_SOCFPGA_AGILEX
+       select SPL_SEPARATE_BSS if TARGET_SOCFPGA_SOC64
        select SPL_SERIAL_SUPPORT
        select SPL_SYSRESET
-       select SPL_WATCHDOG_SUPPORT
+       select SPL_WATCHDOG
        select SUPPORT_SPL
        select SYS_NS16550
        select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
        select SYSRESET
        select SYSRESET_SOCFPGA if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
-       select SYSRESET_SOCFPGA_SOC64 if TARGET_SOCFPGA_STRATIX10 || TARGET_SOCFPGA_AGILEX
+       select SYSRESET_SOCFPGA_SOC64 if TARGET_SOCFPGA_SOC64
        imply CMD_DM
        imply CMD_MTDPARTS
        imply CRC32_VERIFY
@@ -1019,7 +985,7 @@ config ARCH_SUNXI
        select BINMAN
        select CMD_GPIO
        select CMD_MMC if MMC
-       select CMD_USB if DISTRO_DEFAULTS
+       select CMD_USB if DISTRO_DEFAULTS && USB_HOST
        select CLK
        select DM
        select DM_ETH
@@ -1028,7 +994,7 @@ config ARCH_SUNXI
        select DM_MMC if MMC
        select DM_SCSI if SCSI
        select DM_SERIAL
-       select DM_USB if DISTRO_DEFAULTS
+       select GPIO_EXTRA_HEADER
        select OF_BOARD_SETUP
        select OF_CONTROL
        select OF_SEPARATE
@@ -1040,11 +1006,12 @@ config ARCH_SUNXI
        select SYS_NS16550
        select SYS_THUMB_BUILD if !ARM64
        select USB if DISTRO_DEFAULTS
-       select USB_KEYBOARD if DISTRO_DEFAULTS
-       select USB_STORAGE if DISTRO_DEFAULTS
+       select USB_KEYBOARD if DISTRO_DEFAULTS && USB_HOST
+       select USB_STORAGE if DISTRO_DEFAULTS && USB_HOST
        select SPL_USE_TINY_PRINTF
        select USE_PREBOOT
        select SYS_RELOC_GD_ENV_ADDR
+       imply BOARD_LATE_INIT
        imply CMD_DM
        imply CMD_GPT
        imply CMD_UBI if MTD_RAW_NAND
@@ -1053,11 +1020,11 @@ config ARCH_SUNXI
        imply FIT
        imply OF_LIBFDT_OVERLAY
        imply PRE_CONSOLE_BUFFER
-       imply SPL_GPIO_SUPPORT
+       imply SPL_GPIO
        imply SPL_LIBCOMMON_SUPPORT
        imply SPL_LIBGENERIC_SUPPORT
        imply SPL_MMC_SUPPORT if MMC
-       imply SPL_POWER_SUPPORT
+       imply SPL_POWER
        imply SPL_SERIAL_SUPPORT
        imply USB_GADGET
 
@@ -1068,7 +1035,6 @@ config ARCH_U8500
        select DM_GPIO
        select DM_MMC if MMC
        select DM_SERIAL
-       select DM_USB if USB
        select OF_CONTROL
        select SYSRESET
        select TIMER
@@ -1087,6 +1053,7 @@ config ARCH_VERSAL
        select DM_ETH if NET
        select DM_MMC if MMC
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        imply BOARD_LATE_INIT
        imply ENV_VARS_UBOOT_RUNTIME_CONFIG
@@ -1094,6 +1061,7 @@ config ARCH_VERSAL
 config ARCH_VF610
        bool "Freescale Vybrid"
        select CPU_V7A
+       select GPIO_EXTRA_HEADER
        select SYS_FSL_ERRATUM_ESDHC111
        imply CMD_MTDPARTS
        imply MTD_RAW_NAND
@@ -1109,7 +1077,7 @@ config ARCH_ZYNQ
        select DM_SERIAL
        select DM_SPI
        select DM_SPI_FLASH
-       select DM_USB if USB
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select SPI
        select SPL_BOARD_INIT if SPL
@@ -1136,6 +1104,7 @@ config ARCH_ZYNQMP_R5
        select DM_ETH if NET
        select DM_MMC if MMC
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        imply CMD_DM
        imply DM_USB_GADGET
@@ -1151,8 +1120,8 @@ config ARCH_ZYNQMP
        select DM_SERIAL
        select DM_SPI if SPI
        select DM_SPI_FLASH if DM_SPI
-       select DM_USB if USB
        select FIRMWARE
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select SPL_BOARD_INIT if SPL
        select SPL_CLK if SPL
@@ -1173,23 +1142,27 @@ config ARCH_ZYNQMP
 
 config ARCH_TEGRA
        bool "NVIDIA Tegra"
+       select GPIO_EXTRA_HEADER
        imply DISTRO_DEFAULTS
        imply FAT_WRITE
 
 config TARGET_VEXPRESS64_AEMV8A
        bool "Support vexpress_aemv8a"
        select ARM64
+       select GPIO_EXTRA_HEADER
        select PL01X_SERIAL
 
 config TARGET_VEXPRESS64_BASE_FVP
        bool "Support Versatile Express ARMv8a FVP BASE model"
        select ARM64
+       select GPIO_EXTRA_HEADER
        select PL01X_SERIAL
        select SEMIHOSTING
 
 config TARGET_VEXPRESS64_JUNO
        bool "Support Versatile Express Juno Development Platform"
        select ARM64
+       select GPIO_EXTRA_HEADER
        select PL01X_SERIAL
        select DM
        select OF_CONTROL
@@ -1201,7 +1174,6 @@ config TARGET_VEXPRESS64_JUNO
        select DM_ETH
        select BLK
        select USB
-       select DM_USB
 
 config TARGET_TOTAL_COMPUTE
        bool "Support Total Compute Platform"
@@ -1218,24 +1190,13 @@ config TARGET_LS2080A_EMU
        select ARM64
        select ARMV8_MULTIENTRY
        select FSL_DDR_SYNC_REFRESH
+       select GPIO_EXTRA_HEADER
        help
          Support for Freescale LS2080A_EMU platform.
          The LS2080A Development System (EMULATOR) is a pre-silicon
          development platform that supports the QorIQ LS2080A
          Layerscape Architecture processor.
 
-config TARGET_LS2080A_SIMU
-       bool "Support ls2080a_simu"
-       select ARCH_LS2080A
-       select ARM64
-       select ARMV8_MULTIENTRY
-       select BOARD_LATE_INIT
-       help
-         Support for Freescale LS2080A_SIMU platform.
-         The LS2080A Development System (QDS) is a pre silicon
-         development platform that supports the QorIQ LS2080A
-         Layerscape Architecture processor.
-
 config TARGET_LS1088AQDS
        bool "Support ls1088aqds"
        select ARCH_LS1088A
@@ -1243,6 +1204,7 @@ config TARGET_LS1088AQDS
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        select SUPPORT_SPL
        select FSL_DDR_INTERACTIVE if !SD_BOOT
        help
@@ -1258,6 +1220,7 @@ config TARGET_LS2080AQDS
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        select SUPPORT_SPL
        imply SCSI
        imply SCSI_AHCI
@@ -1279,6 +1242,7 @@ config TARGET_LS2080ARDB
        select SUPPORT_SPL
        select FSL_DDR_BIST
        select FSL_DDR_INTERACTIVE if !SPL
+       select GPIO_EXTRA_HEADER
        imply SCSI
        imply SCSI_AHCI
        help
@@ -1293,6 +1257,7 @@ config TARGET_LS2081ARDB
        select ARM64
        select ARMV8_MULTIENTRY
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        select SUPPORT_SPL
        help
          Support for Freescale LS2081ARDB platform.
@@ -1307,6 +1272,7 @@ config TARGET_LX2160ARDB
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        help
          Support for NXP LX2160ARDB platform.
          The lx2160ardb (LX2160A Reference design board (RDB)
@@ -1320,18 +1286,33 @@ config TARGET_LX2160AQDS
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        help
          Support for NXP LX2160AQDS platform.
          The lx2160aqds (LX2160A QorIQ Development System (QDS)
          is a high-performance development platform that supports the
          QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
 
+config TARGET_LX2162AQDS
+       bool "Support lx2162aqds"
+       select ARCH_LX2162A
+       select ARCH_MISC_INIT
+       select ARM64
+       select ARMV8_MULTIENTRY
+       select ARCH_SUPPORT_TFABOOT
+       select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
+       help
+         Support for NXP LX2162AQDS platform.
+         The lx2162aqds support is based on LX2160A Layerscape Architecture processor.
+
 config TARGET_HIKEY
        bool "Support HiKey 96boards Consumer Edition Platform"
        select ARM64
        select DM
        select DM_GPIO
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select PL01X_SERIAL
        select SPECIFY_CONSOLE_INDEX
@@ -1345,6 +1326,7 @@ config TARGET_HIKEY960
        select ARM64
        select DM
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select PL01X_SERIAL
        imply CMD_DM
@@ -1357,7 +1339,7 @@ config TARGET_POPLAR
        select ARM64
        select DM
        select DM_SERIAL
-       select DM_USB
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select PL01X_SERIAL
        imply CMD_DM
@@ -1373,6 +1355,7 @@ config TARGET_LS1012AQDS
        select ARM64
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        help
          Support for Freescale LS1012AQDS platform.
          The LS1012A Development System (QDS) is a high-performance
@@ -1385,6 +1368,7 @@ config TARGET_LS1012ARDB
        select ARM64
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        imply SCSI
        imply SCSI_AHCI
        help
@@ -1399,6 +1383,7 @@ config TARGET_LS1012A2G5RDB
        select ARM64
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        imply SCSI
        help
          Support for Freescale LS1012A2G5RDB platform.
@@ -1412,6 +1397,7 @@ config TARGET_LS1012AFRWY
        select ARM64
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        imply SCSI
        imply SCSI_AHCI
        help
@@ -1425,6 +1411,7 @@ config TARGET_LS1012AFRDM
        select ARCH_LS1012A
        select ARM64
        select ARCH_SUPPORT_TFABOOT
+       select GPIO_EXTRA_HEADER
        help
          Support for Freescale LS1012AFRDM platform.
          The LS1012A Freedom  board (FRDM) is a high-performance
@@ -1438,6 +1425,7 @@ config TARGET_LS1028AQDS
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        help
          Support for Freescale LS1028AQDS platform
          The LS1028A Development System (QDS) is a high-performance
@@ -1451,6 +1439,7 @@ config TARGET_LS1028ARDB
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        help
          Support for Freescale LS1028ARDB platform
          The LS1028A Development System (RDB) is a high-performance
@@ -1466,6 +1455,7 @@ config TARGET_LS1088ARDB
        select BOARD_LATE_INIT
        select SUPPORT_SPL
        select FSL_DDR_INTERACTIVE if !SD_BOOT
+       select GPIO_EXTRA_HEADER
        help
          Support for NXP LS1088ARDB platform.
          The LS1088A Reference design board (RDB) is a high-performance
@@ -1486,6 +1476,7 @@ config TARGET_LS1021AQDS
        select SYS_FSL_DDR
        select FSL_DDR_INTERACTIVE
        select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
+       select GPIO_EXTRA_HEADER
        select SPI_FLASH_DATAFLASH if FSL_DSPI || FSL_QSPI
        imply SCSI
 
@@ -1501,8 +1492,46 @@ config TARGET_LS1021ATWR
        select LS1_DEEP_SLEEP
        select SUPPORT_SPL
        select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
+       select GPIO_EXTRA_HEADER
        imply SCSI
 
+config TARGET_PG_WCOM_SELI8
+       bool "Support Hitachi-Powergrids SELI8 service unit card"
+       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 SYS_FSL_DDR
+       select FSL_DDR_INTERACTIVE
+       select GPIO_EXTRA_HEADER
+       select VENDOR_KM
+       imply SCSI
+       help
+        Support for Hitachi-Powergrids SELI8 service unit card.
+        SELI8 is a QorIQ LS1021a based service unit card used
+        in XMC20 and FOX615 product families.
+
+config TARGET_PG_WCOM_EXPU1
+       bool "Support Hitachi-Powergrids EXPU1 service unit card"
+       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 SYS_FSL_DDR
+       select FSL_DDR_INTERACTIVE
+       select VENDOR_KM
+       imply SCSI
+       help
+        Support for Hitachi-Powergrids EXPU1 service unit card.
+        EXPU1 is a QorIQ LS1021a based service unit card used
+        in XMC20 and FOX615 product families.
+
 config TARGET_LS1021ATSN
        bool "Support ls1021atsn"
        select ARCH_LS1021A
@@ -1514,6 +1543,7 @@ config TARGET_LS1021ATSN
        select CPU_V7_HAS_VIRT
        select LS1_DEEP_SLEEP
        select SUPPORT_SPL
+       select GPIO_EXTRA_HEADER
        imply SCSI
 
 config TARGET_LS1021AIOT
@@ -1526,6 +1556,7 @@ config TARGET_LS1021AIOT
        select CPU_V7_HAS_VIRT
        select SUPPORT_SPL
        select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
+       select GPIO_EXTRA_HEADER
        imply SCSI
        help
          Support for Freescale LS1021AIOT platform.
@@ -1545,6 +1576,7 @@ config TARGET_LS1043AQDS
        select FSL_DDR_INTERACTIVE if !SPL
        select FSL_DSPI if !SPL_NO_DSPI
        select DM_SPI_FLASH if FSL_DSPI
+       select GPIO_EXTRA_HEADER
        imply SCSI
        imply SCSI_AHCI
        help
@@ -1561,6 +1593,7 @@ config TARGET_LS1043ARDB
        select SUPPORT_SPL
        select FSL_DSPI if !SPL_NO_DSPI
        select DM_SPI_FLASH if FSL_DSPI
+       select GPIO_EXTRA_HEADER
        help
          Support for Freescale LS1043ARDB platform.
 
@@ -1577,6 +1610,7 @@ config TARGET_LS1046AQDS
        select FSL_DDR_BIST if !SPL
        select FSL_DDR_INTERACTIVE  if !SPL
        select FSL_DDR_INTERACTIVE if !SPL
+       select GPIO_EXTRA_HEADER
        imply SCSI
        help
          Support for Freescale LS1046AQDS platform.
@@ -1597,6 +1631,7 @@ config TARGET_LS1046ARDB
        select SUPPORT_SPL
        select FSL_DDR_BIST
        select FSL_DDR_INTERACTIVE if !SPL
+       select GPIO_EXTRA_HEADER
        imply SCSI
        help
          Support for Freescale LS1046ARDB platform.
@@ -1613,6 +1648,7 @@ config TARGET_LS1046AFRWY
        select BOARD_EARLY_INIT_F
        select BOARD_LATE_INIT
        select DM_SPI_FLASH if DM_SPI
+       select GPIO_EXTRA_HEADER
        imply SCSI
        help
          Support for Freescale LS1046AFRWY platform.
@@ -1627,12 +1663,33 @@ config TARGET_SL28
        select ARMV8_MULTIENTRY
        select SUPPORT_SPL
        select BINMAN
+       select DM
+       select DM_GPIO
+       select DM_I2C
+       select DM_MMC
+       select DM_SPI_FLASH
+       select DM_ETH
+       select DM_MDIO
+       select DM_PCI
+       select DM_RNG
+       select DM_RTC
+       select DM_SCSI
+       select DM_SERIAL
+       select DM_SPI
+       select GPIO_EXTRA_HEADER
+       select SPL_DM if SPL
+       select SPL_DM_SPI if SPL
+       select SPL_DM_SPI_FLASH if SPL
+       select SPL_DM_I2C if SPL
+       select SPL_DM_MMC if SPL
+       select SPL_DM_SERIAL if SPL
        help
          Support for Kontron SMARC-sAL28 board.
 
 config TARGET_COLIBRI_PXA270
        bool "Support colibri_pxa270"
        select CPU_PXA
+       select GPIO_EXTRA_HEADER
 
 config ARCH_UNIPHIER
        bool "Socionext UniPhier SoCs"
@@ -1645,7 +1702,6 @@ config ARCH_UNIPHIER
        select DM_MTD
        select DM_RESET
        select DM_SERIAL
-       select DM_USB
        select OF_BOARD_SETUP
        select OF_CONTROL
        select OF_LIBFDT
@@ -1664,11 +1720,25 @@ config ARCH_UNIPHIER
          Support for UniPhier SoC family developed by Socionext Inc.
          (formerly, System LSI Business Division of Panasonic Corporation)
 
+config ARCH_SYNQUACER
+       bool "Socionext SynQuacer SoCs"
+       select ARM64
+       select DM
+       select GIC_V3
+       select PSCI_RESET
+       select SYSRESET
+       select SYSRESET_PSCI
+       select OF_CONTROL
+       help
+         Support for SynQuacer SoC family developed by Socionext Inc.
+         This SoC is used on 96boards EE DeveloperBox.
+
 config ARCH_STM32
        bool "Support STMicroelectronics STM32 MCU with cortex M"
        select CPU_V7M
        select DM
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        imply CMD_DM
 
 config ARCH_STI
@@ -1694,6 +1764,7 @@ config ARCH_STM32MP
        select DM_GPIO
        select DM_RESET
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select MISC
        select OF_CONTROL
        select OF_LIBFDT
@@ -1721,7 +1792,7 @@ config ARCH_STM32MP
 config ARCH_ROCKCHIP
        bool "Support Rockchip SoCs"
        select BLK
-       select BINMAN if !ARM64
+       select BINMAN if SPL_OPTEE
        select DM
        select DM_GPIO
        select DM_I2C
@@ -1731,7 +1802,6 @@ config ARCH_ROCKCHIP
        select DM_SERIAL
        select DM_SPI
        select DM_SPI_FLASH
-       select DM_USB if USB
        select ENABLE_ARM_SOC_BOOT0_HOOK
        select OF_CONTROL
        select SPI
@@ -1756,6 +1826,7 @@ config ARCH_OCTEONTX
        bool "Support OcteonTX SoCs"
        select CLK
        select DM
+       select GPIO_EXTRA_HEADER
        select ARM64
        select OF_CONTROL
        select OF_LIVE
@@ -1766,6 +1837,7 @@ config ARCH_OCTEONTX2
        bool "Support OcteonTX2 SoCs"
        select CLK
        select DM
+       select GPIO_EXTRA_HEADER
        select ARM64
        select OF_CONTROL
        select OF_LIVE
@@ -1775,6 +1847,7 @@ config ARCH_OCTEONTX2
 config TARGET_THUNDERX_88XX
        bool "Support ThunderX 88xx"
        select ARM64
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select PL01X_SERIAL
        select SYS_CACHE_SHIFT_7
@@ -1788,6 +1861,7 @@ config ARCH_ASPEED
 config TARGET_DURIAN
        bool "Support Phytium Durian Platform"
        select ARM64
+       select GPIO_EXTRA_HEADER
        help
          Support for durian platform.
          It has 2GB Sdram, uart and pcie.
@@ -1963,27 +2037,17 @@ source "board/bosch/shc/Kconfig"
 source "board/bosch/guardian/Kconfig"
 source "board/CarMediaLab/flea3/Kconfig"
 source "board/Marvell/aspenite/Kconfig"
-source "board/Marvell/gplugd/Kconfig"
 source "board/Marvell/octeontx/Kconfig"
 source "board/Marvell/octeontx2/Kconfig"
-source "board/armadeus/apf27/Kconfig"
-source "board/armltd/vexpress/Kconfig"
 source "board/armltd/vexpress64/Kconfig"
 source "board/cortina/presidio-asic/Kconfig"
-source "board/broadcom/bcm23550_w1d/Kconfig"
-source "board/broadcom/bcm28155_ap/Kconfig"
 source "board/broadcom/bcm963158/Kconfig"
 source "board/broadcom/bcm968360bg/Kconfig"
 source "board/broadcom/bcm968580xref/Kconfig"
-source "board/broadcom/bcmcygnus/Kconfig"
-source "board/broadcom/bcmnsp/Kconfig"
-source "board/broadcom/bcmns2/Kconfig"
 source "board/broadcom/bcmns3/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"
 source "board/freescale/ls1088a/Kconfig"
@@ -2001,8 +2065,6 @@ source "board/freescale/ls1012aqds/Kconfig"
 source "board/freescale/ls1012ardb/Kconfig"
 source "board/freescale/ls1012afrdm/Kconfig"
 source "board/freescale/lx2160a/Kconfig"
-source "board/freescale/mx35pdk/Kconfig"
-source "board/freescale/s32v234evb/Kconfig"
 source "board/grinn/chiliboard/Kconfig"
 source "board/hisilicon/hikey/Kconfig"
 source "board/hisilicon/hikey960/Kconfig"
@@ -2010,11 +2072,8 @@ source "board/hisilicon/poplar/Kconfig"
 source "board/isee/igep003x/Kconfig"
 source "board/kontron/sl28/Kconfig"
 source "board/myir/mys_6ulx/Kconfig"
-source "board/spear/spear300/Kconfig"
-source "board/spear/spear310/Kconfig"
-source "board/spear/spear320/Kconfig"
-source "board/spear/spear600/Kconfig"
-source "board/spear/x600/Kconfig"
+source "board/seeed/npi_imx6ull/Kconfig"
+source "board/socionext/developerbox/Kconfig"
 source "board/st/stv0991/Kconfig"
 source "board/tcl/sl50/Kconfig"
 source "board/toradex/colibri_pxa270/Kconfig"
@@ -2022,6 +2081,7 @@ source "board/variscite/dart_6ul/Kconfig"
 source "board/vscom/baltos/Kconfig"
 source "board/phytium/durian/Kconfig"
 source "board/xen/xenguest_arm64/Kconfig"
+source "board/keymile/Kconfig"
 
 source "arch/arm/Kconfig.debug"