# Silicon Labs EFR32MG24 (Mighty Gecko) MCU

# Copyright (c) 2021 Sateesh Kotapati
# SPDX-License-Identifier: Apache-2.0

config SOC_SERIES_EFR32MG24
	bool "EFR32MG24 Series MCU"
	select ARM
	select CPU_CORTEX_M33
	select CPU_HAS_FPU
	select CPU_HAS_ARM_MPU
	select CPU_HAS_ARM_SAU
	select CPU_CORTEX_M_HAS_DWT
	select ARMV8_M_DSP
	select ARM_TRUSTZONE_M
	select SOC_FAMILY_EXX32
	select SOC_GECKO_SERIES2
	select HAS_SILABS_GECKO
	select HAS_SWO
	select SOC_GECKO_CMU
	select SOC_GECKO_EMU
	select SOC_GECKO_GPIO
	select SOC_GECKO_DEV_INIT
	select SOC_GECKO_SE
	help
	  Enable support for EFR32MG24 Mighty Gecko MCU series
