# Silicon Labs EFR32BG13P (Blue Gecko) MCU series

# Copyright (c) 2020 Piotr Mienkowski
# SPDX-License-Identifier: Apache-2.0

config SOC_SERIES_EFR32BG13P
	bool
	select SOC_FAMILY_SILABS_S1
	help
	  EFR32BG13P Series MCU

config SOC_PART_NUMBER_EFR32BG13P632F512GM48
	bool
	select SOC_SERIES_EFR32BG13P

config SOC_SERIES
	default "efr32bg13p" if SOC_SERIES_EFR32BG13P

config SOC
	default "efr32bg13p632f512gm48" if SOC_PART_NUMBER_EFR32BG13P632F512GM48

config SOC_PART_NUMBER
	default "EFR32BG13P632F512GM48" if SOC_PART_NUMBER_EFR32BG13P632F512GM48
