if ARCH_U8500

config UX500_SOC_COMMON
	bool
	default y
	select ARM_ERRATA_754322
	select ARM_ERRATA_764369 if SMP
	select ARM_GIC
	select CACHE_L2X0
	select COMMON_CLK
	select HAS_MTU
	select PINCTRL
	select PINCTRL_NOMADIK
	select PL310_ERRATA_753970 if CACHE_PL310

config UX500_SOC_DB8500
	bool
	select CPU_FREQ_TABLE if CPU_FREQ
	select MFD_DB8500_PRCMU
	select PINCTRL_DB8500
	select REGULATOR
	select REGULATOR_DB8500_PRCMU

menu "Ux500 target platform (boards)"

config MACH_MOP500
	bool "U8500 Development platform, MOP500 versions"
	select I2C
	select I2C_NOMADIK
	select REGULATOR_FIXED_VOLTAGE
	select SOC_BUS
	select UX500_SOC_DB8500
	help
	  Include support for the MOP500 development platform.

config MACH_HREFV60
	bool "U8500 Development platform, HREFv60 version"
	select MACH_MOP500
	help
	  Include support for the HREFv60 new development platform.
	  Includes HREFv70, v71 etc.

config MACH_SNOWBALL
	bool "U8500 Snowball platform"
	select MACH_MOP500
	help
	  Include support for the snowball development platform.

config UX500_AUTO_PLATFORM
	def_bool y
	select MACH_MOP500
	help
	  At least one platform needs to be selected in order to build
	  a working kernel. If everything else is disabled, this
	  automatically enables MACH_MOP500.

config MACH_UX500_DT
	bool "Generic U8500 support using device tree"
	depends on MACH_MOP500
	select USE_OF

endmenu

config UX500_DEBUG_UART
	int "Ux500 UART to use for low-level debug"
	default 2
	help
	  Choose the UART on which kernel low-level debug messages should be
	  output.

endif
