menu "ARM architecture"
	depends on ARM

config SYS_ARCH
	default "arm"

config ARM64
	bool

config HAS_VBAR
        bool

config CPU_ARM720T
        bool

config CPU_ARM920T
        bool

config CPU_ARM926EJS
        bool

config CPU_ARM946ES
        bool

config CPU_ARM1136
        bool

config CPU_ARM1176
        bool
        select HAS_VBAR

config CPU_V7
        bool
        select HAS_VBAR

config CPU_V7M
	bool

config CPU_PXA
        bool

config CPU_SA1100
        bool

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 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_L2CACHE_OFF
	bool "L2cache off"
	help
	  If SoC does not support L2CACHE or one do not want to enable
	  L2CACHE, choose this option.

choice
	prompt "Target select"
	default ARCH_VERSATILE

config ARCH_AT91
	bool "Atmel AT91"

config TARGET_EDB93XX
	bool "Support edb93xx"
	select CPU_ARM920T

config TARGET_SCB9328
	bool "Support scb9328"
	select CPU_ARM920T

config TARGET_VCMA9
	bool "Support VCMA9"
	select CPU_ARM920T

config TARGET_SMDK2410
	bool "Support smdk2410"
	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

config TARGET_DB_88F6820_GP
	bool "Support DB-88F6820-GP"
	select CPU_V7
	select SUPPORT_SPL

config TARGET_DB_MV784MP_GP
	bool "Support db-mv784mp-gp"
	select CPU_V7
	select SUPPORT_SPL

config TARGET_MAXBCM
	bool "Support maxbcm"
	select CPU_V7
	select SUPPORT_SPL

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 CPU_ARM926EJS

config TARGET_TX25
	bool "Support tx25"
	select CPU_ARM926EJS
	select SUPPORT_SPL

config TARGET_ZMX25
	bool "Support zmx25"
	select CPU_ARM926EJS

config TARGET_APF27
	bool "Support apf27"
	select CPU_ARM926EJS
	select SUPPORT_SPL

config TARGET_IMX27LITE
	bool "Support imx27lite"
	select CPU_ARM926EJS

config TARGET_MAGNESIUM
	bool "Support magnesium"
	select CPU_ARM926EJS

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

config TARGET_MX28EVK
	bool "Support mx28evk"
	select CPU_ARM926EJS
	select SUPPORT_SPL

config TARGET_MX23_OLINUXINO
	bool "Support mx23_olinuxino"
	select CPU_ARM926EJS
	select SUPPORT_SPL

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 ARCH_NOMADIK
	bool "ST-Ericsson Nomadik"
	select CPU_ARM926EJS

config ORION5X
	bool "Marvell Orion"
	select CPU_ARM926EJS

config TARGET_SPEAR300
	bool "Support spear300"
	select CPU_ARM926EJS

config TARGET_SPEAR310
	bool "Support spear310"
	select CPU_ARM926EJS

config TARGET_SPEAR320
	bool "Support spear320"
	select CPU_ARM926EJS

config TARGET_SPEAR600
	bool "Support spear600"
	select CPU_ARM926EJS

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 CPU_ARM926EJS
	select SUPPORT_SPL

config ARCH_VERSATILE
	bool "ARM Ltd. Versatile family"
	select CPU_ARM926EJS

config TARGET_IMX31_PHYCORE
	bool "Support imx31_phycore"
	select CPU_ARM1136

config TARGET_QONG
	bool "Support qong"
	select CPU_ARM1136

config TARGET_MX31ADS
	bool "Support mx31ads"
	select CPU_ARM1136

config TARGET_MX31PDK
	bool "Support mx31pdk"
	select CPU_ARM1136
	select SUPPORT_SPL

config TARGET_TT01
	bool "Support tt01"
	select CPU_ARM1136

config TARGET_IMX31_LITEKIT
	bool "Support imx31_litekit"
	select CPU_ARM1136

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 CPU_ARM1136

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

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_KWB
	bool "Support kwb"
	select CPU_V7
	select SUPPORT_SPL

config TARGET_TSERIES
	bool "Support tseries"
	select CPU_V7
	select SUPPORT_SPL

config TARGET_CM_T335
	bool "Support cm_t335"
	select CPU_V7
	select SUPPORT_SPL
	select DM
	select DM_SERIAL
	select DM_GPIO

config TARGET_PEPPER
	bool "Support pepper"
	select CPU_V7
	select SUPPORT_SPL
	select DM
	select DM_SERIAL
	select DM_GPIO

config TARGET_AM335X_IGEP0033
	bool "Support am335x_igep0033"
	select CPU_V7
	select SUPPORT_SPL
	select DM
	select DM_SERIAL
	select DM_GPIO

config TARGET_PCM051
	bool "Support pcm051"
	select CPU_V7
	select SUPPORT_SPL
	select DM
	select DM_SERIAL
	select DM_GPIO

config TARGET_DRACO
	bool "Support draco"
	select CPU_V7
	select SUPPORT_SPL

config TARGET_THUBAN
	bool "Support thuban"
	select CPU_V7
	select SUPPORT_SPL

config TARGET_RASTABAN
	bool "Support rastaban"
	select CPU_V7
	select SUPPORT_SPL

config TARGET_PXM2
	bool "Support pxm2"
	select CPU_V7
	select SUPPORT_SPL

config TARGET_RUT
	bool "Support rut"
	select CPU_V7
	select SUPPORT_SPL

config TARGET_PENGWYN
	bool "Support pengwyn"
	select CPU_V7
	select SUPPORT_SPL
	select DM
	select DM_SERIAL
	select DM_GPIO

config TARGET_AM335X_BALTOS
	bool "Support am335x_baltos"
	select CPU_V7
	select SUPPORT_SPL
	select DM
	select DM_SERIAL
	select DM_GPIO

config TARGET_AM335X_EVM
	bool "Support am335x_evm"
	select CPU_V7
	select SUPPORT_SPL
	select DM
	select DM_SERIAL
	select DM_GPIO

config TARGET_AM43XX_EVM
	bool "Support am43xx_evm"
	select CPU_V7
	select SUPPORT_SPL

config TARGET_BAV335X
	bool "Support bav335x"
	select CPU_V7
	select SUPPORT_SPL
	select DM
	select DM_SERIAL
	help
	  The BAV335x OEM Network Processor integrates all the functions of an
	  embedded network computer in a small, easy to use SODIMM module which
	  incorporates the popular Texas Instruments Sitara 32bit ARM Coretex-A8
	  processor, with fast DDR3 512MB SDRAM, 4GB of embedded MMC and a Gigabit
	  ethernet with simple connection to external connectors.

	  For more information, visit: http://birdland.com/oem

config TARGET_TI814X_EVM
	bool "Support ti814x_evm"
	select CPU_V7
	select SUPPORT_SPL

config TARGET_TI816X_EVM
	bool "Support ti816x_evm"
	select CPU_V7
	select SUPPORT_SPL

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 CPU_V7
	select DM
	select DM_SPI_FLASH
	select DM_SERIAL
	select DM_SPI
	select DM_GPIO

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

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

config ARCH_MX6
	bool "Freescale MX6"
	select CPU_V7

config ARCH_MX5
	bool "Freescale MX5"
	select CPU_V7

config TARGET_M53EVK
	bool "Support m53evk"
	select CPU_V7
	select SUPPORT_SPL

config TARGET_IMA3_MX53
	bool "Support ima3-mx53"
	select CPU_V7

config TARGET_MX51EVK
	bool "Support mx51evk"
	select CPU_V7

config TARGET_MX53ARD
	bool "Support mx53ard"
	select CPU_V7

config TARGET_MX53EVK
	bool "Support mx53evk"
	select CPU_V7

config TARGET_MX53LOCO
	bool "Support mx53loco"
	select CPU_V7

config TARGET_MX53SMD
	bool "Support mx53smd"
	select CPU_V7

config TARGET_MX51_EFIKAMX
	bool "Support mx51_efikamx"
	select CPU_V7

config TARGET_VISION2
	bool "Support vision2"
	select CPU_V7

config OMAP34XX
	bool "OMAP34XX SoC"
	select CPU_V7

config OMAP44XX
	bool "OMAP44XX SoC"
	select CPU_V7
	select SUPPORT_SPL

config OMAP54XX
	bool "OMAP54XX SoC"
	select CPU_V7
	select SUPPORT_SPL

config RMOBILE
	bool "Renesas ARM SoCs"
	select CPU_V7

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

config TARGET_CM_T43
	bool "Support cm_t43"
	select CPU_V7
	select SUPPORT_SPL

config ARCH_SUNXI
	bool "Support sunxi (Allwinner) SoCs"
	select CMD_USB
	select DM
	select DM_GPIO
	select DM_ETH
	select DM_SERIAL
	select DM_USB
	select OF_CONTROL
	select OF_SEPARATE
	select USB
	select USB_STORAGE
	select USB_KEYBOARD

config TARGET_SNOWBALL
	bool "Support snowball"
	select CPU_V7

config TARGET_TS4800
	bool "Support TS4800"
	select CPU_V7

config TARGET_U8500_HREF
	bool "Support u8500_href"
	select CPU_V7

config TARGET_VF610TWR
	bool "Support vf610twr"
	select CPU_V7

config TARGET_COLIBRI_VF
	bool "Support Colibri VF50/61"
	select CPU_V7

config ARCH_ZYNQ
	bool "Xilinx Zynq Platform"
	select CPU_V7
	select SUPPORT_SPL
	select OF_CONTROL
	select DM
	select DM_SPI
	select DM_SPI_FLASH

config ARCH_ZYNQMP
	bool "Support Xilinx ZynqMP Platform"
	select ARM64

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_JUNO
	bool "Support Versatile Express Juno Development Platform"
	select ARM64

config TARGET_LS2085A_EMU
	bool "Support ls2085a_emu"
	select ARM64
	select ARMV8_MULTIENTRY

config TARGET_LS2085A_SIMU
	bool "Support ls2085a_simu"
	select ARM64
	select ARMV8_MULTIENTRY

config TARGET_LS2085AQDS
	bool "Support ls2085aqds"
	select ARM64
	select ARMV8_MULTIENTRY
	select SUPPORT_SPL
	help
	  Support for Freescale LS2085AQDS platform
	  The LS2085A Development System (QDS) is a high-performance
	  development platform that supports the QorIQ LS2085A
	  Layerscape Architecture processor.

config TARGET_LS2085ARDB
	bool "Support ls2085ardb"
	select ARM64
	select ARMV8_MULTIENTRY
	select SUPPORT_SPL
	help
	  Support for Freescale LS2085ARDB platform.
	  The LS2085A Reference design board (RDB) is a high-performance
	  development platform that supports the QorIQ LS2085A
	  Layerscape Architecture processor.

config TARGET_HIKEY
	bool "Support HiKey 96boards Consumer Edition Platform"
	select ARM64
	  help
	  Support for HiKey 96boards platform. It features a HI6220
	  SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.

config TARGET_LS1021AQDS
	bool "Support ls1021aqds"
	select CPU_V7
	select SUPPORT_SPL

config TARGET_LS1021ATWR
	bool "Support ls1021atwr"
	select CPU_V7
	select SUPPORT_SPL

config TARGET_BALLOON3
	bool "Support balloon3"
	select CPU_PXA

config TARGET_H2200
	bool "Support h2200"
	select CPU_PXA

config TARGET_PALMLD
	bool "Support palmld"
	select CPU_PXA

config TARGET_PALMTC
	bool "Support palmtc"
	select CPU_PXA

config TARGET_PALMTREO680
	bool "Support palmtreo680"
	select CPU_PXA
	select SUPPORT_SPL

config TARGET_PXA255_IDP
	bool "Support pxa255_idp"
	select CPU_PXA

config TARGET_TRIZEPSIV
	bool "Support trizepsiv"
	select CPU_PXA

config TARGET_VPAC270
	bool "Support vpac270"
	select CPU_PXA
	select SUPPORT_SPL

config TARGET_XAENIAX
	bool "Support xaeniax"
	select CPU_PXA

config TARGET_ZIPITZ2
	bool "Support zipitz2"
	select CPU_PXA

config TARGET_LP8X4X
	bool "Support lp8x4x"
	select CPU_PXA

config TARGET_COLIBRI_PXA270
	bool "Support colibri_pxa270"
	select CPU_PXA

config TARGET_JORNADA
	bool "Support jornada"
	select CPU_SA1100

config ARCH_UNIPHIER
	bool "Socionext UniPhier SoCs"
	select CPU_V7
	select SUPPORT_SPL
	select SPL
	select OF_CONTROL
	select SPL_OF_CONTROL
	select DM
	select SPL_DM
	select DM_SERIAL
	select DM_I2C
	help
	  Support for UniPhier SoC family developed by Socionext Inc.
	  (formerly, System LSI Business Division of Panasonic Corporation)

config TARGET_STM32F429_DISCOVERY
	bool "Support STM32F429 Discovery"
	select CPU_V7M

config ARCH_ROCKCHIP
	bool "Support Rockchip SoCs"
	select SUPPORT_SPL
	select SPL
	select OF_CONTROL
	select CPU_V7
	select DM

endchoice

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/cpu/armv7/mx6/Kconfig"

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

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

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

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

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

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

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

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

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

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

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

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

source "arch/arm/mach-versatile/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/BuR/kwb/Kconfig"
source "board/BuR/tseries/Kconfig"
source "board/CarMediaLab/flea3/Kconfig"
source "board/Marvell/aspenite/Kconfig"
source "board/Marvell/db-88f6820-gp/Kconfig"
source "board/Marvell/db-mv784mp-gp/Kconfig"
source "board/Marvell/gplugd/Kconfig"
source "board/armadeus/apf27/Kconfig"
source "board/armltd/vexpress/Kconfig"
source "board/armltd/vexpress64/Kconfig"
source "board/balloon3/Kconfig"
source "board/bluegiga/apx4devkit/Kconfig"
source "board/broadcom/bcm28155_ap/Kconfig"
source "board/broadcom/bcmcygnus/Kconfig"
source "board/broadcom/bcmnsp/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/davedenx/qong/Kconfig"
source "board/denx/m28evk/Kconfig"
source "board/denx/m53evk/Kconfig"
source "board/esg/ima3-mx53/Kconfig"
source "board/freescale/ls2085a/Kconfig"
source "board/freescale/ls2085aqds/Kconfig"
source "board/freescale/ls2085ardb/Kconfig"
source "board/freescale/ls1021aqds/Kconfig"
source "board/freescale/ls1021atwr/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/vf610twr/Kconfig"
source "board/genesi/mx51_efikamx/Kconfig"
source "board/gumstix/pepper/Kconfig"
source "board/h2200/Kconfig"
source "board/hale/tt01/Kconfig"
source "board/hisilicon/hikey/Kconfig"
source "board/icpdas/lp8x4x/Kconfig"
source "board/imx31_phycore/Kconfig"
source "board/isee/igep0033/Kconfig"
source "board/jornada/Kconfig"
source "board/karo/tx25/Kconfig"
source "board/logicpd/imx27lite/Kconfig"
source "board/logicpd/imx31_litekit/Kconfig"
source "board/maxbcm/Kconfig"
source "board/mpl/vcma9/Kconfig"
source "board/olimex/mx23_olinuxino/Kconfig"
source "board/palmld/Kconfig"
source "board/palmtc/Kconfig"
source "board/palmtreo680/Kconfig"
source "board/phytec/pcm051/Kconfig"
source "board/ppcag/bg0900/Kconfig"
source "board/pxa255_idp/Kconfig"
source "board/samsung/smdk2410/Kconfig"
source "board/sandisk/sansa_fuze_plus/Kconfig"
source "board/scb9328/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-ericsson/snowball/Kconfig"
source "board/st-ericsson/u8500/Kconfig"
source "board/st/stm32f429-discovery/Kconfig"
source "board/st/stv0991/Kconfig"
source "board/sunxi/Kconfig"
source "board/syteco/zmx25/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/toradex/colibri_vf/Kconfig"
source "board/trizepsiv/Kconfig"
source "board/technologic/ts4800/Kconfig"
source "board/ttcontrol/vision2/Kconfig"
source "board/vpac270/Kconfig"
source "board/vscom/baltos/Kconfig"
source "board/woodburn/Kconfig"
source "board/work-microwave/work_92105/Kconfig"
source "board/xaeniax/Kconfig"
source "board/zipitz2/Kconfig"

source "arch/arm/Kconfig.debug"

endmenu