Skip to content

Commit 3467ea9

Browse files
mkshevetskiyrobimarko
authored andcommitted
mediatek: fix pwn fan settings for sinovoip bpi-r3
Popular bpi-r3 pwm fans like this one https://www.amazon.com/youyeetoo-Barebone-Fan-BPI-R3-Integrated/dp/B0CCCTY8PS will not work properly with current openwrt-23.05/24.10 firmware. Trying different pwm setting 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 ----------------------------------------------------------------- At the moment we have following cooling levels: cooling-levels = <255 96 0>; for cpu-active-high, cpu-active-medium and cpu-active-low modes correspondingly. Thus only cpu-active-high and cpu-active-low are usable. I think this is wrong. This patch fixes cpu-active-medium settings for bpi-r3 board. PS: I know, the patch is not ideal as it can break pwm fan for some users. There are some peoples that use handmade cooling solutions, but: * discussed cooler is the only 'official' pwm cooler for bpi-r3 available on the market. * most peoples will use passive cooling available on the market or the discussed cooler. * the pwm-fan dts section was added before the official cooler appears on the market. Thus it should not be a lot of harm from this fix. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Link: openwrt/openwrt#16974 Signed-off-by: Robert Marko <[email protected]>
1 parent 2784f78 commit 3467ea9

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
--- a/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dts
2+
+++ b/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dts
3+
@@ -46,7 +46,7 @@
4+
compatible = "pwm-fan";
5+
#cooling-cells = <2>;
6+
/* cooling level (0, 1, 2) - pwm inverted */
7+
- cooling-levels = <255 96 0>;
8+
+ cooling-levels = <255 40 0>;
9+
pwms = <&pwm 0 10000>;
10+
status = "okay";
11+
};

0 commit comments

Comments
 (0)