if ARCH_MXC

source "arch/arm/plat-mxc/devices/Kconfig"

menu "Freescale MXC Implementations"

config ARCH_MX50_SUPPORTED
	bool

config ARCH_MX53_SUPPORTED
	bool

choice
	prompt "Freescale CPU family:"
	default ARCH_MX3

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

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

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

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

config ARCH_MX503
	bool "i.MX50 + i.MX53"
	select ARCH_MX50_SUPPORTED
	select ARCH_MX53_SUPPORTED
	help
	  This enables support for machines using Freescale's i.MX50 and i.MX51
	  processors.

config ARCH_MX51
	bool "i.MX51"
	select ARCH_MX51_SUPPORTED
	help
	  This enables support for systems based on the Freescale i.MX51 family

endchoice

source "arch/arm/mach-imx/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

config MXC_AVIC
	bool

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

config MXC_DEBUG_BOARD
	bool "Enable MXC debug board(for 3-stack)"
	help
	  The debug board is an integral part of the MXC 3-stack(PDK)
	  platforms, it can be attached or removed from the peripheral
	  board. On debug board, several debug devices(ethernet, UART,
	  buttons, LEDs and JTAG) are implemented. Between the MCU and
	  these devices, a CPLD is added as a bridge which performs
	  data/address de-multiplexing and decode, signal level shift,
	  interrupt control and various board functions.

config HAVE_EPIT
	bool

config MXC_USE_EPIT
	bool "Use EPIT instead of GPT"
	depends on HAVE_EPIT
	help
	  Use EPIT as the system timer on systems that have it. Normally you
	  don't have a reason to do so as the EPIT has the same features and
	  uses the same clocks as the GPT. Anyway, on some systems the GPT
	  may be in use for other purposes.

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

config IRAM_ALLOC
	bool
	select GENERIC_ALLOCATOR

endif
