arm64: dts: qcom: ipq9574: Add cpu cooling maps
authorPraveenkumar I <quic_ipkumar@quicinc.com>
Thu, 13 Jul 2023 08:31:01 +0000 (14:01 +0530)
committerBjorn Andersson <andersson@kernel.org>
Fri, 14 Jul 2023 04:36:42 +0000 (21:36 -0700)
Add cpu cooling maps for passive trip points. The cpu cooling
device states are mapped to cpufreq based scaling frequencies.

Signed-off-by: Praveenkumar I <quic_ipkumar@quicinc.com>
Link: https://lore.kernel.org/r/20230713083101.971525-2-quic_ipkumar@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/ipq9574.dtsi

index 2eadc84..2ba9454 100644 (file)
@@ -10,6 +10,7 @@
 #include <dt-bindings/clock/qcom,ipq9574-gcc.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/reset/qcom,ipq9574-gcc.h>
+#include <dt-bindings/thermal/thermal.h>
 
 / {
        interrupt-parent = <&intc>;
@@ -42,6 +43,7 @@
                        clock-names = "cpu";
                        operating-points-v2 = <&cpu_opp_table>;
                        cpu-supply = <&ipq9574_s1>;
+                       #cooling-cells = <2>;
                };
 
                CPU1: cpu@1 {
@@ -54,6 +56,7 @@
                        clock-names = "cpu";
                        operating-points-v2 = <&cpu_opp_table>;
                        cpu-supply = <&ipq9574_s1>;
+                       #cooling-cells = <2>;
                };
 
                CPU2: cpu@2 {
@@ -66,6 +69,7 @@
                        clock-names = "cpu";
                        operating-points-v2 = <&cpu_opp_table>;
                        cpu-supply = <&ipq9574_s1>;
+                       #cooling-cells = <2>;
                };
 
                CPU3: cpu@3 {
@@ -78,6 +82,7 @@
                        clock-names = "cpu";
                        operating-points-v2 = <&cpu_opp_table>;
                        cpu-supply = <&ipq9574_s1>;
+                       #cooling-cells = <2>;
                };
 
                L2_0: l2-cache {
                        thermal-sensors = <&tsens 10>;
 
                        trips {
-                               cpu-critical {
+                               cpu0_crit: cpu-critical {
                                        temperature = <120000>;
                                        hysteresis = <10000>;
                                        type = "critical";
                                };
 
-                               cpu-passive {
+                               cpu0_alert: cpu-passive {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
                                        type = "passive";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu0_alert>;
+                                       cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                cpu1-thermal {
                        thermal-sensors = <&tsens 11>;
 
                        trips {
-                               cpu-critical {
+                               cpu1_crit: cpu-critical {
                                        temperature = <120000>;
                                        hysteresis = <10000>;
                                        type = "critical";
                                };
 
-                               cpu-passive {
+                               cpu1_alert: cpu-passive {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
                                        type = "passive";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu1_alert>;
+                                       cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                cpu2-thermal {
                        thermal-sensors = <&tsens 12>;
 
                        trips {
-                               cpu-critical {
+                               cpu2_crit: cpu-critical {
                                        temperature = <120000>;
                                        hysteresis = <10000>;
                                        type = "critical";
                                };
 
-                               cpu-passive {
+                               cpu2_alert: cpu-passive {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
                                        type = "passive";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu2_alert>;
+                                       cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                cpu3-thermal {
                        thermal-sensors = <&tsens 13>;
 
                        trips {
-                               cpu-critical {
+                               cpu3_crit: cpu-critical {
                                        temperature = <120000>;
                                        hysteresis = <10000>;
                                        type = "critical";
                                };
 
-                               cpu-passive {
+                               cpu3_alert: cpu-passive {
                                        temperature = <110000>;
                                        hysteresis = <1000>;
                                        type = "passive";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu3_alert>;
+                                       cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                wcss-phyb-thermal {