RK3576-MIPI DSI无法正常显示问题排查

问题背景描述:基于RK3576的板卡调试MIPI LCD显示,发现正常配置MIPI LCD时序无法正常显示。

系统分析:触摸部分与显示部分无直接关联,显示部分与背光、复位信号有关,因此排查可排除触摸软硬件问题。

(1)硬件原理图

(2)背光电路

(3)复位电路

(4)显示电路

设备树配置分析:

&pwm2_8ch_6 {
	status = "okay";
	pinctrl-0 = <&pwm2m2_ch6>;
};

&backlight {
        pwms = <&pwm2_8ch_6 0 25000 0>;
        status = "okay";
};

&dsi {
	status = "okay";
	//rockchip,lane-rate = <1000>;
	dsi_panel: panel@0 {
		status = "okay";
		compatible = "simple-panel-dsi";
		reg = <0>;
		backlight = <&backlight>;
		enable-delay-ms = <200>;
		prepare-delay-ms = <200>;
		unprepare-delay-ms = <200>;
		disable-delay-ms = <200>;
		width-mm = <94>;
		height-mm = <150>;
		dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
			      MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET)>;
		dsi,format = <MIPI_DSI_FMT_RGB888>;
		dsi,lanes  = <4>;
		panel-init-sequence = [
			05 1E 01 01
			23 00 02 EE 50
			29 00 03 EA 85 55
			23 00 02 30 00
			23 00 02 31 00
			29 00 03 90 50 15
			23 00 02 24 20
			23 00 02 99 00
			23 00 02 79 00
			23 00 02 95 74
			23 00 02 7A 20
			23 00 02 97 09
			23 00 02 7D 08
			23 00 02 56 83
			23 00 02 EE 60
			23 00 02 30 01
			23 00 02 27 22
			23 00 02 3A A4
			23 00 02 3B 00
			23 00 02 3C 1A
			23 00 02 3D 11
			23 00 02 3E 93
			23 00 02 42 64
			23 00 02 43 64
			23 00 02 44 0B
			23 00 02 46 4E
			23 00 02 8B 90
			23 00 02 8D 45
			23 00 02 91 11
			23 00 02 92 11
			23 00 02 93 9F
			23 00 02 9A 00
			23 00 02 9C 80
			29 00 06 47 0F 24 2C 39 36
			29 00 06 5A 0F 24 2C 39 36
			29 00 06 4C 4A 40 51 31 2F
			29 00 06 51 2D 10 25 1F 30
			29 00 05 56 37 46 5B 7F
			29 00 05 69 37 46 5B 7F
			23 00 02 EE 70
			29 00 05 00 03 07 00 01
			29 00 05 04 08 0C 55 01
			29 00 03 0C 05 3D
			29 00 06 10 05 08 00 01 05
			29 00 06 15 00 15 0D 08 00
			29 00 03 29 05 3D
			29 00 06 60 3C 3C 07 05 17
			29 00 06 65 15 13 11 01 03
			29 00 06 6A 3C 3C 3C 3C 3C
			29 00 06 6F 3C 3C 3C 3C 3C
			29 00 03 74 3C 3C
			29 00 06 80 3C 3C 06 04 16
			29 00 06 85 14 12 10 00 02
			29 00 06 8A 3C 3C 3C 3C 3C
			29 00 06 8F 3C 3C 3C 3C 3C
			29 00 03 94 3C 3C
			29 00 03 EA 00 00
			23 00 02 EE 00
			05 78 01 11
			05 1E 01 29
		];

		panel-exit-sequence = [
			05 00 01 28
			05 00 01 10
		];

		disp_timings0: display-timings {
			native-mode = <&dsi_timing0>;
			dsi_timing0: timing0 {
				clock-frequency = <67200000>;
                hactive = <800>;
                vactive = <1280>;
                hfront-porch = <80>;
                hsync-len = <20>;
                hback-porch = <20>;
                vfront-porch = <15>;
                vsync-len = <6>;
                vback-porch = <8>;
                hsync-active = <0>;
                vsync-active = <0>;
                de-active = <0>;
                pixelclk-active = <1>;
			};
		};

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;
				panel_in_dsi: endpoint {
					remote-endpoint = <&dsi_out_panel>;
				};
			};
		};
	};

	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		port@1 {
			reg = <1>;
			dsi_out_panel: endpoint {
				remote-endpoint = <&panel_in_dsi>;
			};
		};
	};

};

&dsi_panel {
	power-supply = <&vcc3v3_lcd_n>;
};

设备树主要在DSI接口里添加了一个panel节点,在该节点里面指定了背光节点,配置了panel上电时序,屏参时序,最终关联到dsi端口。从设备树配置上看是没有任何问题的,但是测试就是无法正常显示。

分析:如果屏幕无法正常显示有可能是上电时序或者屏参时序有问题,但是这些配置在3588平台上是验证过是没有问题的,因此可排除此部分导致的原因。

最终通过排查发现是缺少配置复位信号,在设备树配置中添加复位信号配置内容即可正常显示。

剩下的触摸配置就简单了,本质就是一个i2c驱动配置:

&i2c9 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&i2c9m3_xfer>;

	gt911@5d {
		compatible = "goodix,gt911";
		reg = <0x5d>;
		interrupt-parent = <&gpio4>;
		interrupts = <9 0>;
		irq-gpios = <&gpio4 RK_PB1 0>;
		reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&gt911_int>;
		status = "okay";
	};
};

&pinctrl {
	touch {
		gt911_int: gt911-int {
			rockchip,pins = <4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
}

总结:在调试MIPI DSI尤其需要关注复位信号,不同的panel复位信号其有效电平也有所差异!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值