# EFR32 radio board

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

if BOARD_EFR32_RADIO

config BOARD
	default "efr32_radio_brd4104a" if BOARD_EFR32_RADIO_BRD4104A
	default "efr32_radio_brd4170a" if BOARD_EFR32_RADIO_BRD4170A
	default "efr32_radio_brd4250b" if BOARD_EFR32_RADIO_BRD4250B
	default "efr32_radio_brd4180a" if BOARD_EFR32_RADIO_BRD4180A
	default "efr32_radio_brd4187c" if BOARD_EFR32_RADIO_BRD4187C
	default "efr32_radio_brd4255a" if BOARD_EFR32_RADIO_BRD4255A

config CMU_HFXO_FREQ
	default 39000000 if BOARD_EFR32_RADIO_BRD4187C
	default 38400000

config CMU_LFXO_FREQ
	default 32768

config FLASH_BASE_ADDRESS
	hex
	default 0x08000000 if BOARD_EFR32_RADIO_BRD4187C
	default 0x0

config LOG_BACKEND_SWO_FREQ_HZ
	default 875000
	depends on LOG_BACKEND_SWO

if SOC_GECKO_USE_RAIL

config FPU
	default n if SOC_GECKO_SERIES1
	default y

endif # SOC_GECKO_USE_RAIL

if BT

config FPU
	default y

config MINIMAL_LIBC_MALLOC_ARENA_SIZE
	default 8192

config MAIN_STACK_SIZE
	default 3072 if PM
	default 2304

choice BT_HCI_BUS_TYPE
	default BT_SILABS_HCI
endchoice

endif # BT

endif # BOARD_EFR32_RADIO
