MTK6572平台lcd背光配置、调试

自己总结和参考了这篇文章的内容:http://blog.csdn.net/zhufuronglovewenzhen/article/details/46627767

以及大神的文章:http://blog.csdn.net/loongembedded/article/details/41409251 对整个从应用层到底层的分析非常详细。

在frameworks下面修改背光初始值:http://www.2cto.com/kf/201303/196486.html

应用层修改屏幕亮度:http://blog.csdn.net/wilsonboliu/article/details/17164421

————————————————————————————————————————————————————————

接手的MTK65XX平台,现在需要调节lcd背光亮度,之前只接触过arm stm32 的我硬着头皮去看代码和框架流程。

大致明白了Java--jni--hal--driver的流程。然后打算开始作相应的修改测试一下,通过adb调试去拿到当前的brightness的亮度,发现是80,然后接着找到frameworks下:frameworks/base/packages/SettingsProvider/res/values/defaults.xml的值果然也是80。但是adb调试的时候改变这个值对应的lcd亮度根本没有变化,只有输入0的时候能够直接关闭背光,其他的值都不会改变背光的亮度。于是我想之前配置的背光模式是不能够梯度改变背光亮度的,只有两种状态:0---关闭背光;大于0---屏幕背光亮。接着,看了之前工程师做的配置,在kernel和lk相应路径下面均有背光部分代码,是这样的:


#define GPIO_BACKLIGHT_GPIO_PIN   GPIO134

unsigned int LB_Cust_SetBacklight(int level)
{
    if(level == 0)
    {
        mt_set_gpio_mode(GPIO_BACKLIGHT_GPIO_PIN, GPIO_MODE_00);
        mt_set_gpio_dir(GPIO_BACKLIGHT_GPIO_PIN, GPIO_DIR_OUT);
        mt_set_gpio_out(GPIO_BACKLIGHT_GPIO_PIN, 0);
    }
    else
    {
        mt_set_gpio_mode(GPIO_BACKLIGHT_GPIO_PIN, GPIO_MODE_00);
        mt_set_gpio_dir(GPIO_BACKLIGHT_GPIO_PIN, GPIO_DIR_OUT);
        mt_set_gpio_out(GPIO_BACKLIGHT_GPIO_PIN, 1);
    }

    return 0;
}

static struct cust_mt65xx_led cust_led_list[MT65XX_LED_TYPE_TOTAL] = {
#if 1  
	{"red",               MT65XX_LED_MODE_PMIC, MT65XX_LED_PMIC_NLED_ISINK0,{0}},
	{"green",             MT65XX_LED_MODE_PMIC, MT65XX_LED_PMIC_NLED_ISINK2,{0}},
	{"blue",              MT65XX_LED_MODE_PMIC, MT65XX_LED_PMIC_NLED_ISINK1,{0}},
	{"button-backlight",  MT65XX_LED_MODE_PMIC, MT65XX_LED_PMIC_NLED_ISINK3,{0}},
	{"jogball-backlight", MT65XX_LED_MODE_NONE, -1, {0}},
	{"keyboard-backlight",MT65XX_LED_MODE_NONE, -1, {0}},
	{"lcd-backlight",     MT65XX_LED_MODE_GPIO, (int)LB_Cust_SetBacklight,{0}},
#else
	{"red",               MT65XX_LED_MODE_PMIC, MT65XX_LED_PMIC_NLED_ISINK2,{0}},
	{"green",             MT65XX_LED_MODE_PMIC, MT65XX_LED_PMIC_NLED_ISINK1,{0}},
	{"blue",              MT65XX_LED_MODE_NONE, -1, {0}},
	{"jogball-backlight", MT65XX_LED_MODE_NONE, -1, {0}},
	{"keyboard-backlight",MT65XX_LED_MODE_NONE, -1, {0}},
	{"button-backlight",  MT65XX_LED_MODE_NONE, -1, {0}},
	{"lcd-backlight",     MT65XX_LED_MODE_PMIC, MT65XX_LED_PMIC_LCD_ISINK, {0}},
#endif	
};



目前还没有搞清楚GPIO134引脚作用是什么,应该就是个使能脚,如果是这样的话,那岂不是就不能够梯度调节LCD亮度了?按照这样只能是开和关两种状态了。

————————————————————————————————————————————————

现在尝试着通过修改lcd文件来实现屏幕的背光调节,在上述的参考链接当中,讲述了好几种模式,目前使用的应该就是GPIO脉冲模式了。

修改为PWM模式~~ 但是在没有了解清楚底层代码以及个方法的调用情况下,还是没有搞定,等接下来慢慢研究后再继续更新。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值