一,背光灯模式
1)PWM 控制背光
2)PMIC 控制背光
二,背光灯客制化
2.1 首先说明一下文档的结构,我们先介绍我们客制化的地方,因为这个才是我们实际调试及解决 bug 时真正要关心的,而平台端不需要客制化的代码只需要梳理清楚就行。
背光流程中,客制化文件:
cust_leds.c (vendor\vendor\mediatek\proprietary\bootable\bootloader\lk\target$(project))
其中
staticstruct cust_mt65xx_led cust_led_list[MT65XX_LED_TYPE_TOTAL] = {
{
"red", MT65XX_LED_MODE_PMIC, MT65XX_LED_PMIC_NLED_ISINK0,{
0,0,0,0,0}},
{
"green", MT65XX_LED_MODE_PMIC, MT65XX_LED_PMIC_NLED_ISINK1,{
0,0,0,0,0}},
{
"blue", MT65XX_LED_MODE_NONE, -1, {
0,0,0,0,0}},
{
"jogball-backlight",MT65XX_LED_MODE_NONE, -1,{
0,0,0,0,0}},
{
"keyboard-backlight",MT65XX_LED_MODE_NONE,-1,{
0,0,0,0,0}},
{
"button-backlight", MT65XX_LED_MODE_NONE, -1,{
0,0,0,0,0}},
{
"lcd-backlight", MT65XX_LED_MODE_CUST_LCM,(int)primary_display_setbacklight,{
0}}, };
这个结构体就是客制化led子系统(包括呼吸灯、键盘灯、按键灯、背光等)中的模块具体调用方式的,比如
{
"lcd-backlight", MT65XX_LED_MODE_CUST_LCM,(int)primary_display_setbacklight,{
0}},
第一个成员就是定义操作的模块, lcd-backlight 就代表背光,
第二个成员表示对该模块的操作方式,mode,
第三个成员就是代表控制该模块的具体函数ÿ