RK3288 Android8.1添加lvds以及gt9触摸屏(一)

我们公司的屏幕是分为两部分

1.lvds负责屏幕亮起,显示UI

2.gt9触摸屏负责触摸点击反馈操作

现在先说lvds如何配置

RK的LVDS屏调试,主要是配置正确LVDS的dts,配置正确基本都是可以点亮的

1 首先拿到LVDS屏厂商给的屏规格书,规格书有用的信息就是时序参数

1.1下面就是我拿到规格书的时序参数表

在这里插入图片描述

**从这个时序表中,我们可以得知
时钟dclk 频率: clock-frequency =65MHZ
水平有效像素:Hactive=1024
垂直有效像素:Vactive=768
水平总周期 =1344
hback-porch/hfront-porch/hsync-len:水平同步信号
vback-porch/vfront-porch/vsync-len:垂直同步信号
根据公式水平总周期 = hback-porch + hfront-porch + hsync-len+Hactive
知道hback-porch + hfront-porch + hsync-len=水平总周期-Hactive=320
垂直总周期=806
**
根据公式垂直总周期 = vback-porch + vfront-porch + vsync-len+Vactive
知道vback-porch + vfront-porch + vsync-len=垂直总周期 - Vactive=38
 

1.2屏幕参数的dts
屏参包括屏的格式、dclk、时序等。

	display-timings {
		native-mode = <&lvds_panel_name>;
		lvds_panel_name: timing0 {
			creen-type = <SCREEN_LVDS>;
			//creen-type = <SCREEN_DUAL_LVDS>;
			lvds-format = <LVDS_8BIT_1>;
		  // lvds-format = <LVDS_8BIT_2>;
			out-face    = <OUT_P888>;
                clock-frequency = <65000000>;
                hactive = <1024>;    
                vactive = <768>;    
                hback-porch = <120>; //只需保证hback-porch + hfront-porch + hsync-len=320
                hfront-porch = <160>;
                hsync-len = <40>;     
                hsync-active = <0>;
                vback-porch = <11>;   //只需保证vback-porch + vfront-porch + vsync-len=38
                vfront-porch = <25>; 
                vsync-len = <2>;     
                vsync-active = <0>;
                de-active = <0>;
                pixelclk-active = <0>;

screen-type:屏幕类型,mipi 屏有两种:单 mipi(SCREEN_MIPI)、双 mipi(SCREEN_DUAL_MIPI)。

lvds-format:lvds 数据格式。jeida —-> LVDS_8BIT_2   vesa---->LVDS_8BIT_2 


out-face:屏幕接线格式。



clock-frequency:dclk 频率,单位为 Hz,一般屏的规格书中有,也可以通过公式计算:H*V(包括同步信号)*fps

Hactive:水平有效像素

Vactive:垂直有效像素

hback-porch/hfront-porch/hsync-len:水平同步信号

vback-porch/vfront-porch/vsync-len:水平同步信号

hsync-active、vsync-active、de-active、pixelclk-active:分别为 hync、vsync、DEN、dclk 的极性控制。置 1 将对极性进行翻转。

swap-rb、swap-rg、swap-gb:置 1 将对对应的颜色进行翻转。

2 配置使能引脚
2.1 查看原理图知道使能引脚使用的是 GPIO7_A3 (gpio7 3)

在这里插入图片描述

在这里插入图片描述

3 所配置的lvds dts如下:
路径为\kernel\arch\arm\boot\dts\rk3288-*.dts增加如下LVDSdts配置 

// added by elink_dsy for lvds start <<<



&route_lvds {
	status = "okay";
};

&lvds {
	status = "okay";
};
// kernel 指定 DSI 对应 VOP lvds 连接 VOPL
&lvds_in_vopl {
	status = "okay";
};

&lvds_in_vopb {
	status = "disabled";
};

&lvds_panel {
	status = "okay";
	compatible ="simple-panel";
	backlight = <&backlight>;
	enable-gpios = <&gpio7 3 GPIO_ACTIVE_HIGH>;
	enable-delay-ms = <10>;
	rockchip,data-mapping = "vesa";
//	rockchip,data-mapping = "jeida";
	rockchip,data-width = <24>;
//	rockchip,output = "duallvds";
	rockchip,output = "lvds";

	display-timings {
		native-mode = <&lvds_panel_name>;
		lvds_panel_name: timing0 {
			creen-type = <SCREEN_LVDS>;
			//creen-type = <SCREEN_DUAL_LVDS>;
			lvds-format = <LVDS_8BIT_1>;
		  // lvds-format = <LVDS_8BIT_2>;
			out-face    = <OUT_P888>;
                clock-frequency = <65000000>;
                hactive = <1024>;    
                vactive = <768>;    
                hback-porch = <120>; 
                hfront-porch = <160>;
                hsync-len = <40>;     
                hsync-active = <0>;
                vback-porch = <11>;  
                vfront-porch = <25>; 
                vsync-len = <2>;     
                vsync-active = <0>;
                de-active = <0>;
                pixelclk-active = <0>;
		};
	};
};
// added lvds end <<<
status:okay   状态

compatible:simple-panel  与 lvds panel 驱动进行匹配

backlight:  &backlight 引用背光节点, panel 驱动会解析并对背光进行控制

enable-gpios:  &gpio7 3 GPIO_ACTIVE_HIGH 屏的 enable 脚的 gpio 配置,参考原理图。

enable-delay-ms: 10  开启背光之前的延时,参考屏规格书

rockchip,data-mapping: vesa or jeida LVDS 信号的两种编码方式 ,具体对应关
系参考 data mapping 说明;

rockchip,data-width:18 or 24 or 30 LVDS 的数据位, RGB 三个分量都是 6bit
的填 18,RGB 三个分量都是 8bit 的填 24,
RGB 三个分量都是 10bit 的填 30。

rockchip,output:  lvds or duallvds 双通道 LVDS, 目前只有 rk3288 支持。

    screen-type:屏幕类型,mipi 屏有两种:单 mipi(SCREEN_MIPI)、双 mipi(SCREEN_DUAL_MIPI)。
    
    lvds-format:lvds 数据格式。jeida —-> LVDS_8BIT_2   vesa---->LVDS_8BIT_2 

    
    out-face:屏幕接线格式。
    

    
    clock-frequency:dclk 频率,单位为 Hz,一般屏的规格书中有,也可以通过公式计算:H*V(包括同步信号)*fps
    
    Hactive:水平有效像素
    
    Vactive:垂直有效像素
    
    hback-porch/hfront-porch/hsync-len:水平同步信号
    
    vback-porch/vfront-porch/vsync-len:水平同步信号
    
    hsync-active、vsync-active、de-active、pixelclk-active:分别为 hync、vsync、DEN、dclk 的极性控制。置 1 将对极性进行翻转。
    
    swap-rb、swap-rg、swap-gb:置 1 将对对应的颜色进行翻转。

可以参考RK提供的文档《基于DRM的Android显示使用指南_V1.0_20180129.pdf》

猜你喜欢

转载自blog.csdn.net/u010823818/article/details/131193282
今日推荐