Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nrfconnect/sdk-nrf
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 40ebe3fb5725a20c2af7cd631a8c1f2df172e189
Choose a base ref
..
head repository: nrfconnect/sdk-nrf
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 97bf992166a3b1e43364692da9187021958fff35
Choose a head ref
Showing with 709 additions and 41 deletions.
  1. +1 −0 CODEOWNERS
  2. +40 −0 cmake/sysbuild/suit.cmake
  3. +16 −0 cmake/sysbuild/suit_utilities.cmake
  4. +2 −1 doc/CMakeLists.txt
  5. +2 −2 doc/nrf/app_dev/device_guides/nrf54h/ug_nrf54h20_suit_customize_dfu.rst
  6. +2 −2 doc/nrf/conf.py
  7. +4 −4 doc/nrf/protocols/thread/overview/memory_tables/nrf52840.txt
  8. +9 −9 doc/nrf/protocols/thread/overview/memory_tables/nrf54l15.txt
  9. +27 −1 doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst
  10. +1 −1 doc/nrfxlib/conf.py
  11. +3 −0 samples/bluetooth/mesh/ble_peripheral_lbs_coex/prj.conf
  12. +3 −0 samples/bluetooth/mesh/light/overlay-dfu.conf
  13. +22 −0 samples/suit/recovery/Kconfig
  14. +1 −1 samples/suit/recovery/README.rst
  15. +19 −0 samples/suit/smp_transfer/boards/nrf54h20dk_nrf54h20_cpuapp_extflash.overlay
  16. +4 −0 samples/suit/smp_transfer/sample.yaml
  17. +5 −0 samples/suit/smp_transfer/suit/nrf54h20/app_envelope_extflash.yaml.jinja2
  18. +5 −0 samples/suit/smp_transfer/suit/nrf54h20/rad_envelope_extflash.yaml.jinja2
  19. +18 −11 samples/suit/smp_transfer/suit/nrf54h20/root_with_binary_nordic_top_extflash.yaml.jinja2
  20. +7 −1 samples/suit/smp_transfer/sysbuild.cmake
  21. +4 −4 samples/suit/smp_transfer/sysbuild/nrf54h20dk_nrf54h20_memory_map.dtsi
  22. +1 −0 subsys/net/lib/azure_iot_hub/src/azure_iot_hub.c
  23. +3 −0 subsys/nrf_security/src/psa_crypto_driver_wrappers.c
  24. +26 −2 sysbuild/Kconfig.suit
  25. +12 −0 tests/drivers/audio/pdm_loopback/CMakeLists.txt
  26. +36 −0 tests/drivers/audio/pdm_loopback/Kconfig
  27. +56 −0 tests/drivers/audio/pdm_loopback/boards/nrf54h20dk_nrf54h20_cpuapp.overlay
  28. +38 −0 tests/drivers/audio/pdm_loopback/boards/nrf54l15dk_nrf54l15_cpuapp.overlay
  29. +13 −0 tests/drivers/audio/pdm_loopback/prj.conf
  30. +280 −0 tests/drivers/audio/pdm_loopback/src/main.c
  31. +42 −0 tests/drivers/audio/pdm_loopback/testcase.yaml
  32. +1 −0 tests/drivers/flash/flash_rpc/testcase.yaml
  33. +4 −0 tests/subsys/net/lib/azure_iot_hub/iot_hub/src/azure_iot_hub_test.c
  34. +2 −2 west.yml
1 change: 1 addition & 0 deletions CODEOWNERS
This CODEOWNERS file is valid.
Original file line number Diff line number Diff line change
@@ -786,6 +786,7 @@
/tests/bluetooth/bsim/nrf_auraconfig/ @nrfconnect/ncs-audio
/tests/bluetooth/tester/ @carlescufi @nrfconnect/ncs-paladin
/tests/crypto/ @stephen-nordic @magnev
/tests/drivers/audio/pdm_loopback/ @nrfconnect/ncs-low-level-test
/tests/drivers/gpio/ @nrfconnect/ncs-low-level-test @nrfconnect/ncs-ll-ursus
/tests/drivers/flash/flash_rpc/ @nrfconnect/ncs-pluto
/tests/drivers/flash_patch/ @nrfconnect/ncs-pluto
40 changes: 40 additions & 0 deletions cmake/sysbuild/suit.cmake
Original file line number Diff line number Diff line change
@@ -331,6 +331,7 @@ function(suit_create_package)
set(RECOVERY_DFU_CACHE_PARTITIONS_USED "")

foreach(image ${IMAGES})
unset(EXTRACT_TO_CACHE)
sysbuild_get(EXTRACT_TO_CACHE IMAGE ${image} VAR CONFIG_SUIT_DFU_CACHE_EXTRACT_IMAGE KCONFIG)
if(EXTRACT_TO_CACHE)
sysbuild_get(CACHE_PARTITION_NUM IMAGE ${image} VAR CONFIG_SUIT_DFU_CACHE_EXTRACT_IMAGE_PARTITION KCONFIG)
@@ -468,6 +469,45 @@ function(suit_create_package)

sysbuild_get(DEFAULT_BINARY_DIR IMAGE ${DEFAULT_IMAGE} VAR APPLICATION_BINARY_DIR CACHE)

if(SB_CONFIG_SUIT_ENVELOPE_NORDIC_TOP_EXTRACT_PAYLOADS_TO_CACHE)
set(CACHE_CREATE_ARGS "")
set(nordic_cache_partition_num ${SB_CONFIG_SUIT_ENVELOPE_NORDIC_TOP_CACHE_PARTITION_NUM})
list(APPEND CACHE_CREATE_ARGS
"--input-envelope" "${ROOT_ENVELOPE_SUIT_FILE}"
"--output-envelope" "${ROOT_ENVELOPE_SUIT_FILE}"
"--eb-size" "${SUIT_DFU_CACHE_PARTITION_${nordic_cache_partition_num}_EB_SIZE}"
)

set(NORDIC_DFU_CACHE_PARTITION_FILE "dfu_cache_nordic.bin")

suit_create_nordic_cache_partition(
"${CACHE_CREATE_ARGS}"
"${NORDIC_DFU_CACHE_PARTITION_FILE}"
)

set(CACHE_MERGE_ARGS "")
list(APPEND CACHE_MERGE_ARGS
"--input" "${NORDIC_DFU_CACHE_PARTITION_FILE}"
"--output-file" "${SUIT_ROOT_DIRECTORY}dfu_cache_partition_${nordic_cache_partition_num}.bin"
"--eb-size" "${SUIT_DFU_CACHE_PARTITION_${nordic_cache_partition_num}_EB_SIZE}"
)

if(nordic_cache_partition_num IN_LIST DFU_CACHE_PARTITIONS_USED)
# Cache partition already created, merge the old partition file
list(APPEND CACHE_MERGE_ARGS
"--input" "${SUIT_ROOT_DIRECTORY}dfu_cache_partition_${nordic_cache_partition_num}.bin"
)
endif()

set_property(
GLOBAL APPEND PROPERTY SUIT_POST_BUILD_COMMANDS
COMMAND ${PYTHON_EXECUTABLE} ${SUIT_GENERATOR_CLI_SCRIPT}
cache_create
merge
${CACHE_MERGE_ARGS}
)
endif()

# Read SUIT storage addresses, set during MPI generation
sysbuild_get(SUIT_STORAGE_ADDRESS IMAGE ${DEFAULT_IMAGE} VAR SUIT_STORAGE_ADDRESS CACHE)
if(DEFINED SUIT_STORAGE_ADDRESS)
16 changes: 16 additions & 0 deletions cmake/sysbuild/suit_utilities.cmake
Original file line number Diff line number Diff line change
@@ -92,6 +92,7 @@ function(suit_create_cache_partition args output_file partition_num recovery)
GLOBAL APPEND PROPERTY SUIT_POST_BUILD_COMMANDS
COMMAND ${PYTHON_EXECUTABLE} ${SUIT_GENERATOR_CLI_SCRIPT}
cache_create
from_payloads
${args}
BYPRODUCTS ${output_file}
)
@@ -109,6 +110,21 @@ function(suit_create_cache_partition args output_file partition_num recovery)
endif()
endfunction()

function(suit_create_nordic_cache_partition args output_file)
list(APPEND args "--output-file" "${output_file}")
list(APPEND args "--omit-payload-regex" "'(?!.*secdom.*\.bin|.*sysctl_v.*\.bin).*'")
list(APPEND args "--dependency-regex" "'(#top|#secdom|#sysctrl)'")

set_property(
GLOBAL APPEND PROPERTY SUIT_POST_BUILD_COMMANDS
COMMAND ${PYTHON_EXECUTABLE} ${SUIT_GENERATOR_CLI_SCRIPT}
cache_create
from_envelope
${args}
BYPRODUCTS ${output_file}
)
endfunction()

# Usage:
# suit_add_merge_hex_file(FILES <files> [DEPENDENCIES <dependencies>]
#
3 changes: 2 additions & 1 deletion doc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -133,6 +133,7 @@ function(add_docset name version)
set(DOCSET_SRC_DIR ${CMAKE_BINARY_DIR}/${name}/src)
set(DOCSET_DOCTREE_DIR ${CMAKE_BINARY_DIR}/${name}/doctree)
set(DOCSET_HTML_DIR ${CMAKE_BINARY_DIR}/html/${name})
set(DOCSET_LINKCHECK_DIR ${CMAKE_BINARY_DIR}/linkcheck/${name})
set(DOCSET_MAKE_DIRS ${DOCSET_BUILD_DIR};${DOCSET_SRC_DIR};${DOCSET_HTML_DIR})
set(DOCSET_CLEAN_DIRS ${DOCSET_BUILD_DIR};${DOCSET_HTML_DIR})
set(DOCSET_ENV DOXYGEN_EXECUTABLE=${DOXYGEN_EXECUTABLE};DOCSET_VERSION=${version};DOCS_HTML_DIR=${DOCSET_HTML_DIR})
@@ -211,7 +212,7 @@ function(add_docset name version)
${SPHINXOPTS_EXTRA}
${EXTRA_ARGS}
${DOCSET_SRC_DIR}
${DOCSET_BUILD_DIR}
${DOCSET_LINKCHECK_DIR}
USES_TERMINAL
COMMENT "Checking links for ${name} docset..."
)
Original file line number Diff line number Diff line change
@@ -96,9 +96,9 @@ Using Nordic Semiconductor templates directly in a product is strongly discourag

The build system searches for the manifest templates in the following order:

#. It checks if :kconfig:option:`SB_CONFIG_SUIT_ENVELOPE_ROOT_TEMPLATE_FILENAME` or :kconfig:option:`CONFIG_SUIT_ENVELOPE_TEMPLATE_FILENAME` exists in the :file:`<sample-dir>/suit/${SB_CONFIG_SOC}/` file.
#. It checks if the :kconfig:option:`SB_CONFIG_SUIT_ENVELOPE_ROOT_TEMPLATE_FILENAME` or :kconfig:option:`CONFIG_SUIT_ENVELOPE_TEMPLATE_FILENAME` file exists in the :file:`<sample-dir>/suit/${SB_CONFIG_SOC}/` directory.

#. It checks if :kconfig:option:`SB_CONFIG_SUIT_ENVELOPE_ROOT_TEMPLATE_FILENAME` or :kconfig:option:`CONFIG_SUIT_ENVELOPE_TEMPLATE_FILENAME` exists in the :file:`<sdk-nrf-dir>/nrf/config/suit/templates/${SB_CONFIG_SOC}/${SB_CONFIG_SUIT_BASE_MANIFEST_VARIANT}/` file.
#. It checks if the :kconfig:option:`SB_CONFIG_SUIT_ENVELOPE_ROOT_TEMPLATE_FILENAME` or :kconfig:option:`CONFIG_SUIT_ENVELOPE_TEMPLATE_FILENAME` file exists in the :file:`<sdk-nrf-dir>/nrf/config/suit/templates/${SB_CONFIG_SOC}/${SB_CONFIG_SUIT_BASE_MANIFEST_VARIANT}/` directory.

The build system selects the set of files from the first successful step.

4 changes: 2 additions & 2 deletions doc/nrf/conf.py
Original file line number Diff line number Diff line change
@@ -58,8 +58,8 @@
]

linkcheck_ignore = [
# intersphinx links
r"(\.\.(\\|/))+(zephyr|kconfig|nrfxlib|mcuboot)",
# relative links (intersphinx, doxygen)
r"\.\.(\\|/)",
# redirecting and used in release notes
"https://github.com/nrfconnect/nrfxlib",
# link to access local documentation
8 changes: 4 additions & 4 deletions doc/nrf/protocols/thread/overview/memory_tables/nrf52840.txt
Original file line number Diff line number Diff line change
@@ -7,13 +7,13 @@
+-----------------------------+-------+-------+
| | FTD | MTD |
+=============================+=======+=======+
| ROM OT stack + App [kB] | 359 | 304 |
| ROM OT stack + App [kB] | 358 | 304 |
+-----------------------------+-------+-------+
| ROM Bluetooth LE stack [kB] | 0 | 0 |
+-----------------------------+-------+-------+
| Persistent storage [kB] | 32 | 32 |
+-----------------------------+-------+-------+
| Free ROM [kB] | 633 | 688 |
| Free ROM [kB] | 634 | 688 |
+-----------------------------+-------+-------+
| RAM OT stack + App [kB] | 93 | 83 |
+-----------------------------+-------+-------+
@@ -30,9 +30,9 @@
+-----------------------------+-------+-------+
| | FTD | MTD |
+=============================+=======+=======+
| ROM OT stack + App [kB] | 359 | 304 |
| ROM OT stack + App [kB] | 358 | 304 |
+-----------------------------+-------+-------+
| ROM Bluetooth LE stack [kB] | 75 | 76 |
| ROM Bluetooth LE stack [kB] | 76 | 76 |
+-----------------------------+-------+-------+
| Persistent storage [kB] | 32 | 32 |
+-----------------------------+-------+-------+
18 changes: 9 additions & 9 deletions doc/nrf/protocols/thread/overview/memory_tables/nrf54l15.txt
Original file line number Diff line number Diff line change
@@ -7,19 +7,19 @@
+-----------------------------+----------+-------+-------+
| | master | FTD | MTD |
+=============================+==========+=======+=======+
| ROM OT stack + App [kB] | 478 | 368 | 315 |
| ROM OT stack + App [kB] | 473 | 363 | 310 |
+-----------------------------+----------+-------+-------+
| ROM Bluetooth LE stack [kB] | 0 | 0 | 0 |
+-----------------------------+----------+-------+-------+
| Persistent storage [kB] | 32 | 32 | 32 |
+-----------------------------+----------+-------+-------+
| Free ROM [kB] | 1014 | 1124 | 1177 |
| Free ROM [kB] | 1019 | 1129 | 1182 |
+-----------------------------+----------+-------+-------+
| RAM OT stack + App [kB] | 107 | 98 | 87 |
| RAM OT stack + App [kB] | 107 | 97 | 87 |
+-----------------------------+----------+-------+-------+
| RAM Bluetooth LE stack [kB] | 0 | 0 | 0 |
+-----------------------------+----------+-------+-------+
| Free RAM [kB] | 149 | 158 | 169 |
| Free RAM [kB] | 149 | 159 | 169 |
+-----------------------------+----------+-------+-------+


@@ -30,17 +30,17 @@
+-----------------------------+----------+-------+-------+
| | master | FTD | MTD |
+=============================+==========+=======+=======+
| ROM OT stack + App [kB] | 478 | 368 | 315 |
| ROM OT stack + App [kB] | 473 | 363 | 310 |
+-----------------------------+----------+-------+-------+
| ROM Bluetooth LE stack [kB] | 91 | 91 | 91 |
| ROM Bluetooth LE stack [kB] | 91 | 91 | 90 |
+-----------------------------+----------+-------+-------+
| Persistent storage [kB] | 32 | 32 | 32 |
+-----------------------------+----------+-------+-------+
| Free ROM [kB] | 923 | 1033 | 1086 |
| Free ROM [kB] | 928 | 1038 | 1092 |
+-----------------------------+----------+-------+-------+
| RAM OT stack + App [kB] | 107 | 98 | 87 |
| RAM OT stack + App [kB] | 107 | 97 | 87 |
+-----------------------------+----------+-------+-------+
| RAM Bluetooth LE stack [kB] | 14 | 14 | 14 |
+-----------------------------+----------+-------+-------+
| Free RAM [kB] | 135 | 144 | 155 |
| Free RAM [kB] | 135 | 145 | 155 |
+-----------------------------+----------+-------+-------+
Original file line number Diff line number Diff line change
@@ -239,7 +239,33 @@ Bluetooth Fast Pair samples
Bluetooth Mesh samples
----------------------

|no_changes_yet_note|
* Added:

* Support for nRF54L15 in the following samples:

* :ref:`bluetooth_mesh_sensor_client`
* :ref:`bluetooth_mesh_sensor_server`
* :ref:`bluetooth_ble_peripheral_lbs_coex`
* :ref:`bt_mesh_chat`
* :ref:`bluetooth_mesh_light_switch`
* :ref:`bluetooth_mesh_silvair_enocean`
* :ref:`bluetooth_mesh_light_dim`
* :ref:`bluetooth_mesh_light`
* :ref:`ble_mesh_dfu_target`
* :ref:`bluetooth_mesh_light_lc`
* :ref:`ble_mesh_dfu_distributor`

* Support for nRF54L05 in the following samples:

* :ref:`bluetooth_mesh_sensor_client`
* :ref:`bluetooth_mesh_sensor_server`
* :ref:`bluetooth_ble_peripheral_lbs_coex`
* :ref:`bt_mesh_chat`
* :ref:`bluetooth_mesh_light_switch`
* :ref:`bluetooth_mesh_silvair_enocean`
* :ref:`bluetooth_mesh_light_dim`
* :ref:`bluetooth_mesh_light`
* :ref:`bluetooth_mesh_light_lc`

Cellular samples
----------------
2 changes: 1 addition & 1 deletion doc/nrfxlib/conf.py
Original file line number Diff line number Diff line change
@@ -44,7 +44,7 @@
]
master_doc = "README"

linkcheck_ignore = [r"(\.\.(\\|/))+(kconfig|nrf)"]
linkcheck_ignore = [r"\.\.(\\|/)"]
rst_epilog = """
.. include:: /doc/links.txt
.. include:: /doc/shortcuts.txt
3 changes: 3 additions & 0 deletions samples/bluetooth/mesh/ble_peripheral_lbs_coex/prj.conf
Original file line number Diff line number Diff line change
@@ -61,3 +61,6 @@ CONFIG_BT_MESH_ONOFF_SRV=y
# Enable the LBS service
CONFIG_BT_LBS=y
CONFIG_BT_LBS_POLL_BUTTON=y

# Increase the HCI command buffers to 3 for additional Peripheral LE Service
CONFIG_BT_BUF_CMD_TX_COUNT=3
3 changes: 3 additions & 0 deletions samples/bluetooth/mesh/light/overlay-dfu.conf
Original file line number Diff line number Diff line change
@@ -18,3 +18,6 @@ CONFIG_BT_MAX_CONN=3

# One extra identity for SMP service
CONFIG_BT_ID_MAX=2

# Increase the HCI command buffers to 3 for additional SMP service
CONFIG_BT_BUF_CMD_TX_COUNT=3
22 changes: 22 additions & 0 deletions samples/suit/recovery/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#
# Copyright (c) 2024 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

config SUIT_RECOVERY_EXTMEM
bool "External memory support for recovery application"
depends on $(dt_chosen_enabled,extmem-device)
default y
select GPIO

if SUIT_RECOVERY_EXTMEM

choice SUIT_DFU_CANDIDATE_PROCESSING_LEVEL
default SUIT_DFU_CANDIDATE_PROCESSING_PUSH_TO_CACHE

endchoice # SUIT_APP_ENVELOPE_PROCESSING_LEVEL

endif # SUIT_RECOVERY_EXTMEM

source "Kconfig.zephyr"
2 changes: 1 addition & 1 deletion samples/suit/recovery/README.rst
Original file line number Diff line number Diff line change
@@ -98,7 +98,7 @@ Testing

.. code-block:: console
nrfutil device x-write --address 0xE0A5000 --value 0xFFFF --serial-port COM7
nrfutil device x-write --address 0xE0BA000 --value 0xFFFF --serial-number <segger_id>
#. Reset the device to enter the recovery path:

Original file line number Diff line number Diff line change
@@ -22,3 +22,22 @@
};
};
};

&cpuapp_rx_partitions {
/delete-node/ partition@b7000;
/delete-node/ cpuapp_recovery_partition;
cpuapp_recovery_partition: partition@a5000 {
reg = <0xa5000 DT_SIZE_K(84)>;
};

cpuapp_slot0_partition: partition@ba000 {
reg = <0xba000 DT_SIZE_K(792)>;
};
};

&cpuapp_rw_partitions {
/delete-node/ partition@100000;
dfu_partition: partition@180000 {
reg = < 0x180000 DT_SIZE_K(396) >;
};
};
4 changes: 4 additions & 0 deletions samples/suit/smp_transfer/sample.yaml
Original file line number Diff line number Diff line change
@@ -56,6 +56,8 @@ tests:
- FILE_SUFFIX=bt
- EXTRA_DTC_OVERLAY_FILE="boards/nrf54h20dk_nrf54h20_cpuapp_extflash.overlay"
- SB_CONFIG_SUIT_BUILD_FLASH_COMPANION=y
- SB_CONFIG_SUIT_BUILD_RECOVERY=y
- recovery_TARGET_EXTRA_DTC_OVERLAY_FILE="boards/nrf54h20dk_nrf54h20_cpuapp_extflash.overlay"
# Workaround for sample.yaml - problems with strings. In the command line simply use:
# -D'SB_CONFIG_SUIT_ENVELOPE_ROOT_TEMPLATE_FILENAME="root_with_binary_nordic_top_extflash.yaml.jinja2"'
- SB_EXTRA_CONF_FILE="sysbuild_extflash_template.conf"
@@ -86,8 +88,10 @@ tests:
extra_args:
- FILE_SUFFIX=bt
- EXTRA_DTC_OVERLAY_FILE="boards/nrf54h20dk_nrf54h20_cpuapp_extflash.overlay"
- recovery_TARGET_EXTRA_DTC_OVERLAY_FILE="boards/nrf54h20dk_nrf54h20_cpuapp_extflash.overlay"
- SUIT_DFU_CACHE_PARTITION_1_EB_SIZE=4096
- SB_CONFIG_SUIT_BUILD_FLASH_COMPANION=y
- SB_CONFIG_SUIT_BUILD_RECOVERY=y
# Workaround for sample.yaml - problems with strings. In the command line simply use:
# -D'SB_CONFIG_SUIT_ENVELOPE_ROOT_TEMPLATE_FILENAME="root_with_binary_nordic_top_extflash.yaml.jinja2"'
- SB_EXTRA_CONF_FILE="sysbuild_extflash_template.conf"
Original file line number Diff line number Diff line change
@@ -265,6 +265,11 @@ SUIT_Envelope_Tagged:
- suit-send-record-failure
- suit-send-sysinfo-success
- suit-send-sysinfo-failure
- suit-directive-set-component-index: 0
# declare application image MRAM memory as IPUC
- suit-directive-override-parameters:
suit-parameter-image-size:
raw: 0

suit-manifest-component-id:
- INSTLD_MFST
Original file line number Diff line number Diff line change
@@ -172,6 +172,11 @@ SUIT_Envelope_Tagged:
- suit-send-record-failure
- suit-send-sysinfo-success
- suit-send-sysinfo-failure
# declare radio image MRAM memory as IPUC
- suit-directive-set-component-index: 0
- suit-directive-override-parameters:
suit-parameter-image-size:
raw: 0

suit-manifest-component-id:
- INSTLD_MFST
Loading