5.11. 视频输出 - Display
5.11.1. 模块说明
Display 子系统 是 X5 项目
5.11.1.1. 硬件框图
Display 子系统
MIPI DSI 控制器:实现 SoC 和显示 设备 之间 的 高速 数据传输,兼容 MIPI 协议。 MIPI CSI TX 控制器: 实现了 设备 端的 CSI-2 协议。 CSI-2 链路 协议 规范 是 MIPI 联盟 标准 定义 的 通信协议 的 一部分,适用 于 移动 系统 的 芯片 间通信。 MIPI D-PHY:是 MIPI CSI TX 和 MIPI DSI 的物理层。 BT1120:符合 ITU-R BT.1120 标准,可用于 驱动 外部 HDMI 设备,实现 4K 显示。 DC8000Nano:是一款 高性能、低功耗 的 显示 处理器。
各个

上
通路 1 : DDR 中
的 数据 经过 DC8000Nano 、 MIPI DSI、 MIPI-DPHY 输出 到 MIPI 显示屏 中。 通路 2 : DDR 中
的 数据 经过 DC8000Nano、 BT1120 输出 到 外部 显示器。 通路 3 : DDR 中
的 数据 直接 经过 BT1120 输出 到 外部 显示器。
注意:
DC8000Nano 的
输出 支持 4 条 通路,其中 黄色 部分 目前 软件 暂 不 支持。 BT1120 的
输出 可以 接入 BT1120 协议 的 设备 或者 经过 转换 芯片 连接 其他 协议 的 设备,比如 HDMI。
5.11.1.2. 规格参数
DC8000Nano
支持 4 个
硬件 图层: Video/Graphic layer, Overlay layer0 , Overlay layer1 , Cursor layer。 Video/Graphic layer 支持: AR12 AR15 RG16 RG24 AR24 RA12 RA15 RA24 AB12 AB15 BG16 BG24 AB24 BA12 BA15 BA24 YUYV YVYU NV12 NV21 XR24 XB24
Overlay layer0 支持 : AR12 AR15 RG16 AR24 RA12 RA15 RA24 AB12 AB15 BG16 AB24 BA12 BA15 BA24 YUYV NV12 NV21
Overlay layer1 支持 : AR12 AR15 RG16 RG24 AR24 RA12 RA15 RA24 AB12 AB15 BG16 BG24 AB24 BA12 BA15 BA24 YUYV YVYU XR24 XB24
Cursor layer 支持 : AR24
输入
格式 是 NV12 时, 最高 支持 分辨率 到 3840x2160@30FPS,其余 格式 最高 支持 到 2560x1440@60FPS。 支持
图像 数据 从 BT1120/DSI/CSI-TX 输出。 支持
颜色 重排、 Alpha blending、图层 顺序 定义、 Gamma 矫正、抖色、关键 色。 支持
内敛 2DGPU 拓展 实现 如下 功能:支持 图层 旋转、支持 图层 镜像 翻转、支持 八分 之一 到 八倍 缩放。
BT1120
支持
输出 的 分辨率 最高 可 达 3840x2160@30FPS。 输入
和 输出 支持 8bit YUV422 和 8bit YUV420 。 存储
模式: 半
平面 模式:用于 在 Y 和 UV 内存 缓冲区 中 存储 YUV422 和 YUV420 数据。 支持 YUV422 打包
模式 存储 在 内存 中。
操作
模式: 离线
模式( Offline Mode):从 DDR 中 读取 像素 数据。 在线
模式( Online Mode):从 显示 IP(如 DC8000Nano)接收数据。
支持
两种 扫描模式:逐行扫描 模式( Progressive Mode)和 隔行扫描 模式( Interleaved Mode)。 输出特性:
输出
像素 数据 宽度 为 16 位。 支持
像素 时钟 输出 的 DDR 模式(双倍 数据 速率) 或 SDR 模式(单倍 数据 速率)。
MIPI DSI
最高
支持 4 Lanes 输出。 传输
能力: 每
通道 最高 支持 2.5 Gbps 数据 速率。 支持
最 多 四个 数据通道。
工作
模式:支持 非 连续 模式( Non-continuous mode) 和 连续 模式( Continuous mode)。
MIPI DSI TX
最高
支持 每 lane 2.5Gbps 速率。 最高
支持 4 Lanes 输出。
5.11.1.3. 软件描述
X5 显示
DRM 框架概述
在 DRM 框架
| DRM 中 |
含义 | 硬件 |
|---|---|---|
| CRTC | 显示 |
DC8000Nano 和 BT1120 |
| Encoder | CRTC 和 |
DSI Encoder:负责 |
| Planes | 显示 |
DC8000Nano 的 4 个 |
| Connector | 显示 |
HDMI 接口、 DSI 接口 |
| Bridge | 用于 |
BT1120 转换成 HDMI 协议 |
| Panel | 实际 |
显示屏(物理 |
DRM 调试信息与硬件的对应关系
DRM 使用
modetest 运行
注意:
modetest 打印
的 信息 在 不同 版本 上 会 有 不 一样 体现。 modetest 命令
运行 前要 保证 如下 命令 已经 执行。
modprobe panel-jc-050hd134
modprobe galcore
modprobe vio_n2d
modprobe lontium_lt8618
modprobe vs-x5-syscon-bridge
modprobe vs_drm
root@buildroot:/userdata/bin# modetest -M vs-drm -a
Encoders:
id crtc type possible crtcs possible clones
57 0 Virtual 0x00000001 0x00000001
69 0 Virtual 0x00000003 0x00000002
72 0 DSI 0x00000001 0x00000004
74 0 TMDS 0x00000003 0x00000008
Connectors:
id encoder status name size (mm) modes encoders
73 0 connected DSI-1 62x110 1 72
modes:
index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
#0 720x1280 61.99 720 752 772 792 1280 1300 1304 1324 65000 flags: nhsync, nvsync; type: preferred, driver
props:
[...]
75 0 connected HDMI-A-1 600x340 40 74
modes:
index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
#0 1920x1080 60.00 1920 2008 2052 2200 1080 1084 1089 1125 148500 flags: phsync, pvsync; type: preferred, driver
#1 1920x1080 60.00 1920 2008 2052 2200 1080 1084 1089 1125 148500 flags: phsync, pvsync; type: driver
[...]
props:
[...]
CRTCs:
id fb pos size
31 0 (0,0) (0x0)
#0 nan 0 0 0 0 0 0 0 0 0 flags: ; type:
props:
[...]
63 0 (0,0) (0x0)
#0 nan 0 0 0 0 0 0 0 0 0 flags: ; type:
props:
[...]
Planes:
id crtc fb CRTC x,y x,y gamma size possible crtcs
33 0 0 0,0 0,0 0 0x00000001
formats: AR12 AR15 RG16 AR24 RA12 RA15 RA24 AB12 AB15 BG16 AB24 BA12 BA15 BA24 YUYV NV12 NV21 XR24 XB24
props:
[...]
41 0 0 0,0 0,0 0 0x00000001
formats: AR12 AR15 RG16 RG24 AR24 RA12 RA15 RA24 AB12 AB15 BG16 BG24 AB24 BA12 BA15 BA24 YUYV YVYU NV12 NV21 XR24 XB24
props:
[...]
48 0 0 0,0 0,0 0 0x00000001
formats: AR12 AR15 RG16 RG24 AR24 RA12 RA15 RA24 AB12 AB15 BG16 BG24 AB24 BA12 BA15 BA24 YUYV YVYU NV12 NV21 XR24 XB24
props:
[...]
53 0 0 0,0 0,0 0 0x00000001
formats: AR24
props:
[...]
64 0 0 0,0 0,0 0 0x00000002
formats: NV16 NV61 NV12 NV21 YUYV YVYU UYVY VYUY
props:
8 type:
flags: immutable enum
enums: Overlay=0 Primary=1 Cursor=2
value: 1
[...]
Frame buffers:
id size pitch
modetest 信息分析
DRM 调试信息
CRTC:
31 -> DC8000Nano
63 -> BT1120
Connectors:
73 -> MIPI-DSI
75 -> HDMI ( EVB 上
接入 了 一颗 BT1120 转 HDMI 的 芯片,型号 是 LT8618SXB)
Planes:
33 -> Primary Plane (内联 2D GPU 实现
旋转、缩放 功能) 41 -> Overlay0
48 -> Overlay1
53 -> Cursor
64 -> BT1120 Primary Plane
注意:
ID 为 64 图层
只能 在 CRTC 为 63 ( BT1120 )的 时候 使用。
DRM 快速体验
根据 modetest 获取
modetest -M vs-drm -a -s 75@31:1920x1080 -P 33@31:1920x1080@NV12
命令

5.11.2. 参考示例
Display 部分
示例 代码 可以 参考 sample_vot 章节