环境:S5PV210+android4.0.4+linux3.0.8
问题:移植好屏的驱动后,发现uboot界面背光正常,kernel进入后背光变得很暗,进入android界面后,调节背光正常。。稍微调小,背光就很暗了,看不清界面了。
说明背光驱动是正常的。。用示波器测试,发现占空比为50%的样子。。要背光很亮的情况,PWM0引脚出来的波形应该是低电平占90%样子,低电平越长,屏越亮。
PWM的频率是一定的。不熟悉的可以参考下cpu定时器的TCNT,TCMP寄存器。
解决方法:修改arch/arm/plat-samsung/pwm.c文件中 pwm_config 接口,增加红色部分。
- tcmp = duty_ns / tin_ns;
- tcmp = tcnt - tcmp;
- /* the pwm hw only checks the compare register after a decrement,
- so the pin never toggles if tcmp = tcnt */
- if (tcmp == tcnt)
- tcmp--;
- pwm_dbg(pwm, "tin_ns=%lu, tcmp=%ld/%lu\n", tin_ns, tcmp, tcnt);
- tcmp=9000-tcmp //mk add,要看tcnt的值为多少,我们这里tcnt的值为10000.
- if (tcmp < 0)
- tcmp = 0;