if ARCH_IMX8

config AHAB_BOOT
	bool "Support i.MX8 AHAB features"
	help
	  This option enables the support for AHAB secure boot.

config IMX8
	bool

config MU_BASE_SPL
	hex "MU base address used in SPL"
	default 0x5d1b0000
	help
	  SPL runs in EL3 mode, it use MU0_A to communicate with SCU.
	  So we could not reuse the one in dts which is for normal U-Boot.

config IMX8QM
	select IMX8
	select SUPPORT_SPL
	bool

config IMX8QXP
	select IMX8
	select SUPPORT_SPL
	bool

config SYS_SOC
	default "imx8"

config SPL_LOAD_IMX_CONTAINER
	bool "Enable SPL loading U-Boot as a i.MX Container image"
	depends on SPL
	help
	  This is to let SPL could load i.MX8 Container image

config IMX_CONTAINER_CFG
	string "i.MX Container config file"
	depends on SPL
	help
	  This is to specific the cfg file for generating container
	  image which will be loaded by SPL.

choice
	prompt "i.MX8 board select"
	optional

config TARGET_APALIS_IMX8
	bool "Support Apalis iMX8 module"
	select BOARD_LATE_INIT
	select IMX8QM

config TARGET_COLIBRI_IMX8X
	bool "Support Colibri iMX8X module"
	select BOARD_LATE_INIT
	select IMX8QXP

config TARGET_DENEB
	bool "Support i.MX8QXP Capricorn Deneb board"
	select BOARD_LATE_INIT
	select IMX8QXP

config TARGET_GIEDI
	bool "Support i.MX8QXP Capricorn Giedi board"
	select BOARD_LATE_INIT
	select IMX8QXP

config TARGET_IMX8QM_MEK
	bool "Support i.MX8QM MEK board"
	select BOARD_LATE_INIT
	select IMX8QM

config TARGET_IMX8QM_ROM7720_A1
	bool "Support i.MX8QM ROM-7720-A1"
	select BOARD_LATE_INIT
	select SUPPORT_SPL
	select IMX8QM

config TARGET_IMX8QXP_MEK
	bool "Support i.MX8QXP MEK board"
	select BOARD_LATE_INIT
	select IMX8QXP

endchoice

source "board/freescale/imx8qm_mek/Kconfig"
source "board/freescale/imx8qxp_mek/Kconfig"
source "board/advantech/imx8qm_rom7720_a1/Kconfig"
source "board/toradex/apalis-imx8/Kconfig"
source "board/toradex/colibri-imx8x/Kconfig"
source "board/siemens/capricorn/Kconfig"

endif
