if ARCH_MX503 || ARCH_MX51
# ARCH_MX5/50/53 are left to mark places where prevent multi-soc in single
# image. So for most time, SOC_IMX50/51/53 should be used.

config ARCH_MX5
	bool

config ARCH_MX50
	bool

config ARCH_MX53
	bool

config SOC_IMX50
	bool
	select CPU_V7
	select ARM_L1_CACHE_SHIFT_6
	select MXC_TZIC
	select ARCH_MXC_IOMUX_V3
	select ARCH_MXC_AUDMUX_V2
	select ARCH_HAS_CPUFREQ
	select ARCH_MX5
	select ARCH_MX50
	select ARCH_HAS_RNGC

config	SOC_IMX51
	bool
	select CPU_V7
	select ARM_L1_CACHE_SHIFT_6
	select MXC_TZIC
	select ARCH_MXC_IOMUX_V3
	select ARCH_MXC_AUDMUX_V2
	select ARCH_HAS_CPUFREQ
	select ARCH_MX5
	select IMX_HAVE_PLATFORM_FEC
	select IMX_HAVE_PLATFORM_MXC_PWM
	select IMX_HAVE_PLATFORM_IMX_IPUV3
	select IMX_HAVE_PLATFORM_IMX_TVE
	select IMX_HAVE_PLATFORM_IMX_VPU
	select IMX_HAVE_PLATFORM_IMX_DVFS
	select IMX_HAVE_PLATFORM_IMX_SSI
	select IMX_HAVE_PLATFORM_IMX_IIM
	select IMX_HAVE_PLATFORM_IMX_SPDIF

config	SOC_IMX53
	bool
	select CPU_V7
	select ARM_L1_CACHE_SHIFT_6
	select MXC_TZIC
	select ARCH_MXC_IOMUX_V3
	select ARCH_MX5
	select ARCH_MX53
	select ARCH_HAS_CPUFREQ
	select IMX_HAVE_PLATFORM_FEC
	select IMX_HAVE_PLATFORM_MXC_PWM
	select IMX_HAVE_PLATFORM_IMX_IPUV3
	select IMX_HAVE_PLATFORM_IMX_TVE
	select IMX_HAVE_PLATFORM_IMX_VPU
	select IMX_HAVE_PLATFORM_IMX_DVFS
	select IMX_HAVE_PLATFORM_IMX_SSI
	select IMX_HAVE_PLATFORM_IMX_IIM
	select IMX_HAVE_PLATFORM_LDB
	select IMX_HAVE_PLATFORM_IMX_SPDIF
	select IMX_HAVE_PLATFORM_IMX_ESAI

if ARCH_MX50_SUPPORTED
#comment "i.MX50 machines:"

config MACH_MX50_RDP
	bool "Support MX50 reference design platform"
	select SOC_IMX50
	select IMX_HAVE_PLATFORM_DMA
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select IMX_HAVE_PLATFORM_SPI_IMX
	select IMX_HAVE_PLATFORM_FEC
	select IMX_HAVE_PLATFORM_GPMI_NFC
	select IMX_HAVE_PLATFORM_IMX_OCOTP
	select IMX_HAVE_PLATFORM_IMX_VIIM
	select IMX_HAVE_PLATFORM_IMX_DCP
	select IMX_HAVE_PLATFORM_RANDOM_RNGC
    select IMX_HAVE_PLATFORM_PERFMON
    select IMX_HAVE_PLATFORM_IMX_PXP
	select IMX_HAVE_PLATFORM_IMX_EPDC
	help
	  Include support for MX50 reference design platform (RDP) board. This
	  includes specific configurations for the board and its peripherals.

endif # ARCH_MX50_SUPPORTED

if ARCH_MX51
comment "i.MX51 machines:"

config MACH_MX51_BABBAGE
	bool "Support MX51 BABBAGE platforms"
	select SOC_IMX51
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select IMX_HAVE_PLATFORM_SPI_IMX
	help
	  Include support for MX51 Babbage platform, also known as MX51EVK in
	  u-boot. This includes specific configurations for the board and its
	  peripherals.

config MACH_MX51_3DS
	bool "Support MX51PDK (3DS)"
	select SOC_IMX51
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_KEYPAD
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select IMX_HAVE_PLATFORM_SPI_IMX
	select MXC_DEBUG_BOARD
	help
	  Include support for MX51PDK (3DS) platform. This includes specific
	  configurations for the board and its peripherals.

config MACH_EUKREA_CPUIMX51
	bool "Support Eukrea CPUIMX51 module"
	select SOC_IMX51
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_NAND
	select IMX_HAVE_PLATFORM_SPI_IMX
	help
	  Include support for Eukrea CPUIMX51 platform. This includes
	  specific configurations for the module and its peripherals.

choice
	prompt "Baseboard"
	depends on MACH_EUKREA_CPUIMX51
	default MACH_EUKREA_MBIMX51_BASEBOARD

config MACH_EUKREA_MBIMX51_BASEBOARD
	prompt "Eukrea MBIMX51 development board"
	bool
	select IMX_HAVE_PLATFORM_IMX_KEYPAD
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	help
	  This adds board specific devices that can be found on Eukrea's
	  MBIMX51 evaluation board.

endchoice

config MACH_EUKREA_CPUIMX51SD
	bool "Support Eukrea CPUIMX51SD module"
	select SOC_IMX51
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_SPI_IMX
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_NAND
	help
	  Include support for Eukrea CPUIMX51SD platform. This includes
	  specific configurations for the module and its peripherals.

choice
	prompt "Baseboard"
	depends on MACH_EUKREA_CPUIMX51SD
	default MACH_EUKREA_MBIMXSD51_BASEBOARD

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

endchoice

config MX51_EFIKA_COMMON
	bool
	select SOC_IMX51
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select IMX_HAVE_PLATFORM_SPI_IMX
	select MXC_ULPI if USB_ULPI

config MACH_MX51_EFIKAMX
	bool "Support MX51 Genesi Efika MX nettop"
	select MX51_EFIKA_COMMON
	help
	  Include support for Genesi Efika MX nettop. This includes specific
	  configurations for the board and its peripherals.

config MACH_MX51_EFIKASB
	bool "Support MX51 Genesi Efika Smartbook"
	select MX51_EFIKA_COMMON
	help
	  Include support for Genesi Efika Smartbook. This includes specific
	  configurations for the board and its peripherals.

endif # ARCH_MX51

if ARCH_MX53_SUPPORTED
comment "i.MX53 machines:"

config MACH_MX53_EVK
	bool "Support MX53 EVK platforms"
	select SOC_IMX53
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_MXC_GPU
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select IMX_HAVE_PLATFORM_SPI_IMX
	select IMX_HAVE_PLATFORM_AHCI
	help
	  Include support for MX53 EVK platform. This includes specific
	  configurations for the board and its peripherals.

config MACH_MX53_SMD
	bool "Support MX53 SMD platforms"
	select SOC_IMX53
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_MXC_GPU
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select IMX_HAVE_PLATFORM_IMX_SRTC
	select IMX_HAVE_PLATFORM_AHCI
	help
	  Include support for MX53 SMD platform. This includes specific
	  configurations for the board and its peripherals.

config MACH_MX53_LOCO
	bool "Support MX53 LOCO platforms"
	select SOC_IMX53
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_IMX_SRTC
	select IMX_HAVE_PLATFORM_MXC_GPU
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select IMX_HAVE_PLATFORM_GPIO_KEYS
	select IMX_HAVE_PLATFORM_AHCI
	help
	  Include support for MX53 LOCO platform. This includes specific
	  configurations for the board and its peripherals.

config MACH_MX53_ARD
	bool "Support MX53 ARD platform"
	select SOC_IMX53
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_GPU
	select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
	select IMX_HAVE_PLATFORM_AHCI
	help
	  Include support for MX53 ARD platform. This includes specific
	  configurations for the board and its peripherals.
endif # ARCH_MX53_SUPPORTED

config MACH_IMX_BLUETOOTH_RFKILL
       tristate "i.MX Bluetooth rfkill interface support"
       depends on RFKILL
       ---help---
	Say Y to get the standard rfkill interface of Bluetooth
endif
