Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -150,37 +150,35 @@ Suspend to RAM (S2RAM) operation of the application requires special support fro
MCUboot on the nRF54H20 SoC supports Suspend to RAM (S2RAM) functionality in the application.
It can detect a wake-up from S2RAM and redirect execution to the application's resume routine.

To enable S2RAM support for your project, set the following MCUboot Kconfig options:
To enable S2RAM support for your project, set the following MCUboot Kconfig option:

* :kconfig:option:`CONFIG_PM` - Power management support.
* :kconfig:option:`CONFIG_PM_S2RAM` - Suspend to RAM support.
* :kconfig:option:`CONFIG_PM_S2RAM_CUSTOM_MARKING` - Custom S2RAM marking support.
* :kconfig:option:`CONFIG_SOC_NRF54H20_PM_S2RAM_OVERRIDE` - Enables MCUboot to override the default Nordic S2RAM implementation.
* :kconfig:option:`CONFIG_SOC_EARLY_RESET_HOOK` - Enables MCUboot to integrate S2RAM resume bridge into start-up code.

Also ensure that your board's DTS file includes the following Zephyr nodes, which describe the linker sections used:

* a ``zephyr,memory-region`` compatible node with nodelabel ``pm_s2ram`` of 32 B size for placing S2RAM cpu context RAM.
* a ``zephyr,memory-region`` compatible node with nodelabel ``mcuboot_s2ram`` of 4 B size for placing MCUboot's S2RAM magic variable.
* a ``zephyr,memory-region`` compatible node with nodelabel ``mcuboot_s2ram`` of 8 B size for placing MCUboot's S2RAM magic variable.
* a ``zephyr,memory-region`` compatible node labeled ``pm_s2ram_stack``, with a size of 16 bytes.
This region is used as the program stack during S2RAM resume by MCUboot.

Example DTS snippet:

.. code-block:: dts

/ {
soc {
/* run-time common mcuboot S2RAM support section */
mcuboot_s2ram: cpuapp_s2ram@22007fdc {
compatible = "zephyr,memory-region", "mmio-sram";
reg = <0x22007fdc 4>;
zephyr,memory-region = "mcuboot_s2ram_context";
};

/* S2RAM cpu context RAM allocation */
pm_s2ram: cpuapp_s2ram@22007fe0 {
compatible = "zephyr,memory-region", "mmio-sram";
reg = <0x22007fe0 32>;
zephyr,memory-region = "pm_s2ram_context";
};
/* run-time common mcuboot S2RAM support section */
mcuboot_s2ram: cpuapp_s2ram@22007fd8 {
compatible = "zephyr,memory-region", "mmio-sram";
reg = <0x22007fd8 8>;
zephyr,memory-region = "mcuboot_s2ram_context";
};

/* temporary stack for S2RAM resume logic */
pm_s2ram_stack: cpuapp_s2ram_stack@22007fc0 {
compatible = "zephyr,memory-region", "mmio-sram";
reg = <0x22007fc0 16>;
zephyr,memory-region = "pm_s2ram_stack";
};
};
};

Expand Down
4 changes: 2 additions & 2 deletions west.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ manifest:
# https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/modules.html
- name: zephyr
repo-path: sdk-zephyr
revision: afb7e743a05fb3147a253e3bbd44ee6e10663369
revision: pull/3285/head
import:
# In addition to the zephyr repository itself, NCS also
# imports the contents of zephyr/west.yml at the above
Expand Down Expand Up @@ -128,7 +128,7 @@ manifest:
compare-by-default: true
- name: mcuboot
repo-path: sdk-mcuboot
revision: 754f9586875dd72de367704e42c2121eb60696c3
revision: pull/536/head
path: bootloader/mcuboot
- name: qcbor
url: https://github.com/laurencelundblade/QCBOR
Expand Down
Loading