Skip to content

Commit

Permalink
doc: matter: Add SUIT DFU to Matter samples docs.
Browse files Browse the repository at this point in the history
Described SUIT DFU process in Matter samples which can be performed
on nRF54H20 modules.
Currently only Matter OTA protocol is fully supported.

Signed-off-by: Arkadiusz Balys <[email protected]>
  • Loading branch information
ArekBalysNordic committed Jan 17, 2025
1 parent 491b885 commit 4389cc3
Show file tree
Hide file tree
Showing 5 changed files with 59 additions and 4 deletions.
10 changes: 7 additions & 3 deletions applications/matter_bridge/doc/matter_bridge_description.rst
Original file line number Diff line number Diff line change
Expand Up @@ -98,14 +98,18 @@ For example:
For information about how to upgrade the device firmware using a PC or a smartphone, see the :ref:`matter_bridge_app_dfu` section.

.. note::
Currently the DFU over Bluetooth LE SMP and Matter OTA are not available for the ``nrf54h20dk/nrf54h20/cpuapp`` board target.

The Matter bridge device has an additional functionality, enabling it to work as a smart plug.
This feature provides an additional endpoint with an ID equal to 2, which represents Matter on/off smart plug device type functionality.
This means that you can integrate the Matter bridge functionality into your end product, such as a smart plug, and avoid having to use a standalone bridge device.
This is an optional feature and can be enabled by :ref:`Configuring the smart plug functionality <matter_bridge_smart_plug_functionality>`.

SUIT DFU on nRF54H20
====================

.. include:: ../../../samples/matter/template/README.rst
:start-after: matter_template_dfu_suit_start
:end-before: matter_template_dfu_suit_end

.. _matter_bridge_app_bridged_support:

Bridged device support
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ However, there are the following limitations:
* This method requires two updates, which is not supported by all protocols.
* The manufacturer envelope cannot ensure the compatibility of SoC binaries with the manufacturer application.

.. _ug_nrf54h20_suit_soc_binaries_root_in_manufacturer:

Attaching the nordic_top.suit envelope to the manufacturer root manifest
========================================================================
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,8 @@ IPC radio firmware
Matter Bridge
-------------

|no_changes_yet_note|
* Enabled SUIT DFU support for the :ref:`matter_bridge_app` application.
Currently, only the Matter OTA protocol is fully supported for SUIT DFU purposes.

nRF5340 Audio
-------------
Expand Down Expand Up @@ -356,6 +357,8 @@ Matter samples
--------------

* Updated the :ref:`matter_template_sample` sample document with the instructions on how to build the sample on the nRF54L15 DK with support for Matter OTA DFU and DFU over Bluetooth SMP, and using internal MRAM only.
* Enabled SUIT DFU support for the :ref:`matter_lock_sample`, and :ref:`matter_template_sample` samples.
Currently, only the Matter OTA protocol is fully supported for SUIT DFU purposes.

Networking samples
------------------
Expand Down
7 changes: 7 additions & 0 deletions samples/matter/lock/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,13 @@ For example:
.. matter_door_lock_sample_build_with_dfu_end
SUIT DFU on nRF54H20
--------------------

.. include:: ../template/README.rst
:start-after: matter_template_dfu_suit_start
:end-before: matter_template_dfu_suit_end

.. _matter_lock_sample_configuration_fem:

FEM support
Expand Down
40 changes: 40 additions & 0 deletions samples/matter/template/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,46 @@ To build the sample for the same purpose, but in the ``release`` configuration,
Note that in this case, the size of the application partition is half of what it would be when using a configuration with external flash memory support.

SUIT DFU on nRF54H20
--------------------

.. matter_template_dfu_suit_start
Matter devices running on an nRF54H20 SoC support :ref:`ug_nrf54h20_suit_dfu`.
You can use SUIT mechanisms to update both the application and radio core firmware as well as the *nRF54H20 SoC binaries* provided by Nordic Semiconductor.
Currently, Matter samples support only the :ref:`ug_nrf54h20_suit_external_memory` approach and the *Push* firmware update model.
The default SUIT manifest template files are located in the :file:`config/suit/templates/nrf54h20/matter/v1` directory.
To change the source directory of the SUIT manifest template files, set the ``SUIT_BASE_MANIFEST_VARIANT`` sysbuild configuration option.

Currently, only DFU over the :ref:`ug_matter_overview_dfu` protocol is fully supported for this sample without any external tools.
To perform a firmware update using the Simple Management Protocol (SMP) over Bluetooth LE, you need an external tool that supports :ref:`ug_nrf54h20_suit_smp`.

To perform a firmware update of the application and radio core firmware using the :ref:`ug_matter_overview_dfu` protocol, ensure that the ``MATTER_OTA`` sysbuild configuration option is set to ``y`` and perform the firmware update as usual following the :doc:`matter:nrfconnect_examples_software_update` user guide.
In this case, the *nRF54H20 SoC binaries* will not be updated.

To update the *nRF54H20 SoC binaries*, follow the :ref:`ug_nrf54h20_suit_soc_binaries_root_in_manufacturer` user guide and define the page erase size of the device on which the cache partition is stored.
To set the page erase size for SUIT purposes use the ``SUIT_DFU_CACHE_PARTITION_X_EB_SIZE`` CMake variable, where ``X`` means the cache partition number.
If the external flash is used to store the cache partition, the page erase size is the same as the external flash page erase size.
For example on nRF54H20 DK, the page erase size is 4096 bytes accordingly to the ``mx25uw63`` flash memory erase page size.
To see the exact value of the cache 1 page erase size, see the devicetree configuration file, find the ``dfu_cache_partition_1`` node and check the erase page value for the device on which the partition is defined.

For example, you can use the following command to prepare the DFU files that include the *nRF54H20 SoC binaries* for Matter OTA on nRF54H20 DK:

.. code-block:: console
west build -b nrf54h20dk/nrf54h20/cpuapp -- -DSB_CONFIG_SUIT_ENVELOPE_NORDIC_TOP_DIRECTORY="\"<NORDIC_TOP_DIRECTORY>\"" -DSUIT_DFU_CACHE_PARTITION_1_EB_SIZE=4096
To perform a firmware update using the SMP over the Bluetooth LE protocol, write the following files to the device using an external tool and the SUIT SMP extension described in the :ref:`ug_nrf54h20_suit_smp` user guide:

* :file:`<build_dir>/DFU/root.suit` into slot 0.
* :file:`<build_dir>/DFU/dfu_cache_partition_1.bin` into slot 1.

The ``<build_dir>`` refers to your build directory.
The SUIT envelope file is included in the :file:`root.suit` file, whereas the new application firmware is included in the :file:`dfu_cache_partition_1.bin` file.
After transferring both files, confirm the update and reboot the device.

.. matter_template_dfu_suit_end
FEM support
===========

Expand Down

0 comments on commit 4389cc3

Please sign in to comment.