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_ARISTAINETOS2
	bool "aristainetos2"
	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_ARISTAINETOS2B
	bool "Support aristainetos2-revB"
	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_ARISTAINETOS2BCSL
	bool "Support aristainetos2-revB 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_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
