(六)- DRM驱动开发(qcom)

一,Linux Android Display

1,Linux Android Display Software Subsystem

2,Linux Android Display Architecture

二,DRM/KMS Adreno DPU

1,硬件框图

1.1 Qualcomm Adreno DPU 8-Series Overview

1.2 Display Peripheral

1.3 MIPI DSI

1.4 ,plane/CRTC/encoder/connector对应的硬件

DRM(direct rendering manager)

各模块的位置及功能:

Plane: 一个Plane代表一个image layer, 最终的image由一个或者多个Planes组成。

CRTC: 主要用于显示控制,如display timings,resolution的配置,将framebuffer内容送到display,更新framebuffer等。

Encoder: 将数据转换成合适的格式,送给connector,比如HDMI需要TMDS信息, encoder就将数据转成HDMI需要的TMDS格式。

Connector: 代表具体外部接口,如edp, hdmi, mipi等。用于传输信号给外部硬件显示设备,探测外部显示设备接入。

对应dtsi中的qcom,mdss-dsi-display-timings中

cpp 复制代码
qcom,display-topology = <1 0 1>;  //Layer Mixer, DSC encoder, DSI MDP处理模块的数量
qcom,default-topology-index = <0>;

SDE/MDP(mobile display processor)

DRM处理架构中的对应的硬件模块:

SSPP(Source Surface Processor Pipes):Format conversion and quality improvement for source surface(video graphics)

Layer Mixer(LM):Blend and mix source surface together

DSPP(Destination Surface Processor Pipes):Conversion correction and adjustment based on panel charactersistics

Display interface:Timing generate and interface connectiong the display perpheral

2,Snapdragon Display Manager (SDM) DRM Architecture

3,DRM/KMS Adreno DPU Driver Architecture

三,msm drm driver framework

1,DRM/KMS Driver结构体之间的关系

2,dts结构

2.1 mdss_mdp/dsi-ctrl/dsi-phy
2.2 sde_dsi
2.3 panel
2.4 connectors

3,DRM加载顺序

参考链接:

MDP(mobile display processor) 简介_高通 mdp-CSDN博客