# i.MX 6SoloX M4 core series

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

choice
	prompt "i.MX 6SoloX Selection"
	depends on SOC_SERIES_IMX_6X_M4

config SOC_MCIMX6X_M4
	bool "SOC_MCIMX6X_M4"
	select HAS_IMX_HAL
	select HAS_IMX_GPIO
	select HAS_IMX_EPIT
	select HAS_IMX_I2C
	select HAS_IMX_IOMUXC

endchoice

if SOC_SERIES_IMX_6X_M4

config SOC_PART_NUMBER_MCIMX6X1EVK10AB
	bool

config SOC_PART_NUMBER_MCIMX6X1EVK10AC
	bool

config SOC_PART_NUMBER_MCIMX6X3EVK10AB
	bool

config SOC_PART_NUMBER_MCIMX6X3EVK10AC
	bool

config SOC_PART_NUMBER_MCIMX6X1EVO10AB
	bool

config SOC_PART_NUMBER_MCIMX6X1EVO10AC
	bool

config SOC_PART_NUMBER_MCIMX6X3EVO10AB
	bool

config SOC_PART_NUMBER_MCIMX6X3EVO10AC
	bool

config SOC_PART_NUMBER_MCIMX6X2EVN10AB
	bool

config SOC_PART_NUMBER_MCIMX6X2EVN10AC
	bool

config SOC_PART_NUMBER_MCIMX6X3EVN10AB
	bool

config SOC_PART_NUMBER_MCIMX6X3EVN10AC
	bool

config SOC_PART_NUMBER_MCIMX6X4EVM10AB
	bool

config SOC_PART_NUMBER_MCIMX6X4EVM10AC
	bool

config SOC_PART_NUMBER_IMX_6X_M4
	string
	default "MCIMX6X1EVK10AB" if SOC_PART_NUMBER_MCIMX6X1EVK10AB
	default "MCIMX6X1EVK10AC" if SOC_PART_NUMBER_MCIMX6X1EVK10AC
	default "MCIMX6X3EVK10AB" if SOC_PART_NUMBER_MCIMX6X3EVK10AB
	default "MCIMX6X3EVK10AC" if SOC_PART_NUMBER_MCIMX6X3EVK10AC
	default "MCIMX6X1EVO10AB" if SOC_PART_NUMBER_MCIMX6X1EVO10AB
	default "MCIMX6X1EVO10AC" if SOC_PART_NUMBER_MCIMX6X1EVO10AC
	default "MCIMX6X3EVO10AB" if SOC_PART_NUMBER_MCIMX6X3EVO10AB
	default "MCIMX6X3EVO10AC" if SOC_PART_NUMBER_MCIMX6X3EVO10AC
	default "MCIMX6X2EVN10AB" if SOC_PART_NUMBER_MCIMX6X2EVN10AB
	default "MCIMX6X2EVN10AC" if SOC_PART_NUMBER_MCIMX6X2EVN10AC
	default "MCIMX6X3EVN10AB" if SOC_PART_NUMBER_MCIMX6X3EVN10AB
	default "MCIMX6X3EVN10AC" if SOC_PART_NUMBER_MCIMX6X3EVN10AC
	default "MCIMX6X4EVM10AB" if SOC_PART_NUMBER_MCIMX6X4EVM10AB
	default "MCIMX6X4EVM10AC" if SOC_PART_NUMBER_MCIMX6X4EVM10AC
	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_IMX_6X_M4
