rk3588 pwm-fan风扇调试

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

rockchip 在drivers/hwmon/pwm-fan.c驱动中添加了rockchip,temp-trips设备树属性,用于支持根据cpu温度调节风扇风速

根据设备原理图配置设备树。

/ {
	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 225 240 255>;

		rockchip,temp-trips = <
			50000   1
			55000   2
			60000   3
			65000   4
			70000   5
		>;
	};
};

&pwm10 {
        pinctrl-0 = <&pwm10m0_pins>;
        status = "okay";
};

调试方法:
1,每隔几秒打印cpu温度
while true; do adb shell “cat /sys/class/thermal/thermal_zone*/temp” | tee -a pwm_fan.txt;echo “######$(date)######” | tee -a pwm_fan.txt;sleep 5; done

2,运行耗时的视频App

3,当cpu温度升高时,观察到风扇启动了,并随cpu温度的升高,风扇的风速也越快了。

kernel层调试pwm:
cat /sys/kernel/debug/pwm

cat /sys/kernel/debug/pwm
对应的代码 /drivers/pwm/core.c

platform/febe0020.pwm, 1 PWM device
 pwm-0    (pwm-fan              ): requested period: 50000 ns duty: 0ns polaity: normal
 
 当cpu温度升高,fan工作时:
 pwm-0    (pwm-fan              ): requested enabled period: 50000 ns duty: 9804ns polaity: normal

rk3588 pwm-fan风扇调试_第1张图片

rk3588 pwm-fan风扇调试_第2张图片
sysfs调试pwm:
遇到的问题:
echo 0 > /sys/class/pwm/pwmchip0/export 失效,没有导出来。

sysfs调试pwm:
echo 0 > /sys/class/pwm/pwmchip0/export
**遇到的问题:**
cd  /sys/class/pwm/pwmchip0/
echo 0 >export   执行该操作后,pwm0没有导出来。
原因是:
cat /sys/kernel/debug/pwm  显示的是 requested,会并返回-EBUSY,所以导不出来,是正常现象。
当不是requested时会,正常导出来。
 pwm-0    (pwm-fan              ): requested period: 50000 ns duty: 0ns polaity: normal

rk3588 pwm-fan风扇调试_第3张图片
rk3588 pwm-fan风扇调试_第4张图片
rk3588 pwm-fan风扇调试_第5张图片

你可能感兴趣的:(BSP,linux)