# Silicon Labs EFR32MG24 (Mighty Gecko) MCU line

# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0

config SOC_SERIES_EFR32MG24
	bool
	select SOC_FAMILY_SILABS_S2
	help
	  EFR32MG24 Series MCU

config SOC_PART_NUMBER_EFR32MG24B220F1536IM48
	bool
	select SOC_SERIES_EFR32MG24

config SOC_PART_NUMBER_EFR32MG24B310F1536IM48
	bool
	select SOC_SERIES_EFR32MG24

config SOC_SERIES
	default "efr32mg24" if SOC_SERIES_EFR32MG24

config SOC
	default "efr32mg24b220f1536im48" if SOC_PART_NUMBER_EFR32MG24B220F1536IM48
	default "efr32mg24b310f1536im48" if SOC_PART_NUMBER_EFR32MG24B310F1536IM48

config SOC_PART_NUMBER
	default "EFR32MG24B220F1536IM48" if SOC_PART_NUMBER_EFR32MG24B220F1536IM48
	default "EFR32MG24B310F1536IM48" if SOC_PART_NUMBER_EFR32MG24B310F1536IM48
