if ARCH_MXC

menu "Freescale MXC Implementations"

choice
	prompt "Freescale CPU family:"
	default ARCH_MX3

config ARCH_MX1
	bool "MX1-based"
	select CPU_ARM920T
	select IMX_HAVE_IOMUX_V1
	help
	  This enables support for systems based on the Freescale i.MX1 family

config ARCH_MX2
	bool "MX2-based"
	select CPU_ARM926T
	select IMX_HAVE_IOMUX_V1
	help
	  This enables support for systems based on the Freescale i.MX2 family

config ARCH_MX25
	bool "MX25-based"
	select CPU_ARM926T
	select ARCH_MXC_IOMUX_V3
	select HAVE_FB_IMX
	help
	  This enables support for systems based on the Freescale i.MX25 family

config ARCH_MX3
	bool "MX3-based"
	select CPU_V6
	help
	  This enables support for systems based on the Freescale i.MX3 family

config ARCH_MXC91231
	bool "MXC91231-based"
	select CPU_V6
	help
	  This enables support for systems based on the Freescale MXC91231 family

config ARCH_MX5
	bool "MX5-based"
	select CPU_V7
	help
	  This enables support for systems based on the Freescale i.MX51 family

endchoice

source "arch/arm/mach-mx1/Kconfig"
source "arch/arm/mach-mx2/Kconfig"
source "arch/arm/mach-mx3/Kconfig"
source "arch/arm/mach-mx25/Kconfig"
source "arch/arm/mach-mxc91231/Kconfig"
source "arch/arm/mach-mx5/Kconfig"

endmenu

config MXC_IRQ_PRIOR
	bool "Use IRQ priority"
	help
	  Select this if you want to use prioritized IRQ handling.
	  This feature prevents higher priority ISR to be interrupted
	  by lower priority IRQ even IRQF_DISABLED flag is not set.
	  This may be useful in embedded applications, where are strong
	  requirements for timing.
	  Say N here, unless you have a specialized requirement.

config MXC_TZIC
	bool "Enable TrustZone Interrupt Controller"
	depends on ARCH_MX51
	help
	  This will be automatically selected for all processors
	  containing this interrupt controller.
	  Say N here only if you are really sure.

config MXC_PWM
	tristate "Enable PWM driver"
	select HAVE_PWM
	help
	  Enable support for the i.MX PWM controller(s).

config MXC_ULPI
	bool

config ARCH_HAS_RNGA
	bool

config IMX_HAVE_IOMUX_V1
	bool

config ARCH_MXC_IOMUX_V3
	bool

config ARCH_MXC_AUDMUX_V1
	bool

config ARCH_MXC_AUDMUX_V2
	bool

endif
