From 26039757bc8b2175a27ce954165ccc92651d64c9 Mon Sep 17 00:00:00 2001 From: Dominik Chat Date: Mon, 3 Jun 2024 14:50:49 +0200 Subject: [PATCH] samples: wifi: Switch BLE/IEEE802154 radio firmware to ipc_radio Swap hci_ipc and 802154_rpmsg to ipc_radio for supported wifi samples. Jira: NCSDK-27659 Signed-off-by: Dominik Chat --- .../releases/release-notes-changelog.rst | 2 ++ samples/wifi/ble_coex/Kconfig.sysbuild | 10 ++++++++++ samples/wifi/ble_coex/README.rst | 8 ++++---- samples/wifi/ble_coex/sample.yaml | 18 +++++++++--------- .../sysbuild/{hci_ipc => ipc_radio}/prj.conf | 15 ++++++--------- samples/wifi/provisioning/ble/Kconfig.sysbuild | 3 --- .../sysbuild/{hci_ipc => ipc_radio}/prj.conf | 15 ++++++--------- samples/wifi/thread_coex/Kconfig.sysbuild | 10 ++++++++++ samples/wifi/thread_coex/sample.yaml | 16 ++++++++-------- .../thread_coex/sysbuild/ipc_radio/prj.conf | 16 ++++++++++++++++ 10 files changed, 71 insertions(+), 42 deletions(-) create mode 100644 samples/wifi/ble_coex/Kconfig.sysbuild rename samples/wifi/ble_coex/sysbuild/{hci_ipc => ipc_radio}/prj.conf (76%) rename samples/wifi/provisioning/ble/sysbuild/{hci_ipc => ipc_radio}/prj.conf (74%) create mode 100644 samples/wifi/thread_coex/Kconfig.sysbuild create mode 100644 samples/wifi/thread_coex/sysbuild/ipc_radio/prj.conf diff --git a/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst b/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst index 72ffe8e90afa..0429baa714c8 100644 --- a/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst +++ b/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst @@ -759,6 +759,8 @@ Zigbee samples that used :ref:`zephyr:nrf-ieee802154-rpmsg-sample` or :ref:`mult Wi-Fi samples ------------- +Wi-Fi samples that used :ref:`zephyr:bluetooth-hci-ipc-sample` or :ref:`zephyr:nrf-ieee802154-rpmsg-sample` radio core firmware, now use the :ref:`ipc_radio`. + * Added the :ref:`softap_wifi_provision_sample` sample. * Added the :ref:`wifi_thread_coex_sample` sample that demonstrates Wi-Fi and Thread coexistence. diff --git a/samples/wifi/ble_coex/Kconfig.sysbuild b/samples/wifi/ble_coex/Kconfig.sysbuild new file mode 100644 index 000000000000..11bb1e685162 --- /dev/null +++ b/samples/wifi/ble_coex/Kconfig.sysbuild @@ -0,0 +1,10 @@ +# +# Copyright (c) 2024 Nordic Semiconductor +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +source "${ZEPHYR_BASE}/share/sysbuild/Kconfig" + +config NRF_DEFAULT_IPC_RADIO + default y diff --git a/samples/wifi/ble_coex/README.rst b/samples/wifi/ble_coex/README.rst index 163eb0f13a6a..cf51376ea3fe 100644 --- a/samples/wifi/ble_coex/README.rst +++ b/samples/wifi/ble_coex/README.rst @@ -137,7 +137,7 @@ The following are examples of the CLI commands: .. code-block:: console - west build -p -b nrf7002dk/nrf5340/cpuapp -- -DCONFIG_MPSL_CX=n -Dhci_ipc_CONFIG_MPSL_CX=n + west build -p -b nrf7002dk/nrf5340/cpuapp -- -DCONFIG_MPSL_CX=n -Dipc_radio_CONFIG_MPSL_CX=n Use this command for Wi-Fi throughput only, Bluetooth LE throughput only, or concurrent Wi-Fi and Bluetooth LE throughput with coexistence disabled tests. @@ -145,7 +145,7 @@ Use this command for Wi-Fi throughput only, Bluetooth LE throughput only, or con .. code-block:: console - west build -p -b nrf7002dk/nrf5340/cpuapp -- -DCONFIG_MPSL_CX=y -Dhci_ipc_CONFIG_MPSL_CX=y + west build -p -b nrf7002dk/nrf5340/cpuapp -- -DCONFIG_MPSL_CX=y -Dipc_radio_CONFIG_MPSL_CX=y Use this command for concurrent Wi-Fi and Bluetooth LE throughput with coexistence enabled test. @@ -169,13 +169,13 @@ Add the following SHIELD options for the nRF7002 EK and nRF7001 EK. .. code-block:: console - -DSHIELD=nrf7002ek -Dhci_ipc_SHIELD=nrf7002ek_coex + -DSHIELD=nrf7002ek -Dipc_radio_SHIELD=nrf7002ek_coex * For nRF7001 EK: .. code-block:: console - -DSHIELD=nrf7002ek_nrf7001 -Dhci_ipc_SHIELD=nrf7002ek_nrf7001_coex + -DSHIELD=nrf7002ek_nrf7001 -Dipc_radio_SHIELD=nrf7002ek_nrf7001_coex The generated HEX file to be used is :file:`ble_coex/build/zephyr/merged_domains.hex`. diff --git a/samples/wifi/ble_coex/sample.yaml b/samples/wifi/ble_coex/sample.yaml index 87d53359b595..490afbda626e 100644 --- a/samples/wifi/ble_coex/sample.yaml +++ b/samples/wifi/ble_coex/sample.yaml @@ -8,7 +8,7 @@ tests: build_only: true integration_platforms: - nrf7002dk/nrf5340/cpuapp - extra_args: CONFIG_MPSL_CX=y hci_ipc_CONFIG_MPSL_CX=y + extra_args: CONFIG_MPSL_CX=y ipc_radio_CONFIG_MPSL_CX=y CONFIG_COEX_SEP_ANTENNAS=y platform_allow: nrf7002dk/nrf5340/cpuapp tags: ci_build sysbuild @@ -17,7 +17,7 @@ tests: build_only: true integration_platforms: - nrf7002dk/nrf5340/cpuapp - extra_args: CONFIG_MPSL_CX=y hci_ipc_CONFIG_MPSL_CX=y + extra_args: CONFIG_MPSL_CX=y ipc_radio_CONFIG_MPSL_CX=y CONFIG_COEX_SEP_ANTENNAS=n platform_allow: nrf7002dk/nrf5340/cpuapp tags: ci_build sysbuild @@ -26,7 +26,7 @@ tests: build_only: true integration_platforms: - nrf7002dk/nrf5340/cpuapp/nrf7001 - extra_args: CONFIG_MPSL_CX=y hci_ipc_CONFIG_MPSL_CX=y + extra_args: CONFIG_MPSL_CX=y ipc_radio_CONFIG_MPSL_CX=y CONFIG_COEX_SEP_ANTENNAS=y platform_allow: nrf7002dk/nrf5340/cpuapp/nrf7001 tags: ci_build sysbuild @@ -36,8 +36,8 @@ tests: build_only: true integration_platforms: - nrf5340dk/nrf5340/cpuapp - extra_args: SHIELD=nrf7002ek hci_ipc_SHIELD=nrf7002ek_coex - CONFIG_MPSL_CX=y hci_ipc_CONFIG_MPSL_CX=y + extra_args: SHIELD=nrf7002ek ipc_radio_SHIELD=nrf7002ek_coex + CONFIG_MPSL_CX=y ipc_radio_CONFIG_MPSL_CX=y CONFIG_COEX_SEP_ANTENNAS=y platform_allow: nrf5340dk/nrf5340/cpuapp tags: ci_build sysbuild @@ -46,16 +46,16 @@ tests: build_only: true integration_platforms: - nrf5340dk/nrf5340/cpuapp - extra_args: SHIELD=nrf7002ek_nrf7001 hci_ipc_SHIELD=nrf7002ek_nrf7001_coex - CONFIG_MPSL_CX=y hci_ipc_CONFIG_MPSL_CX=y + extra_args: SHIELD=nrf7002ek_nrf7001 ipc_radio_SHIELD=nrf7002ek_nrf7001_coex + CONFIG_MPSL_CX=y ipc_radio_CONFIG_MPSL_CX=y CONFIG_COEX_SEP_ANTENNAS=y platform_allow: nrf5340dk/nrf5340/cpuapp tags: sysbuild sample.nrf7002_eb.thingy53.ble_coex: sysbuild: true build_only: true - extra_args: ble_coex_SHIELD=nrf7002eb hci_ipc_SHIELD=nrf7002eb_coex - CONFIG_MPSL_CX=y hci_ipc_CONFIG_MPSL_CX=y + extra_args: ble_coex_SHIELD=nrf7002eb ipc_radio_SHIELD=nrf7002eb_coex + CONFIG_MPSL_CX=y ipc_radio_CONFIG_MPSL_CX=y CONFIG_COEX_SEP_ANTENNAS=y integration_platforms: - thingy53/nrf5340/cpuapp diff --git a/samples/wifi/ble_coex/sysbuild/hci_ipc/prj.conf b/samples/wifi/ble_coex/sysbuild/ipc_radio/prj.conf similarity index 76% rename from samples/wifi/ble_coex/sysbuild/hci_ipc/prj.conf rename to samples/wifi/ble_coex/sysbuild/ipc_radio/prj.conf index 78f7871a1ade..09b348acd631 100644 --- a/samples/wifi/ble_coex/sysbuild/hci_ipc/prj.conf +++ b/samples/wifi/ble_coex/sysbuild/ipc_radio/prj.conf @@ -1,20 +1,14 @@ -CONFIG_IPC_SERVICE=y -CONFIG_MBOX=y - CONFIG_HEAP_MEM_POOL_SIZE=8192 - CONFIG_MAIN_STACK_SIZE=512 CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=512 +CONFIG_MBOX=y +CONFIG_IPC_SERVICE=y + CONFIG_BT=y CONFIG_BT_HCI_RAW=y #CONFIG_BT_MAX_CONN=16 - -# Workaround: Unable to allocate command buffer when using K_NO_WAIT since -# Host number of completed commands does not follow normal flow control. -CONFIG_BT_BUF_CMD_TX_COUNT=10 - # Enable and adjust the below value as necessary # CONFIG_BT_BUF_EVT_RX_COUNT=16 # CONFIG_BT_BUF_EVT_RX_SIZE=255 @@ -29,3 +23,6 @@ CONFIG_BT_BUF_ACL_RX_SIZE=502 CONFIG_BT_BUF_ACL_TX_SIZE=502 CONFIG_BT_MAX_CONN=2 + +CONFIG_IPC_RADIO_BT=y +CONFIG_IPC_RADIO_BT_HCI_IPC=y diff --git a/samples/wifi/provisioning/ble/Kconfig.sysbuild b/samples/wifi/provisioning/ble/Kconfig.sysbuild index d56170702508..17c81e65255f 100644 --- a/samples/wifi/provisioning/ble/Kconfig.sysbuild +++ b/samples/wifi/provisioning/ble/Kconfig.sysbuild @@ -8,6 +8,3 @@ source "${ZEPHYR_BASE}/share/sysbuild/Kconfig" config NRF_DEFAULT_IPC_RADIO default y - -config NETCORE_IPC_RADIO_BT_HCI_IPC - default y diff --git a/samples/wifi/provisioning/ble/sysbuild/hci_ipc/prj.conf b/samples/wifi/provisioning/ble/sysbuild/ipc_radio/prj.conf similarity index 74% rename from samples/wifi/provisioning/ble/sysbuild/hci_ipc/prj.conf rename to samples/wifi/provisioning/ble/sysbuild/ipc_radio/prj.conf index a54323a887d9..4b107c91b1b9 100644 --- a/samples/wifi/provisioning/ble/sysbuild/hci_ipc/prj.conf +++ b/samples/wifi/provisioning/ble/sysbuild/ipc_radio/prj.conf @@ -1,20 +1,14 @@ -CONFIG_IPC_SERVICE=y -CONFIG_MBOX=y - CONFIG_HEAP_MEM_POOL_SIZE=8192 - CONFIG_MAIN_STACK_SIZE=512 CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=512 +CONFIG_MBOX=y +CONFIG_IPC_SERVICE=y + CONFIG_BT=y CONFIG_BT_HCI_RAW=y #CONFIG_BT_MAX_CONN=16 - -# Workaround: Unable to allocate command buffer when using K_NO_WAIT since -# Host number of completed commands does not follow normal flow control. -CONFIG_BT_BUF_CMD_TX_COUNT=10 - # Enable and adjust the below value as necessary # CONFIG_BT_BUF_EVT_RX_COUNT=16 # CONFIG_BT_BUF_EVT_RX_SIZE=255 @@ -26,3 +20,6 @@ CONFIG_BT_BUF_ACL_TX_SIZE=151 CONFIG_BT_BUF_ACL_RX_SIZE=151 CONFIG_BT_CTLR_DATA_LENGTH_MAX=151 CONFIG_BT_MAX_CONN=2 + +CONFIG_IPC_RADIO_BT=y +CONFIG_IPC_RADIO_BT_HCI_IPC=y diff --git a/samples/wifi/thread_coex/Kconfig.sysbuild b/samples/wifi/thread_coex/Kconfig.sysbuild new file mode 100644 index 000000000000..11bb1e685162 --- /dev/null +++ b/samples/wifi/thread_coex/Kconfig.sysbuild @@ -0,0 +1,10 @@ +# +# Copyright (c) 2024 Nordic Semiconductor +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +source "${ZEPHYR_BASE}/share/sysbuild/Kconfig" + +config NRF_DEFAULT_IPC_RADIO + default y diff --git a/samples/wifi/thread_coex/sample.yaml b/samples/wifi/thread_coex/sample.yaml index cd1587a7dee1..3d184e796092 100644 --- a/samples/wifi/thread_coex/sample.yaml +++ b/samples/wifi/thread_coex/sample.yaml @@ -8,7 +8,7 @@ tests: build_only: true integration_platforms: - nrf7002dk/nrf5340/cpuapp - extra_args: CONFIG_MPSL_CX=y 802154_rpmsg_CONFIG_MPSL_CX=y + extra_args: CONFIG_MPSL_CX=y ipc_radio_CONFIG_MPSL_CX=y CONFIG_COEX_SEP_ANTENNAS=y EXTRA_CONF_FILE="overlay-ot.conf;overlay-wifi-udp-client-thread-udp-client.conf" platform_allow: nrf7002dk/nrf5340/cpuapp @@ -18,7 +18,7 @@ tests: build_only: true integration_platforms: - nrf7002dk/nrf5340/cpuapp/nrf7001 - extra_args: CONFIG_MPSL_CX=y 802154_rpmsg_CONFIG_MPSL_CX=y + extra_args: CONFIG_MPSL_CX=y ipc_radio_CONFIG_MPSL_CX=y CONFIG_COEX_SEP_ANTENNAS=y EXTRA_CONF_FILE="overlay-ot.conf;overlay-wifi-udp-client-thread-udp-client.conf" platform_allow: nrf7002dk/nrf5340/cpuapp/nrf7001 @@ -28,8 +28,8 @@ tests: build_only: true integration_platforms: - nrf5340dk/nrf5340/cpuapp - extra_args: SHIELD=nrf7002ek 802154_rpmsg_SHIELD=nrf7002ek_coex - CONFIG_MPSL_CX=y 802154_rpmsg_CONFIG_MPSL_CX=y + extra_args: SHIELD=nrf7002ek ipc_radio_SHIELD=nrf7002ek_coex + CONFIG_MPSL_CX=y ipc_radio_CONFIG_MPSL_CX=y CONFIG_COEX_SEP_ANTENNAS=y EXTRA_CONF_FILE="overlay-ot.conf;overlay-wifi-udp-client-thread-udp-client.conf" platform_allow: nrf5340dk/nrf5340/cpuapp @@ -39,8 +39,8 @@ tests: build_only: true integration_platforms: - nrf5340dk/nrf5340/cpuapp - extra_args: SHIELD=nrf7002ek_nrf7001 802154_rpmsg_SHIELD=nrf7002ek_nrf7001_coex - CONFIG_MPSL_CX=y 802154_rpmsg_CONFIG_MPSL_CX=y + extra_args: SHIELD=nrf7002ek_nrf7001 ipc_radio_SHIELD=nrf7002ek_nrf7001_coex + CONFIG_MPSL_CX=y ipc_radio_CONFIG_MPSL_CX=y CONFIG_COEX_SEP_ANTENNAS=y EXTRA_CONF_FILE="overlay-ot.conf;overlay-wifi-udp-client-thread-udp-client.conf" platform_allow: nrf5340dk/nrf5340/cpuapp @@ -48,8 +48,8 @@ tests: sample.nrf7002_eb.thingy53.thread_coex: sysbuild: true build_only: true - extra_args: thread_coex_SHIELD=nrf7002eb 802154_rpmsg_SHIELD=nrf7002eb_coex - CONFIG_MPSL_CX=y 802154_rpmsg_CONFIG_MPSL_CX=y + extra_args: thread_coex_SHIELD=nrf7002eb ipc_radio_SHIELD=nrf7002eb_coex + CONFIG_MPSL_CX=y ipc_radio_CONFIG_MPSL_CX=y CONFIG_COEX_SEP_ANTENNAS=y EXTRA_CONF_FILE="overlay-ot.conf;overlay-wifi-udp-client-thread-udp-client.conf" integration_platforms: diff --git a/samples/wifi/thread_coex/sysbuild/ipc_radio/prj.conf b/samples/wifi/thread_coex/sysbuild/ipc_radio/prj.conf new file mode 100644 index 000000000000..9920208d36ac --- /dev/null +++ b/samples/wifi/thread_coex/sysbuild/ipc_radio/prj.conf @@ -0,0 +1,16 @@ +# +# Copyright (c) 2024 Nordic Semiconductor +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +CONFIG_SERIAL=n +CONFIG_UART_CONSOLE=n +CONFIG_LOG=n + +CONFIG_NRF_802154_SER_RADIO=y +CONFIG_NRF_RTC_TIMER_USER_CHAN_COUNT=2 +CONFIG_NRF_802154_ENCRYPTION=y + +CONFIG_IPC_RADIO_BT=y +CONFIG_IPC_RADIO_802154=y