基于RK3288的Linux驱动开发 -- LVDS驱动调试

概述

平台:RK3288
板型:Firefly-RK3288
Host:Ubuntu 16.04
LCD:BP101WX1-206
Firefly Linux SDK:具体参考Firefly-RK3288维基教程
由于Firefly-RK3288这块板默认没有开启LVDS输出,所以编写了这份文档,记录LVDS屏幕如何驱动。

核心概念

视觉输出处理器vop(Visual Output Processor)

在这里插入图片描述
vop是一个把frame buffer数据传输到指定显示设备(RGB LCD Panel,LVDS,MIPI,eDPHDMI等)的接口,它还包含了显示处理和图层处理等功能,传统意义上就是一个显示控制器(Display Controller)。rk3288内部有两个vop单元,分别是vopbvopl。具体可参考《rk3288-chapter-27-visual-output-processor-(vop)

视频信号传输接口LVDS(Low-Voltage Differential Signaling)

在这里插入图片描述
LVDS接口把vop输出的CMOS信号为低压差分信号,以此减少噪声对视频信号的干扰,同时减少了线路数量,RGB接口的线路比LVDS要多很多。具体参考《rk3288-chapter-33-lvds》。

显示面板Panel

主要用来把RGB信号转为视觉画面展示出来。

显示时序

有几个重要参数必须要了解的,这些参数都可以在显示屏的datasheet里面找到。

名称 解释 缩写 单位
Clock Frequency 像素时钟 cf hz
Horizontal Back Porch 水平后肩,水平同步信号之后的时延 hbp clk
Horizontal Front Porch 水平前肩,水平同步信号之前的时延 hfp clk
Horizontal Pulse Width 水平同步信号的长度 hsync clk
Vertical Back Porch 垂直后肩,垂直同步信号之后的时延 vbp line
Vertical Front Porch 垂直前肩,垂直同步信号之前的时延 vfp line
Vertical Pulse Width 垂直同步信号长度 vsync line

在这里插入图片描述
这里clk = 1 / cf,line =(hbp + hfp + hsync)* clk,假如显示屏的像素时钟规定为65000000hz,则clk = 1 / 65000000s(具体我就不算了)。

内核DTS修改

1、屏幕datasheet第32页显示的关键参数
在这里插入图片描述
从屏幕datasheet可知道
Main clock = clock-frequency = 65000000hz
Hor Blanking = hbp + hfb + hsync = 50
H Sync Pulse Width = hsync = 32
H Sync Offset = hbp = 10
所以 hfp = 50 - 32 - 10 = 8
Ver Blanking = vbp + vfp + vsync = 12
V Sync Pulse Width = vsync = 6
V Sync Offset = vbp = 3
所以vfp = 12 - 6 - 3 = 3
2、屏幕datasheet第20页显示的时序图
在这里插入图片描述
在这里插入图片描述
可知道在DCLK(这里就是我指的cf)下降沿采集数据,DE为高电平时数据有效。而hsync和vsync都是低电平触发。

3、进入arch/arm/boot/dts,修改rk3288-firefly.dts

cd arch/arm/boot/dts/
vi rk3288-firefly.dts

4、增加使用LVDS相关节点

#include <dt-bindings/display/media-bus-format.h> // 需要增加这个头文件
......
&route_hdmi {
   
   
	status = "okay";
};

&route_lvds {
   
    // 使能lvds路由,使显示子系统的数据能够经过vopl传输到lvds
	status = "okay";
};

......

&lvds_in_vopb {
   
    // 我们屏幕是1280x800使用vopl输入即可,所以关闭vopb的输入
	status = "disabled";
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值