]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/Kconfig
Kconfig: Add CONFIG_SATA to enable SATA
[u-boot] / arch / arm / Kconfig
index 16578b8b38906304c1a90ef884bb4942cb9c34c5..d43aaac2a029766bf48359f7cf8825d8d2b55030 100644 (file)
@@ -19,6 +19,15 @@ config HAS_VBAR
 config HAS_THUMB2
        bool
 
 config HAS_THUMB2
        bool
 
+# Used for compatibility with asm files copied from the kernel
+config ARM_ASM_UNIFIED
+       bool
+       default y
+
+# Used for compatibility with asm files copied from the kernel
+config THUMB2_KERNEL
+       bool
+
 # If set, the workarounds for these ARM errata are applied early during U-Boot
 # startup. Note that in general these options force the workarounds to be
 # applied; no CPU-type/version detection exists, unlike the similar options in
 # If set, the workarounds for these ARM errata are applied early during U-Boot
 # startup. Note that in general these options force the workarounds to be
 # applied; no CPU-type/version detection exists, unlike the similar options in
@@ -88,6 +97,12 @@ config ARM_ERRATA_833069
 config ARM_ERRATA_833471
        bool
 
 config ARM_ERRATA_833471
        bool
 
+config ARM_ERRATA_852421
+       bool
+
+config ARM_ERRATA_852423
+       bool
+
 config CPU_ARM720T
        bool
        select SYS_CACHE_SHIFT_5
 config CPU_ARM720T
        bool
        select SYS_CACHE_SHIFT_5
@@ -122,6 +137,7 @@ config CPU_V7
 config CPU_V7M
        bool
        select HAS_THUMB2
 config CPU_V7M
        bool
        select HAS_THUMB2
+       select THUMB2_KERNEL
        select SYS_CACHE_SHIFT_5
 
 config CPU_PXA
        select SYS_CACHE_SHIFT_5
 
 config CPU_PXA
@@ -177,6 +193,7 @@ config SYS_CACHELINE_SIZE
 config ARM_SMCCC
        bool "Support for ARM SMC Calling Convention (SMCCC)"
        depends on CPU_V7 || ARM64
 config ARM_SMCCC
        bool "Support for ARM SMC Calling Convention (SMCCC)"
        depends on CPU_V7 || ARM64
+       select ARM_PSCI_FW
        help
          Say Y here if you want to enable ARM SMC Calling Convention.
          This should be enabled if U-Boot needs to communicate with system
        help
          Say Y here if you want to enable ARM SMC Calling Convention.
          This should be enabled if U-Boot needs to communicate with system
@@ -236,7 +253,7 @@ config USE_ARCH_MEMCPY
          but may increase the binary size.
 
 config SPL_USE_ARCH_MEMCPY
          but may increase the binary size.
 
 config SPL_USE_ARCH_MEMCPY
-       bool "Use an assembly optimized implementation of memcpy"
+       bool "Use an assembly optimized implementation of memcpy for SPL"
        default y if USE_ARCH_MEMCPY
        depends on !ARM64
        help
        default y if USE_ARCH_MEMCPY
        depends on !ARM64
        help
@@ -254,7 +271,7 @@ config USE_ARCH_MEMSET
          but may increase the binary size.
 
 config SPL_USE_ARCH_MEMSET
          but may increase the binary size.
 
 config SPL_USE_ARCH_MEMSET
-       bool "Use an assembly optimized implementation of memset"
+       bool "Use an assembly optimized implementation of memset for SPL"
        default y if USE_ARCH_MEMSET
        depends on !ARM64
        help
        default y if USE_ARCH_MEMSET
        depends on !ARM64
        help
@@ -262,11 +279,6 @@ config SPL_USE_ARCH_MEMSET
          Such implementation may be faster under some conditions
          but may increase the binary size.
 
          Such implementation may be faster under some conditions
          but may increase the binary size.
 
-config ARCH_OMAP2
-       bool
-       select CPU_V7
-       select SUPPORT_SPL
-
 config ARM64_SUPPORT_AARCH32
        bool "ARM64 system support AArch32 execution state"
        default y if ARM64 && !TARGET_THUNDERX_88XX
 config ARM64_SUPPORT_AARCH32
        bool "ARM64 system support AArch32 execution state"
        default y if ARM64 && !TARGET_THUNDERX_88XX
@@ -279,6 +291,7 @@ choice
 
 config ARCH_AT91
        bool "Atmel AT91"
 
 config ARCH_AT91
        bool "Atmel AT91"
+       select SPL_BOARD_INIT if SPL
 
 config TARGET_EDB93XX
        bool "Support edb93xx"
 
 config TARGET_EDB93XX
        bool "Support edb93xx"
@@ -474,6 +487,7 @@ config ARCH_BCM283X
        select DM_SERIAL
        select DM_GPIO
        select OF_CONTROL
        select DM_SERIAL
        select DM_GPIO
        select OF_CONTROL
+       imply FAT_WRITE
 
 config TARGET_VEXPRESS_CA15_TC2
        bool "Support vexpress_ca15_tc2"
 
 config TARGET_VEXPRESS_CA15_TC2
        bool "Support vexpress_ca15_tc2"
@@ -489,83 +503,25 @@ config TARGET_VEXPRESS_CA9X4
        bool "Support vexpress_ca9x4"
        select CPU_V7
 
        bool "Support vexpress_ca9x4"
        select CPU_V7
 
-config TARGET_BRXRE1
-       bool "Support BRXRE1"
-       select ARCH_OMAP2
-       select BOARD_LATE_INIT
-
-config TARGET_BRPPT1
-       bool "Support BRPPT1"
-       select ARCH_OMAP2
-       select BOARD_LATE_INIT
-
-config TARGET_DRACO
-       bool "Support draco"
-       select ARCH_OMAP2
-       select BOARD_LATE_INIT
-       select DM
-       select DM_SERIAL
-       select DM_GPIO
-
-config TARGET_THUBAN
-       bool "Support thuban"
-       select ARCH_OMAP2
-       select BOARD_LATE_INIT
-       select DM
-       select DM_SERIAL
-       select DM_GPIO
-
-config TARGET_RASTABAN
-       bool "Support rastaban"
-       select ARCH_OMAP2
-       select BOARD_LATE_INIT
-       select DM
-       select DM_SERIAL
-       select DM_GPIO
-
-config TARGET_ETAMIN
-       bool "Support etamin"
-       select ARCH_OMAP2
-       select BOARD_LATE_INIT
-       select DM
-       select DM_SERIAL
-       select DM_GPIO
-
-config TARGET_PXM2
-       bool "Support pxm2"
-       select ARCH_OMAP2
-       select BOARD_LATE_INIT
-       select DM
-       select DM_SERIAL
-       select DM_GPIO
-
-config TARGET_RUT
-       bool "Support rut"
-       select ARCH_OMAP2
-       select BOARD_LATE_INIT
-       select DM
-       select DM_SERIAL
-       select DM_GPIO
-
-config TARGET_TI814X_EVM
-       bool "Support ti814x_evm"
-       select ARCH_OMAP2
-
-config TARGET_TI816X_EVM
-       bool "Support ti816x_evm"
-       select ARCH_OMAP2
-
 config TARGET_BCM23550_W1D
        bool "Support bcm23550_w1d"
        select CPU_V7
 config TARGET_BCM23550_W1D
        bool "Support bcm23550_w1d"
        select CPU_V7
+       imply CRC32_VERIFY
+       imply FAT_WRITE
 
 config TARGET_BCM28155_AP
        bool "Support bcm28155_ap"
        select CPU_V7
 
 config TARGET_BCM28155_AP
        bool "Support bcm28155_ap"
        select CPU_V7
+       imply CRC32_VERIFY
+       imply FAT_WRITE
 
 config TARGET_BCMCYGNUS
        bool "Support bcmcygnus"
        select CPU_V7
 
 config TARGET_BCMCYGNUS
        bool "Support bcmcygnus"
        select CPU_V7
+       imply CRC32_VERIFY
+       imply CMD_HASH
+       imply FAT_WRITE
+       imply HASH_VERIFY
 
 config TARGET_BCMNSP
        bool "Support bcmnsp"
 
 config TARGET_BCMNSP
        bool "Support bcmnsp"
@@ -588,6 +544,7 @@ config ARCH_EXYNOS
        select DM_SPI
        select DM_GPIO
        select DM_KEYBOARD
        select DM_SPI
        select DM_GPIO
        select DM_KEYBOARD
+       imply FAT_WRITE
 
 config ARCH_S5PC1XX
        bool "Samsung S5PC1XX"
 
 config ARCH_S5PC1XX
        bool "Samsung S5PC1XX"
@@ -612,6 +569,14 @@ config ARCH_KEYSTONE
        select SUPPORT_SPL
        select SYS_THUMB_BUILD
        select CMD_POWEROFF
        select SUPPORT_SPL
        select SYS_THUMB_BUILD
        select CMD_POWEROFF
+       imply FIT
+
+config ARCH_OMAP2PLUS
+       bool "TI OMAP2+"
+       select CPU_V7
+       select SPL_BOARD_INIT if SPL
+       select SUPPORT_SPL
+       imply FIT
 
 config ARCH_MESON
        bool "Amlogic Meson"
 
 config ARCH_MESON
        bool "Amlogic Meson"
@@ -647,131 +612,12 @@ config ARCH_MX5
        select CPU_V7
        select BOARD_EARLY_INIT_F
 
        select CPU_V7
        select BOARD_EARLY_INIT_F
 
-config TARGET_M53EVK
-       bool "Support m53evk"
-       select CPU_V7
-       select SUPPORT_SPL
-       select BOARD_EARLY_INIT_F
-
-config TARGET_MX51EVK
-       bool "Support mx51evk"
-       select BOARD_LATE_INIT
-       select CPU_V7
-       select BOARD_EARLY_INIT_F
-
-config TARGET_MX53ARD
-       bool "Support mx53ard"
-       select CPU_V7
-       select BOARD_EARLY_INIT_F
-
-config TARGET_MX53EVK
-       bool "Support mx53evk"
-       select BOARD_LATE_INIT
-       select CPU_V7
-       select BOARD_EARLY_INIT_F
-
-config TARGET_MX53LOCO
-       bool "Support mx53loco"
-       select BOARD_LATE_INIT
-       select CPU_V7
-       select BOARD_EARLY_INIT_F
-
-config TARGET_MX53SMD
-       bool "Support mx53smd"
-       select CPU_V7
-       select BOARD_EARLY_INIT_F
-
-config OMAP34XX
-       bool "OMAP34XX SoC"
-       select ARCH_OMAP2
-       select ARM_ERRATA_430973
-       select ARM_ERRATA_454179
-       select ARM_ERRATA_621766
-       select ARM_ERRATA_725233
-       select USE_TINY_PRINTF
-       imply SPL_EXT_SUPPORT
-       imply SPL_FAT_SUPPORT
-       imply SPL_GPIO_SUPPORT
-       imply SPL_I2C_SUPPORT
-       imply SPL_LIBCOMMON_SUPPORT
-       imply SPL_LIBDISK_SUPPORT
-       imply SPL_LIBGENERIC_SUPPORT
-       imply SPL_MMC_SUPPORT
-       imply SPL_NAND_SUPPORT
-       imply SPL_POWER_SUPPORT
-       imply SPL_SERIAL_SUPPORT
-       imply SYS_THUMB_BUILD
-
-config OMAP44XX
-       bool "OMAP44XX SoC"
-       select ARCH_OMAP2
-       select USE_TINY_PRINTF
-       imply SPL_DISPLAY_PRINT
-       imply SPL_EXT_SUPPORT
-       imply SPL_FAT_SUPPORT
-       imply SPL_GPIO_SUPPORT
-       imply SPL_I2C_SUPPORT
-       imply SPL_LIBCOMMON_SUPPORT
-       imply SPL_LIBDISK_SUPPORT
-       imply SPL_LIBGENERIC_SUPPORT
-       imply SPL_MMC_SUPPORT
-       imply SPL_NAND_SUPPORT
-       imply SPL_POWER_SUPPORT
-       imply SPL_SERIAL_SUPPORT
-       imply SYS_THUMB_BUILD
-
-config OMAP54XX
-       bool "OMAP54XX SoC"
-       select ARCH_OMAP2
-       select ARM_ERRATA_798870
-       select SYS_THUMB_BUILD
-       imply SPL_DISPLAY_PRINT
-       imply SPL_ENV_SUPPORT
-       imply SPL_EXT_SUPPORT
-       imply SPL_FAT_SUPPORT
-       imply SPL_GPIO_SUPPORT
-       imply SPL_I2C_SUPPORT
-       imply SPL_LIBCOMMON_SUPPORT
-       imply SPL_LIBDISK_SUPPORT
-       imply SPL_LIBGENERIC_SUPPORT
-       imply SPL_MMC_SUPPORT
-       imply SPL_NAND_SUPPORT
-       imply SPL_POWER_SUPPORT
-       imply SPL_SERIAL_SUPPORT
-
-config AM43XX
-       bool "AM43XX SoC"
-       select ARCH_OMAP2
-       imply SPL_DM
-       imply SPL_DM_SEQ_ALIAS
-       imply SPL_OF_CONTROL
-       imply SPL_OF_TRANSLATE
-       imply SPL_SEPARATE_BSS
-       imply SPL_SYS_MALLOC_SIMPLE
-       imply SYS_THUMB_BUILD
-       help
-         Support for AM43xx SOC from Texas Instruments.
-         The AM43xx high performance SOC features a Cortex-A9
-         ARM core, a quad core PRU-ICSS for industrial Ethernet
-         protocols, dual camera support, optional 3D graphics
-         and an optional customer programmable secure boot.
-
-config AM33XX
-       bool "AM33XX SoC"
-       select ARCH_OMAP2
-       imply SYS_THUMB_BUILD
-       help
-         Support for AM335x SOC from Texas Instruments.
-         The AM335x high performance SOC features a Cortex-A8
-         ARM core, a dual core PRU-ICSS for industrial Ethernet
-         protocols, optional 3D graphics and an optional customer
-         programmable secure boot.
-
 config ARCH_RMOBILE
        bool "Renesas ARM SoCs"
        select DM
        select DM_SERIAL
        select BOARD_EARLY_INIT_F
 config ARCH_RMOBILE
        bool "Renesas ARM SoCs"
        select DM
        select DM_SERIAL
        select BOARD_EARLY_INIT_F
+       imply FAT_WRITE
        imply SYS_THUMB_BUILD
 
 config TARGET_S32V234EVB
        imply SYS_THUMB_BUILD
 
 config TARGET_S32V234EVB
@@ -803,10 +649,8 @@ config ARCH_SOCFPGA
        select ARCH_MISC_INIT
        select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
        select SYS_THUMB_BUILD
        select ARCH_MISC_INIT
        select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
        select SYS_THUMB_BUILD
-
-config TARGET_CM_T43
-       bool "Support cm_t43"
-       select ARCH_OMAP2
+       imply CRC32_VERIFY
+       imply FAT_WRITE
 
 config ARCH_SUNXI
        bool "Support sunxi (Allwinner) SoCs"
 
 config ARCH_SUNXI
        bool "Support sunxi (Allwinner) SoCs"
@@ -822,25 +666,29 @@ config ARCH_SUNXI
        select OF_BOARD_SETUP
        select OF_CONTROL
        select OF_SEPARATE
        select OF_BOARD_SETUP
        select OF_CONTROL
        select OF_SEPARATE
-       select SPL_STACK_R if SUPPORT_SPL
-       select SPL_SYS_MALLOC_SIMPLE if SUPPORT_SPL
+       select SPL_STACK_R if SPL
+       select SPL_SYS_MALLOC_SIMPLE if SPL
        select SYS_NS16550
        select SPL_SYS_THUMB_BUILD if !ARM64
        select USB if DISTRO_DEFAULTS
        select USB_STORAGE if DISTRO_DEFAULTS
        select USB_KEYBOARD if DISTRO_DEFAULTS
        select USE_TINY_PRINTF
        select SYS_NS16550
        select SPL_SYS_THUMB_BUILD if !ARM64
        select USB if DISTRO_DEFAULTS
        select USB_STORAGE if DISTRO_DEFAULTS
        select USB_KEYBOARD if DISTRO_DEFAULTS
        select USE_TINY_PRINTF
+       imply FAT_WRITE
+       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
 
 config TARGET_TS4600
        bool "Support TS4600"
        select CPU_ARM926EJS
        select SUPPORT_SPL
 
 
 config TARGET_TS4600
        bool "Support TS4600"
        select CPU_ARM926EJS
        select SUPPORT_SPL
 
-config TARGET_TS4800
-       bool "Support TS4800"
-       select CPU_V7
-       select SYS_FSL_ERRATUM_ESDHC_A001
-
 config ARCH_VF610
        bool "Freescale Vybrid"
        select CPU_V7
 config ARCH_VF610
        bool "Freescale Vybrid"
        select CPU_V7
@@ -852,6 +700,7 @@ config ARCH_ZYNQ
        select CPU_V7
        select SUPPORT_SPL
        select OF_CONTROL
        select CPU_V7
        select SUPPORT_SPL
        select OF_CONTROL
+       select SPL_BOARD_INIT if SPL
        select SPL_OF_CONTROL if SPL
        select DM
        select DM_ETH
        select SPL_OF_CONTROL if SPL
        select DM
        select DM_ETH
@@ -868,6 +717,8 @@ config ARCH_ZYNQ
        select CLK
        select SPL_CLK
        select CLK_ZYNQ
        select CLK
        select SPL_CLK
        select CLK_ZYNQ
+       imply CMD_CLK
+       imply FAT_WRITE
 
 config ARCH_ZYNQMP
        bool "Support Xilinx ZynqMP Platform"
 
 config ARCH_ZYNQMP
        bool "Support Xilinx ZynqMP Platform"
@@ -878,11 +729,14 @@ config ARCH_ZYNQMP
        select DM_SERIAL
        select SUPPORT_SPL
        select CLK
        select DM_SERIAL
        select SUPPORT_SPL
        select CLK
+       select SPL_BOARD_INIT if SPL
        select SPL_CLK
        select DM_USB if USB
        select SPL_CLK
        select DM_USB if USB
+       imply FAT_WRITE
 
 config TEGRA
        bool "NVIDIA Tegra"
 
 config TEGRA
        bool "NVIDIA Tegra"
+       imply FAT_WRITE
 
 config TARGET_VEXPRESS64_AEMV8A
        bool "Support vexpress_aemv8a"
 
 config TARGET_VEXPRESS64_AEMV8A
        bool "Support vexpress_aemv8a"
@@ -938,6 +792,7 @@ config TARGET_LS2080AQDS
        select BOARD_LATE_INIT
        select SUPPORT_SPL
        select ARCH_MISC_INIT
        select BOARD_LATE_INIT
        select SUPPORT_SPL
        select ARCH_MISC_INIT
+       imply SCSI
        help
          Support for Freescale LS2080AQDS platform
          The LS2080A Development System (QDS) is a high-performance
        help
          Support for Freescale LS2080AQDS platform
          The LS2080A Development System (QDS) is a high-performance
@@ -952,12 +807,27 @@ config TARGET_LS2080ARDB
        select BOARD_LATE_INIT
        select SUPPORT_SPL
        select ARCH_MISC_INIT
        select BOARD_LATE_INIT
        select SUPPORT_SPL
        select ARCH_MISC_INIT
+       imply SCSI
        help
          Support for Freescale LS2080ARDB platform.
          The LS2080A Reference design board (RDB) is a high-performance
          development platform that supports the QorIQ LS2080A
          Layerscape Architecture processor.
 
        help
          Support for Freescale LS2080ARDB platform.
          The LS2080A Reference design board (RDB) is a high-performance
          development platform that supports the QorIQ LS2080A
          Layerscape Architecture processor.
 
+config TARGET_LS2081ARDB
+       bool "Support ls2081ardb"
+       select ARCH_LS2080A
+       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
+         development platform that supports the QorIQ LS2081A/LS2041A
+         Layerscape Architecture processor.
+
 config TARGET_HIKEY
        bool "Support HiKey 96boards Consumer Edition Platform"
        select ARM64
 config TARGET_HIKEY
        bool "Support HiKey 96boards Consumer Edition Platform"
        select ARM64
@@ -969,6 +839,19 @@ config TARGET_HIKEY
          Support for HiKey 96boards platform. It features a HI6220
          SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
 
          Support for HiKey 96boards platform. It features a HI6220
          SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
 
+config TARGET_POPLAR
+       bool "Support Poplar 96boards Enterprise Edition Platform"
+       select ARM64
+       select DM
+       select OF_CONTROL
+       select DM_SERIAL
+       select DM_USB
+         help
+         Support for Poplar 96boards EE platform. It features a HI3798cv200
+         SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
+         making it capable of running any commercial set-top solution based on
+         Linux or Android.
+
 config TARGET_LS1012AQDS
        bool "Support ls1012aqds"
        select ARCH_LS1012A
 config TARGET_LS1012AQDS
        bool "Support ls1012aqds"
        select ARCH_LS1012A
@@ -985,6 +868,7 @@ config TARGET_LS1012ARDB
        select ARCH_LS1012A
        select ARM64
        select BOARD_LATE_INIT
        select ARCH_LS1012A
        select ARM64
        select BOARD_LATE_INIT
+       imply SCSI
        help
          Support for Freescale LS1012ARDB platform.
          The LS1012A Reference design board (RDB) is a high-performance
        help
          Support for Freescale LS1012ARDB platform.
          The LS1012A Reference design board (RDB) is a high-performance
@@ -1013,6 +897,7 @@ config TARGET_LS1021AQDS
        select LS1_DEEP_SLEEP
        select SYS_FSL_DDR
        select BOARD_EARLY_INIT_F
        select LS1_DEEP_SLEEP
        select SYS_FSL_DDR
        select BOARD_EARLY_INIT_F
+       imply SCSI
 
 config TARGET_LS1021ATWR
        bool "Support ls1021atwr"
 
 config TARGET_LS1021ATWR
        bool "Support ls1021atwr"
@@ -1025,6 +910,7 @@ config TARGET_LS1021ATWR
        select ARCH_SUPPORT_PSCI
        select LS1_DEEP_SLEEP
        select BOARD_EARLY_INIT_F
        select ARCH_SUPPORT_PSCI
        select LS1_DEEP_SLEEP
        select BOARD_EARLY_INIT_F
+       imply SCSI
 
 config TARGET_LS1021AIOT
        bool "Support ls1021aiot"
 
 config TARGET_LS1021AIOT
        bool "Support ls1021aiot"
@@ -1035,6 +921,7 @@ config TARGET_LS1021AIOT
        select SUPPORT_SPL
        select ARCH_LS1021A
        select ARCH_SUPPORT_PSCI
        select SUPPORT_SPL
        select ARCH_LS1021A
        select ARCH_SUPPORT_PSCI
+       imply SCSI
        help
          Support for Freescale LS1021AIOT platform.
          The LS1021A Freescale board (IOT) is a high-performance
        help
          Support for Freescale LS1021AIOT platform.
          The LS1021A Freescale board (IOT) is a high-performance
@@ -1049,6 +936,7 @@ config TARGET_LS1043AQDS
        select BOARD_LATE_INIT
        select SUPPORT_SPL
        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.
 
        help
          Support for Freescale LS1043AQDS platform.
 
@@ -1060,6 +948,7 @@ config TARGET_LS1043ARDB
        select BOARD_LATE_INIT
        select SUPPORT_SPL
        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.
 
        help
          Support for Freescale LS1043ARDB platform.
 
@@ -1072,6 +961,7 @@ config TARGET_LS1046AQDS
        select SUPPORT_SPL
        select DM_SPI_FLASH if DM_SPI
        select BOARD_EARLY_INIT_F
        select SUPPORT_SPL
        select DM_SPI_FLASH if DM_SPI
        select BOARD_EARLY_INIT_F
+       imply SCSI
        help
          Support for Freescale LS1046AQDS platform.
          The LS1046A Development System (QDS) is a high-performance
        help
          Support for Freescale LS1046AQDS platform.
          The LS1046A Development System (QDS) is a high-performance
@@ -1088,6 +978,7 @@ config TARGET_LS1046ARDB
        select DM_SPI_FLASH if DM_SPI
        select POWER_MC34VR500
        select BOARD_EARLY_INIT_F
        select DM_SPI_FLASH if DM_SPI
        select POWER_MC34VR500
        select BOARD_EARLY_INIT_F
+       imply SCSI
        help
          Support for Freescale LS1046ARDB platform.
          The LS1046A Reference Design Board (RDB) is a high-performance
        help
          Support for Freescale LS1046ARDB platform.
          The LS1046A Reference Design Board (RDB) is a high-performance
@@ -1120,12 +1011,14 @@ config ARCH_UNIPHIER
        select OF_CONTROL
        select OF_LIBFDT
        select PINCTRL
        select OF_CONTROL
        select OF_LIBFDT
        select PINCTRL
+       select SPL_BOARD_INIT if SPL
        select SPL_DM if SPL
        select SPL_LIBCOMMON_SUPPORT if SPL
        select SPL_LIBGENERIC_SUPPORT if SPL
        select SPL_OF_CONTROL if SPL
        select SPL_PINCTRL if SPL
        select SUPPORT_SPL
        select SPL_DM if SPL
        select SPL_LIBCOMMON_SUPPORT if SPL
        select SPL_LIBGENERIC_SUPPORT if SPL
        select SPL_OF_CONTROL if SPL
        select SPL_PINCTRL if SPL
        select SUPPORT_SPL
+       imply FAT_WRITE
        help
          Support for UniPhier SoC family developed by Socionext Inc.
          (formerly, System LSI Business Division of Panasonic Corporation)
        help
          Support for UniPhier SoC family developed by Socionext Inc.
          (formerly, System LSI Business Division of Panasonic Corporation)
@@ -1168,6 +1061,7 @@ config ARCH_ROCKCHIP
        select DM_USB if USB
        select DM_PWM
        select DM_REGULATOR
        select DM_USB if USB
        select DM_PWM
        select DM_REGULATOR
+       imply FAT_WRITE
 
 config TARGET_THUNDERX_88XX
        bool "Support ThunderX 88xx"
 
 config TARGET_THUNDERX_88XX
        bool "Support ThunderX 88xx"
@@ -1234,6 +1128,8 @@ source "arch/arm/mach-sti/Kconfig"
 
 source "arch/arm/mach-stm32/Kconfig"
 
 
 source "arch/arm/mach-stm32/Kconfig"
 
+source "arch/arm/mach-sunxi/Kconfig"
+
 source "arch/arm/mach-tegra/Kconfig"
 
 source "arch/arm/mach-uniphier/Kconfig"
 source "arch/arm/mach-tegra/Kconfig"
 
 source "arch/arm/mach-uniphier/Kconfig"
@@ -1251,10 +1147,7 @@ source "arch/arm/cpu/armv8/Kconfig"
 source "arch/arm/imx-common/Kconfig"
 
 source "board/aries/m28evk/Kconfig"
 source "arch/arm/imx-common/Kconfig"
 
 source "board/aries/m28evk/Kconfig"
-source "board/aries/m53evk/Kconfig"
 source "board/bosch/shc/Kconfig"
 source "board/bosch/shc/Kconfig"
-source "board/BuR/brxre1/Kconfig"
-source "board/BuR/brppt1/Kconfig"
 source "board/CarMediaLab/flea3/Kconfig"
 source "board/Marvell/aspenite/Kconfig"
 source "board/Marvell/gplugd/Kconfig"
 source "board/CarMediaLab/flea3/Kconfig"
 source "board/Marvell/aspenite/Kconfig"
 source "board/Marvell/gplugd/Kconfig"
@@ -1269,8 +1162,6 @@ source "board/broadcom/bcmnsp/Kconfig"
 source "board/broadcom/bcmns2/Kconfig"
 source "board/cavium/thunderx/Kconfig"
 source "board/cirrus/edb93xx/Kconfig"
 source "board/broadcom/bcmns2/Kconfig"
 source "board/cavium/thunderx/Kconfig"
 source "board/cirrus/edb93xx/Kconfig"
-source "board/compulab/cm_t335/Kconfig"
-source "board/compulab/cm_t43/Kconfig"
 source "board/creative/xfi3/Kconfig"
 source "board/freescale/ls2080a/Kconfig"
 source "board/freescale/ls2080aqds/Kconfig"
 source "board/creative/xfi3/Kconfig"
 source "board/freescale/ls2080a/Kconfig"
 source "board/freescale/ls2080aqds/Kconfig"
@@ -1291,27 +1182,20 @@ source "board/freescale/mx28evk/Kconfig"
 source "board/freescale/mx31ads/Kconfig"
 source "board/freescale/mx31pdk/Kconfig"
 source "board/freescale/mx35pdk/Kconfig"
 source "board/freescale/mx31ads/Kconfig"
 source "board/freescale/mx31pdk/Kconfig"
 source "board/freescale/mx35pdk/Kconfig"
-source "board/freescale/mx51evk/Kconfig"
-source "board/freescale/mx53ard/Kconfig"
-source "board/freescale/mx53evk/Kconfig"
-source "board/freescale/mx53loco/Kconfig"
-source "board/freescale/mx53smd/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"
 source "board/hisilicon/hikey/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"
 source "board/hisilicon/hikey/Kconfig"
+source "board/hisilicon/poplar/Kconfig"
 source "board/imx31_phycore/Kconfig"
 source "board/imx31_phycore/Kconfig"
-source "board/isee/igep0033/Kconfig"
+source "board/isee/igep003x/Kconfig"
 source "board/olimex/mx23_olinuxino/Kconfig"
 source "board/phytec/pcm051/Kconfig"
 source "board/ppcag/bg0900/Kconfig"
 source "board/sandisk/sansa_fuze_plus/Kconfig"
 source "board/schulercontrol/sc_sps_1/Kconfig"
 source "board/olimex/mx23_olinuxino/Kconfig"
 source "board/phytec/pcm051/Kconfig"
 source "board/ppcag/bg0900/Kconfig"
 source "board/sandisk/sansa_fuze_plus/Kconfig"
 source "board/schulercontrol/sc_sps_1/Kconfig"
-source "board/siemens/draco/Kconfig"
-source "board/siemens/pxm2/Kconfig"
-source "board/siemens/rut/Kconfig"
 source "board/silica/pengwyn/Kconfig"
 source "board/spear/spear300/Kconfig"
 source "board/spear/spear310/Kconfig"
 source "board/silica/pengwyn/Kconfig"
 source "board/spear/spear300/Kconfig"
 source "board/spear/spear310/Kconfig"
@@ -1319,18 +1203,12 @@ source "board/spear/spear320/Kconfig"
 source "board/spear/spear600/Kconfig"
 source "board/spear/x600/Kconfig"
 source "board/st/stv0991/Kconfig"
 source "board/spear/spear600/Kconfig"
 source "board/spear/x600/Kconfig"
 source "board/st/stv0991/Kconfig"
-source "board/sunxi/Kconfig"
 source "board/syteco/zmx25/Kconfig"
 source "board/tcl/sl50/Kconfig"
 source "board/syteco/zmx25/Kconfig"
 source "board/tcl/sl50/Kconfig"
-source "board/ti/am335x/Kconfig"
-source "board/ti/am43xx/Kconfig"
 source "board/birdland/bav335x/Kconfig"
 source "board/birdland/bav335x/Kconfig"
-source "board/ti/ti814x/Kconfig"
-source "board/ti/ti816x/Kconfig"
 source "board/timll/devkit3250/Kconfig"
 source "board/toradex/colibri_pxa270/Kconfig"
 source "board/technologic/ts4600/Kconfig"
 source "board/timll/devkit3250/Kconfig"
 source "board/toradex/colibri_pxa270/Kconfig"
 source "board/technologic/ts4600/Kconfig"
-source "board/technologic/ts4800/Kconfig"
 source "board/vscom/baltos/Kconfig"
 source "board/woodburn/Kconfig"
 source "board/work-microwave/work_92105/Kconfig"
 source "board/vscom/baltos/Kconfig"
 source "board/woodburn/Kconfig"
 source "board/work-microwave/work_92105/Kconfig"