@@ -150,37 +150,34 @@ Suspend to RAM (S2RAM) operation of the application requires special support fro
150150MCUboot on the nRF54H20 SoC supports Suspend to RAM (S2RAM) functionality in the application.
151151It can detect a wake-up from S2RAM and redirect execution to the application's resume routine.
152152
153- To enable S2RAM support for your project, set the following MCUboot Kconfig options:
154-
155- * :kconfig:option: `CONFIG_PM ` - Power management support.
156- * :kconfig:option: `CONFIG_PM_S2RAM ` - Suspend to RAM support.
157- * :kconfig:option: `CONFIG_PM_S2RAM_CUSTOM_MARKING ` - Custom S2RAM marking support.
158- * :kconfig:option: `CONFIG_SOC_NRF54H20_PM_S2RAM_OVERRIDE ` - Enables MCUboot to override the default Nordic S2RAM implementation.
153+ To enable S2RAM support for your project, set the :kconfig:option: `CONFIG_SOC_EARLY_RESET_HOOK ` MCUboot Kconfig option.
154+ This option integrates the S2RAM resume bridge into the start-up code.
159155
160156Also ensure that your board's DTS file includes the following Zephyr nodes, which describe the linker sections used:
161157
162- * a ``zephyr,memory-region `` compatible node with nodelabel ``pm_s2ram `` of 32 B size for placing S2RAM cpu context RAM.
163- * a ``zephyr,memory-region `` compatible node with nodelabel ``mcuboot_s2ram `` of 4 B size for placing MCUboot's S2RAM magic variable.
158+ * a ``zephyr,memory-region `` compatible node labeled ``mcuboot_s2ram ``, with a size of 8 bytes, used for placing MCUboot's S2RAM magic variable.
159+ * a ``zephyr,memory-region `` compatible node labeled ``pm_s2ram_stack ``, with a size of 16 bytes.
160+ This region is used as the program stack by MCUboot during S2RAM resume.
164161
165162Example DTS snippet:
166163
167164.. code-block :: dts
168165
169166 / {
170167 soc {
171- /* run-time common mcuboot S2RAM support section */
172- mcuboot_s2ram: cpuapp_s2ram@22007fdc {
173- compatible = "zephyr,memory-region", "mmio-sram";
174- reg = <0x22007fdc 4 >;
175- zephyr,memory-region = "mcuboot_s2ram_context";
176- };
177-
178- /* S2RAM cpu context RAM allocation */
179- pm_s2ram: cpuapp_s2ram@22007fe0 {
180- compatible = "zephyr,memory-region", "mmio-sram";
181- reg = <0x22007fe0 32 >;
182- zephyr,memory-region = "pm_s2ram_context ";
183- };
168+ /* run-time common mcuboot S2RAM support section */
169+ mcuboot_s2ram: cpuapp_s2ram@22007fd8 {
170+ compatible = "zephyr,memory-region", "mmio-sram";
171+ reg = <0x22007fd8 8 >;
172+ zephyr,memory-region = "mcuboot_s2ram_context";
173+ };
174+
175+ /* temporary stack for S2RAM resume logic */
176+ pm_s2ram_stack: cpuapp_s2ram_stack@22007fc0 {
177+ compatible = "zephyr,memory-region", "mmio-sram";
178+ reg = <0x22007fc0 16 >;
179+ zephyr,memory-region = "pm_s2ram_stack ";
180+ };
184181 };
185182 };
186183
0 commit comments