MTK6577+Android4.0背光点亮
1. 背光控制的框图和原理图
图1
RT9298BJ6为背光控制IC,MT6329为PMIC,MT6577为主处理器,采用MT6577的PWM1为RT9298配置PWM脉冲来实现背光可调,这部分的原理图如下:
图2
2. RJ9293简介
RT9293是一款专为白光LED设计的恒流升压转换器,这种升压驱动器允许LEDs串联,使得LEDs亮度均匀。同时,1.1MHz的高速开关频率允许外围器件尺寸更小,1uF的输入、输入电容更为节约板上空间。0.25V回馈电压可以更好的减小外围检测电阻上的功耗,进一步提高LEDs驱动系统效率。RT9293内部集成软启动电路,显著降低PWM调光时的音频噪声。RT9293采用小尺寸 SOT23-6封装。
3. 背光控制
涉及的文件及修改如下:
(1) mediatek\custom\prj\uboot\cust_leds.c
(2) mediatek\custom\prj\kernel\leds\mt65xx\cust_leds.c
Cust_leds.c中定义了cust_mt65xx_led类型的数组cust_led_list[],列出了平台的所有led设备,包括不同颜色的led灯,轨迹球、键盘、按键、LCD等的背光灯。不同led设备可以有各自不同的背光控制方式,比如PWM(脉冲宽度调制)方式,GPIO方式,PMIC方式,用户自定义方式等。如下所示:
static structcust_mt65xx_led cust_led_list[MT65XX_LED_TYPE_TOTAL] = { {"red", MT65XX_LED_MODE_NONE, -1,{0}}, {"green", MT65XX_LED_MODE_NONE, -1,{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_PMIC,MT65XX_LED_PMIC_BUTTON,{0}}, // {"lcd-backlight", MT65XX_LED_MODE_CUST,(int)DISP_SetBacklight,{0}}, {"lcd-backlight", MT65XX_LED_MODE_GPIO, GPIO84,{0}}, };
把cust_led_list最后的“lcd-backlight”中的GPIO84都改为GPIO67,这里来看cust_mt65xx_led结构体定义:
/* * name : must the same as lights HAL * mode : control mode * data : * PWM: pwm number * GPIO: gpio id * PMIC: enum mt65xx_led_pmic * CUST: custom set brightness function pointer */ structcust_mt65xx_led { char *name; enum mt65xx_led_mode mode; int data; struct PWM_config config_data; };
其成员mt65xx_led_mode定义如下:
enummt65xx_led_mode { MT65XX_LED_MODE_NONE, MT65XX_LED_MODE_PWM, MT65XX_LED_MODE_GPIO, MT65XX_LED_MODE_PMIC, MT65XX_LED_MODE_CUST };
其成员config_data 的结构体PWM_config定义如下:
struct PWM_config { int clock_source; int div; int low_duration; int High_duration; };
(3) 编译
uboot的编译命令./mk n ub
kernel的编译命令./mk n k
分别生成的uboot_hsimobile77_ics2.bin和kernel_hsimobile77_ics2.bin在\out\target\product\hsimobile77_ics2文件夹,如果之前已经烧过过所有的镜像文件了,这次就指需要烧录uboot和kernel对应的部分就可以了。
(4) Android背光驱动架构
图3
先借用这张图,通过这张图,这部分有很多内容,后面深入了再来写深入的分析了。
参考链接:
MTK Android Driver:led
http://blog.csdn.net/cbk861110/article/details/21287303
基于MTK65xx平台lcm和背光驱动的编写
http://blog.csdn.net/macxen_gunter/article/details/9531407