if ARCH_MX6

config MX6_SMP
	bool
	select ARM_ERRATA_751472
	select ARM_ERRATA_761320
	select ARM_ERRATA_794072
	select ARM_ERRATA_845369
	select MP

config MX6
	bool
	default y
	select ARM_ERRATA_743622 if !MX6UL && !MX6ULL
	select GPT_TIMER if !MX6UL && !MX6ULL
	imply CMD_FUSE

choice
	prompt "i.MX6 SoC select"

config MX6D
	bool "i.MX 6Dual SoC support"
	select HAS_CAAM
	select MX6_SMP

config MX6DL
	bool "i.MX 6DualLite SoC support"
	select HAS_CAAM
	select MX6_SMP

config MX6Q
	bool "i.MX 6Quad SoC support"
	select HAS_CAAM
	select MX6_SMP

config MX6QDL
	bool "i.MX 6Dual and 6Quad SoC support"
	select HAS_CAAM
	select MX6_SMP

config MX6S
	bool "i.MX 6Solo SoC support"
	select HAS_CAAM

config MX6SL
	bool "i.MX 6SoloLite SoC support"

config MX6SX
	bool "i.MX 6SoloX SoC support"
	select HAS_CAAM
	select ROM_UNIFIED_SECTIONS

config MX6SLL
	bool "i.MX 6SLL SoC support"
	select ROM_UNIFIED_SECTIONS

config MX6UL
	bool "i.MX 6UltraLite SoC support"
	select HAS_CAAM
	select ROM_UNIFIED_SECTIONS
	select SYSCOUNTER_TIMER
	select SYS_L2CACHE_OFF

config MX6ULL
	bool "i.MX 6ULL SoC support"
	select ROM_UNIFIED_SECTIONS
	select SYSCOUNTER_TIMER
	select SYS_L2CACHE_OFF

endchoice

config MX6UL_LITESOM
	bool
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM

config MX6UL_OPOS6UL
	bool
	select BOARD_LATE_INIT
	select DM
	select DM_GPIO
	select DM_MMC
	select DM_THERMAL
	select SPL_DM if SPL
	select SPL_OF_CONTROL if SPL
	select SPL_PINCTRL if SPL
	select SPL_SEPARATE_BSS if SPL
	select SUPPORT_SPL
	imply CMD_DM

config MX6_OCRAM_256KB
	bool "Support 256KB OCRAM"
	depends on MX6D || MX6Q
	help
	 Allows using the full 256KB size of the OCRAM on the MX6Q/MX6D series
	 of chips, such as for SPL. The OCRAM of the Lite series of chips is
	 only 128KB, so using this option will prevent the resulting code from
	 working on those chips.

config MX6_DDRCAL
	bool "Include dynamic DDR calibration routines"
	depends on SPL
	help
	  Say "Y" if your board uses dynamic (per-boot) DDR calibration.
	  If unsure, say N.

choice
	prompt "MX6 board select"
	optional

config TARGET_APALIS_IMX6
	bool "Toradex Apalis iMX6 board"
	depends on MX6Q
	select BOARD_LATE_INIT
	select DM
	select DM_SERIAL
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM
	imply CMD_SATA

config TARGET_ARISTAINETOS2C
	bool "Support aristainetos2-revC"
	depends on MX6DL
	select BOARD_LATE_INIT
	select SYS_I2C_MXC
	select MXC_UART
	select FEC_MXC
	select DM
	imply CMD_SATA
	imply CMD_DM

config TARGET_ARISTAINETOS2CCSLB
	bool "Support aristainetos2-revC CSL"
	depends on MX6DL
	select BOARD_LATE_INIT
	select SYS_I2C_MXC
	select MXC_UART
	select FEC_MXC
	select DM
	imply CMD_SATA
	imply CMD_DM

config TARGET_CM_FX6
	bool "CM-FX6"
	depends on MX6QDL
	select BOARD_LATE_INIT
	select DM
	select DM_GPIO
	select DM_SERIAL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_COLIBRI_IMX6
	bool "Toradex Colibri iMX6 board"
	select BOARD_LATE_INIT
	select DM
	select DM_SERIAL
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_COLIBRI_IMX6ULL
	bool "Toradex Colibri iMX6ULL"
	depends on MX6ULL
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select IOMUX_LPSR

config TARGET_DART_6UL
	bool "Variscite imx6ULL dart(DART-SOM-6ULL)"
	depends on MX6ULL
	select DM
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select DM_SERIAL
	select DM_THERMAL
	select SUPPORT_SPL

config TARGET_DHCOMIMX6
	bool "dh_imx6"
	depends on MX6QDL
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM
	imply CMD_SPL

config TARGET_DISPLAY5
	bool "LWN DISPLAY5 board"
	depends on MX6Q
	select DM
	select DM_I2C
	select DM_MMC
	select DM_SPI
	select DM_GPIO
	select DM_SERIAL
	select MTD
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_EMBESTMX6BOARDS
	bool "embestmx6boards"
	select BOARD_LATE_INIT
	select SUPPORT_SPL

config TARGET_GE_BX50V3
	bool "General Electric Bx50v3"
	depends on MX6Q
	select BOARD_LATE_INIT

config TARGET_GE_B1X5V2
	bool "General Electric B1x5v2"
	depends on MX6QDL
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select SUPPORT_SPL

config TARGET_GW_VENTANA
	bool "gw_ventana"
	depends on MX6QDL
	select SUPPORT_SPL
	select GATEWORKS_SC
	select MISC
	imply CMD_SATA
	imply CMD_SPL

config TARGET_KONTRON_MX6UL
	bool "Kontron Electronics SL/BL i.MX6UL/ULL (N63xx/N64xx)"
	depends on MX6UL
	select BINMAN
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_KOSAGI_NOVENA
	bool "Kosagi Novena"
	select BOARD_LATE_INIT
	select DM_GPIO
	select DM_MMC
	select PCI
	select SCSI
	select VIDEO
	select OF_CONTROL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_MCCMON6
	bool "mccmon6"
	depends on MX6QDL
	select SUPPORT_SPL
	select DM
	select DM_GPIO
	select DM_SERIAL
	select DM_I2C
	select DM_SPI
	select MTD
	imply CMD_DM

config TARGET_MX6CUBOXI
	bool "Solid-run mx6 boards"
	depends on MX6QDL
	select BOARD_LATE_INIT
	select SUPPORT_SPL

config TARGET_MX6LOGICPD
	bool "Logic PD i.MX6 SOM"
	depends on MX6Q
	select SUPPORT_SPL
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select DM
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select DM_PMIC
	select OF_CONTROL
	imply CMD_DM

config TARGET_MX6MEMCAL
	bool "mx6memcal"
	depends on MX6QDL
	select SUPPORT_SPL
	help
	  The mx6memcal board is a virtual board that can be used to validate
	  and characterize the memory layout of a new design during the initial
	  development and pre-production stages.

config TARGET_MX6DL_MAMOJ
	bool "Support BTicino Mamoj"
	depends on MX6QDL
	select DM
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select DM_PMIC
	select DM_PMIC_PFUZE100
	select DM_THERMAL
	select OF_CONTROL
	select PINCTRL
	select SPL
	select SPL_DM if SPL
	select SPL_GPIO if SPL
	select SPL_LIBCOMMON_SUPPORT if SPL
	select SPL_LIBDISK_SUPPORT if SPL
	select SPL_LIBGENERIC_SUPPORT if SPL
	select SPL_MMC if SPL
	select SPL_OF_CONTROL if SPL
	select SPL_OF_LIBFDT if SPL
	select SPL_PINCTRL if SPL
	select SPL_SEPARATE_BSS if SPL
	select SPL_SERIAL if SPL
	select SPL_USB_GADGET if SPL
	select SPL_USB_HOST if SPL
	select SPL_USB_SDP_SUPPORT if SPL
	select SPL_WATCHDOG if SPL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_MX6Q_ENGICAM
	bool "Support Engicam i.Core(RQS)"
	depends on MX6QDL
	select BOARD_LATE_INIT
	select DM
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select DM_THERMAL
	select OF_CONTROL
	select SPL_DM if SPL
	select SPL_OF_CONTROL if SPL
	select SPL_OF_LIBFDT
	select SPL_PINCTRL if SPL
	select SPL_SEPARATE_BSS if SPL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_MX6Q_ACC
	bool "Support for Bosch ACC board"
	depends on MX6QDL
	select BOARD_LATE_INIT
	select OF_CONTROL
	select SPL_OF_LIBFDT
	select DM
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select DM_THERMAL
	select SUPPORT_SPL

config TARGET_MX6S_SIELAFF
	bool "Sielaff i.MX6 Solo Board"
	depends on MX6S
	select BINMAN
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_MX6SABREAUTO
	bool "mx6sabreauto"
	depends on MX6QDL
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM
	select FSL_CAAM
	select ARCH_MISC_INIT

config TARGET_MX6SABRESD
	bool "mx6sabresd"
	depends on MX6QDL
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM
	select FSL_CAAM
	select ARCH_MISC_INIT

config TARGET_MX6SLEVK
	bool "mx6slevk"
	depends on MX6SL
	select SUPPORT_SPL
	imply OF_UPSTREAM

config TARGET_MX6SLLEVK
	bool "mx6sll evk"
	depends on MX6SLL
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select IOMUX_LPSR
	imply CMD_DM

config TARGET_MX6SXSABRESD
	bool "mx6sxsabresd"
	depends on MX6SX
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	select FSL_CAAM
	select ARCH_MISC_INIT

config TARGET_MX6SXSABREAUTO
	bool "mx6sxsabreauto"
	depends on MX6SX
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	imply CMD_DM

config TARGET_MX6UL_9X9_EVK
	bool "mx6ul_9x9_evk"
	depends on MX6UL
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM
	select FSL_CAAM
	select ARCH_MISC_INIT

config TARGET_MX6UL_14X14_EVK
	bool "mx6ul_14x14_evk"
	depends on MX6UL
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM
	select FSL_CAAM
	select ARCH_MISC_INIT

config TARGET_MX6UL_ENGICAM
	bool "Support Engicam GEAM6UL/Is.IoT"
	depends on MX6UL
	select BOARD_LATE_INIT
	select DM
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select DM_THERMAL
	select OF_CONTROL
	select SPL_DM if SPL
	select SPL_OF_CONTROL if SPL
	select SPL_PINCTRL if SPL
	select SPL_SEPARATE_BSS if SPL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_MX6ULL_14X14_EVK
	bool "Support mx6ull_14x14_evk"
	depends on MX6ULL
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select IOMUX_LPSR
	imply CMD_DM

config TARGET_MX6ULZ_SMM_M2
	bool "Support imx6ulz_smm_m2"
	depends on MX6ULL
	select DM
	select DM_GPIO
	select DM_I2C
	select DM_SERIAL
	select DM_MTD
	select DM_THERMAL
	select SUPPORT_SPL
	imply OF_UPSTREAM

config TARGET_MYS_6ULX
	bool "MYiR MYS-6ULX"
	depends on MX6ULL
	select DM
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select DM_SERIAL
	select DM_THERMAL
	select SUPPORT_SPL

config TARGET_NITROGEN6X
	bool "nitrogen6x"
	depends on MX6DL || MX6Q || MX6QDL || MX6S
	imply USB_ETHER_ASIX
	imply USB_ETHER_MCS7830
	imply USB_ETHER_SMSC95XX
	imply USB_HOST_ETHER

config TARGET_NPI_IMX6ULL
	bool "Seeed NPI-IMX6ULL"
	depends on MX6ULL
	select DM
	select DM_MMC
	select DM_GPIO
	select DM_SERIAL
	select DM_THERMAL
	select SUPPORT_SPL

config TARGET_OPOS6ULDEV
	bool "Armadeus OPOS6ULDev board"
	depends on MX6UL
	select MX6UL_OPOS6UL

config TARGET_PICO_IMX6
	bool "PICO-IMX6"
	depends on MX6QDL
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_PICO_IMX6UL
	bool "PICO-IMX6UL-EMMC"
	depends on MX6UL
	select DM
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_LITEBOARD
	bool "Grinn liteBoard (i.MX6UL)"
	depends on MX6UL
	select BOARD_LATE_INIT
	select MX6UL_LITESOM

config TARGET_LXR2
	bool "Comvetia i.MX6Q LXR2"
	depends on MX6Q
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_PCM058
	bool "Phytec PCM058 i.MX6 Quad"
	depends on MX6Q
	select BOARD_LATE_INIT
	select SUPPORT_SPL
	select DM
	select OF_CONTROL
	imply CMD_DM

config TARGET_PCL063
	bool "PHYTEC PCL063 (phyCORE-i.MX6UL)"
	depends on MX6UL
	select DM
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select DM_SERIAL
	select DM_THERMAL
	select SUPPORT_SPL

config TARGET_PCL063_ULL
	bool "PHYTEC PCL063 (phyCORE-i.MX6ULL)"
	depends on MX6ULL
	select DM
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select DM_SERIAL
	select DM_THERMAL
	select SUPPORT_SPL

config TARGET_SOMLABS_VISIONSOM_6ULL
	bool "visionsom-6ull"
	depends on MX6ULL
	select BOARD_LATE_INIT
	select DM
	select DM_GPIO
	select DM_MMC
	select DM_SERIAL
	select DM_THERMAL
	imply CMD_DM

config TARGET_TBS2910
	bool "TBS2910 Matrix ARM mini PC"
	depends on MX6Q

config TARGET_KP_IMX6Q_TPC
	bool "K+P KP_IMX6Q_TPC i.MX6 Quad"
	depends on MX6QDL
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select DM
	select SPL_DM if SPL
	select DM_THERMAL
	select DM_MMC
	select DM_REGULATOR
	select SPL_DM_REGULATOR if SPL
	select DM_SERIAL
	select DM_I2C
	select DM_GPIO
	select SUPPORT_SPL
	select SPL_SEPARATE_BSS if SPL
	imply CMD_DM
	imply CMD_SPL

config TARGET_TQMA6
	bool "TQ-Systems TQMa6 board"
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select MXC_SPI
	select SPI
	imply DM
	imply DM_GPIO
	imply DM_MMC
	imply MTD
	imply DM_SPI
	imply DM_SPI_FLASH
	imply DM_I2C
	imply CMD_SF
	imply CMD_DM

config TARGET_UDOO
	bool "udoo"
	depends on MX6QDL
	select BOARD_LATE_INIT
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_UDOO_NEO
	bool "UDOO Neo"
	depends on MX6SX
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM
	imply OF_UPSTREAM

config TARGET_SOFTING_VINING_2000
	bool "Softing VIN|ING 2000"
	depends on MX6SX
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_WANDBOARD
	bool "wandboard"
	depends on MX6QDL
	select BOARD_LATE_INIT
	select SUPPORT_SPL

config TARGET_BRPPT2
	bool "brppt2"
	depends on MX6QDL
	select BOARD_LATE_INIT
	select OF_CONTROL
	select SPL_OF_LIBFDT
	select DM
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select SUPPORT_SPL
	select SPL_DM if SPL
	select SPL_OF_CONTROL if SPL
        help
          Support
          B&R BRPPT2 platform
          based on Freescale's iMX6 SoC

config TARGET_O4_IMX6ULL_NANO
	bool "O4-iMX6ULL-NANO"
	depends on MX6ULL
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	imply CMD_DM
	help
	  Support for www.out4.ru O4-iMX6UL-NANO platform
	  based on Freescale's i.MX6UL/i.MX6ULL SoC.

endchoice

config SYS_SOC
	default "mx6"

source "board/ge/bx50v3/Kconfig"
source "board/ge/b1x5v2/Kconfig"
source "board/aristainetos/Kconfig"
source "board/armadeus/opos6uldev/Kconfig"
source "board/boundary/nitrogen6x/Kconfig"
source "board/bsh/imx6ulz_smm_m2/Kconfig"
source "board/bticino/mamoj/Kconfig"
source "board/compulab/cm_fx6/Kconfig"
source "board/comvetia/lxr2/Kconfig"
source "board/dhelectronics/dh_imx6/Kconfig"
source "board/embest/mx6boards/Kconfig"
source "board/engicam/imx6q/Kconfig"
source "board/engicam/imx6ul/Kconfig"
source "board/freescale/mx6memcal/Kconfig"
source "board/freescale/mx6sabreauto/Kconfig"
source "board/freescale/mx6sabresd/Kconfig"
source "board/freescale/mx6slevk/Kconfig"
source "board/freescale/mx6sllevk/Kconfig"
source "board/freescale/mx6sxsabresd/Kconfig"
source "board/freescale/mx6sxsabreauto/Kconfig"
source "board/freescale/mx6ul_14x14_evk/Kconfig"
source "board/freescale/mx6ullevk/Kconfig"
source "board/bosch/acc/Kconfig"
source "board/grinn/liteboard/Kconfig"
source "board/phytec/pcm058/Kconfig"
source "board/phytec/pcl063/Kconfig"
source "board/gateworks/gw_ventana/Kconfig"
source "board/kontron/sl-mx6ul/Kconfig"
source "board/kosagi/novena/Kconfig"
source "board/softing/vining_2000/Kconfig"
source "board/liebherr/display5/Kconfig"
source "board/liebherr/mccmon6/Kconfig"
source "board/logicpd/imx6/Kconfig"
source "board/sielaff/imx6dl-sielaff/Kconfig"
source "board/solidrun/mx6cuboxi/Kconfig"
source "board/somlabs/visionsom-6ull/Kconfig"
source "board/technexion/pico-imx6/Kconfig"
source "board/technexion/pico-imx6ul/Kconfig"
source "board/tbs/tbs2910/Kconfig"
source "board/tq/tqma6/Kconfig"
source "board/toradex/apalis_imx6/Kconfig"
source "board/toradex/colibri_imx6/Kconfig"
source "board/toradex/colibri-imx6ull/Kconfig"
source "board/k+p/kp_imx6q_tpc/Kconfig"
source "board/udoo/Kconfig"
source "board/udoo/neo/Kconfig"
source "board/wandboard/Kconfig"
source "board/BuR/brppt2/Kconfig"
source "board/out4/o4-imx6ull-nano/Kconfig"

endif
