arm64: dts: ls1088a: add cpu idle support
authorYuantian Tang <andy.tang@nxp.com>
Mon, 7 Aug 2017 01:54:38 +0000 (09:54 +0800)
committerShawn Guo <shawnguo@kernel.org>
Mon, 14 Aug 2017 01:14:14 +0000 (09:14 +0800)
ls1088a supports another cpu idle state which is ph20 which saves
more power when cpu is idle.
It was implemented through psci firmware.

Signed-off-by: Tang Yuantian <andy.tang@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi

index 6c22d75..33797b3 100644 (file)
@@ -66,6 +66,7 @@
                        compatible = "arm,cortex-a53";
                        reg = <0x0>;
                        clocks = <&clockgen 1 0>;
+                       cpu-idle-states = <&CPU_PH20>;
                        #cooling-cells = <2>;
                };
 
@@ -74,6 +75,7 @@
                        compatible = "arm,cortex-a53";
                        reg = <0x1>;
                        clocks = <&clockgen 1 0>;
+                       cpu-idle-states = <&CPU_PH20>;
                };
 
                cpu2: cpu@2 {
@@ -81,6 +83,7 @@
                        compatible = "arm,cortex-a53";
                        reg = <0x2>;
                        clocks = <&clockgen 1 0>;
+                       cpu-idle-states = <&CPU_PH20>;
                };
 
                cpu3: cpu@3 {
@@ -88,6 +91,7 @@
                        compatible = "arm,cortex-a53";
                        reg = <0x3>;
                        clocks = <&clockgen 1 0>;
+                       cpu-idle-states = <&CPU_PH20>;
                };
 
                cpu4: cpu@100 {
@@ -95,6 +99,7 @@
                        compatible = "arm,cortex-a53";
                        reg = <0x100>;
                        clocks = <&clockgen 1 1>;
+                       cpu-idle-states = <&CPU_PH20>;
                        #cooling-cells = <2>;
                };
 
                        compatible = "arm,cortex-a53";
                        reg = <0x101>;
                        clocks = <&clockgen 1 1>;
+                       cpu-idle-states = <&CPU_PH20>;
                };
 
                cpu6: cpu@102 {
                        compatible = "arm,cortex-a53";
                        reg = <0x102>;
                        clocks = <&clockgen 1 1>;
+                       cpu-idle-states = <&CPU_PH20>;
                };
 
                cpu7: cpu@103 {
                        compatible = "arm,cortex-a53";
                        reg = <0x103>;
                        clocks = <&clockgen 1 1>;
+                       cpu-idle-states = <&CPU_PH20>;
+               };
+
+               CPU_PH20: cpu-ph20 {
+                       compatible = "arm,idle-state";
+                       idle-state-name = "PH20";
+                       arm,psci-suspend-param = <0x00010000>;
+                       entry-latency-us = <1000>;
+                       exit-latency-us = <1000>;
+                       min-residency-us = <3000>;
                };
        };
 
                             <1 10 IRQ_TYPE_LEVEL_LOW>;/* Hypervisor PPI */
        };
 
+       psci {
+               compatible = "arm,psci-0.2";
+               method = "smc";
+       };
+
        sysclk: sysclk {
                compatible = "fixed-clock";
                #clock-cells = <0>;