config ARCH_VEXPRESS
	bool "ARM Ltd. Versatile Express family" if ARCH_MULTI_V7
	select ARCH_REQUIRE_GPIOLIB
	select ARM_AMBA
	select ARM_GIC
	select ARM_TIMER_SP804
	select CLKDEV_LOOKUP
	select COMMON_CLK
	select COMMON_CLK_VERSATILE
	select CPU_V7
	select GENERIC_CLOCKEVENTS
	select HAVE_ARM_SCU if SMP
	select HAVE_ARM_TWD if LOCAL_TIMERS
	select HAVE_CLK
	select HAVE_PATA_PLATFORM
	select HAVE_SMP
	select ICST
	select MIGHT_HAVE_CACHE_L2X0
	select NO_IOPORT_MAP
	select PLAT_VERSATILE
	select PLAT_VERSATILE_CLCD
	select POWER_RESET
	select POWER_RESET_VEXPRESS
	select POWER_SUPPLY
	select REGULATOR_FIXED_VOLTAGE if REGULATOR
	select VEXPRESS_CONFIG
	help
	  This option enables support for systems using Cortex processor based
	  ARM core and logic (FPGA) tiles on the Versatile Express motherboard,
	  for example:

	  - CoreTile Express A5x2 (V2P-CA5s)
	  - CoreTile Express A9x4 (V2P-CA9)
	  - CoreTile Express A15x2 (V2P-CA15)
	  - LogicTile Express 13MG (V2F-2XV6) with A5, A7, A9 or A15 SMMs
	    (Soft Macrocell Models)
	  - Versatile Express RTSMs (Models)

	  You must boot using a Flattened Device Tree in order to use these
	  platforms. The traditional (ATAGs) boot method is not usable on
	  these boards with this option.

menu "Versatile Express platform type"
	depends on ARCH_VEXPRESS

config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
	bool "Enable A5 and A9 only errata work-arounds"
	default y
	select ARM_ERRATA_720789
	select PL310_ERRATA_753970 if CACHE_PL310
	help
	  Provides common dependencies for Versatile Express platforms
	  based on Cortex-A5 and Cortex-A9 processors. In order to
	  build a working kernel, you must also enable relevant core
	  tile support or Flattened Device Tree based support options.

config ARCH_VEXPRESS_CA9X4
	bool "Versatile Express Cortex-A9x4 tile"

endmenu
