drm/panel: ilitek-ili9881c: Add TDO TL050HDV35-H1311A LCD panel
Subsystems (4)
cover drm/panel: ilitek-ili9881c: Add TDO TL050HDV35-H1311A LCD panel
The first patch updates the DT documentation and the second is the update of the ilitek ili9881c driver.
Matus Gajdos (2):
dt-bindings: ili9881c: Add TDO TL050HDV35 LCD panel drm/panel: ilitek-ili9881c: Add TDO TL050HDV35 LCD panel
.../display/panel/ilitek,ili9881c.yaml | 1 + drivers/gpu/drm/panel/panel-ilitek-ili9881c.c | 194 ++++++++++++++++++ 2 files changed, 195 insertions(+)
Signature · 1 line
2.25.1
PATCH 1/2 dt-bindings: ili9881c: Add TDO TL050HDV35 LCD panel
Add support for TDO TL050HDV35-H1311A LCD panel.
--- .../devicetree/bindings/display/panel/ilitek,ili9881c.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml +1 -0
@@ -18,6 +18,7 @@ properties: - enum: - bananapi,lhr050h41 - feixin,k101-im2byl02 + - tdo,tl050hdv35 - wanchanglong,w552946aba - const: ilitek,ili9881c
Signature · 1 line
2.25.1
Re: [PATCH 1/2] dt-bindings: ili9881c: Add TDO TL050HDV35 LCD panel
Quoted 5 lines · Matus Gajdos
Add support for TDO TL050HDV35-H1311A LCD panel.
Signed-off-by Matus Gajdos <[email protected]>--- .../devicetree/bindings/display/panel/ilitek,ili9881c.yaml | 1 +
Best regards,
Krzysztof
PATCH 2/2 drm/panel: ilitek-ili9881c: Add TDO TL050HDV35 LCD panel
In reply to Matus GajdosAdd support for TDO TL050HDV35-H1311A LCD panel.
--- drivers/gpu/drm/panel/panel-ilitek-ili9881c.c | 194 ++++++++++++++++++ 1 file changed, 194 insertions(+)
drivers/gpu/drm/panel/panel-ilitek-ili9881c.c +194 -0
@@ -455,6 +455,174 @@ static const struct ili9881c_instr k101_im2byl02_init[] = { ILI9881C_COMMAND_INSTR(0xD3, 0x3F), /* VN0 */ }; +static const struct ili9881c_instr tl050hdv35_init[] = { +ILI9881C_SWITCH_PAGE_INSTR (3 ), +ILI9881C_COMMAND_INSTR (0x01 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x02 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x03 ,0x73 ), +ILI9881C_COMMAND_INSTR (0x04 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x05 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x06 ,0x0a ), +ILI9881C_COMMAND_INSTR (0x07 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x08 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x09 ,0x01 ), +ILI9881C_COMMAND_INSTR (0x0a ,0x00 ), +ILI9881C_COMMAND_INSTR (0x0b ,0x00 ), +ILI9881C_COMMAND_INSTR (0x0c ,0x01 ), +ILI9881C_COMMAND_INSTR (0x0d ,0x00 ), +ILI9881C_COMMAND_INSTR (0x0e ,0x00 ), +ILI9881C_COMMAND_INSTR (0x0f ,0x1d ), +ILI9881C_COMMAND_INSTR (0x10 ,0x1d ), +ILI9881C_COMMAND_INSTR (0x15 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x16 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x17 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x18 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x19 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x1a ,0x00 ), +ILI9881C_COMMAND_INSTR (0x1b ,0x00 ), +ILI9881C_COMMAND_INSTR (0x1c ,0x00 ), +ILI9881C_COMMAND_INSTR (0x1d ,0x00 ), +ILI9881C_COMMAND_INSTR (0x1e ,0x40 ), +ILI9881C_COMMAND_INSTR (0x1f ,0x80 ), +ILI9881C_COMMAND_INSTR (0x20 ,0x06 ), +ILI9881C_COMMAND_INSTR (0x21 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x28 ,0x33 ), +ILI9881C_COMMAND_INSTR (0x29 ,0x03 ), +ILI9881C_COMMAND_INSTR (0x2a ,0x00 ), +ILI9881C_COMMAND_INSTR (0x2b ,0x00 ), +ILI9881C_COMMAND_INSTR (0x2c ,0x00 ), +ILI9881C_COMMAND_INSTR (0x2d ,0x00 ), +ILI9881C_COMMAND_INSTR (0x2e ,0x00 ), +ILI9881C_COMMAND_INSTR (0x2f ,0x00 ), +ILI9881C_COMMAND_INSTR (0x35 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x36 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x37 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x38 ,0x3C ), +ILI9881C_COMMAND_INSTR (0x39 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x3a ,0x40 ), +ILI9881C_COMMAND_INSTR (0x3b ,0x40 ), +ILI9881C_COMMAND_INSTR (0x3c ,0x00 ), +ILI9881C_COMMAND_INSTR (0x3d ,0x00 ), +ILI9881C_COMMAND_INSTR (0x3e ,0x00 ), +ILI9881C_COMMAND_INSTR (0x3f ,0x00 ), +ILI9881C_COMMAND_INSTR (0x40 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x41 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x42 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x43 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x44 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x55 ,0xab ), +ILI9881C_COMMAND_INSTR (0x5a ,0x89 ), +ILI9881C_COMMAND_INSTR (0x5b ,0xab ), +ILI9881C_COMMAND_INSTR (0x5c ,0xcd ), +ILI9881C_COMMAND_INSTR (0x5d ,0xef ), +ILI9881C_COMMAND_INSTR (0x5e ,0x11 ), +ILI9881C_COMMAND_INSTR (0x5f ,0x01 ), +ILI9881C_COMMAND_INSTR (0x60 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x61 ,0x15 ), +ILI9881C_COMMAND_INSTR (0x62 ,0x14 ), +ILI9881C_COMMAND_INSTR (0x63 ,0x0e ), +ILI9881C_COMMAND_INSTR (0x64 ,0x0f ), +ILI9881C_COMMAND_INSTR (0x65 ,0x0c ), +ILI9881C_COMMAND_INSTR (0x66 ,0x0d ), +ILI9881C_COMMAND_INSTR (0x67 ,0x06 ), +ILI9881C_COMMAND_INSTR (0x68 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x69 ,0x07 ), +ILI9881C_COMMAND_INSTR (0x6a ,0x02 ), +ILI9881C_COMMAND_INSTR (0x6b ,0x02 ), +ILI9881C_COMMAND_INSTR (0x6c ,0x02 ), +ILI9881C_COMMAND_INSTR (0x6d ,0x02 ), +ILI9881C_COMMAND_INSTR (0x6e ,0x02 ), +ILI9881C_COMMAND_INSTR (0x6f ,0x02 ), +ILI9881C_COMMAND_INSTR (0x70 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x71 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x72 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x73 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x74 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x75 ,0x01 ), +ILI9881C_COMMAND_INSTR (0x76 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x77 ,0x14 ), +ILI9881C_COMMAND_INSTR (0x78 ,0x15 ), +ILI9881C_COMMAND_INSTR (0x79 ,0x0e ), +ILI9881C_COMMAND_INSTR (0x7a ,0x0f ), +ILI9881C_COMMAND_INSTR (0x7b ,0x0c ), +ILI9881C_COMMAND_INSTR (0x7c ,0x0d ), +ILI9881C_COMMAND_INSTR (0x7d ,0x06 ), +ILI9881C_COMMAND_INSTR (0x7e ,0x02 ), +ILI9881C_COMMAND_INSTR (0x7f ,0x07 ), +ILI9881C_COMMAND_INSTR (0x88 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x89 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x8A ,0x02 ), +ILI9881C_SWITCH_PAGE_INSTR (4 ), +ILI9881C_COMMAND_INSTR (0x38 ,0x01 ), +ILI9881C_COMMAND_INSTR (0x39 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x6c ,0x15 ), +ILI9881C_COMMAND_INSTR (0x6e ,0x2b ), +ILI9881C_COMMAND_INSTR (0x6f ,0x33 ), +ILI9881C_COMMAND_INSTR (0x8d ,0x18 ), +ILI9881C_COMMAND_INSTR (0x87 ,0xba ), +ILI9881C_COMMAND_INSTR (0x26 ,0x76 ), +ILI9881C_COMMAND_INSTR (0xb2 ,0xd1 ), +ILI9881C_COMMAND_INSTR (0xb5 ,0x06 ), +ILI9881C_COMMAND_INSTR (0x3a ,0x24 ), +ILI9881C_COMMAND_INSTR (0x35 ,0x1f ), +ILI9881C_COMMAND_INSTR (0x33 ,0x14 ), +ILI9881C_COMMAND_INSTR (0x3b ,0x98 ), +ILI9881C_SWITCH_PAGE_INSTR (1 ), +ILI9881C_COMMAND_INSTR (0x22 ,0x0a ), +ILI9881C_COMMAND_INSTR (0x31 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x40 ,0x33 ), +ILI9881C_COMMAND_INSTR (0x53 ,0xa2 ), +ILI9881C_COMMAND_INSTR (0x55 ,0x92 ), +ILI9881C_COMMAND_INSTR (0x50 ,0x96 ), +ILI9881C_COMMAND_INSTR (0x51 ,0x96 ), +ILI9881C_COMMAND_INSTR (0x60 ,0x22 ), +ILI9881C_COMMAND_INSTR (0x61 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x62 ,0x19 ), +ILI9881C_COMMAND_INSTR (0x63 ,0x00 ), +ILI9881C_COMMAND_INSTR (0xa0 ,0x08 ), +ILI9881C_COMMAND_INSTR (0xa1 ,0x11 ), +ILI9881C_COMMAND_INSTR (0xa2 ,0x19 ), +ILI9881C_COMMAND_INSTR (0xa3 ,0x0d ), +ILI9881C_COMMAND_INSTR (0xa4 ,0x0d ), +ILI9881C_COMMAND_INSTR (0xa5 ,0x1e ), +ILI9881C_COMMAND_INSTR (0xa6 ,0x14 ), +ILI9881C_COMMAND_INSTR (0xa7 ,0x17 ), +ILI9881C_COMMAND_INSTR (0xa8 ,0x4f ), +ILI9881C_COMMAND_INSTR (0xa9 ,0x1a ), +ILI9881C_COMMAND_INSTR (0xaa ,0x27 ), +ILI9881C_COMMAND_INSTR (0xab ,0x49 ), +ILI9881C_COMMAND_INSTR (0xac ,0x1a ), +ILI9881C_COMMAND_INSTR (0xad ,0x18 ), +ILI9881C_COMMAND_INSTR (0xae ,0x4c ), +ILI9881C_COMMAND_INSTR (0xaf ,0x22 ), +ILI9881C_COMMAND_INSTR (0xb0 ,0x27 ), +ILI9881C_COMMAND_INSTR (0xb1 ,0x4b ), +ILI9881C_COMMAND_INSTR (0xb2 ,0x60 ), +ILI9881C_COMMAND_INSTR (0xb3 ,0x39 ), +ILI9881C_COMMAND_INSTR (0xc0 ,0x08 ), +ILI9881C_COMMAND_INSTR (0xc1 ,0x11 ), +ILI9881C_COMMAND_INSTR (0xc2 ,0x19 ), +ILI9881C_COMMAND_INSTR (0xc3 ,0x0d ), +ILI9881C_COMMAND_INSTR (0xc4 ,0x0d ), +ILI9881C_COMMAND_INSTR (0xc5 ,0x1e ), +ILI9881C_COMMAND_INSTR (0xc6 ,0x14 ), +ILI9881C_COMMAND_INSTR (0xc7 ,0x17 ), +ILI9881C_COMMAND_INSTR (0xc8 ,0x4f ), +ILI9881C_COMMAND_INSTR (0xc9 ,0x1a ), +ILI9881C_COMMAND_INSTR (0xca ,0x27 ), +ILI9881C_COMMAND_INSTR (0xcb ,0x49 ), +ILI9881C_COMMAND_INSTR (0xcc ,0x1a ), +ILI9881C_COMMAND_INSTR (0xcd ,0x18 ), +ILI9881C_COMMAND_INSTR (0xce ,0x4c ), +ILI9881C_COMMAND_INSTR (0xcf ,0x33 ), +ILI9881C_COMMAND_INSTR (0xd0 ,0x27 ), +ILI9881C_COMMAND_INSTR (0xd1 ,0x4b ), +ILI9881C_COMMAND_INSTR (0xd2 ,0x60 ), +ILI9881C_COMMAND_INSTR (0xd3 ,0x39 ), +ILI9881C_SWITCH_PAGE_INSTR (0 ), +ILI9881C_COMMAND_INSTR (0x36 ,0x03 ), +}; +static const struct ili9881c_instr w552946ab_init[] = {ILI9881C_SWITCH_PAGE_INSTR (3 ),ILI9881C_COMMAND_INSTR (0x01 ,0x00 ),
@@ -812,6 +980,23 @@ static const struct drm_display_mode k101_im2byl02_default_mode = { .height_mm = 217, }; +static const struct drm_display_mode tl050hdv35_default_mode = { + .clock =59400 , + + .hdisplay =720 , + .hsync_start =720 +18 , + .hsync_end =720 +18 +3 , + .htotal =720 +18 +3 +20 , + + .vdisplay =1280 , + .vsync_start =1280 +26 , + .vsync_end =1280 +26 +6 , + .vtotal =1280 +26 +6 +28 , + + .width_mm =62 , + .height_mm =110 , +}; +static const struct drm_display_mode w552946aba_default_mode = { .clock =64000 ,
@@ -944,6 +1129,14 @@ static const struct ili9881c_desc k101_im2byl02_desc = { .mode_flags = MIPI_DSI_MODE_VIDEO_SYNC_PULSE, }; +static const struct ili9881c_desc tl050hdv35_desc = { + .init = tl050hdv35_init, + .init_length =ARRAY_SIZE (tl050hdv35_init), + .mode = &tl050hdv35_default_mode, + .mode_flags =MIPI_DSI_MODE_VIDEO |MIPI_DSI_MODE_VIDEO_SYNC_PULSE | +MIPI_DSI_MODE_LPM , +}; +static const struct ili9881c_desc w552946aba_desc = { .init = w552946ab_init, .init_length =ARRAY_SIZE (w552946ab_init),
@@ -955,6 +1148,7 @@ static const struct ili9881c_desc w552946aba_desc = {static const struct of_device_id ili9881c_of_match[] = { { .compatible ="bananapi,lhr050h41" , .data = &lhr050h41_desc }, { .compatible ="feixin,k101-im2byl02" , .data = &k101_im2byl02_desc }, + { .compatible ="tdo,tl050hdv35" , .data = &tl050hdv35_desc }, { .compatible ="wanchanglong,w552946aba" , .data = &w552946aba_desc }, { } };
Signature · 1 line
2.25.1
Re: [PATCH 2/2] drm/panel: ilitek-ili9881c: Add TDO TL050HDV35 LCD panel
Quoted 226 lines · Matus Gajdos
Add support for TDO TL050HDV35-H1311A LCD panel.
Signed-off-by Matus Gajdos <[email protected]>--- drivers/gpu/drm/panel/panel-ilitek-ili9881c.c | 194 ++++++++++++++++++ 1 file changed, 194 insertions(+)drivers/gpu/drm/panel/panel-ilitek-ili9881c.c +193
-0@@ -455,6 +455,174 @@ static const struct ili9881c_instr k101_im2byl02_init[] = { ILI9881C_COMMAND_INSTR(0xD3, 0x3F), /* VN0 */ }; +static const struct ili9881c_instr tl050hdv35_init[] = { +ILI9881C_SWITCH_PAGE_INSTR (3 ), +ILI9881C_COMMAND_INSTR (0x01 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x02 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x03 ,0x73 ), +ILI9881C_COMMAND_INSTR (0x04 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x05 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x06 ,0x0a ), +ILI9881C_COMMAND_INSTR (0x07 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x08 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x09 ,0x01 ), +ILI9881C_COMMAND_INSTR (0x0a ,0x00 ), +ILI9881C_COMMAND_INSTR (0x0b ,0x00 ), +ILI9881C_COMMAND_INSTR (0x0c ,0x01 ), +ILI9881C_COMMAND_INSTR (0x0d ,0x00 ), +ILI9881C_COMMAND_INSTR (0x0e ,0x00 ), +ILI9881C_COMMAND_INSTR (0x0f ,0x1d ), +ILI9881C_COMMAND_INSTR (0x10 ,0x1d ), +ILI9881C_COMMAND_INSTR (0x15 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x16 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x17 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x18 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x19 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x1a ,0x00 ), +ILI9881C_COMMAND_INSTR (0x1b ,0x00 ), +ILI9881C_COMMAND_INSTR (0x1c ,0x00 ), +ILI9881C_COMMAND_INSTR (0x1d ,0x00 ), +ILI9881C_COMMAND_INSTR (0x1e ,0x40 ), +ILI9881C_COMMAND_INSTR (0x1f ,0x80 ), +ILI9881C_COMMAND_INSTR (0x20 ,0x06 ), +ILI9881C_COMMAND_INSTR (0x21 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x28 ,0x33 ), +ILI9881C_COMMAND_INSTR (0x29 ,0x03 ), +ILI9881C_COMMAND_INSTR (0x2a ,0x00 ), +ILI9881C_COMMAND_INSTR (0x2b ,0x00 ), +ILI9881C_COMMAND_INSTR (0x2c ,0x00 ), +ILI9881C_COMMAND_INSTR (0x2d ,0x00 ), +ILI9881C_COMMAND_INSTR (0x2e ,0x00 ), +ILI9881C_COMMAND_INSTR (0x2f ,0x00 ), +ILI9881C_COMMAND_INSTR (0x35 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x36 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x37 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x38 ,0x3C ), +ILI9881C_COMMAND_INSTR (0x39 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x3a ,0x40 ), +ILI9881C_COMMAND_INSTR (0x3b ,0x40 ), +ILI9881C_COMMAND_INSTR (0x3c ,0x00 ), +ILI9881C_COMMAND_INSTR (0x3d ,0x00 ), +ILI9881C_COMMAND_INSTR (0x3e ,0x00 ), +ILI9881C_COMMAND_INSTR (0x3f ,0x00 ), +ILI9881C_COMMAND_INSTR (0x40 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x41 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x42 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x43 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x44 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x55 ,0xab ), +ILI9881C_COMMAND_INSTR (0x5a ,0x89 ), +ILI9881C_COMMAND_INSTR (0x5b ,0xab ), +ILI9881C_COMMAND_INSTR (0x5c ,0xcd ), +ILI9881C_COMMAND_INSTR (0x5d ,0xef ), +ILI9881C_COMMAND_INSTR (0x5e ,0x11 ), +ILI9881C_COMMAND_INSTR (0x5f ,0x01 ), +ILI9881C_COMMAND_INSTR (0x60 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x61 ,0x15 ), +ILI9881C_COMMAND_INSTR (0x62 ,0x14 ), +ILI9881C_COMMAND_INSTR (0x63 ,0x0e ), +ILI9881C_COMMAND_INSTR (0x64 ,0x0f ), +ILI9881C_COMMAND_INSTR (0x65 ,0x0c ), +ILI9881C_COMMAND_INSTR (0x66 ,0x0d ), +ILI9881C_COMMAND_INSTR (0x67 ,0x06 ), +ILI9881C_COMMAND_INSTR (0x68 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x69 ,0x07 ), +ILI9881C_COMMAND_INSTR (0x6a ,0x02 ), +ILI9881C_COMMAND_INSTR (0x6b ,0x02 ), +ILI9881C_COMMAND_INSTR (0x6c ,0x02 ), +ILI9881C_COMMAND_INSTR (0x6d ,0x02 ), +ILI9881C_COMMAND_INSTR (0x6e ,0x02 ), +ILI9881C_COMMAND_INSTR (0x6f ,0x02 ), +ILI9881C_COMMAND_INSTR (0x70 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x71 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x72 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x73 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x74 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x75 ,0x01 ), +ILI9881C_COMMAND_INSTR (0x76 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x77 ,0x14 ), +ILI9881C_COMMAND_INSTR (0x78 ,0x15 ), +ILI9881C_COMMAND_INSTR (0x79 ,0x0e ), +ILI9881C_COMMAND_INSTR (0x7a ,0x0f ), +ILI9881C_COMMAND_INSTR (0x7b ,0x0c ), +ILI9881C_COMMAND_INSTR (0x7c ,0x0d ), +ILI9881C_COMMAND_INSTR (0x7d ,0x06 ), +ILI9881C_COMMAND_INSTR (0x7e ,0x02 ), +ILI9881C_COMMAND_INSTR (0x7f ,0x07 ), +ILI9881C_COMMAND_INSTR (0x88 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x89 ,0x02 ), +ILI9881C_COMMAND_INSTR (0x8A ,0x02 ), +ILI9881C_SWITCH_PAGE_INSTR (4 ), +ILI9881C_COMMAND_INSTR (0x38 ,0x01 ), +ILI9881C_COMMAND_INSTR (0x39 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x6c ,0x15 ), +ILI9881C_COMMAND_INSTR (0x6e ,0x2b ), +ILI9881C_COMMAND_INSTR (0x6f ,0x33 ), +ILI9881C_COMMAND_INSTR (0x8d ,0x18 ), +ILI9881C_COMMAND_INSTR (0x87 ,0xba ), +ILI9881C_COMMAND_INSTR (0x26 ,0x76 ), +ILI9881C_COMMAND_INSTR (0xb2 ,0xd1 ), +ILI9881C_COMMAND_INSTR (0xb5 ,0x06 ), +ILI9881C_COMMAND_INSTR (0x3a ,0x24 ), +ILI9881C_COMMAND_INSTR (0x35 ,0x1f ), +ILI9881C_COMMAND_INSTR (0x33 ,0x14 ), +ILI9881C_COMMAND_INSTR (0x3b ,0x98 ), +ILI9881C_SWITCH_PAGE_INSTR (1 ), +ILI9881C_COMMAND_INSTR (0x22 ,0x0a ), +ILI9881C_COMMAND_INSTR (0x31 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x40 ,0x33 ), +ILI9881C_COMMAND_INSTR (0x53 ,0xa2 ), +ILI9881C_COMMAND_INSTR (0x55 ,0x92 ), +ILI9881C_COMMAND_INSTR (0x50 ,0x96 ), +ILI9881C_COMMAND_INSTR (0x51 ,0x96 ), +ILI9881C_COMMAND_INSTR (0x60 ,0x22 ), +ILI9881C_COMMAND_INSTR (0x61 ,0x00 ), +ILI9881C_COMMAND_INSTR (0x62 ,0x19 ), +ILI9881C_COMMAND_INSTR (0x63 ,0x00 ), +ILI9881C_COMMAND_INSTR (0xa0 ,0x08 ), +ILI9881C_COMMAND_INSTR (0xa1 ,0x11 ), +ILI9881C_COMMAND_INSTR (0xa2 ,0x19 ), +ILI9881C_COMMAND_INSTR (0xa3 ,0x0d ), +ILI9881C_COMMAND_INSTR (0xa4 ,0x0d ), +ILI9881C_COMMAND_INSTR (0xa5 ,0x1e ), +ILI9881C_COMMAND_INSTR (0xa6 ,0x14 ), +ILI9881C_COMMAND_INSTR (0xa7 ,0x17 ), +ILI9881C_COMMAND_INSTR (0xa8 ,0x4f ), +ILI9881C_COMMAND_INSTR (0xa9 ,0x1a ), +ILI9881C_COMMAND_INSTR (0xaa ,0x27 ), +ILI9881C_COMMAND_INSTR (0xab ,0x49 ), +ILI9881C_COMMAND_INSTR (0xac ,0x1a ), +ILI9881C_COMMAND_INSTR (0xad ,0x18 ), +ILI9881C_COMMAND_INSTR (0xae ,0x4c ), +ILI9881C_COMMAND_INSTR (0xaf ,0x22 ), +ILI9881C_COMMAND_INSTR (0xb0 ,0x27 ), +ILI9881C_COMMAND_INSTR (0xb1 ,0x4b ), +ILI9881C_COMMAND_INSTR (0xb2 ,0x60 ), +ILI9881C_COMMAND_INSTR (0xb3 ,0x39 ), +ILI9881C_COMMAND_INSTR (0xc0 ,0x08 ), +ILI9881C_COMMAND_INSTR (0xc1 ,0x11 ), +ILI9881C_COMMAND_INSTR (0xc2 ,0x19 ), +ILI9881C_COMMAND_INSTR (0xc3 ,0x0d ), +ILI9881C_COMMAND_INSTR (0xc4 ,0x0d ), +ILI9881C_COMMAND_INSTR (0xc5 ,0x1e ), +ILI9881C_COMMAND_INSTR (0xc6 ,0x14 ), +ILI9881C_COMMAND_INSTR (0xc7 ,0x17 ), +ILI9881C_COMMAND_INSTR (0xc8 ,0x4f ), +ILI9881C_COMMAND_INSTR (0xc9 ,0x1a ), +ILI9881C_COMMAND_INSTR (0xca ,0x27 ), +ILI9881C_COMMAND_INSTR (0xcb ,0x49 ), +ILI9881C_COMMAND_INSTR (0xcc ,0x1a ), +ILI9881C_COMMAND_INSTR (0xcd ,0x18 ), +ILI9881C_COMMAND_INSTR (0xce ,0x4c ), +ILI9881C_COMMAND_INSTR (0xcf ,0x33 ), +ILI9881C_COMMAND_INSTR (0xd0 ,0x27 ), +ILI9881C_COMMAND_INSTR (0xd1 ,0x4b ), +ILI9881C_COMMAND_INSTR (0xd2 ,0x60 ), +ILI9881C_COMMAND_INSTR (0xd3 ,0x39 ), +ILI9881C_SWITCH_PAGE_INSTR (0 ), +ILI9881C_COMMAND_INSTR (0x36 ,0x03 ), +}; +static const struct ili9881c_instr w552946ab_init[] = {ILI9881C_SWITCH_PAGE_INSTR (3 ),ILI9881C_COMMAND_INSTR (0x01 ,0x00 ),@@ -812,6 +980,23 @@ static const struct drm_display_mode k101_im2byl02_default_mode = { .height_mm = 217, }; +static const struct drm_display_mode tl050hdv35_default_mode = { + .clock =59400 , + + .hdisplay =720 , + .hsync_start =720 +18 , + .hsync_end =720 +18 +3 , + .htotal =720 +18 +3 +20 , + + .vdisplay =1280 , + .vsync_start =1280 +26 , + .vsync_end =1280 +26 +6 , + .vtotal =1280 +26 +6 +28 , + + .width_mm =62 , + .height_mm =110 , +}; +static const struct drm_display_mode w552946aba_default_mode = { .clock =64000 ,@@ -944,6 +1129,14 @@ static const struct ili9881c_desc k101_im2byl02_desc = { .mode_flags = MIPI_DSI_MODE_VIDEO_SYNC_PULSE, }; +static const struct ili9881c_desc tl050hdv35_desc = { + .init = tl050hdv35_init, + .init_length =ARRAY_SIZE (tl050hdv35_init), + .mode = &tl050hdv35_default_mode, + .mode_flags =MIPI_DSI_MODE_VIDEO |MIPI_DSI_MODE_VIDEO_SYNC_PULSE | +MIPI_DSI_MODE_LPM , +}; +static const struct ili9881c_desc w552946aba_desc = { .init = w552946ab_init, .init_length =ARRAY_SIZE (w552946ab_init),
drivers/gpu/drm/panel/panel-ilitek-ili9881c.c static const struct ili9881c_desc w552946aba_desc = { · line 1154
Quoted 7 lines
drivers/gpu/drm/panel/panel-ilitek-ili9881c.c +1
-0@@ -955,6 +1148,7 @@ static const struct ili9881c_desc w552946aba_desc = {static const struct of_device_id ili9881c_of_match[] = { { .compatible ="bananapi,lhr050h41" , .data = &lhr050h41_desc }, { .compatible ="feixin,k101-im2byl02" , .data = &k101_im2byl02_desc }, + { .compatible ="tdo,tl050hdv35" , .data = &tl050hdv35_desc }, { .compatible ="wanchanglong,w552946aba" , .data = &w552946aba_desc }, { } };
Hi,
Quoted 8 lines · Matus Gajdos
The first patch updates the DT documentation and the second is the update of the ilitek ili9881c driver.
Matus Gajdos (2):
dt-bindings: ili9881c: Add TDO TL050HDV35 LCD panel drm/panel: ilitek-ili9881c: Add TDO TL050HDV35 LCD panel[...]
Thanks, Applied to https://anongit.freedesktop.org/git/drm/drm-misc.git (drm-misc-next)
[1/2] dt-bindings: ili9881c: Add TDO TL050HDV35 LCD panel
https://cgit.freedesktop.org/drm/drm-misc/commit/?id=9cd437c870b10da4a3276a569f5089af06435f85 [2/2] drm/panel: ilitek-ili9881c: Add TDO TL050HDV35 LCD panel https://cgit.freedesktop.org/drm/drm-misc/commit/?id=81aedd50697c876e633b68d6188a31aeafcfc535
Signature · 1 line
Neil