瑞芯微Rockchip开发者社区
直播中

李敏

7年用户 1354经验值
私信 关注
[经验]

在RK3568平台实现单路MIPI DSI信号输出来驱动双通道LVDS显示屏

Rockchip RK3568 原生显示接口不支持双通道LVDS屏幕的数据输出,因此需要借助显示转换芯片才能实现双通道LVDS屏幕的驱动。本文介绍使用GM8775C芯片方案,在 RK3568 平台实现单路 MIPI DSI 信号输出来驱动双通道LVDS显示屏。

关于GM8775C

GM8775C 型 DSI 转双通道 LVDS 发送器产品主要实现将 MIPI DSI 转单/双通道 LVDS功能,MIPI 支持 1/2/3/4 通道可选,每通道最高支持 1Gbps 速率,最大支持 4Gbps 速率。LVDS时钟频率高达 154MHz,最大支持视频格式为 FULL HD(1920 x 1200)。系统应用图如下:


双通道LVDS显示屏

在软件调试驱动显示屏之前,我们需要阅读显示屏规格书,从规格书中获取屏幕的引脚定义、分辨率、时钟频率、显示参数和信号模式等信息。下面以一个双通道LVDS屏幕为例,说明如何从其规格书中获取点屏所需要的主要参数。


由表格中 Display format 栏可知,此屏幕分辨率为 1920x1080
从通道数据映射表可知,该屏幕信号格式为VESA标准,并结合屏幕线序定义来确认两个LVDS通道的奇偶分布。


从以上描述得知,该屏幕每个颜色有8位,由规格书中的颜色分布表可确认该屏幕颜色格式为RGB888。


以时序表格中间一列典型值作为参考,可以获取到显示屏的扫描窗口参数。在帧率为60Hz的情况下,时钟频率约为147MHz。其中垂直方向,有效显示时钟周期为1080,空白周期为45;水平方向,有效显示周期为 960x2,空白周期为280。

RK3568 MIPI TX 显示接口

RK3568 具有两路 MIPI DSI ,单 MIPI 模式下支持 1920x1080@60Hz 显示输出。

EVB3568 开发板硬件上使用MIPI_DSI_TX0 通道与 GM8775C 芯片连接,实现最大支持 1080P 的双通道 LVDS 显示屏驱动能力。

硬件连接如下图所示:


内核设备树配置

MIPI_DSI_TX0 在软件上对应于设备树中的 dsi0 节点,我们需要在设备树中将 dsi0 相关的配置开启,并在该节点下填写屏幕的参数。主要参数说明如下:


将从屏幕规格书上查阅到的参数填写至dsi0 节点的对于参数位置。

时序及时钟

dis0_timing0 中填写时序前后肩和同步等参数如下:


其中前后肩和同步参数的总和对应于规格书中的 blanking;

clock-frequency 的计算公式:


通道数

输出信号使用单MIPI 4通道,dsi,lanes设置为 4;

数据格式

数据为每个颜色8bit 24位色,所以dsi,format 设置为 MIPI_DSI_FMT_RGB888 ;

通道带宽

MIPI 单线通道带宽计算公式如下:


rockchip,lane-rate 参数在缺省的情况下,内核驱动会自动计算。

初始命令

panel-init-sequence 需要填写 MIPI 向 GM8775C 芯片下发的寄存器参数,根据屏幕时序参数和硬件连接情况,此处借助 GM8775C 配套的上位机软件,在软件界面中设置屏幕的参数,即可得到转换好的实际寄存器设置参数。


上图红色框为我们设置的内容,其中 MIPI时钟需要设置为 rockchip,lane-rate 的二分之一;绿色框内为转换得到的寄存器参数列表。最终将其转换为Rockchip 平台的 panel-init-sequence 代码如下:




更多回帖

发帖
×
20
完善资料,
赚取积分