You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
I am attempting to use an nRF53 as host for an external IW612-based Bluetooth module. However, I am getting a build failure due to multiple definitions of bt_hci_transport_setup().
This is caused by Zephyr always including drivers/bluetooth/hci/nrf53_support.c in the build for nRF53, while also including drivers/bluetooth/hci/hci_nxp_setup.c due to my build settings (see below). Both drivers implement bt_hci_transport_setup(). The nRF53 support file is always included when CONFIG_SOC_NRF5340_CPUAPP is defined, which makes it impossible to disable through project configuration. Although you would usually want to use the nRF53 Bluetooth support, it would be nice to have the option of disabling this driver and use an external module instead.
Looking at drivers/bluetooth/hci/CMakeLists.txt, this is the only HCI driver which is not controlled by its own Kconfig setting. A possible solution could be to add a CONFIG_BT_NRF53 Kconfig option to control whether to include this driver in the build.
To Reproduce
Build for the nrf5340dk/nrf5340/cpuapp platform
Add CONFIG_BT_H4_NXP_CTLR=y to prj.conf
Add the external HCI controller to the device tree, using something like:
Describe the bug
I am attempting to use an nRF53 as host for an external IW612-based Bluetooth module. However, I am getting a build failure due to multiple definitions of
bt_hci_transport_setup()
.This is caused by Zephyr always including
drivers/bluetooth/hci/nrf53_support.c
in the build for nRF53, while also includingdrivers/bluetooth/hci/hci_nxp_setup.c
due to my build settings (see below). Both drivers implementbt_hci_transport_setup()
. The nRF53 support file is always included whenCONFIG_SOC_NRF5340_CPUAPP
is defined, which makes it impossible to disable through project configuration. Although you would usually want to use the nRF53 Bluetooth support, it would be nice to have the option of disabling this driver and use an external module instead.Looking at
drivers/bluetooth/hci/CMakeLists.txt
, this is the only HCI driver which is not controlled by its own Kconfig setting. A possible solution could be to add aCONFIG_BT_NRF53
Kconfig option to control whether to include this driver in the build.To Reproduce
nrf5340dk/nrf5340/cpuapp
platformCONFIG_BT_H4_NXP_CTLR=y
to prj.confExpected behavior
Only one HCI driver should be included in the build.
Impact
It is currently not possible to use an nRF53 as host for an external Bluetooth controller over HCI.
The text was updated successfully, but these errors were encountered: