* [PATCH v2] arm64: dts: qcom: sc8280xp: Add more thermal zones
@ 2026-08-31 10:19 Xilin Wu
2026-08-31 10:27 ` sashiko-bot
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Xilin Wu @ 2026-08-31 10:19 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Xilin Wu
The SC8280XP contains a lot of TSENS sensors which are not yet described.
Add the thermal zones for them.
Signed-off-by: Xilin Wu <sophon@radxa.com>
---
Changes in v2:
- Rebased onto next-20260828
- Dropped applied patch 1
- Add missing NSP1 thermal zones and rename CPUSS and DDRSS thermal zones.
- Link to v1: https://patch.msgid.link/20260507-sc8280xp-thermal-zones-v1-0-33d4395b1be9@radxa.com
To: Bjorn Andersson <andersson@kernel.org>
To: Konrad Dybcio <konradybcio@kernel.org>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 551 ++++++++++++++++++++++++++++++++-
1 file changed, 538 insertions(+), 13 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
index fbcfd3883bbb..880570d0a41c 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
@@ -7084,7 +7084,19 @@ sound: sound {
};
thermal-zones {
- cpu0-thermal {
+ aoss-0-thermal {
+ thermal-sensors = <&tsens0 0>;
+
+ trips {
+ aoss-critical {
+ temperature = <110000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+ };
+ };
+
+ cpu0-0-thermal {
thermal-sensors = <&tsens0 1>;
trips {
@@ -7096,7 +7108,7 @@ cpu-crit {
};
};
- cpu1-thermal {
+ cpu1-0-thermal {
thermal-sensors = <&tsens0 2>;
trips {
@@ -7108,7 +7120,7 @@ cpu-crit {
};
};
- cpu2-thermal {
+ cpu2-0-thermal {
thermal-sensors = <&tsens0 3>;
trips {
@@ -7120,7 +7132,7 @@ cpu-crit {
};
};
- cpu3-thermal {
+ cpu3-0-thermal {
thermal-sensors = <&tsens0 4>;
trips {
@@ -7132,7 +7144,7 @@ cpu-crit {
};
};
- cpu4-thermal {
+ cpu4-0-thermal {
thermal-sensors = <&tsens0 5>;
trips {
@@ -7144,7 +7156,7 @@ cpu-crit {
};
};
- cpu5-thermal {
+ cpu5-0-thermal {
thermal-sensors = <&tsens0 6>;
trips {
@@ -7156,7 +7168,7 @@ cpu-crit {
};
};
- cpu6-thermal {
+ cpu6-0-thermal {
thermal-sensors = <&tsens0 7>;
trips {
@@ -7168,7 +7180,7 @@ cpu-crit {
};
};
- cpu7-thermal {
+ cpu7-0-thermal {
thermal-sensors = <&tsens0 8>;
trips {
@@ -7180,7 +7192,7 @@ cpu-crit {
};
};
- cluster0-thermal {
+ cpuss0-thermal {
thermal-sensors = <&tsens0 9>;
trips {
@@ -7192,10 +7204,262 @@ cpu-crit {
};
};
- gpu-thermal {
+ nsp0-0-thermal {
+ thermal-sensors = <&tsens0 10>;
+
+ trips {
+ nsp0-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ nsp1-0-thermal {
+ thermal-sensors = <&tsens0 11>;
+
+ trips {
+ nsp1-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ smss-0-thermal {
+ thermal-sensors = <&tsens0 12>;
+
+ trips {
+ smss-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ camss-0-thermal {
+ thermal-sensors = <&tsens0 13>;
+
+ trips {
+ camss-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ aoss-1-thermal {
+ thermal-sensors = <&tsens1 0>;
+
+ trips {
+ aoss-critical {
+ temperature = <110000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+ };
+ };
+
+ cpu0-1-thermal {
+ thermal-sensors = <&tsens1 1>;
+
+ trips {
+ cpu-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ cpu1-1-thermal {
+ thermal-sensors = <&tsens1 2>;
+
+ trips {
+ cpu-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ cpu2-1-thermal {
+ thermal-sensors = <&tsens1 3>;
+
+ trips {
+ cpu-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ cpu3-1-thermal {
+ thermal-sensors = <&tsens1 4>;
+
+ trips {
+ cpu-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ cpu4-1-thermal {
+ thermal-sensors = <&tsens1 5>;
+
+ trips {
+ cpu-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ cpu5-1-thermal {
+ thermal-sensors = <&tsens1 6>;
+
+ trips {
+ cpu-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ cpu6-1-thermal {
+ thermal-sensors = <&tsens1 7>;
+
+ trips {
+ cpu-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ cpu7-1-thermal {
+ thermal-sensors = <&tsens1 8>;
+
+ trips {
+ cpu-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ cpuss1-thermal {
+ thermal-sensors = <&tsens1 9>;
+
+ trips {
+ cpu-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ nsp0-2-thermal {
+ thermal-sensors = <&tsens1 10>;
+
+ trips {
+ nsp0-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ nsp1-2-thermal {
+ thermal-sensors = <&tsens1 11>;
+
+ trips {
+ nsp1-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ smss-1-thermal {
+ thermal-sensors = <&tsens1 12>;
+
+ trips {
+ smss-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ camss-1-thermal {
+ thermal-sensors = <&tsens1 13>;
+
+ trips {
+ camss-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ pcie-0-thermal {
+ thermal-sensors = <&tsens1 14>;
+
+ trips {
+ pcie-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ ddrss-0-thermal {
+ thermal-sensors = <&tsens1 15>;
+
+ trips {
+ trip-point0 {
+ temperature = <90000>;
+ hysteresis = <2000>;
+ type = "hot";
+ };
+ };
+ };
+
+ aoss-2-thermal {
+ thermal-sensors = <&tsens2 0>;
+
+ trips {
+ aoss-critical {
+ temperature = <110000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+ };
+ };
+
+ gpuss-0-thermal {
polling-delay-passive = <250>;
- thermal-sensors = <&tsens2 2>;
+ thermal-sensors = <&tsens2 1>;
cooling-maps {
map0 {
@@ -7219,8 +7483,101 @@ trip-point1 {
};
};
- mem-thermal {
- thermal-sensors = <&tsens1 15>;
+ gpuss-1-thermal {
+ polling-delay-passive = <250>;
+
+ thermal-sensors = <&tsens2 2>;
+
+ cooling-maps {
+ map0 {
+ trip = <&gpu_alert1>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
+ trips {
+ gpu_alert1: trip-point0 {
+ temperature = <85000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ trip-point1 {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ gpuss-2-thermal {
+ polling-delay-passive = <250>;
+
+ thermal-sensors = <&tsens2 3>;
+
+ cooling-maps {
+ map0 {
+ trip = <&gpu_alert2>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
+ trips {
+ gpu_alert2: trip-point0 {
+ temperature = <85000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ trip-point1 {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ gpuss-3-thermal {
+ polling-delay-passive = <250>;
+
+ thermal-sensors = <&tsens2 4>;
+
+ cooling-maps {
+ map0 {
+ trip = <&gpu_alert3>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
+ trips {
+ gpu_alert3: trip-point0 {
+ temperature = <85000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ trip-point1 {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ pcie-1-thermal {
+ thermal-sensors = <&tsens2 5>;
+
+ trips {
+ pcie-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ ddrss-1-thermal {
+ thermal-sensors = <&tsens2 6>;
trips {
trip-point0 {
@@ -7230,6 +7587,174 @@ trip-point0 {
};
};
};
+
+ audio-thermal {
+ thermal-sensors = <&tsens2 7>;
+
+ trips {
+ audio-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ video-thermal {
+ thermal-sensors = <&tsens2 8>;
+
+ trips {
+ video-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ nsp0-1-thermal {
+ thermal-sensors = <&tsens2 9>;
+
+ trips {
+ nsp0-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ nsp1-1-thermal {
+ thermal-sensors = <&tsens2 10>;
+
+ trips {
+ nsp1-crit {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ aoss-3-thermal {
+ thermal-sensors = <&tsens3 0>;
+
+ trips {
+ aoss-critical {
+ temperature = <110000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+ };
+ };
+
+ gpuss-4-thermal {
+ polling-delay-passive = <250>;
+
+ thermal-sensors = <&tsens3 1>;
+
+ cooling-maps {
+ map0 {
+ trip = <&gpu_alert4>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
+ trips {
+ gpu_alert4: trip-point0 {
+ temperature = <85000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ trip-point1 {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ gpuss-5-thermal {
+ polling-delay-passive = <250>;
+
+ thermal-sensors = <&tsens3 2>;
+
+ cooling-maps {
+ map0 {
+ trip = <&gpu_alert5>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
+ trips {
+ gpu_alert5: trip-point0 {
+ temperature = <85000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ trip-point1 {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ gpuss-6-thermal {
+ polling-delay-passive = <250>;
+
+ thermal-sensors = <&tsens3 3>;
+
+ cooling-maps {
+ map0 {
+ trip = <&gpu_alert6>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
+ trips {
+ gpu_alert6: trip-point0 {
+ temperature = <85000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ trip-point1 {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+
+ gpuss-7-thermal {
+ polling-delay-passive = <250>;
+
+ thermal-sensors = <&tsens3 4>;
+
+ cooling-maps {
+ map0 {
+ trip = <&gpu_alert7>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
+ trips {
+ gpu_alert7: trip-point0 {
+ temperature = <85000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ trip-point1 {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
};
timer {
---
base-commit: e30626823a406725ce29bc75cb8ec467d3e1e326
change-id: 20260507-sc8280xp-thermal-zones-2474cb20a17a
Best regards,
--
Xilin Wu <sophon@radxa.com>
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH v2] arm64: dts: qcom: sc8280xp: Add more thermal zones
2026-08-31 10:19 [PATCH v2] arm64: dts: qcom: sc8280xp: Add more thermal zones Xilin Wu
@ 2026-08-31 10:27 ` sashiko-bot
2026-08-31 12:03 ` Konrad Dybcio
2026-09-03 17:20 ` Bjorn Andersson
2 siblings, 0 replies; 4+ messages in thread
From: sashiko-bot @ 2026-08-31 10:27 UTC (permalink / raw)
To: Xilin Wu; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The NSP (Neural Processing Unit) thermal zone node names have swapped suffixes relative to their tsens instances.
--
commit 092e957a85480db5b06f08e884f71660fcf25523
Author: Xilin Wu <sophon@radxa.com>
arm64: dts: qcom: sc8280xp: Add more thermal zones
This commit adds thermal zones for the remaining undocumented TSENS sensors
on the SC8280XP. It includes missing NSP1 thermal zones and renames CPUSS
and DDRSS thermal zones.
Link: https://patch.msgid.link/20260507-sc8280xp-thermal-zones-v1-0-33d4395b1be9@radxa.com
> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> index fbcfd3883bbb4..880570d0a41c6 100644
> --- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
[ ... ]
> + cpuss1-thermal {
> + thermal-sensors = <&tsens1 9>;
> +
> + trips {
> + cpu-crit {
> + temperature = <110000>;
> + hysteresis = <1000>;
> + type = "critical";
> + };
> + };
> + };
> +
> + nsp0-2-thermal {
> + thermal-sensors = <&tsens1 10>;
[Severity: Low]
Is this node name suffix intentional? The naming convention throughout this
file appears to use the tsens instance index as the suffix for the thermal
zone node name (e.g., aoss-1-thermal uses tsens1), but here nsp0-2-thermal
maps to tsens1.
> +
> + trips {
> + nsp0-crit {
> + temperature = <110000>;
> + hysteresis = <1000>;
> + type = "critical";
> + };
> + };
> + };
> +
> + nsp1-2-thermal {
> + thermal-sensors = <&tsens1 11>;
[Severity: Low]
Similarly, should this be named nsp1-1-thermal to match the tsens1 instance
it uses?
[ ... ]
> + video-thermal {
> + thermal-sensors = <&tsens2 8>;
> +
> + trips {
> + video-crit {
> + temperature = <110000>;
> + hysteresis = <1000>;
> + type = "critical";
> + };
> + };
> + };
> +
> + nsp0-1-thermal {
> + thermal-sensors = <&tsens2 9>;
[Severity: Low]
Should this node be named nsp0-2-thermal to match tsens2? Currently, the -1
and -2 node suffixes appear to be swapped relative to their tsens instances.
> +
> + trips {
> + nsp0-crit {
> + temperature = <110000>;
> + hysteresis = <1000>;
> + type = "critical";
> + };
> + };
> + };
> +
> + nsp1-1-thermal {
> + thermal-sensors = <&tsens2 10>;
[Severity: Low]
As with the nodes above, does this nsp1-1-thermal node incorrectly map
to tsens2 instead of tsens1 due to the swapped suffixes?
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260831-sc8280xp-thermal-zones-v2-1-8c2b89b4c9c5@radxa.com?part=1
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH v2] arm64: dts: qcom: sc8280xp: Add more thermal zones
2026-08-31 10:19 [PATCH v2] arm64: dts: qcom: sc8280xp: Add more thermal zones Xilin Wu
2026-08-31 10:27 ` sashiko-bot
@ 2026-08-31 12:03 ` Konrad Dybcio
2026-09-03 17:20 ` Bjorn Andersson
2 siblings, 0 replies; 4+ messages in thread
From: Konrad Dybcio @ 2026-08-31 12:03 UTC (permalink / raw)
To: Xilin Wu, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 8/31/26 12:19 PM, Xilin Wu wrote:
> The SC8280XP contains a lot of TSENS sensors which are not yet described.
> Add the thermal zones for them.
>
> Signed-off-by: Xilin Wu <sophon@radxa.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Tested-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> # SC8280XP CRD, X13s
Konrad
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] arm64: dts: qcom: sc8280xp: Add more thermal zones
2026-08-31 10:19 [PATCH v2] arm64: dts: qcom: sc8280xp: Add more thermal zones Xilin Wu
2026-08-31 10:27 ` sashiko-bot
2026-08-31 12:03 ` Konrad Dybcio
@ 2026-09-03 17:20 ` Bjorn Andersson
2 siblings, 0 replies; 4+ messages in thread
From: Bjorn Andersson @ 2026-09-03 17:20 UTC (permalink / raw)
To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Xilin Wu
Cc: linux-arm-msm, devicetree, linux-kernel
On Mon, 31 Aug 2026 18:19:06 +0800, Xilin Wu wrote:
> The SC8280XP contains a lot of TSENS sensors which are not yet described.
> Add the thermal zones for them.
>
>
Applied, thanks!
[1/1] arm64: dts: qcom: sc8280xp: Add more thermal zones
commit: e47310db5e7aa53b2a135a86db7cdc308d9af542
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-09-03 17:21 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-31 10:19 [PATCH v2] arm64: dts: qcom: sc8280xp: Add more thermal zones Xilin Wu
2026-08-31 10:27 ` sashiko-bot
2026-08-31 12:03 ` Konrad Dybcio
2026-09-03 17:20 ` Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox