rk3588 pwm-fan风扇调试:
参考文档:
http://www.taodudu.cc/news/show-2282037.html?action=onClick Rockchip平台cpu散热风扇随温度自动调速的配置方法
http://www.coloradmin.cn/o/576106.html?action=onClick rk3568适配温控风扇
https://www.kernel.org/doc/html/latest/driver-api/pwm.html
https://zhuanlan.zhihu.com/p/651211513 【linux kernel】一文总结linux内核通知链
rockchip 在drivers/hwmon/pwm-fan.c驱动中添加了rockchip,temp-trips设备树属性,用于支持根据cpu温度调节风扇风速。
方法是:delayed_work每200毫秒调用thermal_zone_get_temp获取温度,通知notifier通知链上的观察者。
pwm-fan.c中注册成为nofitier通知链上的观察者。
根据设备原理图配置设备树。
/ {
pwm_fan: pwm-fan {
compatible = "pwm-fan";
#cooling-cells = <2>;
pwms = <&pwm10 0 50000 0>;
cooling-levels = <0 50 100 150 200 255>;
// 注意:如下cooling-levels配置会导致风扇一会儿开启,一会儿关闭
// 原因是:风扇调节过于猛烈,需要根据整机情况进行调优
//cooling-levels = <0 150 200