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
	select SPL_RECOVER_DATA_SECTION
	bool

config IMX8QXP
	select IMX8
	select SUPPORT_SPL
	select SPL_RECOVER_DATA_SECTION
	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.

config BOOTAUX_RESERVED_MEM_BASE
	hex "i.MX auxiliary core dram memory base"
	default 0

config BOOTAUX_RESERVED_MEM_SIZE
	hex "i.MX auxiliary core dram memory size"
	default 0

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_APALIS_IMX8X
	bool "Support Apalis 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/toradex/apalis-imx8x/Kconfig"
source "board/siemens/capricorn/Kconfig"

config IMX_SNVS_SEC_SC
	bool "Support SNVS configuration"
	help
	  Allow to configure the SNVS via SCU API to configure tampers and secure
	  violation.

config IMX_SNVS_SEC_SC_AUTO
	bool "Support SNVS configuration command"
	depends on IMX_SNVS_SEC_SC
	help
	  This configuration will apply the selected configurations automatically
	  at boot.

endif
