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

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

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

diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi 
b/arch/arm64/boot/dts/qcom/monaco.dtsi
index e4c8466f941b..1756e8423a25 100644
--- a/arch/arm64/boot/dts/qcom/monaco.dtsi
+++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
@@ -7728,6 +7728,9 @@ remoteproc_cdsp: remoteproc@26300000 {
                        qcom,smem-states = <&smp2p_cdsp_out 0>;
                        qcom,smem-state-names = "stop";
 
+                       #cooling-cells = <2>;
+                       tmd-names = "cdsp_sw";
+
                        status = "disabled";
 
                        glink-edge {
@@ -8160,39 +8163,87 @@ cpu-critical {
                };
 
                nsp-0-0-0-thermal {
+                       polling-delay-passive = <200>;
+
                        thermal-sensors = <&tsens2 5>;
 
                        trips {
+                               nsp_0_0_0_alert0: trip-point0 {
+                                       temperature = <115000>;
+                                       hysteresis = <5000>;
+                                       type = "passive";
+                               };
+
                                nsp-critical {
                                        temperature = <125000>;
                                        hysteresis = <1000>;
                                        type = "critical";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_0_0_0_alert0>;
+                                       cooling-device = <&remoteproc_cdsp
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                nsp-0-1-0-thermal {
+                       polling-delay-passive = <200>;
+
                        thermal-sensors = <&tsens2 6>;
 
                        trips {
+                               nsp_0_1_0_alert0: trip-point0 {
+                                       temperature = <115000>;
+                                       hysteresis = <5000>;
+                                       type = "passive";
+                               };
+
                                nsp-critical {
                                        temperature = <125000>;
                                        hysteresis = <1000>;
                                        type = "critical";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_0_1_0_alert0>;
+                                       cooling-device = <&remoteproc_cdsp
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                nsp-0-2-0-thermal {
+                       polling-delay-passive = <200>;
+
                        thermal-sensors = <&tsens2 7>;
 
                        trips {
+                               nsp_0_2_0_alert0: trip-point0 {
+                                       temperature = <115000>;
+                                       hysteresis = <5000>;
+                                       type = "passive";
+                               };
+
                                nsp-critical {
                                        temperature = <125000>;
                                        hysteresis = <1000>;
                                        type = "critical";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_0_2_0_alert0>;
+                                       cooling-device = <&remoteproc_cdsp
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                ddrss-0-thermal {
@@ -8280,39 +8331,87 @@ cpu-critical {
                };
 
                nsp-0-0-1-thermal {
+                       polling-delay-passive = <200>;
+
                        thermal-sensors = <&tsens3 5>;
 
                        trips {
+                               nsp_0_0_1_alert0: trip-point0 {
+                                       temperature = <115000>;
+                                       hysteresis = <5000>;
+                                       type = "passive";
+                               };
+
                                nsp-critical {
                                        temperature = <125000>;
                                        hysteresis = <1000>;
                                        type = "critical";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_0_0_1_alert0>;
+                                       cooling-device = <&remoteproc_cdsp
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                nsp-0-1-1-thermal {
+                       polling-delay-passive = <200>;
+
                        thermal-sensors = <&tsens3 6>;
 
                        trips {
+                               nsp_0_1_1_alert0: trip-point0 {
+                                       temperature = <115000>;
+                                       hysteresis = <5000>;
+                                       type = "passive";
+                               };
+
                                nsp-critical {
                                        temperature = <125000>;
                                        hysteresis = <1000>;
                                        type = "critical";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_0_1_1_alert0>;
+                                       cooling-device = <&remoteproc_cdsp
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                nsp-0-2-1-thermal {
+                       polling-delay-passive = <200>;
+
                        thermal-sensors = <&tsens3 7>;
 
                        trips {
+                               nsp_0_2_1_alert0: trip-point0 {
+                                       temperature = <115000>;
+                                       hysteresis = <5000>;
+                                       type = "passive";
+                               };
+
                                nsp-critical {
                                        temperature = <125000>;
                                        hysteresis = <1000>;
                                        type = "critical";
                                };
                        };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&nsp_0_2_1_alert0>;
+                                       cooling-device = <&remoteproc_cdsp
+                                                        THERMAL_NO_LIMIT 
THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                ddrss-1-thermal {

-- 
2.34.1


Reply via email to