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:
Gerard Marull-Paretas 2023-07-19 12:29:42 +02:00 committed by Carles Cufí
commit 6552250cb6
6 changed files with 62 additions and 71 deletions

View file

@ -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 {};

View file

@ -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

View file

@ -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>;
};
/*

View file

@ -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>;

View file

@ -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 {

View file

@ -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 {