第十六章 PWM的配置
SSD201 和 SSD202拥有4路硬件 PWM。编号为 PWM0-PWM3,输出的GPIO可以通过 infinity2m-ssc011a-s01a-padmux-xxx.dtsi进行配置,调整PWM背光,需要屏蔽一下4个GPIO:
#<PAD_GPIO4 PINMUX_FOR_PWM0_MODE_3 MDRV_PUSE_PWM0 >,
#<PAD_GPIO5 PINMUX_FOR_PWM1_MODE_4 MDRV_PUSE_PWM1 >,
#<PAD_GPIO6 PINMUX_FOR_EJ_MODE_3 MDRV_PUSE_EJ_TDO >,
#<PAD_GPIO7 PINMUX_FOR_EJ_MODE_3 MDRV_PUSE_EJ_TDI >,
关于第二个参数,需要根据SSD201HWChecklistV6.xlsx[GPIOList]一表来确定是MODE_x:
接着修改 infinity2m-ssc011a-s01a-display.dtsi 的 pwm节点:
pwm {
compatible = "sstar,infinity-pwm";
reg = <0x1F003400 0x600>;
clocks = <&CLK_xtali_12m>;
npwm = <4>;
pad-ctrl = <PAD_GPIO4 PAD_GPIO5 PAD_UNKNOWN PAD_GPIO12>;
status = "ok";
};
其中,npwm表示使用多少个PWM,pad-ctrl表示绑定的引脚,比如这里PWM0绑定PAD_GPIO4,PWM1绑定PAD_GPIO5。
kernel需要加载PWM驱动:
# cd kernel
# ARCH=arm make menuconfig
系统启动后,就可以看到/sys/class/pwm/pwmchip0目录了。
以下是操作PWM1的一个实例:
# cd /sys/class/pwm/pwmchip0
# echo 1 > export 表示输出
# cd pwm1
# echo 2000 > period 表示2kHz 的frequency 的pwm 波
# echo 25 > duty_cycle 表示占空比是25%
# echo 1 > enable 表示使能
# echo 0 > enable 表示使能
文档更新时间: 2022-05-26 17:09 作者:Aeeditor