# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0

config SOC_SERIES_IMXRT6XX
	bool
	select SOC_FAMILY_NXP_IMXRT

config SOC_SERIES
	default "imxrt6xx" if SOC_SERIES_IMXRT6XX

config SOC_MIMXRT685S_CM33
	bool
	select SOC_SERIES_IMXRT6XX

config SOC
	default "mimxrt685s" if SOC_MIMXRT685S_CM33

config SOC_PART_NUMBER_MIMXRT685SFVKB
	bool
	select SOC_MIMXRT685S_CM33

config SOC_PART_NUMBER_MIMXRT685SFFOB
	bool
	select SOC_MIMXRT685S_CM33

config SOC_PART_NUMBER_MIMXRT685SFAWBR
	bool
	select SOC_MIMXRT685S_CM33

config SOC_PART_NUMBER
	default "MIMXRT685SFVKB" if SOC_PART_NUMBER_MIMXRT685SFVKB
	default "MIMXRT685SFFOB" if SOC_PART_NUMBER_MIMXRT685SFFOB
	default "MIMXRT685SFAWBR" if SOC_PART_NUMBER_MIMXRT685SFAWBR
