# i.MX8MM M4 SoC series

# Copyright (c) 2020, Manivannan Sadhasivam <mani@kernel.org>
# SPDX-License-Identifier: Apache-2.0

choice
prompt "i.MX8MM M4 Selection"
depends on SOC_SERIES_IMX8MM_M4

config SOC_MIMX8MM6
	bool "SOC_MIMX8MM6"
	select HAS_MCUX
	select HAS_MCUX_CCM
	select HAS_MCUX_RDC

endchoice

if SOC_SERIES_IMX8MM_M4

config SOC_PART_NUMBER_MIMX8MM6DVTLZ
	bool

config SOC_PART_NUMBER_IMX8MM_M4
	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 # SOC_SERIES_IMX8MM_M4
