arm64: dts: qcom: msm8996: Add PSCI cpuidle low power states
authorAmit Kucheria <amit.kucheria@linaro.org>
Tue, 21 May 2019 09:35:16 +0000 (15:05 +0530)
committerAndy Gross <agross@kernel.org>
Thu, 30 May 2019 02:37:32 +0000 (21:37 -0500)
Add device bindings for cpuidle states for cpu devices.

msm8996 features 4 cpus - 2 in each cluster. However, all cpus implement
the same microarchitecture and the two clusters only differ in the
maximum frequency attainable by the CPUs.

Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <agross@kernel.org>
arch/arm64/boot/dts/qcom/msm8996.dtsi

index 0f234be..778c7f0 100644 (file)
                        compatible = "qcom,kryo";
                        reg = <0x0 0x0>;
                        enable-method = "psci";
+                       cpu-idle-states = <&CPU_SLEEP_0>;
                        next-level-cache = <&L2_0>;
                        L2_0: l2-cache {
                              compatible = "cache";
                        compatible = "qcom,kryo";
                        reg = <0x0 0x1>;
                        enable-method = "psci";
+                       cpu-idle-states = <&CPU_SLEEP_0>;
                        next-level-cache = <&L2_0>;
                };
 
                        compatible = "qcom,kryo";
                        reg = <0x0 0x100>;
                        enable-method = "psci";
+                       cpu-idle-states = <&CPU_SLEEP_0>;
                        next-level-cache = <&L2_1>;
                        L2_1: l2-cache {
                              compatible = "cache";
                        compatible = "qcom,kryo";
                        reg = <0x0 0x101>;
                        enable-method = "psci";
+                       cpu-idle-states = <&CPU_SLEEP_0>;
                        next-level-cache = <&L2_1>;
                };
 
                                };
                        };
                };
+
+               idle-states {
+                       entry-method = "psci";
+
+                       CPU_SLEEP_0: cpu-sleep-0 {
+                               compatible = "arm,idle-state";
+                               idle-state-name = "standalone-power-collapse";
+                               arm,psci-suspend-param = <0x00000004>;
+                               entry-latency-us = <40>;
+                               exit-latency-us = <80>;
+                               min-residency-us = <300>;
+                       };
+               };
        };
 
        thermal-zones {