前言
T527 主板在调试edp点屏的时候,配置了一个pwm8对应的引脚作为背光,这个pwm8默认在dts中是没有配置的,需要添加对应的pin脚配置,于是参考了其他pwm的配置,添加到了dts。但是开机后edp屏的背光就是不亮,机器进入系统后,开关屏显示或者休眠唤醒都是可以正常亮背光的。
解决
反复确认了对应的gpio都是正确的。于是认真查看了一下原厂文档《Linux_EDP_开发指南.pdf》 ,里面有个pwm相关的配置说明:
1. 仿照已有 pwm 节点创建所需 pwm 节点
2. 仿照已有 pinctl 节点创建 pwm 所需的 pinctrl 节点
3. 根据 soc 的 Port_Controller spec,确认对应 pin 配置为 pwm 的 muxsel
在第三点中提到了需要“确认对应 pin 配置为 pwm 的 muxsel”,我以为这个只要配置了就可以了没有去关注muxsel的值,不同的gpio,pwmx_pin_a中的节点muxsel的值是不一样的,而pwmx_pin_b中的节点muxsel的值基本是一样的。pwm8_pin_a我自己是拷贝其他pwm节点的,这个pin脚原来对应的是PB的gpio,现在对应的PI的gpio,查看了其他PI的gpio的muxsel值,需要改成0x04,修改后背光就能够正常开启了。
&pwm8_pin_a {allwinner,pins = "PI7";allwinner,function = "pwm8";allwinner,drive = <0>;
- allwinner,muxsel = <0x05>;
+ allwinner,muxsel = <0x04>;
};