# iMX7 M4 core series

# Copyright (c) 2017, NXP
# SPDX-License-Identifier: Apache-2.0

choice
	prompt "i.MX7 M4 Selection"
	depends on SOC_SERIES_IMX7_M4

config SOC_MCIMX7_M4
	bool "SOC_MCIMX7_M4"
	select HAS_IMX_HAL
	select HAS_IMX_GPIO
	select HAS_IMX_I2C

endchoice

if SOC_MCIMX7_M4

config SOC_PART_NUMBER_MCIMX7D7DVM10SC
	bool

config SOC_PART_NUMBER_MCIMX7D5EVM10SC
	bool

config SOC_PART_NUMBER_MCIMX7S3DVK08SA
	bool

config SOC_PART_NUMBER_IMX7_M4
	string
	default	"MCIMX7D7DVM10SC" if SOC_PART_NUMBER_MCIMX7D7DVM10SC
	default "MCIMX7D5EVM10SC" if SOC_PART_NUMBER_MCIMX7D5EVM10SC
	default "MCIMX7S3DVK08SA" if SOC_PART_NUMBER_MCIMX7S3DVK08SA
	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_IMX7_M4
