android7.1+msm8937背光控制

multipurpose pin (MPP)

1.    硬件设计

背光IC采用LN3492HCMH,背光控制接口引脚描述,对应上图的CON2

1.1  LCD和背光供电时序要求

可知先给LCD电路供电,后面才是给LED供电。

1.2  LED阵列电特性

1.3  PWM控制引脚

PWM由MPP2_LCD_BL_PWM控制,此引脚连接到PM8937_MPP2

PM8937的MPP

PMI8937的MPP,我们采用的是PMI8937_MPP2

2.    Android背光控制类型

背光控制方法有PWM、WLED和DCS这几种,

WLED:White LightEmitting Diode,白光二极管

PWM:Pulse widthmodulation,脉宽调制

DCS:Display CommandSet,显示命令集

DCS is a MIPI Alliance specification forthe command set used by DSI and DBI-2 standards. Commands are sent from thehost processor to the display module. On the display module, a displaycontroller receives and interprets commands, then takes appropriate action.Commands fall into four broad categories: read register, write register, readmemory and write memory. A command may be accompanied by multiple parameters.(来至于MIPI DSI定义)

至于选择哪种方式来控制背光,这和我们使用的显示屏面板来决定。

LM215WF3 is a Color Active Matrix LiquidCrystal Display with a Light Emitting Diode (发光二极管,LED)backlight Assembly(背光组件) without LED driver(但没有LED控制电路,需要外部设计)。

It requires two power inputs. One isemployed to power the LCD electronics and to drive the TFT array and liquidcrystal. The second input power for the LED/Backlight, is typically generatedby a LED Driver. The LED Driver is an external unit(外部单元) to the LCDs.

3.    软件部分

3.1  bootloader部分

上面是调用流程,主要由msm8952_pwm_backlight_ctrl()来配置

3.2  kernel部分

我们知道背光控制方式,由我们采用的显示屏背光电路来决定,比如我们是PWM,对应设备树

3.2.1      软件流程

3.2.1.1  初始化流程

(1)  注册mdss_dsi_ctrl驱动和解析背光设备树的设置

从红色代码可知背光调节通过调用mdss_dsi_panel_bl_ctrl()实现,另外pwm_request()函数的实现

第43行表示请求一个PWM设备,ctrl->pwm_lpg_chan是PWM设备索引,"lcd-bklt"表示PWM设备的标签。并让ctrl->pwm_bl指向于此设备。

(2)  注册mdss_fb驱动和注册lcd-backlight

mdss_fb.c通过led_classdev_register注册一个led classdev,路径/sys/class/led/lcd-backlight,设置背光亮度的函数见红色的函数指针brightness_set,指向mdss_fb_set_bl_brightness()

3.2.1.2  背光调节流程

比如我们常用的背光调节方法;

(1)  系统设置里的调节

(2)  /sys/class/leds/lcd-backlight,比如echo 255 > /brightness。

从上层到HAL层的set_light_backligh(),最后调用到底层驱动mdss_dsi_panel_bklt_pwm()调节背光。

3.2.2      背光控制相关设备树配置

kernel\msm-3.18\arch\arm\boot\dts\qcom\msm8937-pmi8937-qrd-sku2.dtsi下对应显示屏的节点

&dsi_lm215w_lvds_1080p_video {

qcom,mdss-dsi-bl-pmic-control-type= "bl_ctrl_pwm";//采用PWM方式

qcom,mdss-dsi-bl-pmic-pwm-frequency= <100>;

qcom,mdss-dsi-bl-pmic-bank-select= <0>;

qcom,mdss-dsi-pwm-gpio= ;

qcom,panel-supply-entries= ;

qcom,cont-splash-enabled;

};

qcom,mdss-dsi-bl-pmic-control-type ="bl_ctrl_pwm";//采用PWM方式

qcom,mdss-dsi-bl-pmic-pwm-frequency =<100>; //PWM period in microseconds.

qcom,mdss-dsi-bl-pmic-bank-select =<0>; LPG channel for backlight

LPG是Light PulseGenerator,也就是PWM,mdss/mdss_dsi_panel.c有解析此属性,对应pwm_lpg_chan成员

qcom,mdss-dsi-pwm-gpio =;表示PWM控制引脚,这里是mpp

参考链接:

高通LCD之背光

MSM8909平台 LED背光的控制

高通LCD背光控制软件简析

android背光设置

android app 控制背光,android7.1+msm8937背光控制相关推荐

  1. Android应用开发(21)屏幕背光控制

    Android应用开发学习笔记--目录索引 最近各手机厂商都在宣传万级调光,宣传数字越来越大,但是到底背光调节平滑度体验如何呢? 如最近realme 11 pro+ (MTK平台天玑7050),宣传2 ...

  2. android7.1默认背光亮度及编译调试

    android7.1默认背光亮度及编译调试 始修改\frameworks\base\packages\SettingsProvider\res\values\defaults.xml <inte ...

  3. 蓝牙模块hc05原理图_使用步进电机和Android App的蓝牙控制迷你升降机

    背景知识视频教程 使用App Inventor创建Android应用​viadean.com Arduino微控制器:学习Arduino制作项目 - 国外课栈​viadean.com Arduino ...

  4. android+app+wifi+控制+协议,玩转OneNET物联网平台之MQTT服务④ —— 远程控制LED(数量无限制)+ Android App控制...

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.但愿你们分享给你周边须要的朋友或者同窗,说不定大神成长之路有博哥的奠定石...android 若是以为有用,麻烦点赞收藏,您的 ...

  5. Android APP如何简单快速实现控制硬件设备并实现APP签名

    Android APP如何简单快速实现控制硬件设备 driver(C)层 硬件控制 节点的创建 APP(java)层 native(C/C++)层 接下来上干货,重点说说实现流程 Android st ...

  6. 51单片机+ESP8266+Android APP实现局域网内控制LED灯

    一.硬件设计 1.硬件选型 主控芯片:选用STC15W104.这款MCU比较小巧,控制3个LED灯的亮灭只需要3个IO即可,不足之处是没有串口,与ESP8266通信只能使用模拟串口,买了挺多的,先将就 ...

  7. Android系统 屏幕最低背光亮度值/最高背光亮度值 调试

    通过 adb 确认合适的 最低背光亮度值/最高背光亮度值 参数 , 并使用万用表量测 背光IC的反馈电阻输出电压确认,具体计算方式根据 背光IC 贴的反馈电阻来计算.(可以找硬件协助 一般是 1.35 ...

  8. 基于Android studio设计的APP通过esp8266在AP模式下控制STM32单片机LED灯

    一.单片机硬件:mini板f103rct6. 显示屏TFT2.8寸.wifi模块esp8266(正点原子旗舰店购买) 关键代码: 模块AT指令配置进入ap模式: 相应的指令执行: 软件Android ...

  9. Android App Dark Theme(暗黑模式)适配指南

    在 2019 年的 Google I/O 和 Apple WWDC 上,新露面的 Android 10 和 iOS 13 都宣布将支持 Dark Theme 也就是我们常说的暗黑模式,并提供相关 AP ...

  10. android app功能 配置,配置安装时分发  |  Android 开发者  |  Android Developers

    借助功能模块,您可以从应用的基本模块中分离某些功能和资源,并将其包含在 app bundle 中.然后,您可以自定义分发选项,以便控制搭载 Android 5.0(API 级别 21)或更高版本的设备 ...

最新文章

  1. 为什么css一开始需要设定margin和padding为 0px?
  2. 向量外积_解析几何 -向量
  3. 【C#】【引用加原创】C#实现kalman滤波
  4. Ubuntu 8.04 告白登岸德国柏林的地铁零碎
  5. 计算机二级office试题27答案,2017年12月计算机二级MS Office习题答案(一)
  6. 无外网环境下CentOS 7安装MySQL 5.7.18
  7. 4k电视测试软件64,2017年四款看4k视频软件推荐,智能电视必备!
  8. 思科交换机常用命令及配置
  9. Round 2—算法的复杂度
  10. java页面注册_java编写注册页面
  11. 红帽linux9.0安装教程,红帽linux9.0安装教程
  12. 字节跳动将双月OKR调整为季度;马斯克批OpenAI违背初心:被微软控制,只顾赚钱;苹果上新348元省电保护膜|极客头条
  13. 数据库MySQL系统实操实验从安装系统到实际操作全过程,五万字系列五,这不直接学完去学校装杯?
  14. 乱象?真象!——中国公有云服务市场大起底
  15. 10005---数据采集与埋点
  16. 利用计算机诊断ct故障,皮克I/Q CT计算机电源故障修理
  17. 什么是pv?如何计算公司每天的浏览量?
  18. 虚拟环境 计算机,網络虚拟环境与计算机应用.ppt
  19. 国产芯片----杭州瑞盟MS321V/358V/324V低电压轨到轨输入输出运放
  20. Oracle APEX 系列文章14:Oracle APEX 18.1 Docker 镜像

热门文章

  1. Rust FFI 编程 - libc crate
  2. Javascript:简易天数计算器
  3. 论文阅读|《用强化学习求解带插单的动态FJSP》
  4. 菜鸟网络今日发布超级机器人旗舰仓
  5. 学习 spring-cloud-aibaba第七篇,JWT认证授权
  6. 从vc6.0转到vs2005 2008等出现的错误详解(HYD整理)
  7. TCP合法RST报文
  8. Hbase性能测试及优化过程记
  9. 蓝牙 UUID 解释
  10. 阴历阳历的相互转换(支持1900~2100年) 1