ARM: dts: imx7s: enable cpuidle driver
authorAnson Huang <Anson.Huang@nxp.com>
Mon, 3 Sep 2018 01:45:41 +0000 (09:45 +0800)
committerShawn Guo <shawnguo@kernel.org>
Mon, 3 Sep 2018 04:30:43 +0000 (12:30 +0800)
Enable cpuidle for i.MX7S/D using generic ARM cpuidle
driver, below 2 idle states enabled:

1. ARM WFI;
2. SoC WAIT mode.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/imx7d.dtsi
arch/arm/boot/dts/imx7s.dtsi

index 7234e83..fa675b8 100644 (file)
@@ -20,6 +20,7 @@
                        reg = <1>;
                        clock-frequency = <996000000>;
                        operating-points-v2 = <&cpu0_opp_table>;
+                       cpu-idle-states = <&cpu_sleep_wait>;
                };
        };
 
index 93884ce..d3f6488 100644 (file)
                #address-cells = <1>;
                #size-cells = <0>;
 
+               idle-states {
+                       entry-method = "psci";
+
+                       cpu_sleep_wait: cpu-sleep-wait {
+                               compatible = "arm,idle-state";
+                               arm,psci-suspend-param = <0x0010000>;
+                               local-timer-stop;
+                               entry-latency-us = <100>;
+                               exit-latency-us = <50>;
+                               min-residency-us = <1000>;
+                       };
+               };
+
                cpu0: cpu@0 {
                        compatible = "arm,cortex-a7";
                        device_type = "cpu";
@@ -61,6 +74,7 @@
                        clock-frequency = <792000000>;
                        clock-latency = <61036>; /* two CLK32 periods */
                        clocks = <&clks IMX7D_CLK_ARM>;
+                       cpu-idle-states = <&cpu_sleep_wait>;
                };
        };