|
32 | 32 | reg = <0>; |
33 | 33 | #address-cells = <1>; |
34 | 34 | #size-cells = <1>; |
| 35 | + cpu-power-states = <&idle &suspend &standby>; |
35 | 36 |
|
36 | 37 | mpu: mpu@e000ed90 { |
37 | 38 | compatible = "arm,armv8m-mpu"; |
38 | 39 | reg = <0xe000ed90 0x40>; |
39 | 40 | }; |
40 | 41 | }; |
| 42 | + |
| 43 | + power-states { |
| 44 | + /* Idle mode maps to Sleep mode. */ |
| 45 | + idle: idle { |
| 46 | + compatible = "zephyr,power-state"; |
| 47 | + power-state-name = "runtime-idle"; |
| 48 | + min-residency-us = <60>; |
| 49 | + exit-latency-us = <16>; |
| 50 | + zephyr,pm-device-disabled; |
| 51 | + }; |
| 52 | + |
| 53 | + /* Suspend mode maps to Deep Sleep mode. */ |
| 54 | + suspend: suspend { |
| 55 | + compatible = "zephyr,power-state"; |
| 56 | + power-state-name = "suspend-to-idle"; |
| 57 | + min-residency-us = <1300>; |
| 58 | + exit-latency-us = <749>; |
| 59 | + }; |
| 60 | + |
| 61 | + /* Standby mode maps to Power Down mode with CPU retention . */ |
| 62 | + standby: standby { |
| 63 | + compatible = "zephyr,power-state"; |
| 64 | + power-state-name = "standby"; |
| 65 | + min-residency-us = <2000>; |
| 66 | + exit-latency-us = <1345>; |
| 67 | + }; |
| 68 | + }; |
| 69 | + }; |
| 70 | + |
| 71 | + /* For the resource which will be off and lose content. */ |
| 72 | + standby_off_domain: standby-off-domain { |
| 73 | + compatible = "power-domain-soc-state-change"; |
| 74 | + #power-domain-cells = <0>; |
| 75 | + onoff-power-states = <&standby>; |
41 | 76 | }; |
42 | 77 |
|
43 | 78 | sysclk: system-clock { |
|
175 | 210 | mode = <0>; |
176 | 211 | input = <0>; |
177 | 212 | prescale = <0>; |
| 213 | + zephyr,disabling-power-states = <&suspend &standby>; |
178 | 214 | }; |
179 | 215 |
|
180 | 216 | ctimer1: ctimer@9000 { |
|
187 | 223 | mode = <0>; |
188 | 224 | input = <0>; |
189 | 225 | prescale = <0>; |
| 226 | + zephyr,disabling-power-states = <&suspend &standby>; |
190 | 227 | }; |
191 | 228 |
|
192 | 229 | ctimer2: ctimer@28000 { |
|
199 | 236 | mode = <0>; |
200 | 237 | input = <0>; |
201 | 238 | prescale = <0>; |
| 239 | + zephyr,disabling-power-states = <&suspend &standby>; |
202 | 240 | }; |
203 | 241 |
|
204 | 242 | ctimer3: ctimer@29000 { |
|
211 | 249 | mode = <0>; |
212 | 250 | input = <0>; |
213 | 251 | prescale = <0>; |
| 252 | + zephyr,disabling-power-states = <&suspend &standby>; |
214 | 253 | }; |
215 | 254 |
|
216 | 255 | ctimer4: ctimer@2a000 { |
|
223 | 262 | mode = <0>; |
224 | 263 | input = <0>; |
225 | 264 | prescale = <0>; |
| 265 | + zephyr,disabling-power-states = <&suspend &standby>; |
226 | 266 | }; |
227 | 267 |
|
228 | 268 | sc_timer: pwm@85000 { |
|
232 | 272 | status = "disabled"; |
233 | 273 | clocks = <&syscon MCUX_SCTIMER_CLK>; |
234 | 274 | prescaler = <2>; |
| 275 | + zephyr,disabling-power-states = <&suspend &standby>; |
235 | 276 | #pwm-cells = <3>; |
236 | 277 | }; |
237 | 278 |
|
238 | 279 | os_timer: timers@2d000 { |
239 | 280 | compatible = "nxp,os-timer"; |
240 | 281 | reg = <0x2d000 0x1000>; |
241 | 282 | interrupts = <38 1>; |
| 283 | + resets = <&reset NXP_SYSCON_RESET(1, 1)>; |
242 | 284 | status = "disabled"; |
243 | 285 | }; |
244 | 286 |
|
|
250 | 292 | resets = <&reset NXP_SYSCON_RESET(1, 11)>; |
251 | 293 | dmas = <&dma0 4 &dma0 5>; |
252 | 294 | dma-names = "rx", "tx"; |
| 295 | + zephyr,disabling-power-states = <&suspend &standby>; |
253 | 296 | status = "disabled"; |
254 | 297 | }; |
255 | 298 |
|
|
261 | 304 | resets = <&reset NXP_SYSCON_RESET(1, 12)>; |
262 | 305 | dmas = <&dma0 6 &dma0 7>; |
263 | 306 | dma-names = "rx", "tx"; |
| 307 | + zephyr,disabling-power-states = <&suspend &standby>; |
| 308 | + power-domains = <&standby_off_domain>; |
264 | 309 | status = "disabled"; |
265 | 310 | }; |
266 | 311 |
|
|
272 | 317 | resets = <&reset NXP_SYSCON_RESET(1, 13)>; |
273 | 318 | dmas = <&dma0 8 &dma0 9>; |
274 | 319 | dma-names = "rx", "tx"; |
| 320 | + zephyr,disabling-power-states = <&suspend &standby>; |
| 321 | + power-domains = <&standby_off_domain>; |
275 | 322 | status = "disabled"; |
276 | 323 | }; |
277 | 324 |
|
|
287 | 334 | reg = <0x82000 0x1000>; |
288 | 335 | interrupts = <1 1>; |
289 | 336 | dma-channels = <23>; |
| 337 | + zephyr,disabling-power-states = <&suspend &standby>; |
| 338 | + power-domains = <&standby_off_domain>; |
290 | 339 | status = "disabled"; |
291 | 340 | #dma-cells = <1>; |
292 | 341 | }; |
|
296 | 345 | reg = <0xa7000 0x1000>; |
297 | 346 | interrupts = <58 1>; |
298 | 347 | dma-channels = <10>; |
| 348 | + zephyr,disabling-power-states = <&suspend &standby>; |
| 349 | + power-domains = <&standby_off_domain>; |
299 | 350 | status = "disabled"; |
300 | 351 | #dma-cells = <1>; |
301 | 352 | }; |
|
328 | 379 | resets = <&reset NXP_SYSCON_RESET(1, 0)>; |
329 | 380 | #address-cells = <1>; |
330 | 381 | #size-cells = <0>; |
| 382 | + zephyr,disabling-power-states = <&suspend &standby>; |
331 | 383 |
|
332 | 384 | mrt0_channel0: mrt0_channel@0 { |
333 | 385 | compatible = "nxp,mrt-channel"; |
|
0 commit comments