[openwrt/openwrt] mediatek: fix pwn fan settings for sinovoip bpi-r3

LEDE Commits lede-commits at lists.infradead.org
Thu Nov 21 13:04:19 PST 2024


robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/3467ea905b40f0df87700a15b716b1f5a4efc955

commit 3467ea905b40f0df87700a15b716b1f5a4efc955
Author: Mikhail Kshevetskiy <mikhail.kshevetskiy at gmail.com>
AuthorDate: Fri Nov 15 03:17:07 2024 +0300

    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 <mikhail.kshevetskiy at gmail.com>
    Link: https://github.com/openwrt/openwrt/pull/16974
    Signed-off-by: Robert Marko <robimarko at gmail.com>
---
 .../196-dts-mt7986a-bpi-r3-pwm-fan-cooling-levels.patch       | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/target/linux/mediatek/patches-5.15/196-dts-mt7986a-bpi-r3-pwm-fan-cooling-levels.patch b/target/linux/mediatek/patches-5.15/196-dts-mt7986a-bpi-r3-pwm-fan-cooling-levels.patch
new file mode 100644
index 0000000000..267c654f35
--- /dev/null
+++ b/target/linux/mediatek/patches-5.15/196-dts-mt7986a-bpi-r3-pwm-fan-cooling-levels.patch
@@ -0,0 +1,11 @@
+--- a/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dts
++++ b/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dts
+@@ -46,7 +46,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";
+ 	};




More information about the lede-commits mailing list