立创·泰山派RK3566开发板调试MIPI LCD

一、说明

给泰山派开发板配一块5.5寸的液晶屏,分辨率1080p,接口mipi 5lane。泰山派开发板上有lcd mipi接口,不过与要使用的5.5寸lcd的接口不兼容,所以硬件部分需要设计一块转接板,代码部分需要添加液晶的初始化指令。使用安卓sdk。

LCD参数:

型号:AML055T012A(阿美林电子)。

触屏驱动IC:GT911。

视频讲解:

20分钟速通泰山派MIPI屏

二、转接板

1、电路图

连接泰山派,包含触屏和液晶:

连接液晶屏,由于触屏的IO电平是1.8V,开发板的触屏接口的IO电平是3.3V,所以使用TXS0104EPWR芯片做了电平转换。

2、PCB

单面布局,MIPI信号线采用差分等长走线,误差10mil。

3、开发板电路调整

开发板的液晶背光驱动电路为恒流驱动,设定电路为110mA,而当前所用液晶驱动电流仅为40mA,所以需要修改FB所接的反馈电阻R95、R96,改为两个10欧姆, 驱动电流计算公式:IOUT=0.2V/R。

三、sdk下载及编译

官方教程:2. SDK编译 | 立创开发板技术文档中心

四、修改设备树文件

1、创建lcd设备上头文件

tspi-rk3566-dsi-v10.dtsi此头文件中包含了几款mipi lcd的配置参数,并且包含了背光配合和触屏接口配置,可以在此文件中增加新屏的配置参数,也可以新建一个头文件。这里使用新建一个头文件的方式,拷贝tspi-rk3566-dsi-v10.dtsi并重命名为tspi-rk3566-dsi-aml055t012a-v10.dtsi,删除里面多余的屏的配置参数。

2、添加lcd初始化命令

lcd厂家会提供初始化命令代码:

//Set_EXTC
SSD2805_Gen_write(0xB9,3,0xFF,0x83,0x99);

//Set_D2
SSD2805_Gen_write(0xD2,1,0x77);

//Set_power
SSD2805_Gen_write(0xB1,15,0x02,0x04,0x74,0x94,0x01,0x32,0x33,0x11,0x11,0xAB,0x4D,0x56,0x73,0x02,0x02);

//Set_display
SSD2805_Gen_write(0xB2,15,0x00,0x80,0x80,0xAE,0x05,0x07,0x5A,0x11,0x00,0x00,0x10,0x1E,0x70,0x03,0xD4);

//Display_on
SSD2805_Gen_write(0x29,0,0x00);
Delay(20);

将其转化为rockchip格式的命令,命令格式如下:

15 00 02 80 77
|  |  | |  |
|  |  | |  数据
|  |  | | 寄存器地址
|  |  数据长度
|  延时
命令类型(0x05: 单字节数据 0x15: 双字节数据 0x39: 多字节数据)
	
解析:
Data Type:0x15       ( 0x15格式的数据类型 DCS Short Write, 1 parameter)
Delay:0x00           ( 延时,表示当前 Packet 发送完成之后,需要延时多少 ms,再开始发送下一条命令 )
Payload Length:0x02  ( Packet 的有效负载长度为2 Bytes,数据字节个数为2 )
Payload: 0x80 0x77    ( Payload 数据 )

举例:

SSD2805_Gen_write(0xB9,3,0xFF,0x83,0x99)表示向0xB9寄存器写三个参数,指令为39 00 04 B9 FF 83 99;

SSD2805_Gen_write(0xD2,1,0x77)表示向0xD2寄存器写一个参数,指令为15 00 02 D2 77;

SSD2805_Gen_write(0x11,0,0x00);Delay(20)表示写入一个命令,没有参数,并延时20ms,指令为05 14 01 11;

		panel-init-sequence = [
			// Set EXTC 
			39 00 04 B9 FF 83 99 
			// Set D2
			15 00 02 D2 77
			// Set Power
			39 00 10 B1 02 04 74 94 01 32 33 11 11 AB 4D 56 73 02 02 
			// Set Display 
			39 00 10 B2 00 80 80 AE 05 07 5A 11 00 00 10 1E 70 03 D4 
			// Set CYC
			39 00 2D B4 00 FF 02 C0 02 C0 00 00 08 00 04 06 00 32 04 0A 08 21 03 01 00 0F B8 8B 02 C0 02 C0 00 00 08 00 04 06 00 32 04 0A 08 01 00 0F B8 01      
			// Set GIP_0
			39 0A 22 D3 00 00 00 00 00 00 06 00 00 10 04 00 04 00 00 00 00 00 00 00 00 00 00 01 00 05 05 07 00 00 00 05 40
			// Set GIP_Fmapiing
			39 0A 21 D5 18 18 19 19 18 18 21 20 01 00 07 06 05 04 03 02 18 18 18 18 18 18 2F 2F 30 30 31 31 18 18 18 18
			// Set GIP_Bmaping
			39 0A 21 D6 18 18 19 19 40 40 20 21 06 07 00 01 02 03 04 05 40 40 40 40 40 40 2F 2F 30 30 31 31 40 40 40 40 
			// Set D8
			39 00 11 D8 A2 AA 02 A0 A2 A8 02 A0 B0 00 00 00 B0 00 00 00      
			// Set Bank 
			39 00 02 BD 01 
			// Set D81
			39 00 11 D8 B0 00 00 00 B0 00 00 00 E2 AA 03 F0 E2 AA 03 F0 	
			// Set Bank 
			39 00 02 BD 02 
			// Set D82
			39 00 09 D8 E2 AA 03 F0 E2 AA 03 F0 
			// Set Bank 
			15 00 02 BD 00 
			//Set VCOM
			39 00 03 B6 8D 8D
			// Set GAMMA
			39 0A 37 E0 00 0E 19 13 2E 39 48 44 4D 57 5F 66 6C 76 7F 85 8A 95 9A A4 9B AB B0 5C 58 64 77 00 0E 19 13 2E 39 48 44 4D 57 5F 66 6C 76 7F 85 8A 95 9A A4 9B AB B0 5C 58 64 77 
			// Checksum Enable
			39 00 02 CC 08 
			05 78 01 11
			05 14 01 29		
		];
3、添加lcd时序配置

lcd厂家会提供如下时序图

转换为配置参数

disp_timings1: display-timings {
	native-mode = <&dsi1_timing0>;
	dsi1_timing0: timing0 {
			clock-frequency = <120000000>;
			hactive = <1080>;   //与 LCDTiming.HAdr 对应
			vactive = <1920>;   //与 LCDTiming.VAdr 对应
			hfront-porch = <18>;   //与 LCDTiming.HFP 对应 
			hsync-len = <20>;   //与 LCDTiming.Hsync 对应
			hback-porch = <20>;   //与 LCDTiming.HBP 对应
			vfront-porch = <10>;   //与 LCDTiming.VFP 对应
			vsync-len = <5>;   //与 LCDTiming.Vsync 对应
			vback-porch = <5>;   //与 LCDTiming.VBP 对应				
			hsync-active = <0>;
			vsync-active = <0>;
			de-active = <0>;
			pixelclk-active = <0>;
	};
};

注意:按照厂家给的时序参数,在设置界面某一列有跳色的情况,修改时序参数后,显示正常。

4、包含mipi lcd设备树头文件

需要在设备树文件中增加mipi lcd的配置。泰山派开发板所使用的设备树文件为

tspi_android_sdk\kernel\arch\arm64\boot\dts\rockchip\tspi-rk3566-user-v10.dts。

HDMI显示开启关闭都行,不会影响LCD显示。

 

五、触屏驱动

sdk默认支持GT911触屏驱动,并且tspi-rk3566-dsi-v10.dtsi文件中配置的分辨率为1080p,所用不用做修改。

六、重新编译内核

sdk执行了一次全编译之后,执行以下命令重新编译内核:

cd kernel
make ARCH=arm64 BOOT_IMG=../rockdev/Image-rk3566_tspi/boot.img tspi-rk3566-user-v10.img -j72

如果没有执行全编译, 执行以下命令重新编译内核:

cd kernel
make ARCH=arm64 tspi_defconfig rk356x_evb.config android-11.config && make ARCH=arm64 tspi-rk3566-user-v10.img -j16

六、烧录

将tspi_android_sdk\kernel\boot.img烧写到0x0000C800的地址即可。

七、调试效果

立创泰山派驱动5.5寸1080p mipi液晶

 

 

posted on 2025-10-23 04:36  &大飞  阅读(12)  评论(0)    收藏  举报

导航