diff --git a/doc/nrf/app_dev/device_guides/working_with_nrf/nrf54h/ug_nrf54h20_suit_customize_qsg.rst b/doc/nrf/app_dev/device_guides/working_with_nrf/nrf54h/ug_nrf54h20_suit_customize_qsg.rst index 5acd59eb8f2..c2ca81df40e 100644 --- a/doc/nrf/app_dev/device_guides/working_with_nrf/nrf54h/ug_nrf54h20_suit_customize_qsg.rst +++ b/doc/nrf/app_dev/device_guides/working_with_nrf/nrf54h/ug_nrf54h20_suit_customize_qsg.rst @@ -119,3 +119,5 @@ The SUIT DFU procedure can further be customized by: Instructions for these actions and further customization are described in the :ref:`ug_nrf54h20_suit_customize_dfu` page. Additionally, you can modify SUIT components within the manifest (see the :ref:`ug_nrf54h20_suit_components` page for more information). + +If an update to the *nRF54H20 SoC binaries* (precompiled binaries provided by Nordic Semiconductor) is required, refer to the :ref:`ug_nrf54h20_suit_soc_binaries` page. diff --git a/doc/nrf/app_dev/device_guides/working_with_nrf/nrf54h/ug_nrf54h20_suit_dfu.rst b/doc/nrf/app_dev/device_guides/working_with_nrf/nrf54h/ug_nrf54h20_suit_dfu.rst index 7957aa8e02a..1e5c6b15036 100644 --- a/doc/nrf/app_dev/device_guides/working_with_nrf/nrf54h/ug_nrf54h20_suit_dfu.rst +++ b/doc/nrf/app_dev/device_guides/working_with_nrf/nrf54h/ug_nrf54h20_suit_dfu.rst @@ -28,5 +28,6 @@ For a list of available SUIT samples, see the :ref:`suit_samples` page. ug_nrf54h20_suit_customize_dfu.rst ug_nrf54h20_suit_fetch ug_nrf54h20_suit_external_memory - ug_nrf54h20_suit_components.rst - ug_nrf54h20_suit_hierarchical_manifests.rst + ug_nrf54h20_suit_components + ug_nrf54h20_suit_hierarchical_manifests + ug_nrf54h20_suit_soc_binaries diff --git a/doc/nrf/app_dev/device_guides/working_with_nrf/nrf54h/ug_nrf54h20_suit_soc_binaries.rst b/doc/nrf/app_dev/device_guides/working_with_nrf/nrf54h/ug_nrf54h20_suit_soc_binaries.rst new file mode 100644 index 00000000000..d7ccd40d40d --- /dev/null +++ b/doc/nrf/app_dev/device_guides/working_with_nrf/nrf54h/ug_nrf54h20_suit_soc_binaries.rst @@ -0,0 +1,73 @@ +.. _ug_nrf54h20_suit_soc_binaries: + +Upgrade the nRF54h20 SOC binaries with SUIT +############################################################# + +The nRF54H20 SoC includes the *nRF54h20 SOC binaries*, precompiled firmware components provided by Nordic Semiconductor that provide basic functionality and security features. + +To see which version of the nRF54h20 SOC binaries to use with the given version of the nRF Connect SDK, see the :ref:`ABI compatibility page `. + +Updating the nRF54h20 SOC binaries +********************************** + +You can update the nRF54h20 SoC binaries in two ways. +Both methods require using the :file:`nordic_top.suit` envelope, which can be found inside the nRF54h20 SOC binaries ZIP file. + +The two methods for updating are the following: + +* Updating separately from the manufacturer application. + +* Updating along with the manufacturer application, by attaching the :file:`nordic_top.suit` envelope to the manufacturer root manifest, updating both the SoC binaries and the manufacturer's application simultaneously. + + +Updating the nRF54h20 SOC binaries separately from the manufacturer application +=========================================================================== + +When using this method, two separate updates are performed: + +1. An update using a manufacturer envelope that contains the update candidate. +2. A second update, provided by the :file:`nordic_top.suit` envelope from the SoC binaries bundle. + +Each envelope contains all the necessary information, allowing the device to differentiate between the two updates. + +This approach was chosen for the following benefits: + +* A smaller partition is required for storing the update candidate. +* There is no need to integrate the process of downloading Nordic artifacts into the manufacturer application build process. +* There is no need to update the version and sequence number of the manufacturer root manifest, if only SoC binaries updates are required. + +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. + + +Attaching the nordic_top.suit envelope to the manufacturer root manifest +======================================================================== + +When building an application, you can configure the build system to include the Nordic components inside the SUIT root envelope used for updates. + +This approach has the following benefits: + +* The entire update can be performed by pushing a single image to the device, which may be required by some protocols. +* The manufacturer root manifest can be used to manage dependencies between the manufacturer application and the SoC binaries. + +This approach has the following drawbacks: + +* A larger partition is required to store the update candidate, as both the manufacturer and the SoC binaries must fit within it. +* The manufacturer must integrate the process of downloading Nordic artifacts into the update package creation process. + +To build and perform an update using this method, do the following: + +1. Unpack the SoC binaries ZIP file to a directory of your choice. + One of the extracted files will be the :file:`nordic_top.suit` envelope. + +2. Build the application, pointing to the directory containing the :file:`nordic_top.suit` envelope. + To do this, set the ``SUIT_ENVELOPE_NORDIC_TOP_DIRECTORY`` sysbuild configuration option. + For example:: + + west build -b nrf54h20dk/nrf54h20/cpuapp -- -DSB_CONFIG_SUIT_ENVELOPE_NORDIC_TOP_DIRECTORY="\"\"" + + Replace ```` with the path to the directory containing the extracted :file:`nordic_top.suit` file. + +3. Use the :file:`build/DFU/root.suit` file generated by the build system to update both the manufacturer application and the SoC binaries.