# Kconfig - Silicon Labs EFR32FG1P platform configuration options

#
# Copyright (c) 2018 Christian Taedcke
#
# 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

endif # SERIAL

if I2C

config I2C_GECKO
	default y

endif # I2C

if FLASH

config SOC_FLASH_GECKO
	default y

endif # FLASH
