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 3, 2025
1 parent c11551a commit c68920b
Show file tree
Hide file tree
Showing 5 changed files with 57 additions and 5 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:
* Two separate updates are required, 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 @@ -188,7 +188,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 @@ -319,7 +320,8 @@ Keys samples
Matter samples
--------------

|no_changes_yet_note|
* Enabled SUIT DFU support for the :ref:`matter_lock`, and :ref:`matter_template` 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
38 changes: 38 additions & 0 deletions samples/matter/template/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,44 @@ The following is an example command to build the sample on the nRF54L15 DK with
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
nRF54H20 Matter devices support :ref:`ug_nrf54h20_suit_dfu`.
You can use SUIT mechanisms to update Application and Radio cores 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 ``config/suit/templates/nrf54h20/matter/v1`` directory.
You can change the SUIT manifest template files source directory by setting 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 cores 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 Nordic binaries* will not be updated.

To update the *nRF54H20 SoC Nordic binaries*, you need to follow the :ref:`ug_nrf54h20_suit_soc_binaries_root_in_manufacturer` user guide and additionally define the cache partition size according to the device tree configuration using the ``SUIT_DFU_CACHE_PARTITION_1_EB_SIZE`` CMake variable.
By default, the cache partition size is set to 2048 kB.
To see the exact value of the cache 1 partition size, see the device tree configuration file and find the ``dfu_cache_partition_1`` node.

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

.. 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=2048
To perform a firmware update using the SMP over |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:

1. :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 c68920b

Please sign in to comment.