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. sqlite3数据库的性能问题报告
  2. boost::filesystem模块实现Windows MAX_PATH的测试程序
  3. 算法设计与分析——分支限界法——装载问题
  4. Internal Server Error - http code 500
  5. Android Button字母自动全部大写的问题
  6. hsrp 切换_HSRP、VRRP、GLBP | 网络工程师之网关高可用、冗余
  7. 牛客网暑期ACM多校训练营(第十场)D Rikka with Prefix Sum (组合数学)
  8. Hibernate中hbm.xml文件的inverse、cascade、fetch、outer-join、lazy
  9. Microsoft Word 段前距设置和页眉设置
  10. VS2017 15.4提供预览版,面向Windows 10秋季更新(FCU)
  11. eclipse 远程链接访问hadoop 集群日志信息没有输出的问题l
  12. PHP全文索引 讯搜xunsearch
  13. iText PDF设置字体样式
  14. pinpoint集群的安装配置
  15. shell实现ftp命令示例
  16. 计算机辅助设计师考试报考网址,计算机辅助设计师证如何报考?报名入口
  17. 【译】Unity3D Shader 新手教程(5/6) —— Bumped Diffuse Shader
  18. ListView实现倒计时功能
  19. html怎么把图片做成抖动效果,CSS图片抖动和JS点击特效
  20. 一位网友的网络求职经历

热门文章

  1. [读书笔记] - 《深度探索C++对象模型》第4章 Function语意学
  2. g2o中 EdgeSE3Expmap类型Jacobian的计算
  3. h matlab,较优H圈matlab实现
  4. 不规则多边形填充_花一分钟看一个案例,PPT中图片填充形状的应用
  5. Java多线程(十):BlockingQueue实现生产者消费者模型
  6. C++中的static 成员变量的一些注意点
  7. clion上添加程序的预定添加程序的命令行
  8. 希望直接访问系统内某个链接,跳过登录验证等过程
  9. jQuery EasyUI combobox多选及赋值
  10. 做开源界的MATLAB,PyMiner 需要更多热爱开源的你加入