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
	default n
	help
	  Say "Y" if your board uses dynamic (per-boot) DDR calibration.
	  If unsure, say N.

choice
	prompt "MX6 board select"
	optional

config TARGET_ADVANTECH_DMS_BA16
	bool "Advantech dms-ba16"
	depends on MX6Q
	select BOARD_LATE_INIT
	imply CMD_SATA

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_CGTQMX6EVAL
	bool "cgtqmx6eval"
	depends on MX6QDL
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	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

config TARGET_DART_6UL
	bool "Variscite imx6ULL dart(DART-SOM-6ULL)"
	depends on MX6ULL
	select DM
	select DM_ETH
	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_ETH
	select DM_I2C
	select DM_MMC
	select DM_SPI
	select DM_GPIO
	select DM_SERIAL
	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
	imply CMD_SATA
	imply CMD_SPL

config TARGET_KOSAGI_NOVENA
	bool "Kosagi Novena"
	select BOARD_LATE_INIT
	select DM_ETH
	select DM_GPIO
	select DM_MMC
	select DM_PCI
	select DM_SCSI
	select DM_USB
	select DM_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_ETH
	select DM_SERIAL
	select DM_I2C
	select DM_SPI
	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_ETH
	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_MX6QARM2
	bool "mx6qarm2"

config TARGET_MX6DL_MAMOJ
	bool "Support BTicino Mamoj"
	depends on MX6QDL
	select DM
	select DM_ETH
	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_SUPPORT if SPL
	select SPL_LIBCOMMON_SUPPORT if SPL
	select SPL_LIBDISK_SUPPORT if SPL
	select SPL_LIBGENERIC_SUPPORT if SPL
	select SPL_MMC_SUPPORT 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_SUPPORT if SPL
	select SPL_USB_GADGET if SPL
	select SPL_USB_HOST_SUPPORT if SPL
	select SPL_USB_SDP_SUPPORT if SPL
	select SPL_WATCHDOG_SUPPORT 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_ETH
	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_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

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

config TARGET_MX6SLEVK
	bool "mx6slevk"
	depends on MX6SL
	select SUPPORT_SPL

config TARGET_MX6SLLEVK
	bool "mx6sll evk"
	depends on MX6SLL
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	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

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

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

config TARGET_MX6UL_ENGICAM
	bool "Support Engicam GEAM6UL/Is.IoT"
	depends on MX6UL
	select BOARD_LATE_INIT
	select DM
	select DM_ETH
	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
	imply CMD_DM

config TARGET_MYS_6ULX
	bool "MYiR MYS-6ULX"
	depends on MX6ULL
	select DM
	select DM_ETH
	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_OPOS6ULDEV
	bool "Armadeus OPOS6ULDev board"
	depends on MX6UL
	select MX6UL_OPOS6UL

config TARGET_OT1200
	bool "Bachmann OT1200"
	select SUPPORT_SPL
	imply CMD_SATA

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_PLATINUM_PICON
	bool "platinum-picon"
	select SUPPORT_SPL

config TARGET_PLATINUM_TITANIUM
	bool "platinum-titanium"
	select SUPPORT_SPL

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_PFLA02
	bool "Phytec PFLA02 (PhyFlex) i.MX6 Quad"
	depends on MX6QDL
	select BOARD_LATE_INIT
	select SUPPORT_SPL

config TARGET_PCL063
	bool "PHYTEC PCL063 (phyCORE-i.MX6UL)"
	depends on MX6UL
	select DM
	select DM_ETH
	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_ETH
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select DM_SERIAL
	select DM_THERMAL
	select SUPPORT_SPL

config TARGET_SECOMX6
	bool "secomx6 boards"

config TARGET_SKSIMX6
	bool "sks-imx6"
	depends on MX6QDL
	select SUPPORT_SPL

config TARGET_SOMLABS_VISIONSOM_6ULL
	bool "visionsom-6ull"
	depends on MX6ULL
	select BOARD_LATE_INIT
	select DM
	select DM_ETH
	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_TITANIUM
	bool "titanium"
	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_ETH
	select DM_REGULATOR
	select SPL_DM_REGULATOR if SPL
	select DM_SERIAL
	select DM_I2C
	select DM_GPIO
	select DM_USB
	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 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

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

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_WARP
	bool "WaRP"
	depends on MX6SL
	select BOARD_LATE_INIT

config TARGET_XPRESS
	bool "CCV xPress"
	depends on MX6UL
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_ZC5202
	bool "zc5202"
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_ZC5601
	bool "zc5601"
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_BRPPT2
	bool "brppt2"
	depends on MX6QDL
	select BOARD_LATE_INIT
	select OF_CONTROL
	select SPL_OF_LIBFDT
	select DM
	select DM_ETH
	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
endchoice

config SYS_SOC
	default "mx6"

source "board/ge/bx50v3/Kconfig"
source "board/ge/b1x5v2/Kconfig"
source "board/advantech/dms-ba16/Kconfig"
source "board/aristainetos/Kconfig"
source "board/armadeus/opos6uldev/Kconfig"
source "board/bachmann/ot1200/Kconfig"
source "board/barco/platinum/Kconfig"
source "board/barco/titanium/Kconfig"
source "board/boundary/nitrogen6x/Kconfig"
source "board/bticino/mamoj/Kconfig"
source "board/ccv/xpress/Kconfig"
source "board/compulab/cm_fx6/Kconfig"
source "board/congatec/cgtqmx6eval/Kconfig"
source "board/dhelectronics/dh_imx6/Kconfig"
source "board/el/el6x/Kconfig"
source "board/embest/mx6boards/Kconfig"
source "board/engicam/imx6q/Kconfig"
source "board/engicam/imx6ul/Kconfig"
source "board/freescale/mx6qarm2/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/grinn/liteboard/Kconfig"
source "board/phytec/pcm058/Kconfig"
source "board/phytec/pfla02/Kconfig"
source "board/phytec/pcl063/Kconfig"
source "board/gateworks/gw_ventana/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/seco/Kconfig"
source "board/sks-kinkel/sksimx6/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/tqc/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/warp/Kconfig"
source "board/BuR/brppt2/Kconfig"

endif
