@@ -140,6 +140,49 @@ Consider also the following recommendations:
140
140
* Add ``zephyr,pm-device-runtime-auto `` in the DTS for all peripherals with runtime PM support.
141
141
* Build and program an empty image on any unused core to release shared resources.
142
142
143
+ .. _ug_nrf54h20_pm_optimizations_bootloader :
144
+
145
+ Operation with MCUboot as the bootloader
146
+ ========================================
147
+
148
+ Suspend to RAM (S2RAM) operation of the application requires special support from the bootloader.
149
+
150
+ MCUboot on the nRF54H20 SoC supports Suspend to RAM (S2RAM) functionality in the Application.
151
+ It is able to detect wake-up from S2RAM and redirect execution to the Application's resume routine.
152
+ To enable S2RAM support for your project, set the following MCUboot Kconfig options:
153
+
154
+ * :kconfig:option: `CONFIG_PM ` - Power management support.
155
+ * :kconfig:option: `CONFIG_PM_S2RAM ` - Suspend to RAM support.
156
+ * :kconfig:option: `CONFIG_PM_S2RAM_CUSTOM_MARKING ` - Custom S2RAM making support.
157
+ * :kconfig:option: `CONFIG_SOC_NRF54H20_PM_S2RAM_OVERRIDE ` - Override Nordic s2ram implementation by MCUboot.
158
+
159
+ Also ensure that your board DTS file includes the following zephyr nodes for describing linker section used:
160
+
161
+ * a ``zephyr,memory-region `` compatible node with nodelabel ``pm_s2ram `` of 32 B size for placing S2RAM cpu context RAM.
162
+ * a ``zephyr,memory-region `` compatible node with nodelabel ``mcuboot_s2ram `` of 4 B size for placing MCUboot's S2RAM magic variable.
163
+
164
+ Example DTS snippet:
165
+
166
+ .. code-block :: dts
167
+
168
+ / {
169
+ soc {
170
+ /* run-time common mcuboot S2RAM support section */
171
+ mcuboot_s2ram: cpuapp_s2ram@22007fdc {
172
+ compatible = "zephyr,memory-region", "mmio-sram";
173
+ reg = <0x22007fdc 4>;
174
+ zephyr,memory-region = "mcuboot_s2ram_context";
175
+ };
176
+
177
+ /* S2RAM cpu context RAM allocation */
178
+ pm_s2ram: cpuapp_s2ram@22007fe0 {
179
+ compatible = "zephyr,memory-region", "mmio-sram";
180
+ reg = <0x22007fe0 32>;
181
+ zephyr,memory-region = "pm_s2ram_context";
182
+ };
183
+ };
184
+ };
185
+
143
186
Memory and cache optimization recommendations
144
187
=============================================
145
188
0 commit comments