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

config MX6D
	bool
	select HAS_CAAM
	select MX6_SMP

config MX6DL
	bool
	select HAS_CAAM
	select MX6_SMP

config MX6Q
	bool
	select HAS_CAAM
	select MX6_SMP

config MX6QDL
	bool
	select HAS_CAAM
	select MX6_SMP

config MX6S
	bool
	select HAS_CAAM

config MX6SL
	bool

config MX6SX
	bool
	select HAS_CAAM
	select ROM_UNIFIED_SECTIONS

config MX6SLL
	bool
	select ROM_UNIFIED_SECTIONS

config MX6UL
	bool
	select HAS_CAAM
	select ROM_UNIFIED_SECTIONS
	select SYSCOUNTER_TIMER
	select SYS_L2CACHE_OFF

config MX6UL_LITESOM
	bool
	select DM
	select DM_THERMAL
	select MX6UL
	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 MX6UL
	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 MX6ULL
	bool
	select ROM_UNIFIED_SECTIONS
	select SYSCOUNTER_TIMER
	select SYS_L2CACHE_OFF

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"
	select BOARD_LATE_INIT
	select MX6Q
	imply CMD_SATA

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

config TARGET_ARISTAINETOS2
	bool "aristainetos2"
	select BOARD_LATE_INIT
	select MX6DL
	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"
	select BOARD_LATE_INIT
	select MX6DL
	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"
	select BOARD_LATE_INIT
	select MX6DL
	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"
	select BOARD_LATE_INIT
	select MX6DL
	select SYS_I2C_MXC
	select MXC_UART
	select FEC_MXC
	select DM
	imply CMD_SATA
	imply CMD_DM

config TARGET_CGTQMX6EVAL
	bool "cgtqmx6eval"
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select MX6QDL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_CM_FX6
	bool "CM-FX6"
	select BOARD_LATE_INIT
	select DM
	select DM_GPIO
	select DM_SERIAL
	select MX6QDL
	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"
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select MX6ULL

config TARGET_DART_6UL
	bool "Variscite imx6ULL dart(DART-SOM-6ULL)"
	select 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"
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select MX6QDL
	select SUPPORT_SPL
	imply CMD_DM
	imply CMD_SPL

config TARGET_DISPLAY5
	bool "LWN DISPLAY5 board"
	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"
	select BOARD_LATE_INIT
	select MX6Q

config TARGET_GW_VENTANA
	bool "gw_ventana"
	select 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"
	select 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"
	select BOARD_LATE_INIT
	select MX6QDL
	select SUPPORT_SPL

config TARGET_MX6LOGICPD
	bool "Logic PD i.MX6 SOM"
	select 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"
	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"
	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 MX6QDL
	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)"
	select BOARD_LATE_INIT
	select DM
	select DM_ETH
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select DM_THERMAL
	select MX6QDL
	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"
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select MX6QDL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_MX6SABRESD
	bool "mx6sabresd"
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select MX6QDL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_MX6SLEVK
	bool "mx6slevk"
	select MX6SL
	select SUPPORT_SPL

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

config TARGET_MX6SXSABRESD
	bool "mx6sxsabresd"
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select MX6SX
	select SUPPORT_SPL

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

config TARGET_MX6UL_9X9_EVK
	bool "mx6ul_9x9_evk"
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select MX6UL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_MX6UL_14X14_EVK
	bool "mx6ul_14x14_evk"
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select MX6UL
	select SUPPORT_SPL
	imply CMD_DM

config TARGET_MX6UL_ENGICAM
	bool "Support Engicam GEAM6UL/Is.IoT"
	select BOARD_LATE_INIT
	select DM
	select DM_ETH
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select DM_THERMAL
	select MX6UL
	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"
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select MX6ULL
	imply CMD_DM

config TARGET_NITROGEN6X
	bool "nitrogen6x"
	imply USB_ETHER_ASIX
	imply USB_ETHER_MCS7830
	imply USB_ETHER_SMSC95XX
	imply USB_HOST_ETHER
	select MX6QDL

config TARGET_OPOS6ULDEV
	bool "Armadeus OPOS6ULDev board"
	select MX6UL_OPOS6UL

config TARGET_OT1200
	bool "Bachmann OT1200"
	select SUPPORT_SPL
	imply CMD_SATA

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

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

config TARGET_LITEBOARD
	bool "Grinn liteBoard (i.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"
	select BOARD_LATE_INIT
	select SUPPORT_SPL

config TARGET_PFLA02
	bool "Phytec PFLA02 (PhyFlex) i.MX6 Quad"
	select BOARD_LATE_INIT
	select MX6QDL
	select SUPPORT_SPL

config TARGET_PCL063
	bool "PHYTEC PCL063 (phyCORE-i.MX6UL)"
	select 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)"
	select 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"
	select SUPPORT_SPL

config TARGET_SOMLABS_VISIONSOM_6ULL
	bool "visionsom-6ull"
	select 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"

config TARGET_TITANIUM
	bool "titanium"

config TARGET_KP_IMX6Q_TPC
	bool "K+P KP_IMX6Q_TPC i.MX6 Quad"
	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 MX6QDL
	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"
	select BOARD_LATE_INIT
	select MX6QDL
	select SUPPORT_SPL

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

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

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

config TARGET_WARP
	bool "WaRP"
	select BOARD_LATE_INIT
	select MX6SL

config TARGET_XPRESS
	bool "CCV xPress"
	select BOARD_LATE_INIT
	select DM
	select DM_THERMAL
	select MX6UL
	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"
	select BOARD_LATE_INIT
	select MX6QDL
	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/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
