mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-01-28 03:37:17 +01:00
mediatek: fix pwn fan settings for sinovoip bpi-r3 (v3)
Popular cheap PWM fans for this machine, like the ones coming in
heatsink+fan combos will not work properly at the currently defined
medium speed. Trying different pwm setting using a command
echo $value > /sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1
I found:
pwm1 value fan rotation speed cpu temperature notes
-----------------------------------------------------------------
0 maximal 31.5 Celsius too noisy
40 optimal 35.2 Celsius no noise hearable
95 minimal
above 95 does not rotate 55.5 Celsius
-----------------------------------------------------------------
Current cooling levels are:
cooling-levels = <255 96 0>;
Thus only cpu-active-high and cpu-active-low modes are usable.
This patch fixes cpu-active-medium settings for bpi-r3 board.
This patch may not be enough. Users may wants to tweak their thermal_zone0
trip points, thus tuning fan rotation speed depending on cpu temperature.
That can be done on the base of the following example:
=== example =========
# cpu temperature below 25 Celsius degrees, no rotation
echo 25000 > /sys/class/thermal/thermal_zone0/trip_point_4_temp
# cpu temperature in [25..32] Celsius degrees, normal rotation speed
echo 32000 > /sys/class/thermal/thermal_zone0/trip_point_3_temp
# cpu temperature above 50 Celsius degrees, max rotation speed
echo 50000 > /sys/class/thermal/thermal_zone0/trip_point_2_temp
=====================
Changes v2:
* put patch to a proper directory
* updated patch description
* tested with latest openwrt based on linux-6.6
Changes v3:
* use upstream linux patch
* update patch description
Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17130
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
parent
def7548867
commit
095151b235
1 changed files with 72 additions and 0 deletions
|
|
@ -0,0 +1,72 @@
|
|||
From 5f271fe1365b63f67fc384ca8d50d473d09de0d1 Mon Sep 17 00:00:00 2001
|
||||
From: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
|
||||
Date: Tue, 3 Dec 2024 07:33:55 +0300
|
||||
Subject: [PATCH] arm64: dts: mediatek: mt7986-bpi-r3: Change fan PWM value for
|
||||
mid speed
|
||||
|
||||
Popular cheap PWM fans for this machine, like the ones coming in
|
||||
heatsink+fan combos will not work properly at the currently defined
|
||||
medium speed. Trying different pwm setting using a command
|
||||
|
||||
echo $value > /sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1
|
||||
|
||||
I found:
|
||||
|
||||
pwm1 value fan rotation speed cpu temperature notes
|
||||
-----------------------------------------------------------------
|
||||
0 maximal 31.5 Celsius too noisy
|
||||
40 optimal 35.2 Celsius no noise hearable
|
||||
95 minimal
|
||||
above 95 does not rotate 55.5 Celsius
|
||||
-----------------------------------------------------------------
|
||||
|
||||
Thus only cpu-active-high and cpu-active-low modes are usable.
|
||||
I think this is wrong.
|
||||
|
||||
This patch fixes cpu-active-medium settings for bpi-r3 board.
|
||||
|
||||
I know, the patch is not ideal as it can break pwm fan for some users.
|
||||
Likely this is the only official mt7986-bpi-r3 heatsink+fan solution
|
||||
available on the market.
|
||||
|
||||
This patch may not be enough. Users may wants to tweak their thermal_zone0
|
||||
trip points, thus tuning fan rotation speed depending on cpu temperature.
|
||||
That can be done on the base of the following example:
|
||||
|
||||
=== example =========
|
||||
# cpu temperature below 25 Celsius degrees, no rotation
|
||||
echo 25000 > /sys/class/thermal/thermal_zone0/trip_point_4_temp
|
||||
# cpu temperature in [25..32] Celsius degrees, normal rotation speed
|
||||
echo 32000 > /sys/class/thermal/thermal_zone0/trip_point_3_temp
|
||||
# cpu temperature above 50 Celsius degrees, max rotation speed
|
||||
echo 50000 > /sys/class/thermal/thermal_zone0/trip_point_2_temp
|
||||
=====================
|
||||
|
||||
Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
|
||||
Acked-by: Frank Wunderlich <frank-w@public-files.de>
|
||||
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
|
||||
|
||||
---
|
||||
Changes from v1 to v2:
|
||||
* improve patch description
|
||||
|
||||
Changes from v2 to v3:
|
||||
* added question to Frank Wunderlich
|
||||
|
||||
Changes from v3 to v4:
|
||||
* Acked by Frank Wunderlich
|
||||
---
|
||||
arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dts
|
||||
+++ b/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dts
|
||||
@@ -42,7 +42,7 @@
|
||||
compatible = "pwm-fan";
|
||||
#cooling-cells = <2>;
|
||||
/* cooling level (0, 1, 2) - pwm inverted */
|
||||
- cooling-levels = <255 96 0>;
|
||||
+ cooling-levels = <255 40 0>;
|
||||
pwms = <&pwm 0 10000>;
|
||||
status = "okay";
|
||||
};
|
||||
Loading…
Add table
Reference in a new issue