From fc177695e00e80afd30d20d29f6e915edc9e9eb9 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sun, 17 Mar 2024 15:55:09 +0000 Subject: [PATCH] mvebu: enable thermal zone polling for IEI Puzzle devices 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 --- .../arch/arm64/boot/dts/marvell/puzzle-thermal.dtsi | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/puzzle-thermal.dtsi b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/puzzle-thermal.dtsi index 94677532f2d..a8ce8fd102c 100644 --- a/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/puzzle-thermal.dtsi +++ b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/puzzle-thermal.dtsi @@ -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>; \ @@ -28,14 +31,14 @@ }; \ 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>; \ }; \ }