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:
parent
90ed12d3eb
commit
e4c43e4cc9
30 changed files with 508 additions and 504 deletions
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue