# Kconfig - Silicon Labs EFR32MG12P platform configuration options

#
# Copyright (c) 2018 Diego Sueiro
#
# SPDX-License-Identifier: Apache-2.0
#

if GPIO || LOG_BACKEND_SWO

config GPIO_GECKO
	default y

endif # GPIO || LOG_BACKEND_SWO

if SERIAL

config UART_GECKO
	default y

config LEUART_GECKO
	default y

endif # SERIAL

if I2C

config I2C_GECKO
	default y

endif # I2C

if FLASH

config SOC_FLASH_GECKO
	default y

endif # FLASH
