热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MTK驱动开发(26)背光灯

1、light系统框架2、驱动相关的文件1)Halvendormediatekproprietaryhardwareliblightslights.c2)Kernelkerne

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 &#61; <0>;
data &#61; <1>;
pwm_config &#61; <0 0 0 0 0>;
};
led1:led&#64;1 {
compatible &#61; "mediatek,green";
led_mode &#61; <0>;   ---------------------LED 模式需要设置对
data &#61; <1>;
pwm_config &#61; <0 0 0 0 0>;
};
led2:led&#64;2 {
compatible &#61; "mediatek,blue";
led_mode &#61; <0>;
data &#61; <1>;
pwm_config &#61; <0 0 0 0 0>;
};
led3:led&#64;3 {
compatible &#61; "mediatek,jogball-backlight";
led_mode &#61; <0>;
data &#61; <1>;
pwm_config &#61; <0 0 0 0 0>;
};
led4:led&#64;4 {
compatible &#61; "mediatek,keyboard-backlight";
led_mode &#61; <0>;
data &#61; <1>;
pwm_config &#61; <0 0 0 0 0>;
};
led5:led&#64;5 {
compatible &#61; "mediatek,button-backlight";
led_mode &#61; <0>;
data &#61; <1>;
pwm_config &#61; <0 0 0 0 0>;
};
led6:led&#64;6 {
compatible &#61; "mediatek,lcd-backlight";
led_mode &#61; <5>;
data &#61; <1>;
pwm_config &#61; <0 0 0 0 0>;

};

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

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

5 、调试方法 
       看背光灯的亮度和是否亮      

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

---如果背光灯工作不正常&#xff0c;可以检查驱动。

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

  ---背光灯的blank

   echo timer>trigger

  echo on_timer>delay_on

  echo off_timer>delay_off
 


推荐阅读
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • ImlearningWPFandIencounteredthefollowingproblem:我正在学习WPF,遇到了以下问题:Ihaveanenumtypein ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • C# WPF自定义按钮的方法
    本文介绍了在C# WPF中实现自定义按钮的方法,包括使用图片作为按钮背景、自定义鼠标进入效果、自定义按压效果和自定义禁用效果。通过创建CustomButton.cs类和ButtonStyles.xaml资源文件,设计按钮的Style并添加所需的依赖属性,可以实现自定义按钮的效果。示例代码在ButtonStyles.xaml中给出。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • 本文介绍了利用ARMA模型对平稳非白噪声序列进行建模的步骤及代码实现。首先对观察值序列进行样本自相关系数和样本偏自相关系数的计算,然后根据这些系数的性质选择适当的ARMA模型进行拟合,并估计模型中的位置参数。接着进行模型的有效性检验,如果不通过则重新选择模型再拟合,如果通过则进行模型优化。最后利用拟合模型预测序列的未来走势。文章还介绍了绘制时序图、平稳性检验、白噪声检验、确定ARMA阶数和预测未来走势的代码实现。 ... [详细]
  • SpriteBuilder  学习笔记四
    Chapter5Timelines&TriggersSpriteBuilder的一个主要特性就是可以用关键帧创建Timeline动画。甚至可以通过提供合适的碰撞属性让静态physi ... [详细]
author-avatar
Mr木木木木_823
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有