SMxxxx系列跟SDMxxx系列相比较,主要变化如下:
-
SMxxxx系列采用了DRM显示架构(Direct Rendering Manager),代码位于:
kernel/drivers/gpu/drm
-
SDMxxx系列采用FB(framebuffer)显示架构,代码位于:
kernel/drivers/video/fbdev
1. 代码路径
-
display驱动路径:
部分平台kernel/msm-4.19/techpack/display
部分平台kernel/msm-4.19/drivers
总之都是在kernel下,可以搜素关键文件来查找find ./ -name dsi_display.c
-
displayDTS路径:
从arch/arm64/boot/dts
软连接到 vendor/qcom/proprietary/devicetree-4.19/qcom/display
-
display UEFI路径:
boot_images/QcomPkg/SocPkg/XXXpanPkg
2.准备工作:
原理图端:
-
查看原理图,确定LCD上电和接口
-
查看背光控制方式
-
查看与TP的连接
代码端:
-
根据原理图写出lcd的dts配置文件
-
查看驱动代码中的关键代码:
1> lcd panel的选择和加载
2> 背光的初始化和控制
3> Lcd 初始化时序和init code下载流程确认
3.点亮顺序:
先点亮kernel,再点亮UEFI。Lcd的点亮工作2-3天之内完成,kernel点亮后,lcd功能正常,不会影响别的模块的开发
工作,uefi可以慢慢调试,尽量自己掌握工作的进度,不要被工作牵着鼻子走。
4.LCD 原理图分析:
lcd接线引脚原理图
Lcd引脚主要包括:
MIPI信号线:(4对差分信号MIPI_DSI0~3_LANE0_P_CON MIPI_DSI0~3_LANE0_N_CON
1对时钟线:MIPI_DSI0_CLK_P>_CON、MIPI_DSI0_CLK_N_CON)
偏压供电:(+5V5_LCD_VSP -5V5_LCD_VSN),1.8v常用电(VREG_L1C_1P80)
LCD 复位引脚:LCM_RESET_N
背光控制引脚:PWM控制或者(PMIC DC控制,接背光led正极)
背光负极引脚:LCD_LED_K1、LCD_LED_K2(背光物理结构布局为2串并列起来,所以负极有2串)
Lcd TE引脚:LCM_FTE(video mode不用)
5.点亮流程:
5.1 创建并配置Panel的dtsi文件
在目录
vendor/qcom/proprietary/devicetree-4.19/qcom/display
下,创建该主板配套Panel的dtsi文件:dsi-panel-ft8719p-1080p-video.dtsi
填写模块名:参考同目录下已有的其他型号Panel的dtsi文件,在文件
dsi-panel-ft8719p-1080p-video.dtsi
中输入文件头: