pm: power-states node needs to be a child of cpus

This again aligns with Linux.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This commit is contained in:
Gerard Marull-Paretas 2023-07-19 11:48:55 +02:00 committed by Carles Cufí
commit e4c43e4cc9
30 changed files with 508 additions and 504 deletions

View file

@ -22,19 +22,19 @@
reg = <0>;
cpu-power-states = <&idle &suspend_to_ram>;
};
};
power-states {
idle: idle {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <1000000>;
};
power-states {
idle: idle {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <1000000>;
};
suspend_to_ram: suspend_to_ram {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-ram";
min-residency-us = <2000000>;
suspend_to_ram: suspend_to_ram {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-ram";
min-residency-us = <2000000>;
};
};
};

View file

@ -28,19 +28,19 @@
reg = <0>;
cpu-power-states = <&idle &suspend_to_ram>;
};
};
power-states {
idle: idle {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <1000000>;
};
power-states {
idle: idle {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <1000000>;
};
suspend_to_ram: suspend_to_ram {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-ram";
min-residency-us = <2000000>;
suspend_to_ram: suspend_to_ram {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-ram";
min-residency-us = <2000000>;
};
};
};

View file

@ -28,21 +28,21 @@
reg = <0>;
cpu-power-states = <&suspend_to_idle0 &suspend_to_idle1>;
};
};
power-states {
suspend_to_idle0: suspend-to-idle0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <0>;
min-residency-us = <1000>;
};
power-states {
suspend_to_idle0: suspend-to-idle0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <0>;
min-residency-us = <1000>;
};
suspend_to_idle1: suspend-to-idle1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <201000>;
suspend_to_idle1: suspend-to-idle1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <201000>;
};
};
};

View file

@ -29,30 +29,30 @@
compatible = "arm,cortex-m4f";
reg = <0>;
};
};
power-states {
idle: idle {
compatible = "zephyr,power-state";
power-state-name = "runtime-idle";
};
power-states {
idle: idle {
compatible = "zephyr,power-state";
power-state-name = "runtime-idle";
};
stop: stop {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <0>;
};
stop: stop {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <0>;
};
pstop1: pstop1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
};
pstop1: pstop1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
};
pstop2: pstop2 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
pstop2: pstop2 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
};
};
};

View file

@ -42,20 +42,20 @@
swo-ref-frequency = <132000000>;
};
};
};
power-states {
idle: idle {
compatible = "zephyr,power-state";
power-state-name = "runtime-idle";
exit-latency-us = <4000>;
min-residency-us = <5000>;
};
suspend: suspend {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
exit-latency-us = <5000>;
min-residency-us = <10000>;
power-states {
idle: idle {
compatible = "zephyr,power-state";
power-state-name = "runtime-idle";
exit-latency-us = <4000>;
min-residency-us = <5000>;
};
suspend: suspend {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
exit-latency-us = <5000>;
min-residency-us = <10000>;
};
};
};

View file

@ -52,34 +52,34 @@
arm,num-mpu-regions = <16>;
};
};
};
power-states {
/*
* Power states are managed with set points (see page 30-35 of RT1170
* datasheet). These set points correspond to various power
* savings, and associated transition (residency) times.
*
* Set points 1 and 10 were chosen as sane defaults to offer
* limited power savings and quick transitions when entering idle for
* short periods, and better power savings with longer transition
* times for long idle periods
*/
idle: set_point_1_wait {
/* idle corresponds to set point 1 (wait) for RT1170 */
compatible = "zephyr,power-state";
power-state-name="runtime-idle";
substate-id = <IMX_SPC_SET_POINT_1_WAIT>;
min-residency-us = <100>;
};
power-states {
/*
* Power states are managed with set points (see page 30-35 of RT1170
* datasheet). These set points correspond to various power
* savings, and associated transition (residency) times.
*
* Set points 1 and 10 were chosen as sane defaults to offer
* limited power savings and quick transitions when entering idle for
* short periods, and better power savings with longer transition
* times for long idle periods
*/
idle: set_point_1_wait {
/* idle corresponds to set point 1 (wait) for RT1170 */
compatible = "zephyr,power-state";
power-state-name="runtime-idle";
substate-id = <IMX_SPC_SET_POINT_1_WAIT>;
min-residency-us = <100>;
};
suspend: set_point_10_suspend {
/* suspend corresponds to set point 10 for RT1170 */
compatible = "zephyr,power-state";
power-state-name="suspend-to-idle";
substate-id = <IMX_SPC_SET_POINT_10_SUSPEND>;
min-residency-us = <5000>;
exit-latency-us = <500>;
suspend: set_point_10_suspend {
/* suspend corresponds to set point 10 for RT1170 */
compatible = "zephyr,power-state";
power-state-name="suspend-to-idle";
substate-id = <IMX_SPC_SET_POINT_10_SUSPEND>;
min-residency-us = <5000>;
exit-latency-us = <500>;
};
};
};

View file

@ -35,37 +35,39 @@
arm,num-mpu-regions = <8>;
};
};
};
power-states {
/* This is the setting Sleep Mode */
idle: idle {
compatible = "zephyr,power-state";
power-state-name = "runtime-idle";
min-residency-us = <0>;
exit-latency-us = <0>;
};
/* This is the setting for Deep-sleep Mode */
suspend: suspend {
compatible = "nxp,pdcfg-power", "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <500>;
exit-latency-us = <120>;
power-states {
/* This is the setting Sleep Mode */
idle: idle {
compatible = "zephyr,power-state";
power-state-name = "runtime-idle";
min-residency-us = <0>;
exit-latency-us = <0>;
};
/* This is the setting for Deep-sleep Mode */
suspend: suspend {
compatible = "nxp,pdcfg-power", "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <500>;
exit-latency-us = <120>;
/*
* These values are written to the PDSLEEPCFG
* registers to keep certain blocks such as
* LPOSC, SRAM's, FlexSPI0 SRAM powered on
* during deep sleep mode.
*/
deep-sleep-config = <0xC800>,
<0x80000004>,
<0xFFFFFFFF>,
<0>;
};
/*
* These values are written to the PDSLEEPCFG registers to keep certain
* blocks such as LPOSC, SRAM's, FlexSPI0 SRAM powered on during deep
* sleep mode.
* Deep power-down mode is supported in this SoC through
* 'PM_STATE_SOFT_OFF' state. There is no entry for this
* in device tree, user can call pm_state_force to enter
* this state.
*/
deep-sleep-config = <0xC800>,
<0x80000004>,
<0xFFFFFFFF>,
<0>;
};
/*
* Deep power-down mode is supported in this SoC through 'PM_STATE_SOFT_OFF' state.
* There is no entry for this in device tree, user can call pm_state_force to enter
* this state.
*/
};
};

View file

@ -33,18 +33,18 @@
arm,num-mpu-regions = <8>;
};
};
};
power-states {
idle: idle {
compatible = "zephyr,power-state";
power-state-name = "runtime-idle";
min-residency-us = <10>;
};
suspend: suspend {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <1000>;
power-states {
idle: idle {
compatible = "zephyr,power-state";
power-state-name = "runtime-idle";
min-residency-us = <10>;
};
suspend: suspend {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <1000>;
};
};
};
};

View file

@ -17,57 +17,6 @@
zephyr,entropy = &trng;
};
power-states {
/*
* EM1 is a basic "CPU WFI idle", all high-freq clocks remain
* enabled.
*/
pstate_em1: em1 {
compatible = "zephyr,power-state";
power-state-name = "runtime-idle";
min-residency-us = <4>;
/* HFXO remains active */
exit-latency-us = <2>;
};
/*
* EM2 is a deepsleep with HF clocks disabled by HW, voltages
* scaled down, etc.
*/
pstate_em2: em2 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <260>;
exit-latency-us = <250>;
};
/*
* EM3 seems to be exactly the same as EM2 except that
* LFXO & LFRCO should be disabled, so you must use ULFRCO
* as BURTC clock for the system to not lose track of time and
* wake up.
*/
pstate_em3: em3 {
compatible = "zephyr,power-state";
power-state-name = "standby";
min-residency-us = <20000>;
exit-latency-us = <2000>;
};
/*
* EM4 does not preserve CPU or RAM state, so system runs
* through a cold boot upon wake up. BURTC can wake up the
* system from EM4 but that has to be manually configured
* by the application in BURTC registers.
*/
pstate_em4: em4 {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <100000>;
exit-latency-us = <80000>;
};
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
@ -89,6 +38,57 @@
*/
cpu-power-states = <&pstate_em1>;
};
power-states {
/*
* EM1 is a basic "CPU WFI idle", all high-freq clocks remain
* enabled.
*/
pstate_em1: em1 {
compatible = "zephyr,power-state";
power-state-name = "runtime-idle";
min-residency-us = <4>;
/* HFXO remains active */
exit-latency-us = <2>;
};
/*
* EM2 is a deepsleep with HF clocks disabled by HW, voltages
* scaled down, etc.
*/
pstate_em2: em2 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <260>;
exit-latency-us = <250>;
};
/*
* EM3 seems to be exactly the same as EM2 except that
* LFXO & LFRCO should be disabled, so you must use ULFRCO
* as BURTC clock for the system to not lose track of time and
* wake up.
*/
pstate_em3: em3 {
compatible = "zephyr,power-state";
power-state-name = "standby";
min-residency-us = <20000>;
exit-latency-us = <2000>;
};
/*
* EM4 does not preserve CPU or RAM state, so system runs
* through a cold boot upon wake up. BURTC can wake up the
* system from EM4 but that has to be manually configured
* by the application in BURTC registers.
*/
pstate_em4: em4 {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <100000>;
exit-latency-us = <80000>;
};
};
};
sram0: memory@20000000 {

View file

@ -27,14 +27,14 @@
reg = <0>;
cpu-power-states = <&state0>;
};
};
power-states {
state0: state0 {
compatible = "zephyr,power-state";
power-state-name = "standby";
min-residency-us = <50000>;
exit-latency-us = <0>;
power-states {
state0: state0 {
compatible = "zephyr,power-state";
power-state-name = "standby";
min-residency-us = <50000>;
exit-latency-us = <0>;
};
};
};

View file

@ -34,6 +34,21 @@
compatible = "arm,cortex-m0+";
reg = <0>;
};
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <20>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <100>;
};
};
};
sram0: memory@20000000 {
@ -77,21 +92,6 @@
};
};
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <20>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <100>;
};
};
soc {
flash: flash-controller@40022000 {
compatible = "st,stm32-flash-controller", "st,stm32g0-flash-controller";

View file

@ -33,6 +33,21 @@
compatible = "arm,cortex-m4f";
reg = <0>;
};
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <20>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <100>;
};
};
};
sram0: memory@20000000 {
@ -82,21 +97,6 @@
};
};
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <20>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <100>;
};
};
soc {
/*
* Both adc instances cannot be used in parallel right now.

View file

@ -32,14 +32,14 @@
reg = <0>;
cpu-power-states = <&stop>;
};
};
power-states {
stop: stop {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <2000>;
exit-latency-us = <750>;
power-states {
stop: stop {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <2000>;
exit-latency-us = <750>;
};
};
};

View file

@ -33,6 +33,27 @@
compatible = "arm,cortex-m4f";
reg = <0>;
};
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <500>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <700>;
};
stop2: state2 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <3>;
min-residency-us = <1000>;
};
};
};
sram0: memory@20000000 {
@ -82,27 +103,6 @@
};
};
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <500>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <700>;
};
stop2: state2 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <3>;
min-residency-us = <1000>;
};
};
soc {
flash: flash-controller@40022000 {
compatible = "st,stm32-flash-controller", "st,stm32l4-flash-controller";

View file

@ -42,6 +42,27 @@
arm,num-mpu-regions = <8>;
};
};
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <100>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <500>;
};
stop2: state2 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <3>;
min-residency-us = <900>;
};
};
};
sram0: memory@20000000 {
@ -98,27 +119,6 @@
};
};
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <100>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <500>;
};
stop2: state2 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <3>;
min-residency-us = <900>;
};
};
soc {
flash: flash-controller@40022000 {
compatible = "st,stm32-flash-controller", "st,stm32l5-flash-controller";

View file

@ -43,6 +43,27 @@
arm,num-mpu-regions = <8>;
};
};
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <100>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <500>;
};
stop2: state2 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <3>;
min-residency-us = <900>;
};
};
};
sram0: memory@20000000 {
@ -118,27 +139,6 @@
};
};
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <100>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <500>;
};
stop2: state2 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <3>;
min-residency-us = <900>;
};
};
soc {
flash: flash-controller@40022000 {
compatible = "st,stm32-flash-controller", "st,stm32l5-flash-controller";

View file

@ -32,6 +32,27 @@
compatible = "arm,cortex-m4f";
reg = <0>;
};
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <100>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <500>;
};
stop2: state2 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <3>;
min-residency-us = <900>;
};
};
};
sram0: memory@20000000 {
@ -115,27 +136,6 @@
};
};
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <100>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <500>;
};
stop2: state2 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <3>;
min-residency-us = <900>;
};
};
soc {
flash: flash-controller@58004000 {
compatible = "st,stm32-flash-controller", "st,stm32wb-flash-controller";

View file

@ -40,20 +40,20 @@
arm,num-mpu-regions = <8>;
};
};
};
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <100>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <500>;
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <100>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <500>;
};
};
};

View file

@ -33,6 +33,27 @@
reg = <0>;
cpu-power-states = <&stop0 &stop1 &stop2>;
};
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <100>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <500>;
};
stop2: state2 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <3>;
min-residency-us = <900>;
};
};
};
sram0: memory@20000000 {
@ -84,27 +105,6 @@
};
};
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <100>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <500>;
};
stop2: state2 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <3>;
min-residency-us = <900>;
};
};
soc {
flash: flash-controller@58004000 {
compatible = "st,stm32-flash-controller", "st,stm32l4-flash-controller";

View file

@ -25,20 +25,20 @@
reg = <0>;
cpu-power-states = <&idle &standby>;
};
};
power-states {
idle: idle {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <1000>;
};
power-states {
idle: idle {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <1000>;
};
standby: standby {
compatible = "zephyr,power-state";
power-state-name = "standby";
min-residency-us = <5000>;
exit-latency-us = <240>;
standby: standby {
compatible = "zephyr,power-state";
power-state-name = "standby";
min-residency-us = <5000>;
exit-latency-us = <240>;
};
};
};

View file

@ -35,21 +35,21 @@
reg = <0>;
cpu-power-states = <&light_sleep &deep_sleep>;
};
};
power-states {
light_sleep: light_sleep {
compatible = "zephyr,power-state";
power-state-name = "standby";
min-residency-us = <200>;
exit-latency-us = <60>;
};
power-states {
light_sleep: light_sleep {
compatible = "zephyr,power-state";
power-state-name = "standby";
min-residency-us = <200>;
exit-latency-us = <60>;
};
deep_sleep: deep_sleep {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <660>;
exit-latency-us = <105>;
deep_sleep: deep_sleep {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <660>;
exit-latency-us = <105>;
};
};
};

View file

@ -33,13 +33,13 @@
reg = <0>;
cpu-power-states = <&standby>;
};
};
power-states {
standby: standby {
compatible = "zephyr,power-state";
power-state-name = "standby";
min-residency-us = <500>;
power-states {
standby: standby {
compatible = "zephyr,power-state";
power-state-name = "standby";
min-residency-us = <500>;
};
};
};

View file

@ -37,22 +37,20 @@
reg = <1>;
};
};
power-states {
light_sleep: light_sleep {
compatible = "zephyr,power-state";
power-state-name = "standby";
min-residency-us = <200>;
exit-latency-us = <60>;
};
power-states {
light_sleep: light_sleep {
compatible = "zephyr,power-state";
power-state-name = "standby";
min-residency-us = <200>;
exit-latency-us = <60>;
};
deep_sleep: deep_sleep {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <2000>;
exit-latency-us = <212>;
deep_sleep: deep_sleep {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <2000>;
exit-latency-us = <212>;
};
};
};

View file

@ -36,21 +36,21 @@
reg = <0>;
cpu-power-states = <&light_sleep &deep_sleep>;
};
};
power-states {
light_sleep: light_sleep {
compatible = "zephyr,power-state";
power-state-name = "standby";
min-residency-us = <200>;
exit-latency-us = <60>;
};
power-states {
light_sleep: light_sleep {
compatible = "zephyr,power-state";
power-state-name = "standby";
min-residency-us = <200>;
exit-latency-us = <60>;
};
deep_sleep: deep_sleep {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <2000>;
exit-latency-us = <212>;
deep_sleep: deep_sleep {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <2000>;
exit-latency-us = <212>;
};
};
};

View file

@ -34,23 +34,23 @@
reg = <2>;
cpu-power-states = <&d0i3 &d3>;
};
};
power-states {
d0i3: idle {
compatible = "zephyr,power-state";
power-state-name = "runtime-idle";
min-residency-us = <200>;
exit-latency-us = <100>;
};
/* PM_STATE_SOFT_OFF can be entered only by calling pm_state_force.
* The procedure is triggered by IPC from the HOST (SET_DX).
*/
d3: off {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <2147483647>;
exit-latency-us = <0>;
power-states {
d0i3: idle {
compatible = "zephyr,power-state";
power-state-name = "runtime-idle";
min-residency-us = <200>;
exit-latency-us = <100>;
};
/* PM_STATE_SOFT_OFF can be entered only by calling pm_state_force.
* The procedure is triggered by IPC from the HOST (SET_DX).
*/
d3: off {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <2147483647>;
exit-latency-us = <0>;
};
};
};

View file

@ -49,23 +49,22 @@
cpu-power-states = <&d0i3 &d3>;
};
};
power-states {
d0i3: idle {
compatible = "zephyr,power-state";
power-state-name = "runtime-idle";
min-residency-us = <200>;
exit-latency-us = <100>;
};
/* PM_STATE_SOFT_OFF can be entered only by calling pm_state_force.
* The procedure is triggered by IPC from the HOST (SET_DX).
*/
d3: off {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <2147483647>;
exit-latency-us = <0>;
power-states {
d0i3: idle {
compatible = "zephyr,power-state";
power-state-name = "runtime-idle";
min-residency-us = <200>;
exit-latency-us = <100>;
};
/* PM_STATE_SOFT_OFF can be entered only by calling pm_state_force.
* The procedure is triggered by IPC from the HOST (SET_DX).
*/
d3: off {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <2147483647>;
exit-latency-us = <0>;
};
};
};

View file

@ -41,17 +41,18 @@
reg = <3>;
cpu-power-states = <&d3>;
};
};
power-states {
/* PM_STATE_SOFT_OFF can be entered only by calling pm_state_force.
* The procedure is triggered by IPC from the HOST (SET_DX).
*/
d3: off {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <2147483647>;
exit-latency-us = <0>;
power-states {
/* PM_STATE_SOFT_OFF can be entered only by calling
* pm_state_force. The procedure is triggered by IPC
* from the HOST (SET_DX).
*/
d3: off {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <2147483647>;
exit-latency-us = <0>;
};
};
};

View file

@ -27,17 +27,18 @@
reg = <1>;
cpu-power-states = <&d3>;
};
};
power-states {
/* PM_STATE_SOFT_OFF can be entered only by calling pm_state_force.
* The procedure is triggered by IPC from the HOST (SET_DX).
*/
d3: off {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <2147483647>;
exit-latency-us = <0>;
power-states {
/* PM_STATE_SOFT_OFF can be entered only by calling
* pm_state_force. The procedure is triggered by IPC
* from the HOST (SET_DX).
*/
d3: off {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <2147483647>;
exit-latency-us = <0>;
};
};
};

View file

@ -227,24 +227,24 @@ struct pm_state_info {
* ...
* cpu-power-states = <&state0 &state1>;
* };
* };
*
* ...
* power-states {
* state0: state0 {
* compatible = "zephyr,power-state";
* power-state-name = "suspend-to-idle";
* min-residency-us = <10000>;
* exit-latency-us = <100>;
* };
* power-states {
* state0: state0 {
* compatible = "zephyr,power-state";
* power-state-name = "suspend-to-idle";
* min-residency-us = <10000>;
* exit-latency-us = <100>;
* };
*
* state1: state1 {
* compatible = "zephyr,power-state";
* power-state-name = "suspend-to-ram";
* min-residency-us = <50000>;
* exit-latency-us = <500>;
* state1: state1 {
* compatible = "zephyr,power-state";
* power-state-name = "suspend-to-ram";
* min-residency-us = <50000>;
* exit-latency-us = <500>;
* };
* };
* };
* @endcode
*
* Example usage:
@ -276,22 +276,21 @@ struct pm_state_info {
* ...
* cpu-power-states = <&state0 &state1>;
* };
* };
*
* ...
* power-states {
* state0: state0 {
* compatible = "zephyr,power-state";
* power-state-name = "suspend-to-idle";
* min-residency-us = <10000>;
* exit-latency-us = <100>;
* };
* power-states {
* state0: state0 {
* compatible = "zephyr,power-state";
* power-state-name = "suspend-to-idle";
* min-residency-us = <10000>;
* exit-latency-us = <100>;
* };
*
* state1: state1 {
* compatible = "zephyr,power-state";
* power-state-name = "suspend-to-ram";
* min-residency-us = <50000>;
* exit-latency-us = <500>;
* state1: state1 {
* compatible = "zephyr,power-state";
* power-state-name = "suspend-to-ram";
* min-residency-us = <50000>;
* exit-latency-us = <500>;
* };
* };
* };
* @endcode

View file

@ -5,26 +5,30 @@
*/
/ {
state0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <10000>;
exit-latency-us = <100>;
};
cpus {
cpu@0 {
cpu-power-states = <&state0 &state1 &state2>;
};
state1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-ram";
min-residency-us = <50000>;
exit-latency-us = <500>;
};
power-states {
state0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <10000>;
exit-latency-us = <100>;
};
state2: state2 {
compatible = "zephyr,power-state";
power-state-name = "standby";
state1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-ram";
min-residency-us = <50000>;
exit-latency-us = <500>;
};
state2: state2 {
compatible = "zephyr,power-state";
power-state-name = "standby";
};
};
};
};
&cpu0 {
cpu-power-states = <&state0 &state1 &state2>;
};