Enable PWM fan and extend CPU thermal zones for monitoring and fan control.
This will trigger the PWM fan on J15 and cool down the system if necessary.

Signed-off-by: Tamás Szűcs <tsz...@protonmail.ch>
---
 .../boot/dts/nvidia/tegra210-p3450-0000.dts   | 64 +++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts 
b/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
index 9d17ec707bce..43c3613e7217 100644
--- a/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
@@ -552,6 +552,70 @@
                };
        };
 
+       fan: fan {
+               compatible = "pwm-fan";
+               pwms = <&pwm 3 45334>;
+
+               cooling-levels = <0 64 128 255>;
+               #cooling-cells = <2>;
+       };
+
+       thermal-zones {
+               cpu {
+                       polling-delay = <0>;
+                       polling-delay-passive = <500>;
+                       status = "okay";
+
+                       trips {
+                               cpu_trip_critical: critical {
+                                       temperature = <96500>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+
+                               cpu_trip_hot: hot {
+                                       temperature = <70000>;
+                                       hysteresis = <2000>;
+                                       type = "hot";
+                               };
+
+                               cpu_trip_active: active {
+                                       temperature = <50000>;
+                                       hysteresis = <2000>;
+                                       type = "active";
+                               };
+
+                               cpu_trip_passive: passive {
+                                       temperature = <30000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                       };
+
+                       cooling-maps {
+                               cpu-critical {
+                                       cooling-device = <&fan 3 3>;
+                                       trip = <&cpu_trip_critical>;
+                               };
+
+                               cpu-hot {
+                                       cooling-device = <&fan 2 2>;
+                                       trip = <&cpu_trip_hot>;
+                               };
+
+                               cpu-active {
+                                       cooling-device = <&fan 1 1>;
+                                       trip = <&cpu_trip_active>;
+                               };
+
+                               cpu-passive {
+                                       cooling-device = <&fan 0 0>;
+                                       trip = <&cpu_trip_passive>;
+                               };
+                       };
+               };
+       };
+
        gpio-keys {
                compatible = "gpio-keys";
 
-- 
2.20.1

Reply via email to