# Copyright 2020 NXP
# SPDX-License-Identifier: Apache-2.0

choice
prompt "NXP i.MX8M A53 Selection"
depends on SOC_SERIES_IMX8M_A53

config SOC_IMX8MM_A53
	bool "NXP i.MX8MM A53"
	select ARM64
	select CPU_CORTEX_A53
	select ARM_ARCH_TIMER
	select GIC_V3
	select HAS_MCUX if CLOCK_CONTROL
	select HAS_MCUX_CCM if CLOCK_CONTROL

config SOC_MIMX8MP_A53
	bool "NXP i.MX8MP A53"
	select ARM64
	select CPU_CORTEX_A53
	select ARM_ARCH_TIMER
	select GIC_V3
	select HAS_MCUX if CLOCK_CONTROL
	select HAS_MCUX_CCM if CLOCK_CONTROL

endchoice

if SOC_IMX8MM_A53

config SOC_PART_NUMBER_MIMX8MM6DVTLZ
	bool

config SOC_PART_NUMBER
	string
	default "MIMX8MM6DVTLZ" if SOC_PART_NUMBER_MIMX8MM6DVTLZ
	help
	  This string holds the full part number of the SoC. It is a hidden option
	  that you should not set directly. The part number selection choice defines
	  the default value for this string.
endif
