[PATCH v2 3/3] arm64: tegra: Add cooling device on Jetson AGX Thor DevKit

From: Thierry Reding

Date: Fri Aug 28 2026 - 07:59:54 EST


From: Thierry Reding <treding@xxxxxxxxxx>

Monitor the TJ thermal zone and use the main PWM fan of the Jetson AGX
Thor Developer Kit to actively cool the device if needed.

Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
---
arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi | 32 +++++++++++++
.../boot/dts/nvidia/tegra264-p4071-0000+p3834.dtsi | 52 ++++++++++++++++++++++
2 files changed, 84 insertions(+)

diff --git a/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi b/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi
index 58cd81bc33d7..d4c9f45e03c1 100644
--- a/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi
@@ -39,4 +39,36 @@ cmdqv@6200000 {
status = "okay";
};
};
+
+ thermal-zones {
+ cpu-thermal {
+ polling-delay-passive = <40>;
+ polling-delay = <1000>;
+ status = "okay";
+ };
+
+ gpu-thermal {
+ polling-delay-passive = <40>;
+ polling-delay = <1000>;
+ status = "okay";
+ };
+
+ soc012-thermal {
+ polling-delay-passive = <40>;
+ polling-delay = <1000>;
+ status = "okay";
+ };
+
+ soc345-thermal {
+ polling-delay-passive = <40>;
+ polling-delay = <1000>;
+ status = "okay";
+ };
+
+ tj-thermal {
+ polling-delay-passive = <40>;
+ polling-delay = <1000>;
+ status = "okay";
+ };
+ };
};
diff --git a/arch/arm64/boot/dts/nvidia/tegra264-p4071-0000+p3834.dtsi b/arch/arm64/boot/dts/nvidia/tegra264-p4071-0000+p3834.dtsi
index 4550e843f513..dd042e57839a 100644
--- a/arch/arm64/boot/dts/nvidia/tegra264-p4071-0000+p3834.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra264-p4071-0000+p3834.dtsi
@@ -22,4 +22,56 @@ fan: pwm-fan {
pwms = <&pwm4 0 40000>;
#cooling-cells = <2>;
};
+
+ thermal-zones {
+ tj-thermal {
+ trips {
+ tj_trip_active0: active-0 {
+ temperature = <80000>;
+ hysteresis = <0>;
+ type = "active";
+ };
+
+ tj_trip_active1: active-1 {
+ temperature = <86000>;
+ hysteresis = <0>;
+ type = "active";
+ };
+
+ tj_trip_active2: active-2 {
+ temperature = <91000>;
+ hysteresis = <0>;
+ type = "active";
+ };
+
+ tj_trip_active3: active-3 {
+ temperature = <100000>;
+ hysteresis = <0>;
+ type = "active";
+ };
+ };
+
+ cooling-maps {
+ map-active-0 {
+ cooling-device = <&fan 0 1>;
+ trip = <&tj_trip_active0>;
+ };
+
+ map-active-1 {
+ cooling-device = <&fan 1 2>;
+ trip = <&tj_trip_active1>;
+ };
+
+ map-active-2 {
+ cooling-device = <&fan 2 3>;
+ trip = <&tj_trip_active2>;
+ };
+
+ map-active-3 {
+ cooling-device = <&fan 3 4>;
+ trip = <&tj_trip_active3>;
+ };
+ };
+ };
+ };
};

--
2.55.0