# Thunderboard-style boards

# Copyright (c) 2023 Antmicro <www.antmicro.com>
# SPDX-License-Identifier: Apache-2.0

if BOARD_EFR32BG22_BRD4184A

config BOARD
	default "efr32bg22_brd4184a"

endif # BOARD_EFR32BG22_BRD4184A

if BOARD_EFR32BG27_BRD2602A

config BOARD
	default "efr32bg27_brd2602a"

endif # BOARD_EFR32BG27_BRD2602A

config CMU_HFXO_FREQ
	default 40000000

config CMU_LFXO_FREQ
	default 32768

if BT

config FPU
	default y

config COMMON_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

config REGULATOR
	default y if SI7210
