]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: qcom: sm8750: Enable TSENS and thermal zones
authorManaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
Wed, 25 Mar 2026 11:20:00 +0000 (16:50 +0530)
committerBjorn Andersson <andersson@kernel.org>
Thu, 26 Mar 2026 14:40:57 +0000 (09:40 -0500)
The sm8750 includes four TSENS instances, with a total of 47 thermal
sensors distributed across various locations on the SoC.

The TSENS max/reset threshold is configured to 130°C in the hardware.
Enable all TSENS instances, and define the thermal zones with a hot trip
at 120°C and critical trip at 125°C.

Signed-off-by: Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260325-sm8750_tsens-v2-1-8a554e54dc1b@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/sm8750.dtsi

index 8b1b51558dcb541681a0709c2b3e61e9ed56151a..18fb52c14acd75c617f2cac8be298b49308c6410 100644 (file)
@@ -22,6 +22,7 @@
 #include <dt-bindings/soc/qcom,gpr.h>
 #include <dt-bindings/soc/qcom,rpmh-rsc.h>
 #include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
+#include <dt-bindings/thermal/thermal.h>
 
 / {
        interrupt-parent = <&intc>;
                        interrupt-controller;
                };
 
+               tsens0: thermal-sensor@c228000 {
+                       compatible = "qcom,sm8750-tsens", "qcom,tsens-v2";
+                       reg = <0x0 0x0c228000 0x0 0x1000>,
+                             <0x0 0x0c222000 0x0 0x1000>;
+                       interrupts = <GIC_SPI 771 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 484 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "uplow",
+                                         "critical";
+                       #qcom,sensors = <15>;
+                       #thermal-sensor-cells = <1>;
+               };
+
+               tsens1: thermal-sensor@c229000 {
+                       compatible = "qcom,sm8750-tsens", "qcom,tsens-v2";
+                       reg = <0x0 0x0c229000 0x0 0x1000>,
+                             <0x0 0x0c223000 0x0 0x1000>;
+                       interrupts = <GIC_SPI 772 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 485 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "uplow",
+                                         "critical";
+                       #qcom,sensors = <7>;
+                       #thermal-sensor-cells = <1>;
+               };
+
+               tsens2: thermal-sensor@c22a000 {
+                       compatible = "qcom,sm8750-tsens", "qcom,tsens-v2";
+                       reg = <0x0 0x0c22a000 0x0 0x1000>,
+                             <0x0 0x0c224000 0x0 0x1000>;
+                       interrupts = <GIC_SPI 773 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "uplow",
+                                         "critical";
+                       #qcom,sensors = <16>;
+                       #thermal-sensor-cells = <1>;
+               };
+
+               tsens3: thermal-sensor@c22b000 {
+                       compatible = "qcom,sm8750-tsens", "qcom,tsens-v2";
+                       reg = <0x0 0x0c22b000 0x0 0x1000>,
+                             <0x0 0x0c225000 0x0 0x1000>;
+                       interrupts = <GIC_SPI 774 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 487 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "uplow",
+                                         "critical";
+                       #qcom,sensors = <9>;
+                       #thermal-sensor-cells = <1>;
+               };
+
                aoss_qmp: power-management@c300000 {
                        compatible = "qcom,sm8750-aoss-qmp", "qcom,aoss-qmp";
                        reg = <0x0 0x0c300000 0x0 0x400>;
                };
        };
 
+       thermal-zones {
+               aoss0-thermal {
+                       thermal-sensors = <&tsens0 0>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               aoss0-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-0-0-0-thermal {
+                       thermal-sensors = <&tsens0 1>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpu-0-0-0-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-0-0-1-thermal {
+                       thermal-sensors = <&tsens0 2>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpu-0-0-1-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-0-1-0-thermal {
+                       thermal-sensors = <&tsens0 3>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpu-0-1-0-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-0-1-1-thermal {
+                       thermal-sensors = <&tsens0 4>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpu-0-1-1-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-0-2-0-thermal {
+                       thermal-sensors = <&tsens0 5>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpu-0-2-0-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-0-2-1-thermal {
+                       thermal-sensors = <&tsens0 6>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpu-0-2-1-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-0-3-0-thermal {
+                       thermal-sensors = <&tsens0 7>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpu-0-3-0-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-0-3-1-thermal {
+                       thermal-sensors = <&tsens0 8>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpu-0-3-1-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-0-4-0-thermal {
+                       thermal-sensors = <&tsens0 9>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpu-0-4-0-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-0-4-1-thermal {
+                       thermal-sensors = <&tsens0 10>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpu-0-4-1-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-0-5-0-thermal {
+                       thermal-sensors = <&tsens0 11>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpu-0-5-0-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-0-5-1-thermal {
+                       thermal-sensors = <&tsens0 12>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpu-0-5-1-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpuss-0-0-thermal {
+                       thermal-sensors = <&tsens0 13>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpuss-0-0-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpuss-0-1-thermal {
+                       thermal-sensors = <&tsens0 14>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpuss-0-1-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               aoss1-thermal {
+                       thermal-sensors = <&tsens1 0>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               aoss1-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-1-0-0-thermal {
+                       thermal-sensors = <&tsens1 1>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpu-1-0-0-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-1-0-1-thermal {
+                       thermal-sensors = <&tsens1 2>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpu-1-0-1-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-1-1-0-thermal {
+                       thermal-sensors = <&tsens1 3>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpu-1-1-0-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-1-1-1-thermal {
+                       thermal-sensors = <&tsens1 4>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpu-1-1-1-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpuss-1-0-thermal {
+                       thermal-sensors = <&tsens1 5>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpuss-1-0-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpuss-1-1-thermal {
+                       thermal-sensors = <&tsens1 6>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               cpuss-1-1-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               aoss2-thermal {
+                       thermal-sensors = <&tsens2 0>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               aoss2-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               gpuss0-thermal {
+                       thermal-sensors = <&tsens2 1>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               gpuss0-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               gpuss1-thermal {
+                       thermal-sensors = <&tsens2 2>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               gpuss1-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               gpuss2-thermal {
+                       thermal-sensors = <&tsens2 3>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               gpuss2-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               gpuss3-thermal {
+                       thermal-sensors = <&tsens2 4>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               gpuss3-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               gpuss4-thermal {
+                       thermal-sensors = <&tsens2 5>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               gpuss4-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               gpuss5-thermal {
+                       thermal-sensors = <&tsens2 6>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               gpuss5-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               gpuss6-thermal {
+                       thermal-sensors = <&tsens2 7>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               gpuss6-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               gpuss7-thermal {
+                       thermal-sensors = <&tsens2 8>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               gpuss7-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               modem0-thermal {
+                       thermal-sensors = <&tsens2 9>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               modem0-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               modem1-thermal {
+                       thermal-sensors = <&tsens2 10>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               modem1-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               modem2-thermal {
+                       thermal-sensors = <&tsens2 11>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               modem2-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               modem3-thermal {
+                       thermal-sensors = <&tsens2 12>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               modem3-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               camera0-thermal {
+                       thermal-sensors = <&tsens2 13>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               camera0-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               camera1-thermal {
+                       thermal-sensors = <&tsens2 14>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               camera1-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               video-thermal {
+                       thermal-sensors = <&tsens2 15>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               video-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               aoss3-thermal {
+                       thermal-sensors = <&tsens3 0>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               aoss3-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               nsphvx0-thermal {
+                       thermal-sensors = <&tsens3 1>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               nsphvx0-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               nsphvx1-thermal {
+                       thermal-sensors = <&tsens3 2>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               nsphvx1-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               nsphvx2-thermal {
+                       thermal-sensors = <&tsens3 3>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               nsphvx2-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               nsphmx0-thermal {
+                       thermal-sensors = <&tsens3 4>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               nsphmx0-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               nsphmx1-thermal {
+                       thermal-sensors = <&tsens3 5>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               nsphmx1-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               nsphmx2-thermal {
+                       thermal-sensors = <&tsens3 6>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               nsphmx2-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               nsphmx3-thermal {
+                       thermal-sensors = <&tsens3 7>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               nsphmx3-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               ddr-thermal {
+                       thermal-sensors = <&tsens3 8>;
+
+                       trips {
+                               trip-point0 {
+                                       temperature = <120000>;
+                                       hysteresis = <2000>;
+                                       type = "hot";
+                               };
+
+                               ddr-critical {
+                                       temperature = <125000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+       };
+
        timer {
                compatible = "arm,armv8-timer";