# 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_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 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
