if ARCH_IMX9

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

config IMX9
	bool
	select ARCH_MISC_INIT
	select BINMAN
	select CPU
	select CPU_IMX
	select HAS_CAAM
	select ROM_UNIFIED_SECTIONS
	imply IMX_TMU
	imply OF_LIVE

config IMX93
	bool
	select IMX9
	select ARMV8_SPL_EXCEPTION_VECTORS

config IMX91
	bool
	select IMX9
	select ARMV8_SPL_EXCEPTION_VECTORS

config IMX95_A0
	bool "Support for i.MX95 A0 silicon version"

config IMX95
	bool
	select ARMV8_SPL_EXCEPTION_VECTORS
	select IMX9
	select DM_MAILBOX
	select SCMI_FIRMWARE
	select SPL_IMX_CONTAINER_USE_TRAMPOLINE
	select IMX_PQC_SUPPORT if !IMX95_A0

config IMX94
	bool
	select ARMV8_SPL_EXCEPTION_VECTORS
	select DM_MAILBOX
	select IMX9
	select IMX_PQC_SUPPORT
	select SCMI_FIRMWARE
	select SPL_IMX_CONTAINER_USE_TRAMPOLINE

config IMX952
	bool
	select ARMV8_SPL_EXCEPTION_VECTORS
	select DM_MAILBOX
	select IMX9
	select IMX_PQC_SUPPORT
	select SCMI_FIRMWARE
	select SPL_IMX_CONTAINER_USE_TRAMPOLINE

config SYS_SOC
	default "imx9"

choice
	prompt  "NXP i.MX9 board select"
	optional

config TARGET_IMX91_11X11_EVK
	bool "imx91_11x11_evk"
	select OF_BOARD_FIXUP
	select IMX91
	imply BOOTSTD_FULL
	imply BOOTSTD_BOOTCOMMAND
	imply OF_UPSTREAM

config TARGET_IMX91_11X11_FRDM
	bool "imx91_11x11_frdm"
	select OF_BOARD_FIXUP
	select IMX91
	select IMX9_LPDDR4X
	imply BOOTSTD_FULL
	imply BOOTSTD_BOOTCOMMAND
	imply OF_UPSTREAM

config TARGET_IMX93_9X9_QSB
	bool "imx93_qsb"
	select OF_BOARD_FIXUP
	select IMX93
	select IMX9_LPDDR4X
	imply OF_UPSTREAM
	imply BOOTSTD_FULL
	imply BOOTSTD_BOOTCOMMAND
	select CMD_REMOTEPROC
	select REMOTEPROC_IMX
	select REGMAP
	select SYSCON

config TARGET_IMX93_11X11_EVK
	bool "imx93_11x11_evk"
	select OF_BOARD_FIXUP
	select IMX93
	imply OF_UPSTREAM
	imply BOOTSTD_FULL
	imply BOOTSTD_BOOTCOMMAND
	select CMD_REMOTEPROC
	select REMOTEPROC_IMX
	select REGMAP
	select SYSCON

config TARGET_IMX93_FRDM
	bool "imx93_frdm"
	select OF_BOARD_FIXUP
	select IMX93
	select IMX9_LPDDR4X
	imply BOOTSTD_FULL
	imply BOOTSTD_BOOTCOMMAND
	select CMD_REMOTEPROC
	select REMOTEPROC_IMX
	select REGMAP
	select SYSCON
	imply OF_UPSTREAM

config TARGET_IMX93_VAR_SOM
	bool "imx93_var_som"
	select IMX93
	select IMX9_LPDDR4X
	imply OF_UPSTREAM

config TARGET_KONTRON_MX93
	bool "Kontron OSM-S/BL i.MX93"
	select BINMAN
	select IMX93
	select IMX9_LPDDR4X
	help
	  Kontron Electronics BL i.MX93 using SoM module conformant to OSM
	  standard 1.1 size S.

config TARGET_PHYCORE_IMX91
	bool "phycore_imx91"
	select IMX91
	select IMX9_LPDDR4X
	imply OF_UPSTREAM
	select OF_BOARD_FIXUP
	select OF_BOARD_SETUP

config TARGET_PHYCORE_IMX93
	bool "phycore_imx93"
	select IMX93
	select IMX9_LPDDR4X
	imply OF_UPSTREAM
	select OF_BOARD_FIXUP
	select OF_BOARD_SETUP

config TARGET_IMX95_19X19_EVK
	bool "imx95_19x19_evk"
	select OF_BOARD_FIXUP
	select IMX95
	imply BOOTSTD_BOOTCOMMAND
	imply BOOTSTD_FULL
	imply OF_UPSTREAM

config TARGET_IMX95_15X15_EVK
	bool "imx95_15x15_evk"
	select OF_BOARD_FIXUP
	select IMX95
	imply BOOTSTD_BOOTCOMMAND
	imply BOOTSTD_FULL
	imply OF_UPSTREAM

config TARGET_IMX95_15X15_FRDM
	bool "imx95_frdm"
	select OF_BOARD_FIXUP
	select IMX95
	imply BOOTSTD_FULL
	imply BOOTSTD_BOOTCOMMAND
	imply OF_UPSTREAM

config TARGET_IMX943_EVK
	bool "imx943_evk"
	select OF_BOARD_FIXUP
	select IMX94
	imply BOOTSTD_BOOTCOMMAND
	imply BOOTSTD_FULL
	imply OF_UPSTREAM

config TARGET_AQUILA_IMX95
	bool "Support Toradex Aquila iMX95"
	select IMX95

config TARGET_TORADEX_SMARC_IMX95
	bool "Support Toradex SMARC iMX95"
	select IMX95
	imply OF_UPSTREAM

config TARGET_VERDIN_IMX95
	bool "Support Toradex Verdin iMX95 module"
	select IMX95

config TARGET_IMX952_EVK
	bool "imx952_evk"
	select OF_BOARD_FIXUP
	select IMX_SM_CPU
	select IMX_SM_LMM
	select IMX952
	select REGMAP
	select SYSCON
	imply BOOTSTD_BOOTCOMMAND
	imply BOOTSTD_FULL
	imply OF_UPSTREAM

endchoice

source "board/nxp/imx91_evk/Kconfig"
source "board/nxp/imx91_frdm/Kconfig"
source "board/nxp/imx93_evk/Kconfig"
source "board/nxp/imx93_frdm/Kconfig"
source "board/nxp/imx93_qsb/Kconfig"
source "board/kontron/osm-s-mx93/Kconfig"
source "board/phytec/phycore_imx91_93/Kconfig"
source "board/variscite/imx93_var_som/Kconfig"
source "board/nxp/imx94_evk/Kconfig"
source "board/nxp/imx95_evk/Kconfig"
source "board/nxp/imx95_frdm/Kconfig"
source "board/toradex/aquila-imx95/Kconfig"
source "board/toradex/smarc-imx95/Kconfig"
source "board/toradex/verdin-imx95/Kconfig"
source "board/nxp/imx952_evk/Kconfig"

endif
