Unlike the CPU, the CDSP does not throttle its speed automatically
when it reaches high temperatures in lemans.

Set up CDSP cooling for both instances by throttling the cdsp, when
it reaches 105°C.

Signed-off-by: Gaurav Kohli <[email protected]>
---
 arch/arm64/boot/dts/qcom/lemans.dtsi | 125 +++++++++++++++++++++++++++++++----
 1 file changed, 113 insertions(+), 12 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi 
b/arch/arm64/boot/dts/qcom/lemans.dtsi
index 353a6e6fd3ac..89fa25e9d3c6 100644
--- a/arch/arm64/boot/dts/qcom/lemans.dtsi
+++ b/arch/arm64/boot/dts/qcom/lemans.dtsi
@@ -17,6 +17,7 @@
 #include <dt-bindings/interconnect/qcom,osm-l3.h>
 #include <dt-bindings/interconnect/qcom,sa8775p-rpmh.h>
 #include <dt-bindings/mailbox/qcom-ipcc.h>
+#include <dt-bindings/firmware/qcom,qmi-tmd.h>
 #include <dt-bindings/firmware/qcom,scm.h>
 #include <dt-bindings/power/qcom-rpmpd.h>
 #include <dt-bindings/soc/qcom,gpr.h>
@@ -7777,6 +7778,8 @@ remoteproc_cdsp0: remoteproc@26300000 {
                        qcom,smem-states = <&smp2p_cdsp0_out 0>;
                        qcom,smem-state-names = "stop";
 
+                       #cooling-cells = <3>;
+
                        status = "disabled";
 
                        glink-edge {
@@ -7916,6 +7919,8 @@ remoteproc_cdsp1: remoteproc@2a300000 {
                        qcom,smem-states = <&smp2p_cdsp1_out 0>;
                        qcom,smem-state-names = "stop";
 
+                       #cooling-cells = <3>;
+
                        status = "disabled";
 
                        glink-edge {
@@ -8764,7 +8769,7 @@ nsp-0-0-0-thermal {
                        thermal-sensors = <&tsens2 5>;
 
                        trips {
-                               trip-point0 {
+                               nsp_0_0_0_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -8776,6 +8781,14 @@ trip-point1 {
                                        type = "passive";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_0_0_0_alert0>;
+                                       cooling-device = <&remoteproc_cdsp0 
QCOM_CDSP_TMD_CDSP_SW
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                nsp-0-1-0-thermal {
@@ -8784,7 +8797,7 @@ nsp-0-1-0-thermal {
                        thermal-sensors = <&tsens2 6>;
 
                        trips {
-                               trip-point0 {
+                               nsp_0_1_0_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -8796,6 +8809,14 @@ trip-point1 {
                                        type = "passive";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_0_1_0_alert0>;
+                                       cooling-device = <&remoteproc_cdsp0 
QCOM_CDSP_TMD_CDSP_SW
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                nsp-0-2-0-thermal {
@@ -8804,7 +8825,7 @@ nsp-0-2-0-thermal {
                        thermal-sensors = <&tsens2 7>;
 
                        trips {
-                               trip-point0 {
+                               nsp_0_2_0_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -8816,6 +8837,14 @@ trip-point1 {
                                        type = "passive";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_0_2_0_alert0>;
+                                       cooling-device = <&remoteproc_cdsp0 
QCOM_CDSP_TMD_CDSP_SW
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                nsp-1-0-0-thermal {
@@ -8824,7 +8853,7 @@ nsp-1-0-0-thermal {
                        thermal-sensors = <&tsens2 8>;
 
                        trips {
-                               trip-point0 {
+                               nsp_1_0_0_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -8836,6 +8865,14 @@ trip-point1 {
                                        type = "passive";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_1_0_0_alert0>;
+                                       cooling-device = <&remoteproc_cdsp1 
QCOM_CDSP_TMD_CDSP_SW
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                nsp-1-1-0-thermal {
@@ -8844,7 +8881,7 @@ nsp-1-1-0-thermal {
                        thermal-sensors = <&tsens2 9>;
 
                        trips {
-                               trip-point0 {
+                               nsp_1_1_0_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -8856,6 +8893,14 @@ trip-point1 {
                                        type = "passive";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_1_1_0_alert0>;
+                                       cooling-device = <&remoteproc_cdsp1 
QCOM_CDSP_TMD_CDSP_SW
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                nsp-1-2-0-thermal {
@@ -8864,7 +8909,7 @@ nsp-1-2-0-thermal {
                        thermal-sensors = <&tsens2 10>;
 
                        trips {
-                               trip-point0 {
+                               nsp_1_2_0_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -8876,6 +8921,14 @@ trip-point1 {
                                        type = "passive";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_1_2_0_alert0>;
+                                       cooling-device = <&remoteproc_cdsp1 
QCOM_CDSP_TMD_CDSP_SW
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                ddrss-0-thermal {
@@ -9018,7 +9071,7 @@ nsp-0-0-1-thermal {
                        thermal-sensors = <&tsens3 5>;
 
                        trips {
-                               trip-point0 {
+                               nsp_0_0_1_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -9030,6 +9083,14 @@ trip-point1 {
                                        type = "passive";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_0_0_1_alert0>;
+                                       cooling-device = <&remoteproc_cdsp0 
QCOM_CDSP_TMD_CDSP_SW
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                nsp-0-1-1-thermal {
@@ -9038,7 +9099,7 @@ nsp-0-1-1-thermal {
                        thermal-sensors = <&tsens3 6>;
 
                        trips {
-                               trip-point0 {
+                               nsp_0_1_1_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -9050,6 +9111,14 @@ trip-point1 {
                                        type = "passive";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_0_1_1_alert0>;
+                                       cooling-device = <&remoteproc_cdsp0 
QCOM_CDSP_TMD_CDSP_SW
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                nsp-0-2-1-thermal {
@@ -9058,7 +9127,7 @@ nsp-0-2-1-thermal {
                        thermal-sensors = <&tsens3 7>;
 
                        trips {
-                               trip-point0 {
+                               nsp_0_2_1_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -9070,6 +9139,14 @@ trip-point1 {
                                        type = "passive";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_0_2_1_alert0>;
+                                       cooling-device = <&remoteproc_cdsp0 
QCOM_CDSP_TMD_CDSP_SW
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                nsp-1-0-1-thermal {
@@ -9078,7 +9155,7 @@ nsp-1-0-1-thermal {
                        thermal-sensors = <&tsens3 8>;
 
                        trips {
-                               trip-point0 {
+                               nsp_1_0_1_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -9090,6 +9167,14 @@ trip-point1 {
                                        type = "passive";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_1_0_1_alert0>;
+                                       cooling-device = <&remoteproc_cdsp1 
QCOM_CDSP_TMD_CDSP_SW
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                nsp-1-1-1-thermal {
@@ -9098,7 +9183,7 @@ nsp-1-1-1-thermal {
                        thermal-sensors = <&tsens3 9>;
 
                        trips {
-                               trip-point0 {
+                               nsp_1_1_1_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -9110,6 +9195,14 @@ trip-point1 {
                                        type = "passive";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_1_1_1_alert0>;
+                                       cooling-device = <&remoteproc_cdsp1 
QCOM_CDSP_TMD_CDSP_SW
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                nsp-1-2-1-thermal {
@@ -9118,7 +9211,7 @@ nsp-1-2-1-thermal {
                        thermal-sensors = <&tsens3 10>;
 
                        trips {
-                               trip-point0 {
+                               nsp_1_2_1_alert0: trip-point0 {
                                        temperature = <105000>;
                                        hysteresis = <5000>;
                                        type = "passive";
@@ -9130,6 +9223,14 @@ trip-point1 {
                                        type = "passive";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_1_2_1_alert0>;
+                                       cooling-device = <&remoteproc_cdsp1 
QCOM_CDSP_TMD_CDSP_SW
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                ddrss-1-thermal {

-- 
2.34.1


Reply via email to