From 2415dcc5ea021a1afebad060279e523dde5aa87c Mon Sep 17 00:00:00 2001 From: Sadik Ozer Date: Mon, 25 Dec 2023 15:23:41 +0300 Subject: [PATCH] dts: arm: adi: Add power management states in devicetree This commits added power management states in max32xxx MCUs Common states added in max32xxx.dtsi file and additional ones added in max32655.dtsi Exit-latency-us value set as per of device datasheet spec. The typical value is mentioned in DS is multiplied with 2. For more information please take a look: https://www.analog.com/en/products/max32655.html Signed-off-by: Sadik Ozer --- dts/arm/adi/max32/max32655.dtsi | 18 ++++++++++++++++++ dts/arm/adi/max32/max32xxx.dtsi | 22 ++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/dts/arm/adi/max32/max32655.dtsi b/dts/arm/adi/max32/max32655.dtsi index fd148a6ac8d..a099efc0d10 100644 --- a/dts/arm/adi/max32/max32655.dtsi +++ b/dts/arm/adi/max32/max32655.dtsi @@ -33,6 +33,24 @@ /* MAX32655 extra peripherals. */ / { + cpus { + cpu@0 { + cpu-power-states = <&idle &suspend &standby>; + }; + + power-states { + /* Standby Mode */ + standby: standby { + compatible = "zephyr,power-state"; + power-state-name = "standby"; + /* The value not mentioned in UG/DS, set it as 40us */ + min-residency-us = <40>; + /* Typical value is 14.7us as per of Datasheet */ + exit-latency-us = <30>; + }; + }; + }; + soc { sram1: memory@20008000 { compatible = "mmio-sram"; diff --git a/dts/arm/adi/max32/max32xxx.dtsi b/dts/arm/adi/max32/max32xxx.dtsi index 10f9630eb84..e19bcc7f53d 100644 --- a/dts/arm/adi/max32/max32xxx.dtsi +++ b/dts/arm/adi/max32/max32xxx.dtsi @@ -26,6 +26,28 @@ device_type = "cpu"; compatible = "arm,cortex-m4f"; reg = <0>; + cpu-power-states = <&idle &suspend>; + }; + + power-states { + /* Sleep Mode */ + idle: idle { + compatible = "zephyr,power-state"; + power-state-name = "runtime-idle"; + /* The value not mentioned in UG/DS, set it as 1us */ + min-residency-us = <1>; + /* Typical value is 0.847us as per of Datasheet */ + exit-latency-us = <1>; + }; + /* Deep-sleep Mode */ + suspend: suspend { + compatible = "zephyr,power-state"; + power-state-name = "suspend-to-idle"; + /* The value not mentioned in UG/DS, set it as 35us */ + min-residency-us = <35>; + /* Typical value is 12.4us as per of Datasheet */ + exit-latency-us = <25>; + }; }; };