android7.1+msm8937背光控制
发布日期:2021-06-30 21:59:08 浏览次数:3 分类:技术文章

本文共 2727 字,大约阅读时间需要 9 分钟。

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= <&pm8937_mpps 2 0>;

              qcom,panel-supply-entries= <&dsi_panel_pwr_supply>;

              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 =<&pm8937_mpps 2 0>;表示PWM控制引脚,这里是mpp

参考链接:

高通LCD之背光

MSM8909平台 LED背光的控制

高通LCD背光控制软件简析

 

android背光设置

 

转载地址:https://loongembedded.blog.csdn.net/article/details/80453761 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:linux驱动由浅入深系列:camera驱动之二(基于高通平台的V4L2结构及代码分析
下一篇:Qualcomm DragonBoard 410c Display之DSI浅析

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月07日 20时48分02秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章