diff --git a/applications/nrf_desktop/configuration/nrf52810dmouse_nrf52810/app.overlay b/applications/nrf_desktop/configuration/nrf52810dmouse_nrf52810/app.overlay index 73429d7cea1..c4d37722d6b 100644 --- a/applications/nrf_desktop/configuration/nrf52810dmouse_nrf52810/app.overlay +++ b/applications/nrf_desktop/configuration/nrf52810dmouse_nrf52810/app.overlay @@ -2,3 +2,17 @@ compatible = "nordic,nrf-spim"; status = "okay"; }; + +&bt_hci_controller { + status = "okay"; +}; + +&bt_hci_sdc { + status = "disabled"; +}; + +/ { + chosen { + zephyr,bt-hci = &bt_hci_controller; + }; +}; diff --git a/applications/nrf_desktop/configuration/nrf52820dongle_nrf52820/app.overlay b/applications/nrf_desktop/configuration/nrf52820dongle_nrf52820/app.overlay index c1584db0864..d5fd65eccb1 100644 --- a/applications/nrf_desktop/configuration/nrf52820dongle_nrf52820/app.overlay +++ b/applications/nrf_desktop/configuration/nrf52820dongle_nrf52820/app.overlay @@ -1,4 +1,8 @@ / { + chosen { + zephyr,bt-hci = &bt_hci_controller; + }; + /* Configure DTS nodes used for USB next HID support. */ hid_dev_0: hid_dev_0 { compatible = "zephyr,hid-device"; @@ -59,3 +63,11 @@ num-isoin-endpoints = <0>; num-isoout-endpoints = <0>; }; + +&bt_hci_controller { + status = "okay"; +}; + +&bt_hci_sdc { + status = "disabled"; +}; diff --git a/applications/nrf_desktop/configuration/nrf52833dk_nrf52820/app.overlay b/applications/nrf_desktop/configuration/nrf52833dk_nrf52820/app.overlay index aa025910742..72c29d7ae8c 100644 --- a/applications/nrf_desktop/configuration/nrf52833dk_nrf52820/app.overlay +++ b/applications/nrf_desktop/configuration/nrf52833dk_nrf52820/app.overlay @@ -1,4 +1,8 @@ / { + chosen { + zephyr,bt-hci = &bt_hci_controller; + }; + /* Configure DTS nodes used for USB next HID support. */ hid_dev_0: hid_dev_0 { compatible = "zephyr,hid-device"; @@ -51,3 +55,12 @@ num-isoin-endpoints = <0>; num-isoout-endpoints = <0>; }; + +&bt_hci_controller { + status = "okay"; +}; + + +&bt_hci_sdc { + status = "disabled"; +}; diff --git a/dts/bindings/bluetooth/nordic,bt-hci-sdc.yaml b/dts/bindings/bluetooth/nordic,bt-hci-sdc.yaml new file mode 100644 index 00000000000..08ea1fc8d2e --- /dev/null +++ b/dts/bindings/bluetooth/nordic,bt-hci-sdc.yaml @@ -0,0 +1,11 @@ +description: Bluetooth HCI provided by the SoftDevice Controller + +compatible: "nordic,bt-hci-sdc" + +include: bt-hci.yaml + +properties: + bt-hci-name: + default: "SDC" + bt-hci-bus: + default: "BT_HCI_BUS_VIRTUAL" diff --git a/samples/bluetooth/direction_finding_central/sysbuild.cmake b/samples/bluetooth/direction_finding_central/sysbuild.cmake new file mode 100644 index 00000000000..a534bd0b9e3 --- /dev/null +++ b/samples/bluetooth/direction_finding_central/sysbuild.cmake @@ -0,0 +1,24 @@ +# +# Copyright (c) 2024 Nordic Semiconductor +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +if(NOT SB_CONFIG_SOC_NRF5340_CPUAPP) + if(NOT "bt-ll-sw-split" IN_LIST ${DEFAULT_IMAGE}_SNIPPET) + list(APPEND ${DEFAULT_IMAGE}_SNIPPET ${SNIPPET}) + list(APPEND ${DEFAULT_IMAGE}_SNIPPET bt-ll-sw-split) + set(${DEFAULT_IMAGE}_SNIPPET ${${DEFAULT_IMAGE}_SNIPPET} CACHE STRING "" FORCE) + endif() + if(SB_CONFIG_SECURE_BOOT_BUILD_S1_VARIANT_IMAGE AND NOT "bt-ll-sw-split" IN_LIST s1_image_SNIPPET) + list(APPEND s1_image_SNIPPET ${SNIPPET}) + list(APPEND s1_image_SNIPPET bt-ll-sw-split) + set(s1_image_SNIPPET ${s1_image_SNIPPET} CACHE STRING "" FORCE) + endif() +endif() + +if(NOT "bt-ll-sw-split" IN_LIST ipc_radio_SNIPPET) + list(APPEND ipc_radio_SNIPPET ${SNIPPET}) + list(APPEND ipc_radio_SNIPPET bt-ll-sw-split) + set(ipc_radio_SNIPPET ${ipc_radio_SNIPPET} CACHE STRING "" FORCE) +endif() diff --git a/samples/bluetooth/direction_finding_connectionless_rx/sysbuild.cmake b/samples/bluetooth/direction_finding_connectionless_rx/sysbuild.cmake new file mode 100644 index 00000000000..a534bd0b9e3 --- /dev/null +++ b/samples/bluetooth/direction_finding_connectionless_rx/sysbuild.cmake @@ -0,0 +1,24 @@ +# +# Copyright (c) 2024 Nordic Semiconductor +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +if(NOT SB_CONFIG_SOC_NRF5340_CPUAPP) + if(NOT "bt-ll-sw-split" IN_LIST ${DEFAULT_IMAGE}_SNIPPET) + list(APPEND ${DEFAULT_IMAGE}_SNIPPET ${SNIPPET}) + list(APPEND ${DEFAULT_IMAGE}_SNIPPET bt-ll-sw-split) + set(${DEFAULT_IMAGE}_SNIPPET ${${DEFAULT_IMAGE}_SNIPPET} CACHE STRING "" FORCE) + endif() + if(SB_CONFIG_SECURE_BOOT_BUILD_S1_VARIANT_IMAGE AND NOT "bt-ll-sw-split" IN_LIST s1_image_SNIPPET) + list(APPEND s1_image_SNIPPET ${SNIPPET}) + list(APPEND s1_image_SNIPPET bt-ll-sw-split) + set(s1_image_SNIPPET ${s1_image_SNIPPET} CACHE STRING "" FORCE) + endif() +endif() + +if(NOT "bt-ll-sw-split" IN_LIST ipc_radio_SNIPPET) + list(APPEND ipc_radio_SNIPPET ${SNIPPET}) + list(APPEND ipc_radio_SNIPPET bt-ll-sw-split) + set(ipc_radio_SNIPPET ${ipc_radio_SNIPPET} CACHE STRING "" FORCE) +endif() diff --git a/samples/bluetooth/direction_finding_connectionless_tx/sysbuild.cmake b/samples/bluetooth/direction_finding_connectionless_tx/sysbuild.cmake new file mode 100644 index 00000000000..a534bd0b9e3 --- /dev/null +++ b/samples/bluetooth/direction_finding_connectionless_tx/sysbuild.cmake @@ -0,0 +1,24 @@ +# +# Copyright (c) 2024 Nordic Semiconductor +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +if(NOT SB_CONFIG_SOC_NRF5340_CPUAPP) + if(NOT "bt-ll-sw-split" IN_LIST ${DEFAULT_IMAGE}_SNIPPET) + list(APPEND ${DEFAULT_IMAGE}_SNIPPET ${SNIPPET}) + list(APPEND ${DEFAULT_IMAGE}_SNIPPET bt-ll-sw-split) + set(${DEFAULT_IMAGE}_SNIPPET ${${DEFAULT_IMAGE}_SNIPPET} CACHE STRING "" FORCE) + endif() + if(SB_CONFIG_SECURE_BOOT_BUILD_S1_VARIANT_IMAGE AND NOT "bt-ll-sw-split" IN_LIST s1_image_SNIPPET) + list(APPEND s1_image_SNIPPET ${SNIPPET}) + list(APPEND s1_image_SNIPPET bt-ll-sw-split) + set(s1_image_SNIPPET ${s1_image_SNIPPET} CACHE STRING "" FORCE) + endif() +endif() + +if(NOT "bt-ll-sw-split" IN_LIST ipc_radio_SNIPPET) + list(APPEND ipc_radio_SNIPPET ${SNIPPET}) + list(APPEND ipc_radio_SNIPPET bt-ll-sw-split) + set(ipc_radio_SNIPPET ${ipc_radio_SNIPPET} CACHE STRING "" FORCE) +endif() diff --git a/samples/bluetooth/direction_finding_peripheral/sysbuild.cmake b/samples/bluetooth/direction_finding_peripheral/sysbuild.cmake new file mode 100644 index 00000000000..a534bd0b9e3 --- /dev/null +++ b/samples/bluetooth/direction_finding_peripheral/sysbuild.cmake @@ -0,0 +1,24 @@ +# +# Copyright (c) 2024 Nordic Semiconductor +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +if(NOT SB_CONFIG_SOC_NRF5340_CPUAPP) + if(NOT "bt-ll-sw-split" IN_LIST ${DEFAULT_IMAGE}_SNIPPET) + list(APPEND ${DEFAULT_IMAGE}_SNIPPET ${SNIPPET}) + list(APPEND ${DEFAULT_IMAGE}_SNIPPET bt-ll-sw-split) + set(${DEFAULT_IMAGE}_SNIPPET ${${DEFAULT_IMAGE}_SNIPPET} CACHE STRING "" FORCE) + endif() + if(SB_CONFIG_SECURE_BOOT_BUILD_S1_VARIANT_IMAGE AND NOT "bt-ll-sw-split" IN_LIST s1_image_SNIPPET) + list(APPEND s1_image_SNIPPET ${SNIPPET}) + list(APPEND s1_image_SNIPPET bt-ll-sw-split) + set(s1_image_SNIPPET ${s1_image_SNIPPET} CACHE STRING "" FORCE) + endif() +endif() + +if(NOT "bt-ll-sw-split" IN_LIST ipc_radio_SNIPPET) + list(APPEND ipc_radio_SNIPPET ${SNIPPET}) + list(APPEND ipc_radio_SNIPPET bt-ll-sw-split) + set(ipc_radio_SNIPPET ${ipc_radio_SNIPPET} CACHE STRING "" FORCE) +endif() diff --git a/samples/debug/ppi_trace/sysbuild.cmake b/samples/debug/ppi_trace/sysbuild.cmake new file mode 100644 index 00000000000..afb8425a450 --- /dev/null +++ b/samples/debug/ppi_trace/sysbuild.cmake @@ -0,0 +1,19 @@ +# +# Copyright (c) 2024 Nordic Semiconductor +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +if(SB_CONFIG_SOC_SERIES_NRF52X) + if(NOT "bt-ll-sw-split" IN_LIST ${DEFAULT_IMAGE}_SNIPPET) + list(APPEND ${DEFAULT_IMAGE}_SNIPPET ${SNIPPET}) + list(APPEND ${DEFAULT_IMAGE}_SNIPPET bt-ll-sw-split) + set(${DEFAULT_IMAGE}_SNIPPET ${${DEFAULT_IMAGE}_SNIPPET} CACHE STRING "" FORCE) + endif() +endif() + +if(NOT "bt-ll-sw-split" IN_LIST ipc_radio_SNIPPET) + list(APPEND ipc_radio_SNIPPET ${SNIPPET}) + list(APPEND ipc_radio_SNIPPET bt-ll-sw-split) + set(ipc_radio_SNIPPET ${ipc_radio_SNIPPET} CACHE STRING "" FORCE) +endif() diff --git a/subsys/bluetooth/controller/ecdh.c b/subsys/bluetooth/controller/ecdh.c index 751d3e90089..fbf04cc83e2 100644 --- a/subsys/bluetooth/controller/ecdh.c +++ b/subsys/bluetooth/controller/ecdh.c @@ -18,7 +18,7 @@ #include "ecdh.h" -#define DT_DRV_COMPAT zephyr_bt_hci_ll_sw_split +#define DT_DRV_COMPAT nordic_bt_hci_sdc #define LOG_LEVEL CONFIG_BT_HCI_DRIVER_LOG_LEVEL #include "zephyr/logging/log.h" diff --git a/subsys/bluetooth/controller/hci_driver.c b/subsys/bluetooth/controller/hci_driver.c index b3509d73032..9a3be228780 100644 --- a/subsys/bluetooth/controller/hci_driver.c +++ b/subsys/bluetooth/controller/hci_driver.c @@ -32,7 +32,7 @@ #include "ecdh.h" #include "radio_nrf5_txp.h" -#define DT_DRV_COMPAT zephyr_bt_hci_ll_sw_split +#define DT_DRV_COMPAT nordic_bt_hci_sdc #define LOG_LEVEL CONFIG_BT_HCI_DRIVER_LOG_LEVEL #include "zephyr/logging/log.h" diff --git a/tests/drivers/nrfx_integration_test/testcase.yaml b/tests/drivers/nrfx_integration_test/testcase.yaml index 933a78ec081..4140d34eca1 100644 --- a/tests/drivers/nrfx_integration_test/testcase.yaml +++ b/tests/drivers/nrfx_integration_test/testcase.yaml @@ -44,6 +44,7 @@ tests: tags: drivers ci_build sysbuild ci_tests_drivers_nrfx_integration_test extra_configs: - CONFIG_NRFX_AND_BT_LL_SW_SPLIT=y + extra_args: SNIPPET="bt-ll-sw-split" platform_allow: - nrf52840dk/nrf52840 - nrf5340dk/nrf5340/cpunet diff --git a/west.yml b/west.yml index 89fd877f584..5352141d65c 100644 --- a/west.yml +++ b/west.yml @@ -72,7 +72,7 @@ manifest: # https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/modules.html - name: zephyr repo-path: sdk-zephyr - revision: 21c97d07da26177a3d1cc000f523e3fe73569d63 + revision: fb6ca20a06ba31a3dc1b86d6986d48ad4a5760b0 import: # In addition to the zephyr repository itself, NCS also # imports the contents of zephyr/west.yml at the above