1、light系统框架

2、驱动相关的文件

1)Hal

/vendor/mediatek/proprietary/hardware/liblights/lights.c

2)Kernel

/kernel-3.18/drivers/leds/led-class.c

/kernel-3.18/drivers/leds/led-core.c

/kernel-3.18/drivers/leds/led-triggers.c

/kernel-3.18/drivers/leds/led-trigger/ledtring-timer.c

3)Driver

Kernel

/kernel-3.18/drivers/misc/mediatek/leds/$(platform)/leds.c

/kernel-3.18/drivers/misc/mediatek/leds/leds_drv.c

lk

/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/$(platform)/mt_leds.c

4)客制化

---  Kernel(DTS):

/kernel-3.18/arch/arm64/boot/dts/$(project).dts

---LK

/vendor/mediatek/proprietary/bootable/bootloader/lk/target/$(project)/cust_leds.c

3、背光灯模式

1)PWM 控制背光

2)PMIC 控制背光

4、背光灯客制化

1)lk 部分客制化

2)Kernel  部分客制化

  修改设备树参数: led_mode 和data [参数的具体定义参考上图]

/kernel-3.18/arch/arm64/boot/dts/$(project).dts

led0:led@0 {
compatible = "mediatek,red";
led_mode = <0>;
data = <1>;
pwm_config = <0 0 0 0 0>;
};
led1:led@1 {
compatible = "mediatek,green";
led_mode = <0>;   ---------------------LED 模式需要设置对
data = <1>;
pwm_config = <0 0 0 0 0>;
};
led2:led@2 {
compatible = "mediatek,blue";
led_mode = <0>;
data = <1>;
pwm_config = <0 0 0 0 0>;
};
led3:led@3 {
compatible = "mediatek,jogball-backlight";
led_mode = <0>;
data = <1>;
pwm_config = <0 0 0 0 0>;
};
led4:led@4 {
compatible = "mediatek,keyboard-backlight";
led_mode = <0>;
data = <1>;
pwm_config = <0 0 0 0 0>;
};
led5:led@5 {
compatible = "mediatek,button-backlight";
led_mode = <0>;
data = <1>;
pwm_config = <0 0 0 0 0>;
};
led6:led@6 {
compatible = "mediatek,lcd-backlight";
led_mode = <5>;
data = <1>;
pwm_config = <0 0 0 0 0>;

};

3)BB_PWM的波形周期和波形持续时间决定背光灯的亮度。

需要配置的参数在PWM_config定义,如果参数为0,就是使用系统定义的默认的参数,参数的具体定义参考硬件手册。

5 、调试方法

看背光灯的亮度和是否亮

---/sys/class/leds/xxx/brightness   xxx---green,blue,red  light的名字

---如果背光灯工作不正常,可以检查驱动。

echo brightness_level>brightness     检查设置的背光值是否正确

---背光灯的blank

echo timer>trigger

echo on_timer>delay_on

echo off_timer>delay_off

MTK 驱动开发(26)---背光灯相关推荐

  1. 详解关于MTK驱动开发学习教程

    MTK驱动开发学习教程是本文要介绍的内容,主要是来了解MTK的驱动开发的过程,文章中很详细的讲解了这个问题,具体内容来看本文详解. 一.Charge Parameters. 1.相关文件chr_par ...

  2. MTK 驱动开发(16)---LCM 移植

    对于LCM驱动移植,一般分为三部曲: 1.硬件IO口配置: 2.确保LCM背光能够正常点亮: 3.LCM驱动移植: 硬件电路: 1.GPIO配置 打开 mediatek\dct\DrvGen.exe ...

  3. MTK 驱动开发(33)---Vibrator

    Vibrator 驱动开发相对比较简单 1.配置功能及参数 vibrator0:vibrator@0 {compatible = "mediatek,vibrator";vib_t ...

  4. MTK 驱动开发(35)---待机功耗分析流程

    1.目的 2.MTK平台各个场景功耗数据测试方法 很多功耗问题都是因为测试手法不对,列出一些常用场景功耗测试手法.  测试功耗数据之前,请先确认以下配置:  1.关闭 WIFI/BT/GPS,关闭数据 ...

  5. MTK 驱动开发(42)---GAT 工具使用

    GAT 工具介绍: 1.关于GAT GAT是MTK在DDMS基础上进行二次开发封装的一个集多种debug功能为一体的工具,除了包含原有DDMS的功能以外还支持kernel抓取,获取native进程列表 ...

  6. MTK 驱动开发(41)---MTK 调试工具

    MTK Android software Tools工具的说明 MTK发布的Android software Tools工具包,里面包含了很多的MTK工具,如下是简要说明及学习文档 MTK Andro ...

  7. MTK 驱动开发(34)---待机功耗调试

    1.概要 待机平均电流非常容易出问题,也很难分析理清楚,应为涉及APK/Modem/Wifi这些不确定的因素,这类问题一定要遵循一个处理原则,到底在出现啥样的环境下复现,做几个实验,给出清晰的问题描述 ...

  8. MTK 驱动开发(32)---Sensor 移植及调试2

    接续上一节,本文主要介绍驱动部分的客制化 3. Sensor Driver 的客制化 主要涉及三个方面: 1)配置 codegen.dws ---I2C 地址.eint.gpio 2)配置驱动参数 3 ...

  9. MTK 驱动开发(28)--6797平台 TP 移植

    1. 修改kernel-3.18\arch\arm64\configs\len6797_6m_n_debug_defconfig.6797_6m_n_defconfig           CONFI ...

最新文章

  1. matlab获取标量
  2. 【JavaSE05】Java中方法与重载、递归-练习
  3. IDEA突然自动关闭然后无法启动
  4. c语言的指针和java引用传递参数,java传参数是传值还是引用
  5. mongodb创建普通用户并授权readWrite角色,并允许访问某一数据库
  6. UVA-10026 Shoemaker's Problem (贪心)
  7. BlueTooth: 蓝牙协议栈的原理和结构
  8. 图像分类系统之功能实现概要
  9. oracle11g数据库登录01017,【数据库管理】ORA-01017错误及部分的常见典型案例-Go语言中文社区...
  10. 网页版excel数据批量导入数据库
  11. eLife:一个开源、高性能的自动睡眠分期工具
  12. 原创|批处理实现安卓手机一键快速截屏
  13. 基于MATLAB车牌识别算法实现 GUI界面
  14. python :tushare 唐奇安通道
  15. Arranging Wine
  16. 商场抽奖软件 android,召唤抽奖系统3.0正式版
  17. 解读:学习网络安全自学好还是报培训班好
  18. java做简单的缓存缓存
  19. linux卸载字体库,在Ubuntu中删除不必要的字体并安装MS核心字体 | MOS86
  20. MATLAB绘制二维曲线-fplot函数

热门文章

  1. cocoscreator3d 获取mesh 大小_Cocos Creator 3D 粒子系统初战: 不要钱的酷炫火焰拿走不谢!...
  2. 【JVM】第一章 JVM体系结构
  3. LeetBook《程序员的算法趣题》Q18---水果酥饼日
  4. Jackson,Gson,Fastjson比较
  5. 一个工作了两三年程序员的学习计划
  6. hadoop备战:hbase的分布式安装经验
  7. centos/redhat破解账号密码
  8. UVALive 3958 Weird Numbers (负进制数)
  9. Python学习相关资料
  10. JavaScript中执行环境和栈