From b7dd60fd52db7505cbb56339b0772c149c421473 Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Wed, 11 Dec 2024 17:41:55 +0100 Subject: [PATCH] Add sysbuild configuration for required for NCS 2.8 --- Kconfig.sysbuild | 10 ++++++ README.md | 13 ++++++- sysbuild/ipc_radio/prj.conf | 50 ++++++++++++++++++++++++++ sysbuild/ipc_radio/prj_release.conf | 56 +++++++++++++++++++++++++++++ 4 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 Kconfig.sysbuild create mode 100644 sysbuild/ipc_radio/prj.conf create mode 100644 sysbuild/ipc_radio/prj_release.conf diff --git a/Kconfig.sysbuild b/Kconfig.sysbuild new file mode 100644 index 0000000..ee679c1 --- /dev/null +++ b/Kconfig.sysbuild @@ -0,0 +1,10 @@ +# +# Copyright (c) 2024 Nordic Semiconductor +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +config NRF_DEFAULT_IPC_RADIO + default y + +source "${ZEPHYR_BASE}/share/sysbuild/Kconfig" diff --git a/README.md b/README.md index dda8667..ad704e0 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,18 @@ It has been tested on the nRF5340 Audio DK, but it should work with any nRF5340 ```sh west build --pristine -b nrf5340dk/nrf5340/cpuapp -- -DEXTRA_DTC_OVERLAY_FILE=usb.overlay -DOVERLAY_CONFIG=overlay-usb.conf ``` -_HCI over UART and timesync not tested._ + +### HCI over UART 0 connected to Virtual UART in J-Link Probe +```sh +west build --pristine -b nrf5340dk/nrf5340/cpuapp +``` + +### HCI over UART 1 connected to Virtual UART in J-Link Probe +```sh +west build --pristine -b nrf5340dk/nrf5340/cpuapp +``` + +_HCI over UART 1 and timesync not tested._ ## nRF5340 Audio DK diff --git a/sysbuild/ipc_radio/prj.conf b/sysbuild/ipc_radio/prj.conf new file mode 100644 index 0000000..57a458d --- /dev/null +++ b/sysbuild/ipc_radio/prj.conf @@ -0,0 +1,50 @@ +# +# Copyright (c) 2023 Nordic Semiconductor ASA +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +CONFIG_HEAP_MEM_POOL_SIZE=8192 +CONFIG_MAIN_STACK_SIZE=2048 +CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048 + +CONFIG_MBOX=y +CONFIG_IPC_SERVICE=y + +CONFIG_BT=y +CONFIG_BT_HCI_RAW=y +CONFIG_BT_CTLR_ASSERT_HANDLER=y + +CONFIG_BT_ISO_PERIPHERAL=y +CONFIG_BT_ISO_CENTRAL=y +CONFIG_BT_ISO_BROADCASTER=y +CONFIG_BT_ISO_SYNC_RECEIVER=y +CONFIG_BT_EXT_ADV=y +CONFIG_BT_PER_ADV_SYNC_TRANSFER_RECEIVER=y +CONFIG_BT_PER_ADV_SYNC_TRANSFER_SENDER=y + +CONFIG_BT_CTLR_CONN_ISO_GROUPS=1 +CONFIG_BT_CTLR_CONN_ISO_STREAMS=2 +CONFIG_BT_CTLR_SYNC_ISO_STREAM_COUNT=2 +CONFIG_BT_CTLR_ADV_ISO_SET=1 +CONFIG_BT_CTLR_ADV_ISO_STREAM_COUNT=2 + +# Support two links as a central, or one link as a peripheral +CONFIG_BT_MAX_CONN=3 +CONFIG_BT_CTLR_SDC_PERIPHERAL_COUNT=1 + +# Allow using more than default advertising event length +CONFIG_BT_CTLR_ADV_DATA_LEN_MAX=251 + +# To present the audio at the right point in time, we need the controller and +# audio clock to be synchronized +CONFIG_MPSL_TRIGGER_IPC_TASK_ON_RTC_START=y +CONFIG_MPSL_TRIGGER_IPC_TASK_ON_RTC_START_CHANNEL=4 + +# Needed for builds with nrf21540 +# Can also be set to 20, but check local restrictions first +#CONFIG_BT_CTLR_TX_PWR_ANTENNA=10 +#CONFIG_MPSL_FEM_NRF21540_TX_GAIN_DB=10 + +CONFIG_IPC_RADIO_BT=y +CONFIG_IPC_RADIO_BT_HCI_IPC=y diff --git a/sysbuild/ipc_radio/prj_release.conf b/sysbuild/ipc_radio/prj_release.conf new file mode 100644 index 0000000..93f28af --- /dev/null +++ b/sysbuild/ipc_radio/prj_release.conf @@ -0,0 +1,56 @@ +# +# Copyright (c) 2023 Nordic Semiconductor ASA +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +CONFIG_HEAP_MEM_POOL_SIZE=8192 +CONFIG_MAIN_STACK_SIZE=2048 +CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048 + +CONFIG_MBOX=y +CONFIG_IPC_SERVICE=y + +CONFIG_BT=y +CONFIG_BT_HCI_RAW=y +CONFIG_BT_CTLR_ASSERT_HANDLER=y + +CONFIG_BT_ISO_PERIPHERAL=y +CONFIG_BT_ISO_CENTRAL=y +CONFIG_BT_ISO_BROADCASTER=y +CONFIG_BT_ISO_SYNC_RECEIVER=y +CONFIG_BT_EXT_ADV=y +CONFIG_BT_PER_ADV_SYNC_TRANSFER_RECEIVER=y +CONFIG_BT_PER_ADV_SYNC_TRANSFER_SENDER=y + +CONFIG_BT_CTLR_CONN_ISO_GROUPS=1 +CONFIG_BT_CTLR_CONN_ISO_STREAMS=2 +CONFIG_BT_CTLR_SYNC_ISO_STREAM_COUNT=2 +CONFIG_BT_CTLR_ADV_ISO_SET=1 +CONFIG_BT_CTLR_ADV_ISO_STREAM_COUNT=2 + +# Support two links as a central, or one link as a peripheral +CONFIG_BT_MAX_CONN=3 +CONFIG_BT_CTLR_SDC_PERIPHERAL_COUNT=1 + +# Allow using more than default advertising event length +CONFIG_BT_CTLR_ADV_DATA_LEN_MAX=251 + +# To present the audio at the right point in time, we need the controller and +# audio clock to be synchronized +CONFIG_MPSL_TRIGGER_IPC_TASK_ON_RTC_START=y +CONFIG_MPSL_TRIGGER_IPC_TASK_ON_RTC_START_CHANNEL=4 + +CONFIG_IPC_RADIO_BT=y +CONFIG_IPC_RADIO_BT_HCI_IPC=y + +# General +CONFIG_DEBUG=n +CONFIG_ASSERT=n +CONFIG_STACK_USAGE=n +CONFIG_THREAD_MONITOR=n +CONFIG_SERIAL=n +CONFIG_CONSOLE=n +CONFIG_PRINTK=n +CONFIG_UART_CONSOLE=n +CONFIG_BOOT_BANNER=n