Android8.1初始化RGB屏

发布于:2024-12-06 ⋅ 阅读:(132) ⋅ 点赞:(0)

初始化文件类似如下

#define HSW 8
#define HBD 160
#define HFD 140
#define VSW 8
#define VBD 20
#define VFD 20

#frame rate=60Hz
#Pixel Clk=25Mhz
#MIPI_CLK=300Mbps(MIPI通道速率)


SPI_RES=1;
Delay(20);	//延迟20ms
SPI_RES=0;
Delay(50);	//延迟50ms
SPI_RES=1;
Delay(120);  //延迟120ms     


//ST7701SN+BOE3.95IPS(QV040Z6U-T80)_initialcode_Column_V1.1-B 20231017
WriteCommand(0xFF);     
WriteParameter(0x77);   
WriteParameter(0x01);   
WriteParameter(0x00);   
WriteParameter(0x00);   
WriteParameter(0x13);   

WriteCommand(0xEF);     
WriteParameter(0x08);   

关于第一层 是屏参 clock-frequenc就是#Pixel Clk=25Mhz

延时请查看kernel/drivers/gpu/drm/panel/panel-simple.c中的panel_simple_prepare方法

enable-delay-ms = <20>;
reset-delay-ms = <20>;
prepare-delay-ms = <20>;
unprepare-delay-ms = <20>;
disable-delay-ms = <20>;
init-delay-ms = <120>;

这边就是初始化前延时操作

static int panel_simple_prepare(struct drm_panel *panel)
{
	struct panel_simple *p = to_panel_simple(panel);
	int err;

	if (p->prepared)
		return 0;

	err = panel_simple_regulator_enable(p);
	if (err < 0) {
		dev_err(panel->dev, "failed to enable supply: %d\n", err);
		return err;
	}

	gpiod_direction_output(p->enable_gpio, 1);

	if (p->desc->delay.prepare)
		panel_simple_sleep(p->desc->delay.prepare);

	gpiod_direction_output(p->reset_gpio, 1);

	if (p->desc->delay.reset)
		panel_simple_sleep(p->desc->delay.reset);

	gpiod_direction_output(p->reset_gpio, 0);

	if (p->desc->delay.init)
		panel_simple_sleep(p->desc->delay.init);

	if (p->desc->init_seq) {
		if (p->dsi)
			panel_simple_xfer_dsi_cmd_seq(p, p->desc->init_seq);
		else if (p->cmd_type == CMD_TYPE_SPI)
			err = panel_simple_xfer_spi_cmd_seq(p, p->desc->init_seq);
		if (err)
			dev_err(panel->dev, "failed to send init cmds seq\n");
	}

	p->prepared = true;

	return 0;
}

最后就是时序 类似与这样

​​		panel-init-sequence = [
			00 00 01 FF
			01 00 01 77
			01 00 01 01
			01 00 01 00
			01 00 01 00
			01 00 01 13

			00 00 01 EF
			01 00 01 08

			00 00 01 FF
			01 00 01 77
			01 00 01 01
			01 00 01 00
			01 00 01 00
			01 00 01 10

			00 00 01 C0
			01 00 01 3B
			01 00 01 00

			00 00 01 C1
			01 00 01 0E
			01 00 01 0C

			00 00 01 C2
			01 00 01 07
			01 00 01 0A

			00 00 01 CC
			01 00 01 30

			00 00 01 B0
			01 00 01 40
			01 00 01 07
			01 00 01 53
			01 00 01 0E
			01 00 01 12
			01 00 01 07
			01 00 01 0A
			01 00 01 09
			01 00 01 09
			01 00 01 28
			01 00 01 05
			01 00 01 10
			01 00 01 0D
			01 00 01 6E
			01 00 01 3B
			01 00 01 D6

			00 00 01 B1
			01 00 01 40
			01 00 01 17
			01 00 01 5C
			01 00 01 0D
			01 00 01 11
			01 00 01 06
			01 00 01 08
			01 00 01 08
			01 00 01 08
			01 00 01 20
			01 00 01 03
			01 00 01 12
			01 00 01 11
			01 00 01 65
			01 00 01 28
			01 00 01 C8
			
			00 00 01 FF
			01 00 01 77
			01 00 01 01
			01 00 01 00
			01 00 01 00
			01 00 01 11

			00 00 01 B0
			01 00 01 4D

			00 00 01 B1
			01 00 01 2E

			00 00 01 B2
			01 00 01 8C

			00 00 01 B3
			01 00 01 80

			00 00 01 B5
			01 00 01 4C

			00 00 01 B7
			01 00 01 85

			00 00 01 B8
			01 00 01 33

			00 00 01 C0
			01 00 01 07

			00 00 01 C1
			01 00 01 78

			00 14 01 C2
			01 00 01 78

			00 14 01 D0
			01 00 01 88

			00 00 01 E0
			01 00 01 00
			01 00 01 00
			01 00 01 02

			00 00 01 E1
			01 00 01 05
			01 00 01 30
			01 00 01 00
			01 00 01 00
			01 00 01 06
			01 00 01 30
			01 00 01 00
			01 00 01 00
			01 00 01 0E
			01 00 01 30
			01 00 01 30

			00 00 01 E2
			01 00 01 10
			01 00 01 10
			01 00 01 30
			01 00 01 30
			01 00 01 F4
			01 00 01 00
			01 00 01 00
			01 00 01 00
			01 00 01 F4
			01 00 01 00
			01 00 01 00
			01 00 01 00

			00 00 01 E3
			01 00 01 00
			01 00 01 00
			01 00 01 11
			01 00 01 11

			00 00 01 E4
			01 00 01 44
			01 00 01 44

			00 00 01 E5
			01 00 01 0A
			01 00 01 F4
			01 00 01 30
			01 00 01 F0
			01 00 01 0C
			01 00 01 F6
			01 00 01 30
			01 00 01 F0
			01 00 01 06
			01 00 01 F0
			01 00 01 30
			01 00 01 F0
			01 00 01 08
			01 00 01 F2
			01 00 01 30
			01 00 01 F0

			00 00 01 E6
			01 00 01 00
			01 00 01 00
			01 00 01 11
			01 00 01 11

			00 00 01 E7
			01 00 01 44
			01 00 01 44

			00 00 01 E8
			01 00 01 0B
			01 00 01 F5
			01 00 01 30
			01 00 01 F0
			01 00 01 0D
			01 00 01 F7
			01 00 01 30
			01 00 01 F0
			01 00 01 07
			01 00 01 F1
			01 00 01 30
			01 00 01 F0
			01 00 01 09
			01 00 01 F3
			01 00 01 30
			01 00 01 F0

			00 00 01 E9
			01 00 01 36
			01 00 01 01

			00 00 01 EB
			01 00 01 00
			01 00 01 01
			01 00 01 E4
			01 00 01 E4
			01 00 01 44
			01 00 01 88
			01 00 01 33

			00 00 01 ED
			01 00 01 20
			01 00 01 F8
			01 00 01 97
			01 00 01 76
			01 00 01 65
			01 00 01 54
			01 00 01 4F
			01 00 01 FF
			01 00 01 FF
			01 00 01 F4
			01 00 01 45
			01 00 01 56
			01 00 01 67
			01 00 01 79
			01 00 01 8F
			01 00 01 02

			00 00 01 EF
			01 00 01 08
			01 00 01 08
			01 00 01 08
			01 00 01 4F
			01 00 01 3F
			01 00 01 54

			00 00 01 FF
			01 00 01 77
			01 00 01 01
			01 00 01 00
			01 00 01 00
			01 00 01 13

			00 00 01 E6
			01 00 01 16
			01 00 01 7C

			00 00 01 EF
			01 00 01 77
			01 00 01 01
			01 00 01 00
			01 00 01 00
			01 00 01 00

			00 00 01 3A
			01 00 01 66

			00 96 01 11
			00 14 01 29
		];