搜索

126

主题

180

帖子

2130

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2130
发表于 2021-6-3 10:20:26 9942 浏览 0 回复

MTK 背光修改

1 介绍下pwm



2 disp_pwm频率如何设定的问题。
1、Disp_PWM频率计算方法


fre=source clock/(divider+1)/(period+1)


source clock:时钟源,26MHz/104MHz/125MHz/62.5MHz/15.625/……,与IC design有关。若没有特别说明,一般是26MHz


divider:对source clock除频


period:disp_pwm周期,默认是1023


因此,想达到特定的fre,只需要适当的修改source、divider参数即可(period一般不建议修改)


2、disp_pwm频率代码位置




3 dts配置方式方式


若lk & kernel都从dts读取disp_pwm参数,则只需针对性修改dts即可


led6:led@6 {
compatible = "mediatek,lcd-backlight";


led_mode = <5>;


data = <1>;


pwm_config = <0 0 0 0 0>;


};
pwm_config参数:clock source、divider、low_duration、high_duration、pmic_pad。与dts配置中pwm_config = <0 0 0 0 0>参数一一对应。只需关注前面2个参数即可


如上设定:clock source=26MHz,divider=0


fre=26MHz/1/1024=25.29KHz


3、不使用dts


divider: PWM_DEFAULT_DIV_VALUE   ///设定成你需要的值


CLK_CFG_1 bit[2:0]:0/1/2/……      ///选择不同的source
所以遇到频率无法修改成功的问题,先看是使用dts配置,还是disp_pwm driver init时hardcode写死,再相对应的修改设定。




kernel下使用dts设定,ddp_pwm.c/disp_pwm_config_init(),会调用disp_pwm_set_pwmmux()函数对如上的5种clock source进行重新mapping,使用mapping后的clock ID进行配置
所以遇到频率无法修改成功的问题,先看是使用dts配置,还是disp_pwm driver init时hardcode写死,再相对应的修改设定。








未完...










































本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


登录或注册
快速回复 返回顶部 返回列表