MTK6577+Android4.0背光点亮

MTK6577+Android4.0背光点亮

 

1.     背光控制的框图和原理图

 MTK6577+Android4.0背光点亮_第1张图片

图1

RT9298BJ6为背光控制IC,MT6329为PMIC,MT6577为主处理器,采用MT6577的PWM1为RT9298配置PWM脉冲来实现背光可调,这部分的原理图如下:

MTK6577+Android4.0背光点亮_第2张图片

图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背光驱动架构

MTK6577+Android4.0背光点亮_第3张图片

图3

先借用这张图,通过这张图,这部分有很多内容,后面深入了再来写深入的分析了。

 

 

 

参考链接:

MTK Android Driver:led

http://blog.csdn.net/cbk861110/article/details/21287303

 

基于MTK65xx平台lcm和背光驱动的编写

http://blog.csdn.net/macxen_gunter/article/details/9531407

 

你可能感兴趣的:(MTK6577+Android4.0背光点亮)