# Kconfig - 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

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
