[PATCH RESEND v4] arm64: dts: mediatek: mt7986-bpi-r3: Change fan PWM value for mid speed

AngeloGioacchino Del Regno angelogioacchino.delregno at collabora.com
Thu Oct 9 05:04:56 PDT 2025


Il 09/10/25 10:55, Mikhail Kshevetskiy ha scritto:
> Is there any chances get it merged to linux-6.18?
> 

No, the window is closed - but I have added this patch to my notes, will be picked
as soon as RC1 is out, will be in linux-next soon after, and will land in 6.19.

Cheers,
Angelo

> Regards,
> Mikhail Kshevetskiy
> 
> 
> 
> On 30.09.2025 14:34, AngeloGioacchino Del Regno wrote:
>> Il 30/09/25 04:16, Mikhail Kshevetskiy ha scritto:
>>> 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 at iopsys.eu>
>>> Acked-by: Frank Wunderlich <frank-w at public-files.de>
>>
>> Reviewed-by: AngeloGioacchino Del Regno
>> <angelogioacchino.delregno at collabora.com>
>>
>>





More information about the linux-arm-kernel mailing list