mvebu: enable thermal zone polling for IEI Puzzle devices
authorDaniel Golle <daniel@makrotopia.org>
Sun, 17 Mar 2024 15:55:09 +0000 (15:55 +0000)
committerDaniel Golle <daniel@makrotopia.org>
Sun, 17 Mar 2024 19:40:44 +0000 (19:40 +0000)
Marvell's thermal sensors do not support interrupts, so we need to
poll them. Reading temperature every second should be enough to
control the fan.
While at it, also make sure fan speed is reduced again if temperature
goes down.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit fc177695e00e80afd30d20d29f6e915edc9e9eb9)

target/linux/mvebu/files/arch/arm64/boot/dts/marvell/puzzle-thermal.dtsi

index 94677532f2dc1f341ca5c9953272db9baa7bab1f..a8ce8fd102c69614de541f54780169b504a6ebde 100644 (file)
@@ -1,4 +1,7 @@
 #define PUZZLE_FAN_THERMAL(_cname, _fan)                                       \
+       polling-delay-passive = <500>;                                          \
+       polling-delay = <1000>;                                                 \
+                                                                               \
        trips {                                                                 \
                _cname##_active_high: cpu-active-high {                         \
                        temperature = <80000>;                                  \
                };                                                              \
                cpu-active-med {                                                \
                        trip = <&_cname##_active_med>;                          \
-                       cooling-device = <_fan 2 THERMAL_NO_LIMIT>;             \
+                       cooling-device = <_fan 2 3>;                            \
                };                                                              \
                cpu-active-low {                                                \
                        trip = <&_cname##_active_low>;                          \
-                       cooling-device = <_fan 1 THERMAL_NO_LIMIT>;             \
+                       cooling-device = <_fan 1 2>;                            \
                };                                                              \
                cpu-active-idle {                                               \
                        trip = <&_cname##_active_idle>;                         \
-                       cooling-device = <_fan 0 THERMAL_NO_LIMIT>;             \
+                       cooling-device = <_fan 0 0>;                            \
                };                                                              \
        }