# 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
	select HAS_MCUX_IGPIO
	select HAS_MCUX_IOMUXC

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
