MT6577,使用PWM2,开机动画完后,一直是黑点不亮
对应的文件已经配置如下/mediatek/custom/bird77_a_cu_ics2/kernel/leds/mt65xx/cust_leds.c
/mediatek/custom/bird77_a_cu_ics2/uboot/cust_leds.c
//{"LCD-backlight", MT65XX_LED_MODE_PMIC, MT65XX_LED_PMIC_LCD_BOOST,{0}},
{"lcd-backlight", MT65XX_LED_MODE_PWM, PWM2,{0}}, };
/mediatek/custom/bird77_a_cu_ics2/kernel/leds/mt65xx/cust_leds.c
这个kernel中的PWM2有没有可能枚主不对?
意思是这个PWM2要修改吗?我看了下枚举类型是这样的
enum PWM_NO{
PWM_MIN,
PWM0=PWM_MIN,
PWM1,
PWM2,
PWM3,
PWM4,
PWM5,
PWM6,
PWM_NUM,
PWM_MAX=PWM_NUM
};
看过那个配置的资料,说是硬件上的PWM2对应上软件要配置成PWM3,后面问了下别人说4.0.4版本后基本上不需要这样设置,我这边有配置成PWM3,这样配以后,开机都不会亮了
先外加个背光看看屏是否已经工作,PWM没有波形出来吗?
先直接配成gpio口模式 拉高看一下。
我遇到的是uboot里面有pwm信号,但进入kernel后PWM没有信号。解决办法是在cust_leds.c里面把PWM2对应的GPIO67的GPIO模式重新配置为PWM模式,PWM信号就出来了。希望对你有所帮助。
期待高手能指点kernel为何PWM模式无效了。
配成GPIO模式,拉高可以点亮了,只不过无法咩,我现在按照nepazhang的建议试一下,谢谢
终于搞定了,其他地方都没有改,就改了在leds.c文件中backlight_set_pwm这个函数里面,在if(level>0 && level <= 32)
{
pwm_setting.PWM_MODE_FIFO_REGS.SEND_DATA0 = (1 << level) - 1 ;
pwm_setting.PWM_MODE_FIFO_REGS.SEND_DATA1 = 0 ;
pwm_set_spec_config(&pwm_setting);
}else if(level>32 && level <=64)
{
level -= 32;
pwm_setting.PWM_MODE_FIFO_REGS.SEND_DATA0 = 0xFFFFFFFF ;
pwm_setting.PWM_MODE_FIFO_REGS.SEND_DATA1 = (1 << level) - 1;
pwm_set_spec_config(&pwm_setting);
}else
{
LEDS_DEBUG("[LED]Error level in backlight\n");
mt_set_pwm_disable(pwm_setting.pwm_no);
mt_power_off(pwm_setting.pwm_no);
}之前把level的值右移两位就可以了
你这个背光可以吗
帖子 都好老 没有新的了吗