[lcm] Qualcomm平台的显示屏lcd驱动移植步骤

简介: 1lk部分1-1 target_displayc1-2 oem_panelc1-3 panel_innont51021b_1200p_videoh2Kernel2-1 dsi-panel-boent51012_1200_videodtsi2-2 m...

更多相关文章:

《高通Qualcomm平台lk(light kernel)启动流程1——aboot_init()之前》:
http://blog.csdn.net/u014134180/article/details/78133916
《高通Qualcomm平台lk(light kernel)启动流程2——aboot_init()》:
http://blog.csdn.net/u014134180/article/details/78132580
《高通Qualcomm平台lk(light kernel)启动流程3——到高通lcm屏点亮》:
http://blog.csdn.net/u014134180/article/details/78177040

《[lcm] Qualcomm Android Display Subsystem 架构》
http://blog.csdn.net/u014134180/article/details/78129502

《[lcm] Qualcomm平台的显示屏lcd驱动移植步骤》:
http://blog.csdn.net/u014134180/article/details/78129499
《[lcm] Qualcomm平台兼容多显示屏lcd的方法&并从lk传输到kernel过程》:
http://blog.csdn.net/u014134180/article/details/78166978
《[lcm] Qualcomm平台显示屏lcd添加I2C读取功能》:
http://blog.csdn.net/u014134180/article/details/78176160

1、lk部分

Lk部分的移植主要就下面三个文件。

这里写图片描述

前提要在文件target_display.c打开配光功能。其中,.h头文件是LCM供应商给的文件,我们移植还要修改我们目标平台msm8953的oem_panel.c

1-1 target_display.c

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

1-2 oem_panel.c

1、首先要引用LCM供应商给的面板数据集头文件,下面初始化数据要用到这些数据。

这里写图片描述

2、在LCM枚举变量中声明定义该面板id。

这里写图片描述

3、目标面板支持列表中加入该面板名字和id。

这里写图片描述

4、当屏幕面板点亮前,根据不用面板先延迟一定的时间数。

这里写图片描述

5、先要在oem_panel_select()的get_lcd_id()获取panel_id,然后后面根据这个panel_id进行初始面板。

这里写图片描述
这里写图片描述
这里写图片描述

6、下面就是根据面板ID对应初始化那个面板,面板数据就在供应商给的数据集头文件中(上面已说的)

这里写图片描述
这里写图片描述

7、第5步oem_panel_select()中的get_lcd_id()实现。

这里写图片描述
这里写图片描述
这里写图片描述

lcd_id0和lcd_id1分别接在gpio的12和13引脚里。

这里写图片描述
这里写图片描述

1-3 panel_innont51021b_1200p_video.h

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

2、Kernel

这里写图片描述
这里写图片描述

2-1 dsi-panel-boent51012_1200_video.dtsi

必须和lk通过cmdline传递给kernel一致

这里写图片描述
这里写图片描述
这里写图片描述

2-2 msm8953-mdss-panels.dtsi

这里写图片描述

上电部分

这里写图片描述

拉GPIO口:
//kernel/drivers/video/msm/mdss/mdss_dsi_panel.c
//kernel/drivers/video/msm/mdss/mdss_dsi.c

2-3 msm8953-mtp.dtsi

这里写图片描述

Wu_Being 博客声明:本人博客欢迎转载,请标明博客原文和原链接!谢谢!
《[lcm] Qualcomm平台的显示屏lcd驱动移植步骤》:http://blog.csdn.net/u014134180/article/details/78129499

Wu_Being 吴兵博客接受赞助费二维码

如果你看完这篇博文,觉得对你有帮助,并且愿意付赞助费,那么我会更有动力写下去。

目录
相关文章
|
编解码 Android开发 芯片
RK3288 主板上的RT5651芯片SPK音频无声音问题解决方案
RK3288 主板上的RT5651芯片SPK音频无声音问题解决方案
793 2
|
关系型数据库 虚拟化 iOS开发
VMware ESXi 8.0U3g macOS Unlocker & OEM BIOS 2.7 ConnectX-3 网卡特殊定制版
VMware ESXi 8.0U3g macOS Unlocker & OEM BIOS 2.7 ConnectX-3 网卡特殊定制版
170 0
|
5G 网络架构
已解决:树莓派外接硬盘 usb 或者sata 导致wifi无法链接 无线网卡无法使用问题
已解决:树莓派外接硬盘 usb 或者sata 导致wifi无法链接 无线网卡无法使用问题
447 4
|
存储 算法
USB3.2 摘录(10)
USB3.2 摘录(10)
223 1
|
Shell Android开发
ADB更改Android设备屏幕显示方向
ADB更改Android设备屏幕显示方向
953 5
|
存储 并行计算 数据处理
蓝易云 - 香港站群服务器1C,4C,8C,16C的配置介绍
以上是对服务器CPU核心数量的基本解释,但实际的服务器配置还会包括其他因素,如内存大小、存储类型和网络带宽等。这些因素都会影响服务器的性能和适用场景。
1063 2
|
开发框架 监控 前端开发
知识库系统|基于springboot的课程知识库系统设计与实现
知识库系统|基于springboot的课程知识库系统设计与实现
512 0
|
Android开发
jack-server导致 Android 编译 出现异常
jack-server导致 Android 编译 出现异常
379 6
|
安全 Android开发
Android 系统签名
Android 系统签名
252 0
|
JavaScript 调度
setTimeout和setImmediate以及process.nextTick的区别?
setTimeout和setImmediate以及process.nextTick的区别?
306 0

热门文章

最新文章