config IMX_HAVE_DMA_V1
	bool

config SOC_IMX1
	bool
	select CPU_ARM920T
	select IMX_HAVE_DMA_V1
	select IMX_HAVE_IOMUX_V1
	select MXC_AVIC

config SOC_IMX21
	bool
	select CPU_ARM926T
	select ARCH_MXC_AUDMUX_V1
	select IMX_HAVE_DMA_V1
	select IMX_HAVE_IOMUX_V1
	select MXC_AVIC

config SOC_IMX25
	bool
	select CPU_ARM926T
	select ARCH_MXC_AUDMUX_V2
	select ARCH_MXC_IOMUX_V3
	select MXC_AVIC

config SOC_IMX27
	bool
	select CPU_ARM926T
	select ARCH_MXC_AUDMUX_V1
	select IMX_HAVE_DMA_V1
	select IMX_HAVE_IOMUX_V1
	select MXC_AVIC

if ARCH_MX1

comment "MX1 platforms:"
config MACH_MXLADS
	bool

config ARCH_MX1ADS
	bool "MX1ADS platform"
	select MACH_MXLADS
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	help
	  Say Y here if you are using Motorola MX1ADS/MXLADS boards

config MACH_SCB9328
	bool "Synertronixx scb9328"
	select IMX_HAVE_PLATFORM_IMX_UART
	help
	  Say Y here if you are using a Synertronixx scb9328 board

endif

if ARCH_MX2

choice
	prompt "CPUs:"
	default MACH_MX21

config MACH_MX21
	bool "i.MX21 support"
	help
	  This enables support for Freescale's MX2 based i.MX21 processor.

config MACH_MX27
	bool "i.MX27 support"
	help
	  This enables support for Freescale's MX2 based i.MX27 processor.

endchoice

endif

if MACH_MX21

comment "MX21 platforms:"

config MACH_MX21ADS
	bool "MX21ADS platform"
	select SOC_IMX21
	select IMX_HAVE_PLATFORM_IMX_FB
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_MMC
	select IMX_HAVE_PLATFORM_MXC_NAND
	help
	  Include support for MX21ADS platform. This includes specific
	  configurations for the board and its peripherals.

endif

if ARCH_MX25

comment "MX25 platforms:"

config MACH_MX25_3DS
	bool "Support MX25PDK (3DS) Platform"
	select SOC_IMX25
	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMXDI_RTC
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_FB
	select IMX_HAVE_PLATFORM_IMX_KEYPAD
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_EHCI
	select IMX_HAVE_PLATFORM_MXC_NAND
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX

config MACH_EUKREA_CPUIMX25
	bool "Support Eukrea CPUIMX25 Platform"
	select SOC_IMX25
	select IMX_HAVE_PLATFORM_FLEXCAN
	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
	select IMX_HAVE_PLATFORM_IMXDI_RTC
	select IMX_HAVE_PLATFORM_IMX_FB
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_EHCI
	select IMX_HAVE_PLATFORM_MXC_NAND
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select MXC_ULPI if USB_ULPI

choice
	prompt "Baseboard"
	depends on MACH_EUKREA_CPUIMX25
	default MACH_EUKREA_MBIMXSD25_BASEBOARD

config MACH_EUKREA_MBIMXSD25_BASEBOARD
	bool "Eukrea MBIMXSD development board"
	select IMX_HAVE_PLATFORM_IMX_SSI
	help
	  This adds board specific devices that can be found on Eukrea's
	  MBIMXSD evaluation board.

endchoice

endif

if MACH_MX27

comment "MX27 platforms:"

config MACH_MX27ADS
	bool "MX27ADS platform"
	select SOC_IMX27
	select IMX_HAVE_PLATFORM_IMX_FB
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_MMC
	select IMX_HAVE_PLATFORM_MXC_NAND
	select IMX_HAVE_PLATFORM_MXC_W1
	help
	  Include support for MX27ADS platform. This includes specific
	  configurations for the board and its peripherals.

config MACH_PCM038
	bool "Phytec phyCORE-i.MX27 CPU module (pcm038)"
	select SOC_IMX27
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_EHCI
	select IMX_HAVE_PLATFORM_MXC_NAND
	select IMX_HAVE_PLATFORM_MXC_W1
	select IMX_HAVE_PLATFORM_SPI_IMX
	select MXC_ULPI if USB_ULPI
	help
	  Include support for phyCORE-i.MX27 (aka pcm038) platform. This
	  includes specific configurations for the module and its peripherals.

choice
	prompt "Baseboard"
	depends on MACH_PCM038
	default MACH_PCM970_BASEBOARD

config MACH_PCM970_BASEBOARD
	bool "PHYTEC PCM970 development board"
	select IMX_HAVE_PLATFORM_IMX_FB
	select IMX_HAVE_PLATFORM_MXC_MMC
	help
	  This adds board specific devices that can be found on Phytec's
	  PCM970 evaluation board.

endchoice

config MACH_CPUIMX27
	bool "Eukrea CPUIMX27 module"
	select SOC_IMX27
	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_EHCI
	select IMX_HAVE_PLATFORM_MXC_NAND
	select IMX_HAVE_PLATFORM_MXC_W1
	select MXC_ULPI if USB_ULPI
	help
	  Include support for Eukrea CPUIMX27 platform. This includes
	  specific configurations for the module and its peripherals.

config MACH_EUKREA_CPUIMX27_USESDHC2
	bool "CPUIMX27 integrates SDHC2 module"
	depends on MACH_CPUIMX27
	select IMX_HAVE_PLATFORM_MXC_MMC
	help
	  This adds support for the internal SDHC2 used on CPUIMX27
	  for wifi or eMMC.

config MACH_EUKREA_CPUIMX27_USEUART4
	bool "CPUIMX27 integrates UART4 module"
	depends on MACH_CPUIMX27
	help
	  This adds support for the internal UART4 used on CPUIMX27
	  for bluetooth.

choice
	prompt "Baseboard"
	depends on MACH_CPUIMX27
	default MACH_EUKREA_MBIMX27_BASEBOARD

config MACH_EUKREA_MBIMX27_BASEBOARD
	bool "Eukrea MBIMX27 development board"
	select IMX_HAVE_PLATFORM_IMX_FB
	select IMX_HAVE_PLATFORM_IMX_KEYPAD
	select IMX_HAVE_PLATFORM_IMX_SSI
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_MMC
	select IMX_HAVE_PLATFORM_SPI_IMX
	help
	  This adds board specific devices that can be found on Eukrea's
	  MBIMX27 evaluation board.

endchoice

config MACH_MX27_3DS
	bool "MX27PDK platform"
	select SOC_IMX27
	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_KEYPAD
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_EHCI
	select IMX_HAVE_PLATFORM_MXC_MMC
	select IMX_HAVE_PLATFORM_SPI_IMX
	select MXC_DEBUG_BOARD
	select MXC_ULPI if USB_ULPI
	help
	  Include support for MX27PDK platform. This includes specific
	  configurations for the board and its peripherals.

config MACH_IMX27_VISSTRIM_M10
	bool "Vista Silicon i.MX27 Visstrim_m10"
	select SOC_IMX27
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_SSI
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_MMC
	select IMX_HAVE_PLATFORM_MXC_EHCI
	help
	  Include support for Visstrim_m10 platform and its different variants.
	  This includes specific configurations for the board and its
	  peripherals.

config MACH_IMX27LITE
	bool "LogicPD MX27 LITEKIT platform"
	select SOC_IMX27
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_IMX_SSI
	help
	  Include support for MX27 LITEKIT platform. This includes specific
	  configurations for the board and its peripherals.

config MACH_PCA100
	bool "Phytec phyCARD-s (pca100)"
	select SOC_IMX27
	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_FB
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_SSI
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_EHCI
	select IMX_HAVE_PLATFORM_MXC_MMC
	select IMX_HAVE_PLATFORM_MXC_NAND
	select IMX_HAVE_PLATFORM_MXC_W1
	select IMX_HAVE_PLATFORM_SPI_IMX
	select MXC_ULPI if USB_ULPI
	help
	  Include support for phyCARD-s (aka pca100) platform. This
	  includes specific configurations for the module and its peripherals.

config MACH_MXT_TD60
	bool "Maxtrack i-MXT TD60"
	select SOC_IMX27
	select IMX_HAVE_PLATFORM_IMX_FB
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_MMC
	select IMX_HAVE_PLATFORM_MXC_NAND
	help
	  Include support for i-MXT (aka td60) platform. This
	  includes specific configurations for the module and its peripherals.

config MACH_IMX27IPCAM
	bool "IMX27 IPCAM platform"
	select SOC_IMX27
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_UART
	help
	  Include support for IMX27 IPCAM platform. This includes specific
	  configurations for the board and its peripherals.

endif
