arm64: dts: qcom: sm8750: Enable TSENS and thermal zones

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>
This commit is contained in:
Manaf Meethalavalappu Pallikunhi 2026-03-25 16:50:00 +05:30 committed by Bjorn Andersson
parent bcd42e405c
commit 746ad6b00c

View 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>;
@ -3447,6 +3448,54 @@ pdc: interrupt-controller@b220000 {
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>;
@ -5893,6 +5942,854 @@ compute-cb@14 {
};
};
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";