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 CLKSRC_NOMADIK_MTU
	select COMMON_CLK
	select PINCTRL
	select PINCTRL_NOMADIK
	select PINCTRL_ABX500
	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 PINCTRL_DB8540
	select PINCTRL_AB8500
	select PINCTRL_AB8505
	select PINCTRL_AB9540
	select PINCTRL_AB8540
	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
