# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

if BOARD_NRF54H20DK_NRF54H20_CPUAPP

choice BT_HCI_BUS_TYPE
	default BT_HCI_IPC if BT
endchoice

endif # BOARD_NRF54H20DK_NRF54H20_CPUAPP

if BOARD_NRF54H20DK_NRF54H20_CPURAD

config BT_CTLR
	default y if BT

endif # BOARD_NRF54H20DK_NRF54H20_CPURAD
