微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > MT6572开机设置亮度

MT6572开机设置亮度

时间:10-02 整理:3721RD 点击:
RT, 6572开机时是怎么设置亮度的啊?  
if(level > 0 && level <= 32)
{  
     //mt_pwm_disable(pwm_setting.pwm_no, config_data->pMIC_pad);// chentao
  pwm_setting.PWM_MODE_FIFO_REGS.GUARD_VALUE = 0;
  pwm_setting.PWM_MODE_FIFO_REGS.SEND_DATA0 = (1 << level) - 1;
  pwm_set_spec_config(&pwm_setting);
}else if(level > 32 && level <= 64)
{
         
   //  mt_pwm_disable(pwm_setting.pwm_no, config_data->PMIC_pad);// chentao
  pwm_setting.PWM_MODE_FIFO_REGS.GUARD_VALUE = 1;
  level -= 32;
  pwm_setting.PWM_MODE_FIFO_REGS.SEND_DATA0 = (1 << level) - 1 ;
  pwm_set_spec_config(&pwm_setting);
}else
{
  LEDS_DEBUG("[LEDS]Error level in backlight\n");
  mt_pwm_disable(pwm_setting.pwm_no, config_data->pmic_pad);// chentao
  pwm_setting.PWM_MODE_FIFO_REGS.GUARD_VALUE = 1;
  level -= 32;
  pwm_setting.PWM_MODE_FIFO_REGS.SEND_DATA0 = (1 << 60) - 1 ;
  pwm_set_spec_config(&pwm_setting);
}
我看代码如果亮度等级大于64的话就会disable掉背光。 知道的大侠帮忙看一下。

国际惯例。自己顶一个先。

需要自己将0~255转换为0~64

可以给我看看你的转换代码吗

static int brightness_mapto64(int level)
{
        if (level < 30)
                return (level >> 1) + 7;
        else if (level <= 120)
                return (level >> 2) + 14;
        else if (level <= 160)
                return level / 5 + 20;
        else
                return (level >> 3) + 33;
}

需要这么麻烦?
level >>2不久好了?

开机的亮度我一般都是直接写死,以防有时候开机电流太大

我擦, 真粗暴、、、

我就是先写死了的。 我现在想研究下怎么做可以不写死。

您,能不能指导我一下,在6572m平台上将uboot的亮度直接设置为最高,而不只是到kernel那边


你直接写死就行了。
你打LOG看看,直接写死他。

直接写死背光255 没起什么作用。 背光在kernel 那边会突然跳变变亮,我想知道在突然变亮的这时候,到底是那一部分的驱动控制的?

直接写死背光255 没起什么作用。 背光在kernel 那边会突然跳变变亮,我想知道在突然变亮的这时候,到底是那一部分的驱动控制的?

我刚找到那段代码,如果直接在uboot里面写死255的话,会花屏一下。可以消除掉吗

背光开得太早了吧?
这东西要改,也需要打LOG跟代码才能解决。

mt65xx_led_set_cust 在这里面设置会直接白屏
如果是在这里面brightness_set_pmic 设置的话 并没有一个比较稳妥的值
level值在0~255中间是比较稳定的 ,如果直接设置成255的话,屏会特别暗

你写的多少,我这边就是开机电流大,低电的时候闪屏

写128就好了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top