BPI-R3 pwm fan speed issues fixed

I’ve seen several posts regarding PWM fan issues on the R3, but didn’t see definitive answers. This is how I solved the issue I was having. Running latest Tomato64 ( or any firmware that pulls from the OpenWRT/buildroot device tree ) I noticed the PWM fan did not vary its speed with duty cycle. I had 0 = full speed , 255 = off, and anything from 1 - 254 would produce the same very low speed. Within the mt7986a-bananapi-bpi-r3.dts file was this:

   fan: pwm-fan {
        compatible = "pwm-fan";
        #cooling-cells = <2>;
        /* cooling level (0, 1, 2) - pwm inverted */
        cooling-levels = <255 96 0>;
        pwms = <&pwm 0 10000>;
        status = "okay";
    };

This has the PWM clock set to 100kHz, much faster than the Intel specification for PWM fans outlines, which is 25kHz with an acceptable range of 21 - 28kHz. After changing pwms to 0 40000 ( 25kHz clock ) and testing, the fan now steps smoothly in speed through the entire duty cycle range, with slowest stable start-up being around 205.