Phytec中国的wiki
support@phytec.cn
热线:0755-61802110-803
设备树配置
首先需要在设备树将对应的pwm引脚pinmux设置为pwm_out,
pinctrl_pwm1: pwm1grp { fsl,pins = < MX6QDL_PAD_GPIO_9__PWM1_OUT 0x1b0b1 >; };
然后在设备树中使能该pwm输出
&pwm1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm1>; status = "okay"; };
以上例子定义的pwm在mx6 开发板的设备树中被引用为backlight, 如果要使用该pwm进行以下章节的sysfs接口测试, 需要先将设备树中backlight的状态改为disabled.
sysfs应用
使能设备树pwm配置之后, 文件系统就有该pwm的sysfs接口/sys/class/pwm/pwmchipN.
pwm的sysfs接口具体说明可参考kernel文档:
https://www.kernel.org/doc/Documentation/pwm.txt
在/sys/class/pwm/pwmchipN目录下有npwm, export, unexport文件,属性说明如下
先注册该pwm通道:
root@phyboard-mira-imx6-3:~# cat /sys/class/pwm/pwmchip0/npwm 1 root@phyboard-mira-imx6-3:~# echo 0 > /sys/class/pwm/pwmchip0/export
注册该pwm通道后, 就会在/sys/class/pwm/pwmchipN目录下生成对应的pwmX目录, 该目录下有以下pwm属性文件
先配置pwm的属性, 然后使能该pwm输出
root@phyboard-mira-imx6-3:~# cat /sys/class/pwm/pwmchip0/pwm0/polarity normal root@phyboard-mira-imx6-3:~# echo 5000 > /sys/class/pwm/pwmchip0/pwm0/period root@phyboard-mira-imx6-3:~# echo 4000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle root@phyboard-mira-imx6-3:~# echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable
此时在pwm的debugfs文件, 可以查看到pwm的输出信息
root@phyboard-mira-imx6-3:~# cat /sys/kernel/debug/pwm platform/2080000.pwm, 1 PWM device pwm-0 (sysfs ): requested enabled period: 5000 ns duty: 4000 ns polarity: normal
Overview
Content Tools
Tasks