[RK3566] Point LVDS screen debugging record through GM8775

Platform: RK3566 Android11

         GM8775 MIPI LVDS

Screen: LVDS 1920x1200 resolution

1. Read the screen specifications first, then calculate and fill in the screen resolution and front and rear shoulders into the PC tool for conversion.

According to the screen specification, the screen parameter writing tool generates a section of initialization parameters.

 Pay attention to check: 1. Does the hardware use an external crystal oscillator or a MIPI clock?

                   2. Is the hardware used using IIC or command?

 2. Write the screen parameters generated by the tool into the dts file used by the platform

        The IC is converted to LVDS through mipi and configured as a mipi channel in dts.

2.1 dts configuration is as follows:

&dsi0 {
	status = "okay";
	panel@0 {
		status = "okay";
		compatible ="simple-panel-dsi";
		reg = <0>;
		backlight = <&backlight>;
		//power-supply=<&vcc_3v3>;
		enable-gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>;
		prepare-delay-ms = <100>;
		reset-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>;
		reset-delay-ms = <100>;
		init-delay-ms  = <100>;
		enable-delay-ms = <100>;
		pinctrl-names = "default";
		pinctrl-0 = <&lcd_enable_gpio>, <&lcd_rst_gpio>;
		dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
			      MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
		dsi,format = <MIPI_DSI_FMT_RGB888>;
		dsi,lanes = <4>;
    	panel-init-sequence = [
			23 00 02 27 AA
			23 00 02 48 02
			23 00 02 B6 20
			23 00 02 01 80
			23 00 02 02 B0
			23 00 02 03 47
			23 00 02 04 46
			23 00 02 05 14
			23 00 02 06 46
			23 00 02 07 00
			23 00 02 08 0A
			23 00 02 09 0F
			23 00 02 0A 0A
			23 00 02 0B 82
			23 00 02 0C 13
			23 00 02 0D 01
			23 00 02 0E 80
			23 00 02 0F 20
			23 00 02 10 20
			23 00 02 11 03
			23 00 02 12 1B
			23 00 02 13 63
			23 00 02 14 01
			23 00 02 15 23
			23 00 02 16 40
			23 00 02 17 00
			23 00 02 18 01
			23 00 02 19 23
			23 00 02 1A 40
			23 00 02 1B 00
			23 00 02 1E 46
			23 00 02 51 30
			23 00 02 1F 10
			23 00 02 2A 01     //如上为工具生成的初始化代码
            //如下为SSR展频,不加可能点不亮
			23 00 02 6A	08 
			23 00 02 6C	9E
			23 00 02 6D 07
			23 00 02 6E	00
			23 00 02 6F	8A
			23 00 02 70 19
			23 64 02 71 00
    	];
      	disp_timings1: display-timings {
			native-mode = <&timing2>;
			timing2: timing2 {
			clock-frequency = <144250000>;
				hactive = <1920>;
				vactive = <1200>;
				hback-porch = <70>;
				hsync-len = <20>;
				hfront-porch = <70>;
				vback-porch = <10>;
				vfront-porch = <10>;
				vsync-len = <15>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <0>;
				pixelclk-active = <0>;
			};
		};

After modification, compile and burn to see the effect.

FAQ:

1.GM8775C has a self-test mode, which can display without MIPI data. For preliminary debugging, you can enter the color bar mode first to eliminate back-end problems. Change 23 00 02 2A 01 to 23 00 02 2A 4D.

2. The data di of GM8775C must be 0x23. After sending, measure with the oscilloscope: Is CLK/DATA output?

3. The color display is abnormal. You can check the screen specification sheet to find out whether the LVDS data format supported by the screen is JEIDA or VESA.

4. Dual-channel LVDS displays ghost images. Please rule out whether the LVDS parity is reversed. You can try swapping ODD/EVEN.

Guess you like

Origin blog.csdn.net/qq1226176787/article/details/120333097