MTK6572平台lcd背光配置、调试

来源:互联网 发布:德拉蒙德格林生涯数据 编辑:程序博客网 时间:2024/05/22 04:58

自己总结和参考了这篇文章的内容: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   GPIO134unsigned 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模式~~ 但是在没有了解清楚底层代码以及个方法的调用情况下,还是没有搞定,等接下来慢慢研究后再继续更新。


0 0
原创粉丝点击