if ARCH_MXC

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

menu "Freescale MXC Implementations"

choice
	prompt "Freescale CPU family:"
	default ARCH_IMX_V6_V7

config ARCH_IMX_V4_V5
	bool "i.MX1, i.MX21, i.MX25, i.MX27"
	select AUTO_ZRELADDR if !ZBOOT_ROM
	select ARM_PATCH_PHYS_VIRT
	help
	  This enables support for systems based on the Freescale i.MX ARMv4
	  and ARMv5 SoCs

config ARCH_IMX_V6_V7
	bool "i.MX3, i.MX6"
	select AUTO_ZRELADDR if !ZBOOT_ROM
	select ARM_PATCH_PHYS_VIRT
	help
	  This enables support for systems based on the Freescale i.MX3 and i.MX6
	  family.

config ARCH_MX5
	bool "i.MX50, i.MX51, i.MX53"
	select AUTO_ZRELADDR if !ZBOOT_ROM
	select ARM_PATCH_PHYS_VIRT
	help
	  This enables support for machines using Freescale's i.MX50 and i.MX53
	  processors.

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
