menu "ARM architecture"
	depends on ARM

config SYS_ARCH
	default "arm"

config ARM64
	bool
	select PHYS_64BIT
	select SYS_CACHE_SHIFT_6

config DMA_ADDR_T_64BIT
	bool
	default y if ARM64

config HAS_VBAR
	bool

config HAS_THUMB2
	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
# the Linux kernel. Do not set these options unless they apply!  Also note that
# the following can be machine specific errata. These do have ability to
# provide rudimentary version and machine specific checks, but expect no
# product checks:
# CONFIG_ARM_ERRATA_430973
# CONFIG_ARM_ERRATA_454179
# CONFIG_ARM_ERRATA_621766
# CONFIG_ARM_ERRATA_798870
# CONFIG_ARM_ERRATA_801819
config ARM_ERRATA_430973
	bool

config ARM_ERRATA_454179
	bool

config ARM_ERRATA_621766
	bool

config ARM_ERRATA_716044
	bool

config ARM_ERRATA_725233
	bool

config ARM_ERRATA_742230
	bool

config ARM_ERRATA_743622
	bool

config ARM_ERRATA_751472
	bool

config ARM_ERRATA_761320
	bool

config ARM_ERRATA_773022
	bool

config ARM_ERRATA_774769
	bool

config ARM_ERRATA_794072
	bool

config ARM_ERRATA_798870
	bool

config ARM_ERRATA_801819
	bool

config ARM_ERRATA_826974
	bool

config ARM_ERRATA_828024
	bool

config ARM_ERRATA_829520
	bool

config ARM_ERRATA_833069
	bool

config ARM_ERRATA_833471
	bool

config CPU_ARM720T
	bool
	select SYS_CACHE_SHIFT_5

config CPU_ARM920T
	bool
	select SYS_CACHE_SHIFT_5

config CPU_ARM926EJS
	bool
	select SYS_CACHE_SHIFT_5

config CPU_ARM946ES
	bool
	select SYS_CACHE_SHIFT_5

config CPU_ARM1136
	bool
	select SYS_CACHE_SHIFT_5

config CPU_ARM1176
	bool
	select HAS_VBAR
	select SYS_CACHE_SHIFT_5

config CPU_V7
	bool
	select HAS_VBAR
	select HAS_THUMB2
	select SYS_CACHE_SHIFT_6

config CPU_V7M
	bool
	select HAS_THUMB2
	select SYS_CACHE_SHIFT_5

config CPU_PXA
	bool
	select SYS_CACHE_SHIFT_5

config CPU_SA1100
	bool
	select SYS_CACHE_SHIFT_5

config SYS_CPU
	default "arm720t" if CPU_ARM720T
	default "arm920t" if CPU_ARM920T
	default "arm926ejs" if CPU_ARM926EJS
	default "arm946es" if CPU_ARM946ES
	default "arm1136" if CPU_ARM1136
	default "arm1176" if CPU_ARM1176
	default "armv7" if CPU_V7
	default "armv7m" if CPU_V7M
	default "pxa" if CPU_PXA
	default "sa1100" if CPU_SA1100
	default "armv8" if ARM64

config SYS_ARM_ARCH
	int
	default 4 if CPU_ARM720T
	default 4 if CPU_ARM920T
	default 5 if CPU_ARM926EJS
	default 5 if CPU_ARM946ES
	default 6 if CPU_ARM1136
	default 6 if CPU_ARM1176
	default 7 if CPU_V7
	default 7 if CPU_V7M
	default 5 if CPU_PXA
	default 4 if CPU_SA1100
	default 8 if ARM64

config SYS_CACHE_SHIFT_5
	bool

config SYS_CACHE_SHIFT_6
	bool

config SYS_CACHE_SHIFT_7
	bool

config SYS_CACHELINE_SIZE
	int
	default 128 if SYS_CACHE_SHIFT_7
	default 64 if SYS_CACHE_SHIFT_6
	default 32 if SYS_CACHE_SHIFT_5

config SEMIHOSTING
	bool "support boot from semihosting"
	help
	  In emulated environments, semihosting is a way for
	  the hosted environment to call out to the emulator to
	  retrieve files from the host machine.

config SYS_THUMB_BUILD
	bool "Build U-Boot using the Thumb instruction set"
	depends on !ARM64
	help
	   Use this flag to build U-Boot using the Thumb instruction set for
	   ARM architectures. Thumb instruction set provides better code
	   density. For ARM architectures that support Thumb2 this flag will
	   result in Thumb2 code generated by GCC.

config SPL_SYS_THUMB_BUILD
	bool "Build SPL using the Thumb instruction set"
	default y if SYS_THUMB_BUILD
	depends on !ARM64
	help
	   Use this flag to build SPL using the Thumb instruction set for
	   ARM architectures. Thumb instruction set provides better code
	   density. For ARM architectures that support Thumb2 this flag will
	   result in Thumb2 code generated by GCC.

config SYS_L2CACHE_OFF
	bool "L2cache off"
	help
	  If SoC does not support L2CACHE or one do not want to enable
	  L2CACHE, choose this option.

config ENABLE_ARM_SOC_BOOT0_HOOK
	bool "prepare BOOT0 header"
	help
	  If the SoC's BOOT0 requires a header area filled with (magic)
	  values, then choose this option, and create a define called
	  ARM_SOC_BOOT0_HOOK which contains the required assembler
	  preprocessor code.

config USE_ARCH_MEMCPY
	bool "Use an assembly optimized implementation of memcpy"
	default y
	depends on !ARM64
	help
	  Enable the generation of an optimized version of memcpy.
	  Such implementation may be faster under some conditions
	  but may increase the binary size.

config SPL_USE_ARCH_MEMCPY
	bool "Use an assembly optimized implementation of memcpy"
	default y if USE_ARCH_MEMCPY
	depends on !ARM64
	help
	  Enable the generation of an optimized version of memcpy.
	  Such implementation may be faster under some conditions
	  but may increase the binary size.

config USE_ARCH_MEMSET
	bool "Use an assembly optimized implementation of memset"
	default y
	depends on !ARM64
	help
	  Enable the generation of an optimized version of memset.
	  Such implementation may be faster under some conditions
	  but may increase the binary size.

config SPL_USE_ARCH_MEMSET
	bool "Use an assembly optimized implementation of memset"
	default y if USE_ARCH_MEMSET
	depends on !ARM64
	help
	  Enable the generation of an optimized version of memset.
	  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
	help
	  This ARM64 system supports AArch32 execution state.

choice
	prompt "Target select"
	default TARGET_HIKEY

config ARCH_AT91
	bool "Atmel AT91"

config TARGET_EDB93XX
	bool "Support edb93xx"
	select CPU_ARM920T

config TARGET_ASPENITE
	bool "Support aspenite"
	select CPU_ARM926EJS

config TARGET_GPLUGD
	bool "Support gplugd"
	select CPU_ARM926EJS

config ARCH_DAVINCI
	bool "TI DaVinci"
	select CPU_ARM926EJS
	help
	  Support for TI's DaVinci platform.

config KIRKWOOD
	bool "Marvell Kirkwood"
	select CPU_ARM926EJS
	select BOARD_EARLY_INIT_F
	select ARCH_MISC_INIT

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

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

config TARGET_MX25PDK
	bool "Support mx25pdk"
	select BOARD_LATE_INIT
	select CPU_ARM926EJS
	select BOARD_EARLY_INIT_F

config TARGET_ZMX25
	bool "Support zmx25"
	select BOARD_LATE_INIT
	select CPU_ARM926EJS

config TARGET_APF27
	bool "Support apf27"
	select CPU_ARM926EJS
	select SUPPORT_SPL

config TARGET_APX4DEVKIT
	bool "Support apx4devkit"
	select CPU_ARM926EJS
	select SUPPORT_SPL

config TARGET_XFI3
	bool "Support xfi3"
	select CPU_ARM926EJS
	select SUPPORT_SPL

config TARGET_M28EVK
	bool "Support m28evk"
	select CPU_ARM926EJS
	select SUPPORT_SPL

config TARGET_MX23EVK
	bool "Support mx23evk"
	select CPU_ARM926EJS
	select SUPPORT_SPL
	select BOARD_EARLY_INIT_F

config TARGET_MX28EVK
	bool "Support mx28evk"
	select CPU_ARM926EJS
	select SUPPORT_SPL
	select BOARD_EARLY_INIT_F

config TARGET_MX23_OLINUXINO
	bool "Support mx23_olinuxino"
	select CPU_ARM926EJS
	select SUPPORT_SPL
	select BOARD_EARLY_INIT_F

config TARGET_BG0900
	bool "Support bg0900"
	select CPU_ARM926EJS
	select SUPPORT_SPL

config TARGET_SANSA_FUZE_PLUS
	bool "Support sansa_fuze_plus"
	select CPU_ARM926EJS
	select SUPPORT_SPL

config TARGET_SC_SPS_1
	bool "Support sc_sps_1"
	select CPU_ARM926EJS
	select SUPPORT_SPL

config ORION5X
	bool "Marvell Orion"
	select CPU_ARM926EJS

config TARGET_SPEAR300
	bool "Support spear300"
	select CPU_ARM926EJS
	select BOARD_EARLY_INIT_F

config TARGET_SPEAR310
	bool "Support spear310"
	select CPU_ARM926EJS
	select BOARD_EARLY_INIT_F

config TARGET_SPEAR320
	bool "Support spear320"
	select CPU_ARM926EJS
	select BOARD_EARLY_INIT_F

config TARGET_SPEAR600
	bool "Support spear600"
	select CPU_ARM926EJS
	select BOARD_EARLY_INIT_F

config TARGET_STV0991
	bool "Support stv0991"
	select CPU_V7
	select DM
	select DM_SERIAL
	select DM_SPI
	select DM_SPI_FLASH
	select SPI_FLASH

config TARGET_X600
	bool "Support x600"
	select BOARD_LATE_INIT
	select CPU_ARM926EJS
	select SUPPORT_SPL

config TARGET_IMX31_PHYCORE
	bool "Support imx31_phycore_eet"
	select CPU_ARM1136
	select BOARD_EARLY_INIT_F

config TARGET_IMX31_PHYCORE_EET
	bool "Support imx31_phycore_eet"
	select BOARD_LATE_INIT
	select CPU_ARM1136
	select BOARD_EARLY_INIT_F

config TARGET_MX31ADS
	bool "Support mx31ads"
	select CPU_ARM1136
	select BOARD_EARLY_INIT_F

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"
	select CPU_ARM1136

config TARGET_WOODBURN_SD
	bool "Support woodburn_sd"
	select CPU_ARM1136
	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

config ARCH_BCM283X
	bool "Broadcom BCM283X family"
	select DM
	select DM_SERIAL
	select DM_GPIO
	select OF_CONTROL

config TARGET_VEXPRESS_CA15_TC2
	bool "Support vexpress_ca15_tc2"
	select CPU_V7
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT

config TARGET_VEXPRESS_CA5X2
	bool "Support vexpress_ca5x2"
	select CPU_V7

config TARGET_VEXPRESS_CA9X4
	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_BCM28155_AP
	bool "Support bcm28155_ap"
	select CPU_V7

config TARGET_BCMCYGNUS
	bool "Support bcmcygnus"
	select CPU_V7

config TARGET_BCMNSP
	bool "Support bcmnsp"
	select CPU_V7

config ARCH_EXYNOS
	bool "Samsung EXYNOS"
	select DM
	select DM_I2C
	select DM_SPI_FLASH
	select DM_SERIAL
	select DM_SPI
	select DM_GPIO
	select DM_KEYBOARD

config ARCH_S5PC1XX
	bool "Samsung S5PC1XX"
	select CPU_V7
	select DM
	select DM_SERIAL
	select DM_GPIO
	select DM_I2C

config ARCH_HIGHBANK
	bool "Calxeda Highbank"
	select CPU_V7

config ARCH_INTEGRATOR
	bool "ARM Ltd. Integrator family"
	select DM
	select DM_SERIAL

config ARCH_KEYSTONE
	bool "TI Keystone"
	select CPU_V7
	select SUPPORT_SPL
	select SYS_THUMB_BUILD
	select CMD_POWEROFF

config ARCH_MESON
	bool "Amlogic Meson"
	help
	  Support for the Meson SoC family developed by Amlogic Inc.,
	  targeted at media players and tablet computers. We currently
	  support the S905 (GXBaby) 64-bit SoC.

config ARCH_MX7ULP
        bool "NXP MX7ULP"
        select CPU_V7
	select ROM_UNIFIED_SECTIONS

config ARCH_MX7
	bool "Freescale MX7"
	select CPU_V7
	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

config ARCH_MX6
	bool "Freescale MX6"
	select CPU_V7
	select SYS_FSL_HAS_SEC if SECURE_BOOT
	select SYS_FSL_SEC_COMPAT_4
	select SYS_FSL_SEC_LE
	select SYS_THUMB_BUILD if SPL

config ARCH_MX5
	bool "Freescale MX5"
	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 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
	imply SYS_THUMB_BUILD

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 SPMI
	select OF_CONTROL
	select OF_SEPARATE

config ARCH_SOCFPGA
	bool "Altera SOCFPGA family"
	select CPU_V7
	select SUPPORT_SPL
	select OF_CONTROL
	select SPL_OF_CONTROL
	select DM
	select DM_SPI_FLASH
	select DM_SPI
	select ENABLE_ARM_SOC_BOOT0_HOOK
	select ARCH_EARLY_INIT_R
	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

config ARCH_SUNXI
	bool "Support sunxi (Allwinner) SoCs"
	select CMD_GPIO
	select CMD_MMC if MMC
	select CMD_USB if DISTRO_DEFAULTS
	select DM
	select DM_ETH
	select DM_GPIO
	select DM_KEYBOARD
	select DM_SERIAL
	select DM_USB if DISTRO_DEFAULTS
	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 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

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
	select SYS_FSL_ERRATUM_ESDHC111

config ARCH_ZYNQ
	bool "Xilinx Zynq Platform"
	select BOARD_LATE_INIT
	select CPU_V7
	select SUPPORT_SPL
	select OF_CONTROL
	select SPL_OF_CONTROL if SPL
	select DM
	select DM_ETH
	select DM_GPIO
	select SPL_DM if SPL
	select DM_MMC
	select DM_MMC_OPS
	select DM_SPI
	select DM_SERIAL
	select DM_SPI_FLASH
	select SPL_SEPARATE_BSS if SPL
	select DM_USB if USB
	select BLK
	select CLK
	select SPL_CLK
	select CLK_ZYNQ

config ARCH_ZYNQMP
	bool "Support Xilinx ZynqMP Platform"
	select ARM64
	select BOARD_LATE_INIT
	select DM
	select OF_CONTROL
	select DM_SERIAL
	select SUPPORT_SPL
	select CLK
	select SPL_CLK
	select DM_USB if USB

config TEGRA
	bool "NVIDIA Tegra"

config TARGET_VEXPRESS64_AEMV8A
	bool "Support vexpress_aemv8a"
	select ARM64

config TARGET_VEXPRESS64_BASE_FVP
	bool "Support Versatile Express ARMv8a FVP BASE model"
	select ARM64
	select SEMIHOSTING

config TARGET_VEXPRESS64_BASE_FVP_DRAM
	bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
	select ARM64
	help
	  This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
	  the default config to allow the user to load the images directly into
	  DRAM using model parameters rather than by using semi-hosting to load
	  the files from the host filesystem.

config TARGET_VEXPRESS64_JUNO
	bool "Support Versatile Express Juno Development Platform"
	select ARM64

config TARGET_LS2080A_EMU
	bool "Support ls2080a_emu"
	select ARCH_LS2080A
	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
	  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 ARCH_MISC_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_LS2080AQDS
	bool "Support ls2080aqds"
	select ARCH_LS2080A
	select ARM64
	select ARMV8_MULTIENTRY
	select BOARD_LATE_INIT
	select SUPPORT_SPL
	select ARCH_MISC_INIT
	help
	  Support for Freescale LS2080AQDS platform
	  The LS2080A Development System (QDS) is a high-performance
	  development platform that supports the QorIQ LS2080A
	  Layerscape Architecture processor.

config TARGET_LS2080ARDB
	bool "Support ls2080ardb"
	select ARCH_LS2080A
	select ARM64
	select ARMV8_MULTIENTRY
	select BOARD_LATE_INIT
	select SUPPORT_SPL
	select ARCH_MISC_INIT
	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_HIKEY
	bool "Support HiKey 96boards Consumer Edition Platform"
	select ARM64
	select DM
	select DM_GPIO
	select DM_SERIAL
	select OF_CONTROL
	  help
	  Support for HiKey 96boards platform. It features a HI6220
	  SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.

config TARGET_LS1012AQDS
	bool "Support ls1012aqds"
	select ARCH_LS1012A
	select ARM64
	select BOARD_LATE_INIT
	help
	  Support for Freescale LS1012AQDS platform.
	  The LS1012A Development System (QDS) is a high-performance
	  development platform that supports the QorIQ LS1012A
	  Layerscape Architecture processor.

config TARGET_LS1012ARDB
	bool "Support ls1012ardb"
	select ARCH_LS1012A
	select ARM64
	select BOARD_LATE_INIT
	help
	  Support for Freescale LS1012ARDB platform.
	  The LS1012A Reference design board (RDB) is a high-performance
	  development platform that supports the QorIQ LS1012A
	  Layerscape Architecture processor.

config TARGET_LS1012AFRDM
	bool "Support ls1012afrdm"
	select ARCH_LS1012A
	select ARM64
	help
	  Support for Freescale LS1012AFRDM platform.
	  The LS1012A Freedom  board (FRDM) is a high-performance
	  development platform that supports the QorIQ LS1012A
	  Layerscape Architecture processor.

config TARGET_LS1021AQDS
	bool "Support ls1021aqds"
	select BOARD_LATE_INIT
	select CPU_V7
	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 SYS_FSL_DDR
	select BOARD_EARLY_INIT_F

config TARGET_LS1021ATWR
	bool "Support ls1021atwr"
	select BOARD_LATE_INIT
	select CPU_V7
	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

config TARGET_LS1021AIOT
	bool "Support ls1021aiot"
	select BOARD_LATE_INIT
	select CPU_V7
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
	select SUPPORT_SPL
	select ARCH_LS1021A
	select ARCH_SUPPORT_PSCI
	help
	  Support for Freescale LS1021AIOT platform.
	  The LS1021A Freescale board (IOT) is a high-performance
	  development platform that supports the QorIQ LS1021A
	  Layerscape Architecture processor.

config TARGET_LS1043AQDS
	bool "Support ls1043aqds"
	select ARCH_LS1043A
	select ARM64
	select ARMV8_MULTIENTRY
	select BOARD_LATE_INIT
	select SUPPORT_SPL
	select BOARD_EARLY_INIT_F
	help
	  Support for Freescale LS1043AQDS platform.

config TARGET_LS1043ARDB
	bool "Support ls1043ardb"
	select ARCH_LS1043A
	select ARM64
	select ARMV8_MULTIENTRY
	select BOARD_LATE_INIT
	select SUPPORT_SPL
	select BOARD_EARLY_INIT_F
	help
	  Support for Freescale LS1043ARDB platform.

config TARGET_LS1046AQDS
	bool "Support ls1046aqds"
	select ARCH_LS1046A
	select ARM64
	select ARMV8_MULTIENTRY
	select BOARD_LATE_INIT
	select SUPPORT_SPL
	select DM_SPI_FLASH if DM_SPI
	select BOARD_EARLY_INIT_F
	help
	  Support for Freescale LS1046AQDS platform.
	  The LS1046A Development System (QDS) is a high-performance
	  development platform that supports the QorIQ LS1046A
	  Layerscape Architecture processor.

config TARGET_LS1046ARDB
	bool "Support ls1046ardb"
	select ARCH_LS1046A
	select ARM64
	select ARMV8_MULTIENTRY
	select BOARD_LATE_INIT
	select SUPPORT_SPL
	select DM_SPI_FLASH if DM_SPI
	select POWER_MC34VR500
	select BOARD_EARLY_INIT_F
	help
	  Support for Freescale LS1046ARDB platform.
	  The LS1046A Reference Design Board (RDB) is a high-performance
	  development platform that supports the QorIQ LS1046A
	  Layerscape Architecture processor.

config TARGET_H2200
	bool "Support h2200"
	select CPU_PXA

config TARGET_ZIPITZ2
	bool "Support zipitz2"
	select CPU_PXA

config TARGET_COLIBRI_PXA270
	bool "Support colibri_pxa270"
	select CPU_PXA

config ARCH_UNIPHIER
	bool "Socionext UniPhier SoCs"
	select BOARD_LATE_INIT
	select CLK_UNIPHIER
	select DM
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select DM_RESET
	select DM_SERIAL
	select DM_USB
	select OF_CONTROL
	select OF_LIBFDT
	select PINCTRL
	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
	help
	  Support for UniPhier SoC family developed by Socionext Inc.
	  (formerly, System LSI Business Division of Panasonic Corporation)

config STM32
	bool "Support STM32"
	select CPU_V7M
	select DM
	select DM_SERIAL
	select SYS_THUMB_BUILD

config ARCH_STI
	bool "Support STMicrolectronics SoCs"
	select CPU_V7
	select DM
	select DM_SERIAL
	select BLK
	select DM_MMC
	help
	  Support for STMicroelectronics STiH407/10 SoC family.
	  This SoC is used on Linaro 96Board STiH410-B2260

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_MMC_OPS
	select DM_SERIAL
	select DM_SPI
	select DM_SPI_FLASH
	select DM_USB if USB
	select DM_PWM
	select DM_REGULATOR

config TARGET_THUNDERX_88XX
	bool "Support ThunderX 88xx"
	select ARM64
	select OF_CONTROL
	select SYS_CACHE_SHIFT_7

config ARCH_ASPEED
	bool "Support Aspeed SoCs"
	select OF_CONTROL
	select DM

endchoice

source "arch/arm/mach-aspeed/Kconfig"

source "arch/arm/mach-at91/Kconfig"

source "arch/arm/mach-bcm283x/Kconfig"

source "arch/arm/mach-davinci/Kconfig"

source "arch/arm/mach-exynos/Kconfig"

source "arch/arm/mach-highbank/Kconfig"

source "arch/arm/mach-integrator/Kconfig"

source "arch/arm/mach-keystone/Kconfig"

source "arch/arm/mach-kirkwood/Kconfig"

source "arch/arm/mach-mvebu/Kconfig"

source "arch/arm/cpu/armv7/ls102xa/Kconfig"

source "arch/arm/cpu/armv7/mx7ulp/Kconfig"

source "arch/arm/cpu/armv7/mx7/Kconfig"

source "arch/arm/cpu/armv7/mx6/Kconfig"

source "arch/arm/cpu/armv7/mx5/Kconfig"

source "arch/arm/mach-omap2/Kconfig"

source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"

source "arch/arm/mach-orion5x/Kconfig"

source "arch/arm/mach-rmobile/Kconfig"

source "arch/arm/mach-meson/Kconfig"

source "arch/arm/mach-rockchip/Kconfig"

source "arch/arm/mach-s5pc1xx/Kconfig"

source "arch/arm/mach-snapdragon/Kconfig"

source "arch/arm/mach-socfpga/Kconfig"

source "arch/arm/mach-sti/Kconfig"

source "arch/arm/mach-stm32/Kconfig"

source "arch/arm/mach-tegra/Kconfig"

source "arch/arm/mach-uniphier/Kconfig"

source "arch/arm/cpu/armv7/vf610/Kconfig"

source "arch/arm/mach-zynq/Kconfig"

source "arch/arm/cpu/armv7/Kconfig"

source "arch/arm/cpu/armv8/zynqmp/Kconfig"

source "arch/arm/cpu/armv8/Kconfig"

source "arch/arm/imx-common/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/armadeus/apf27/Kconfig"
source "board/armltd/vexpress/Kconfig"
source "board/armltd/vexpress64/Kconfig"
source "board/bluegiga/apx4devkit/Kconfig"
source "board/broadcom/bcm23550_w1d/Kconfig"
source "board/broadcom/bcm28155_ap/Kconfig"
source "board/broadcom/bcmcygnus/Kconfig"
source "board/broadcom/bcmnsp/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/denx/m28evk/Kconfig"
source "board/denx/m53evk/Kconfig"
source "board/freescale/ls2080a/Kconfig"
source "board/freescale/ls2080aqds/Kconfig"
source "board/freescale/ls2080ardb/Kconfig"
source "board/freescale/ls1021aqds/Kconfig"
source "board/freescale/ls1043aqds/Kconfig"
source "board/freescale/ls1021atwr/Kconfig"
source "board/freescale/ls1021aiot/Kconfig"
source "board/freescale/ls1046aqds/Kconfig"
source "board/freescale/ls1043ardb/Kconfig"
source "board/freescale/ls1046ardb/Kconfig"
source "board/freescale/ls1012aqds/Kconfig"
source "board/freescale/ls1012ardb/Kconfig"
source "board/freescale/ls1012afrdm/Kconfig"
source "board/freescale/mx23evk/Kconfig"
source "board/freescale/mx25pdk/Kconfig"
source "board/freescale/mx28evk/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/grinn/chiliboard/Kconfig"
source "board/gumstix/pepper/Kconfig"
source "board/h2200/Kconfig"
source "board/hisilicon/hikey/Kconfig"
source "board/imx31_phycore/Kconfig"
source "board/isee/igep0033/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/spear/spear320/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/ti/am335x/Kconfig"
source "board/ti/am43xx/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/technologic/ts4800/Kconfig"
source "board/vscom/baltos/Kconfig"
source "board/woodburn/Kconfig"
source "board/work-microwave/work_92105/Kconfig"
source "board/zipitz2/Kconfig"

source "arch/arm/Kconfig.debug"

endmenu
