dts: arm: nxp: move power-states to soc dts files
CPU idle states are not board specific. This patch moves NXP idle states to the core SoC dts files. Board can always tweak some state parameters (if needed), but the definition belongs to core SoC dts files, same as e.g. peripherals. Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
This commit is contained in:
parent
7e8f9c7595
commit
6552250cb6
6 changed files with 62 additions and 71 deletions
|
@ -104,25 +104,6 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-power-states = <&idle &suspend>;
|
||||
};
|
||||
|
||||
arduino_i2c: &lpi2c1 {};
|
||||
|
|
|
@ -118,37 +118,6 @@
|
|||
<34 0 &gpio0 12 0>; /* Pin 34, BL_PWM */
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
};
|
||||
|
||||
en_mipi_display: enable-mipi-display {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "en_mipi_display";
|
||||
|
@ -157,10 +126,6 @@
|
|||
};
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-power-states = <&idle &suspend>;
|
||||
};
|
||||
|
||||
/*
|
||||
* RT595 EVK board uses OS timer as the kernel timer
|
||||
* In case we need to switch to SYSTICK timer, then
|
||||
|
|
|
@ -118,23 +118,6 @@
|
|||
<20 0 &gpio0 17 0>, /* D14 */
|
||||
<21 0 &gpio0 18 0>; /* D15 */
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-power-states = <&idle &suspend>;
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
compatible = "arm,cortex-m7";
|
||||
d-cache-line-size = <32>;
|
||||
reg = <0>;
|
||||
cpu-power-states = <&idle &suspend>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
|
@ -43,6 +44,21 @@
|
|||
};
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
|
||||
sysclk: system-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <600000000>;
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
cpu-power-states = <&idle &suspend>;
|
||||
|
||||
mpu: mpu@e000ed90 {
|
||||
compatible = "arm,armv8m-mpu";
|
||||
|
@ -35,6 +36,37 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
};
|
||||
};
|
||||
|
||||
&sram {
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
cpu0: cpu@0 {
|
||||
compatible = "arm,cortex-m33f";
|
||||
reg = <0>;
|
||||
cpu-power-states = <&idle &suspend>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
|
@ -33,6 +34,19 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&sram {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue