# We keep common IP's here for Nomadik and other similar
# familiy of processors from ST-Ericsson. At the moment we have
# just MTU, others to follow soon.

config PLAT_NOMADIK
	bool
	depends on ARCH_NOMADIK || ARCH_U8500
	select CLKSRC_MMIO
	default y
	help
	  Common platform code for Nomadik and other ST-Ericsson
	  platforms.

if PLAT_NOMADIK

config HAS_MTU
	bool
	help
	  Support for Multi Timer Unit. MTU provides access
	  to multiple interrupt generating programmable
	  32-bit free running decrementing counters.

config NOMADIK_MTU_SCHED_CLOCK
	bool
	depends on HAS_MTU
	select HAVE_SCHED_CLOCK
	help
	  Use the Multi Timer Unit as the sched_clock.

endif
