MIPI DSI2
芯片名称 内核版本
- RK3576 LINUX Kernel 6.1
- RK3588 LINUX Kernel 5.10/6.1
1. Introduction
DSI-2 是 MIPI 联盟定义的一组通信协议的一部分,DWC-MIPI-DSI2 是一个实现 MIPI-DSI2 规范中定义的所有协议功能的数字核控制器,可以兼容 D-PHY 和 C-PHY 的物理接口,支持两路的 Display Stream Compression (DSC) 数据传输。
2. MIPI-DSI2 Features
- MIPI® Alliance Specification for Display Serial Interface 2 (DSI-2) Version 1.1
- MIPI® Alliance Specification for Display Command Set (DCS) Version 1.4
- MIPI® Alliance Specification for D-PHY v2.0
- MIPI® Alliance Specification for C-PHY v1.1
- Four data lanes on D-PHY and three data trios on C-PHY
- Bidirectional communication and escape mode through data lane 0
- Continuous and non-continuous clock modes on D-PHY and non-continuous clock mode on C-PHY
- End of Transmission packet (EoTp)
- Scrambling
- VESA DSC 1.1/1.2a
- Up to 4.5 Gbps per lane in D-PHY
- Up to 2.0 Gsps per trio in C-PHY
3. RK3576 与 RK3588 DSI 接口差别
功能 | RK3576 | RK3588 |
---|---|---|
Dual channel | Not support | Support |
Max resolution | 2560x1600@60Hz | 4096x2304@60Hz |
data lanes | 1/2/4 lanes | 1/2/4/8 lanes |
Max lane rate | D-PHY: 2.5Gbps/lane C-PHY: 1.7Gsps/lane | D-PHY: 4.5Gbps/lane C-PHY: 2.0Gsps/lane |
Color Format | RGB | RGB |
Max Color Depth | 10 bit | 10 bit |
DSC | Not support | Support VESA DSC 1.1/1.2a |
C-PHY | Support | Support |
4. MIPI DSI-2 Host 与 MIPI DSI Host 的差别
MIPI DSI-2 除了可以兼容 MIPI DSI 的所有协议功能外,还增加支持 MIPI C-PHY。
5. MIPI DPHY 差别
RK3588 平台 MIPI DPHY 不同以往平台 MIPI DPHY 版本,其带宽最高可以到 4.5 Gbps。
6. 应用领域
MIPI DSI 基于差分信号传输,可以降低引脚数量和硬件设计复杂度,并保持良好的硬件兼容性。另外,基于 MIPI DSI 协议的 IP 还具备低功耗、低 EMI 的特性。
其应用领域如下图:
7. 驱动代码说明
7.1 uboot
7.1.1 驱动位置
drivers/video/drm/dw_mipi_dsi2.c
drivers/video/drm/samsung_mipi_dcphy.c
7.1.2 驱动配置
CONFIG_DRM_ROCKCHIP_DW_MIPI_DSI2=y
CONFIG_DRM_ROCKCHIP_SAMSUNG_MIPI_DCPHY=y
7.2 kernel
7.2.1 驱动位置
MIPI DSI-2 host controller:
drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c
MIPI DCPHY:
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
7.2.2 驱动配置
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
CONFIG_PHY_ROCKCHIP_SAMSUNG_DCPHY=y
7.2.3 参考设备树
DTS 路径:
arch/arm64/boot/dts/rockchip/rk3588-evb.dtsi
arch/arm64/boot/dts/rockchip/rk3588-evb1-lp4.dtsi
arch/arm64/boot/dts/rockchip/rk3588-evb2-lp4.dtsi
arch/arm64/boot/dts/rockchip/rk3588-evb3-lp5.dtsi
arch/arm64/boot/dts/rockchip/rk3588-evb4-lp4.dtsi
arch/arm64/boot/dts/rockchip/rk3588s-evb.dtsi
arch/arm64/boot/dts/rockchip/rk3588s-evb1-lp4x.dtsi
arch/arm64/boot/dts/rockchip/rk3588s-evb2-lp5.dtsi
arch/arm64/boot/dts/rockchip/rk3588s-evb4-lp4x.dtsi
dts 配置用例场景说明:
rk3588-evb1: dsi0->dphy->1080p_panel && dsi1->dphy->1080p_panel;
rk3588-evb2: dsi1->dphy->1080p_panel;
rk3588-evb3: dsi0->dphy->1080p_panel && dsi1->cphy->cphy_panel;
rk3588-evb4: dsi0->dphy->1080p_panel;
rk3588s-evb1: dsi0->dphy->1080p_panel && dsi1->dphy->cmd_no_dsc_panel;
rk3588s-evb2: dsi0->cphy->cphy_panel & dsi1->dphy->1080p_panel;
rk3588s-evb4: dsi0->dphy->1080p_panel && dsi1->dphy->cmd_dsc_panel;