if ARCH_IMX8M

config IMX8M
	bool
	select HAS_CAAM
	select ROM_UNIFIED_SECTIONS

config IMX8MQ
	bool
	select IMX8M

config IMX8MM
	bool
	select IMX8M

config IMX8MN
	bool
	select IMX8M

config IMX8MP
	bool
	select IMX8M

config SYS_SOC
	default "imx8m"

choice
	prompt  "NXP i.MX8M board select"
	optional

config TARGET_IMX8MQ_EVK
	bool "imx8mq_evk"
	select IMX8MQ
	select IMX8M_LPDDR4

config TARGET_IMX8MQ_PHANBELL
        bool "imx8mq_phanbell"
        select IMX8MQ
        select IMX8M_LPDDR4

config TARGET_IMX8MM_EVK
	bool "imx8mm LPDDR4 EVK board"
	select BINMAN
	select IMX8MM
	select SUPPORT_SPL
	select IMX8M_LPDDR4

config TARGET_IMX8MM_ICORE_MX8MM
	bool "Engicam i.Core MX8M Mini SOM"
	select IMX8MM
	select SUPPORT_SPL
	select IMX8M_LPDDR4
	help
	  i.Core MX8M Mini is an EDIMM SOM based on NXP i.MX8MM.

	  i.Core MX8M Mini EDIMM2.2:
	  * EDIMM2.2 is a Form Factor Capacitive Evaluation Board.
	  * i.Core MX8M Mini needs to mount on top of EDIMM2.2 for
	    creating complete i.Core MX8M Mini EDIMM2.2 Starter Kit.

	  i.Core MX8M Mini C.TOUCH 2.0
	  * C.TOUCH 2.0 is a general purpose Carrier board.
	  * i.Core MX8M Mini needs to mount on top of this Carrier board
	    for creating complete i.Core MX8M Mini C.TOUCH 2.0 board.

config TARGET_IMX8MM_VENICE
	bool "Support Gateworks Venice iMX8M Mini module"
	select IMX8MM
	select SUPPORT_SPL
	select IMX8M_LPDDR4

config TARGET_IMX8MN_EVK
	bool "imx8mn LPDDR4 EVK board"
	select BINMAN
	select IMX8MN
	select SUPPORT_SPL
	select IMX8M_LPDDR4

config TARGET_IMX8MN_DDR4_EVK
	bool "imx8mn DDR4 EVK board"
	select BINMAN
	select IMX8MN
	select SUPPORT_SPL
	select IMX8M_DDR4

config TARGET_IMX8MP_EVK
	bool "imx8mp LPDDR4 EVK board"
	select BINMAN
	select IMX8MP
	select SUPPORT_SPL
	select IMX8M_LPDDR4

config TARGET_PICO_IMX8MQ
	bool "Support Technexion Pico iMX8MQ"
	select IMX8MQ
	select IMX8M_LPDDR4

config TARGET_VERDIN_IMX8MM
       bool "Support Toradex Verdin iMX8M Mini module"
       select IMX8MM
       select SUPPORT_SPL
       select IMX8M_LPDDR4

config TARGET_IMX8MM_BEACON
	bool "imx8mm Beacon Embedded devkit"
	select IMX8MM
	select SUPPORT_SPL
	select IMX8M_LPDDR4

config TARGET_IMX8MN_BEACON
	bool "imx8mn Beacon Embedded devkit"
	select IMX8MN
	select SUPPORT_SPL
	select IMX8M_LPDDR4

config TARGET_PHYCORE_IMX8MM
	bool "PHYTEC PHYCORE i.MX8MM"
	select IMX8MM
        select SUPPORT_SPL
	select IMX8M_LPDDR4

config TARGET_PHYCORE_IMX8MP
	bool "PHYTEC PHYCORE i.MX8MP"
	select IMX8MP
        select SUPPORT_SPL
	select IMX8M_LPDDR4

config TARGET_IMX8MM_CL_IOT_GATE
	bool "CompuLab iot-gate-imx8"
	select BINMAN
	select IMX8MM
	select SUPPORT_SPL
	select IMX8M_LPDDR4
endchoice

source "board/engicam/imx8mm/Kconfig"
source "board/freescale/imx8mq_evk/Kconfig"
source "board/freescale/imx8mm_evk/Kconfig"
source "board/freescale/imx8mn_evk/Kconfig"
source "board/freescale/imx8mp_evk/Kconfig"
source "board/gateworks/venice/Kconfig"
source "board/google/imx8mq_phanbell/Kconfig"
source "board/technexion/pico-imx8mq/Kconfig"
source "board/toradex/verdin-imx8mm/Kconfig"
source "board/beacon/imx8mm/Kconfig"
source "board/beacon/imx8mn/Kconfig"
source "board/phytec/phycore_imx8mm/Kconfig"
source "board/phytec/phycore_imx8mp/Kconfig"
source "board/compulab/imx8mm-cl-iot-gate/Kconfig"

endif
