From 36fdacec2be12724501647dc1a7dbb080d4fa012 Mon Sep 17 00:00:00 2001 From: Dongjin Kim Date: Tue, 7 Nov 2023 16:16:24 +0900 Subject: [PATCH] ODROID-COMMON: drm/panel: improving Vu8M display panel setup Change-Id: I8a35f7b0bdc5e6654a3b8f7214e808b0514faf1a Signed-off-by: Dongjin Kim --- drivers/gpu/drm/panel/panel-ilitek-ili9881c.c | 92 +++++++++---------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c index 6bc2a3b0db76..e6e5c151b456 100644 --- a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c +++ b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c @@ -694,6 +694,7 @@ static const struct ili9881c_instr odroid_hj080be31ia1_init[] = { ILI9881C_COMMAND_INSTR(0x1b, 0x00), ILI9881C_COMMAND_INSTR(0x1c, 0x00), ILI9881C_COMMAND_INSTR(0x1d, 0x00), + ILI9881C_COMMAND_INSTR(0x1e, 0xc0), ILI9881C_COMMAND_INSTR(0x1f, 0x80), ILI9881C_COMMAND_INSTR(0x20, 0x02), @@ -720,6 +721,7 @@ static const struct ili9881c_instr odroid_hj080be31ia1_init[] = { ILI9881C_COMMAND_INSTR(0x35, 0x00), ILI9881C_COMMAND_INSTR(0x36, 0x00), ILI9881C_COMMAND_INSTR(0x37, 0x00), + ILI9881C_COMMAND_INSTR(0x38, 0x3C), /* VDD1&2 toggle 1sec */ ILI9881C_COMMAND_INSTR(0x39, 0x00), ILI9881C_COMMAND_INSTR(0x3a, 0x00), @@ -798,71 +800,69 @@ static const struct ili9881c_instr odroid_hj080be31ia1_init[] = { ILI9881C_SWITCH_PAGE_INSTR(4), ILI9881C_COMMAND_INSTR(0x6C, 0x15), ILI9881C_COMMAND_INSTR(0x6E, 0x30), /* VGH clamp 16.08V */ - ILI9881C_COMMAND_INSTR(0x6F, 0x37), /* reg vcl + pumping ratio VGH=3x VGL=-3x */ + ILI9881C_COMMAND_INSTR(0x6F, 0x33), /* reg vcl + pumping ratio VGH=3x VGL=-3x */ ILI9881C_COMMAND_INSTR(0x8D, 0x1F), /* VGL clamp -12.03V */ ILI9881C_COMMAND_INSTR(0x87, 0xBA), ILI9881C_COMMAND_INSTR(0x26, 0x76), ILI9881C_COMMAND_INSTR(0xB2, 0xD1), - ILI9881C_COMMAND_INSTR(0xB5, 0x07), - ILI9881C_COMMAND_INSTR(0x35, 0x17), + ILI9881C_COMMAND_INSTR(0x35, 0x1F), ILI9881C_COMMAND_INSTR(0x33, 0x14), - ILI9881C_COMMAND_INSTR(0x31, 0x75), - ILI9881C_COMMAND_INSTR(0x3A, 0x85), - ILI9881C_COMMAND_INSTR(0x3B, 0x98), + ILI9881C_COMMAND_INSTR(0x3A, 0xA9), + ILI9881C_COMMAND_INSTR(0x3B, 0x3D), ILI9881C_COMMAND_INSTR(0x38, 0x01), ILI9881C_COMMAND_INSTR(0x39, 0x00), - ILI9881C_COMMAND_INSTR(0x7A, 0x10), /* VREG1/2 out */ ILI9881C_SWITCH_PAGE_INSTR(1), - ILI9881C_COMMAND_INSTR(0x40, 0x53), ILI9881C_COMMAND_INSTR(0x22, 0x0A), ILI9881C_COMMAND_INSTR(0x31, 0x00), /* column inversion */ - ILI9881C_COMMAND_INSTR(0x50, 0xE9), /* VREG1OUT=5.508V */ - ILI9881C_COMMAND_INSTR(0x51, 0xE4), /* VREG2OUT=-5.508V */ - ILI9881C_COMMAND_INSTR(0x53, 0x48), /* VCOM1 */ - ILI9881C_COMMAND_INSTR(0x55, 0x48), /* VCOM2 */ + ILI9881C_COMMAND_INSTR(0x40, 0x53), + ILI9881C_COMMAND_INSTR(0x50, 0xC0), /* VREG1OUT=5.508V */ + ILI9881C_COMMAND_INSTR(0x51, 0xC0), /* VREG2OUT=-5.508V */ + ILI9881C_COMMAND_INSTR(0x53, 0x47), /* VCOM1 */ + ILI9881C_COMMAND_INSTR(0x55, 0x46), /* VCOM2 */ ILI9881C_COMMAND_INSTR(0x60, 0x28), /* SDT */ ILI9881C_COMMAND_INSTR(0x2E, 0xC8), /* 1280 GATE NL SEL */ - ILI9881C_COMMAND_INSTR(0x34, 0x01), - ILI9881C_COMMAND_INSTR(0xA0, 0x00), /* VP255 */ - ILI9881C_COMMAND_INSTR(0xA1, 0x13), /* VP251 */ - ILI9881C_COMMAND_INSTR(0xA2, 0x24), /* VP247 */ - ILI9881C_COMMAND_INSTR(0xA3, 0x15), /* VP243 */ - ILI9881C_COMMAND_INSTR(0xA4, 0x18), /* VP239 */ - ILI9881C_COMMAND_INSTR(0xA5, 0x2F), /* VP231 */ - ILI9881C_COMMAND_INSTR(0xA6, 0x22), /* VP219 */ - ILI9881C_COMMAND_INSTR(0xA7, 0x21), /* VP203 */ - ILI9881C_COMMAND_INSTR(0xA8, 0x89), /* VP175 */ + + ILI9881C_COMMAND_INSTR(0xA0, 0x01), /* VP255 */ + ILI9881C_COMMAND_INSTR(0xA1, 0x10), /* VP251 */ + ILI9881C_COMMAND_INSTR(0xA2, 0x1B), /* VP247 */ + ILI9881C_COMMAND_INSTR(0xA3, 0x0C), /* VP243 */ + ILI9881C_COMMAND_INSTR(0xA4, 0x14), /* VP239 */ + ILI9881C_COMMAND_INSTR(0xA5, 0x25), /* VP231 */ + ILI9881C_COMMAND_INSTR(0xA6, 0x1A), /* VP219 */ + ILI9881C_COMMAND_INSTR(0xA7, 0x1D), /* VP203 */ + ILI9881C_COMMAND_INSTR(0xA8, 0x68), /* VP175 */ ILI9881C_COMMAND_INSTR(0xA9, 0x1B), /* VP144 */ - ILI9881C_COMMAND_INSTR(0xAA, 0x27), /* VP111 */ - ILI9881C_COMMAND_INSTR(0xAB, 0x7D), /* VP80 */ + ILI9881C_COMMAND_INSTR(0xAA, 0x26), /* VP111 */ + ILI9881C_COMMAND_INSTR(0xAB, 0x5B), /* VP80 */ ILI9881C_COMMAND_INSTR(0xAC, 0x1B), /* VP52 */ - ILI9881C_COMMAND_INSTR(0xAD, 0x1B), /* VP36 */ - ILI9881C_COMMAND_INSTR(0xAE, 0x50), /* VP24 */ + ILI9881C_COMMAND_INSTR(0xAD, 0x17), /* VP36 */ + ILI9881C_COMMAND_INSTR(0xAE, 0x4F), /* VP24 */ ILI9881C_COMMAND_INSTR(0xAF, 0x24), /* VP16 */ ILI9881C_COMMAND_INSTR(0xB0, 0x2A), /* VP12 */ - ILI9881C_COMMAND_INSTR(0xB1, 0x51), /* VP8 */ - ILI9881C_COMMAND_INSTR(0xB2, 0x5A), /* VP4 */ - ILI9881C_COMMAND_INSTR(0xB3, 0x1B), /* VP0 */ - ILI9881C_COMMAND_INSTR(0xC0, 0x00), /* VN255 GAMMA N */ - ILI9881C_COMMAND_INSTR(0xC1, 0x16), /* VN251 */ - ILI9881C_COMMAND_INSTR(0xC2, 0x24), /* VN247 */ - ILI9881C_COMMAND_INSTR(0xC3, 0x13), /* VN243 */ - ILI9881C_COMMAND_INSTR(0xC4, 0x18), /* VN239 */ - ILI9881C_COMMAND_INSTR(0xC5, 0x2A), /* VN231 */ - ILI9881C_COMMAND_INSTR(0xC6, 0x20), /* VN219 */ - ILI9881C_COMMAND_INSTR(0xC7, 0x22), /* VN203 */ - ILI9881C_COMMAND_INSTR(0xC8, 0x80), /* VN175 */ - ILI9881C_COMMAND_INSTR(0xC9, 0x1C), /* VN144 */ - ILI9881C_COMMAND_INSTR(0xCA, 0x28), /* VN111 */ - ILI9881C_COMMAND_INSTR(0xCB, 0x71), /* VN80 */ - ILI9881C_COMMAND_INSTR(0xCC, 0x1D), /* VN52 */ + ILI9881C_COMMAND_INSTR(0xB1, 0x4E), /* VP8 */ + ILI9881C_COMMAND_INSTR(0xB2, 0x5F), /* VP4 */ + ILI9881C_COMMAND_INSTR(0xB3, 0x39), /* VP0 */ + + ILI9881C_COMMAND_INSTR(0xC0, 0x0F), /* VN255 GAMMA N */ + ILI9881C_COMMAND_INSTR(0xC1, 0x1B), /* VN251 */ + ILI9881C_COMMAND_INSTR(0xC2, 0x27), /* VN247 */ + ILI9881C_COMMAND_INSTR(0xC3, 0x16), /* VN243 */ + ILI9881C_COMMAND_INSTR(0xC4, 0x14), /* VN239 */ + ILI9881C_COMMAND_INSTR(0xC5, 0x28), /* VN231 */ + ILI9881C_COMMAND_INSTR(0xC6, 0x1D), /* VN219 */ + ILI9881C_COMMAND_INSTR(0xC7, 0x21), /* VN203 */ + ILI9881C_COMMAND_INSTR(0xC8, 0x6C), /* VN175 */ + ILI9881C_COMMAND_INSTR(0xC9, 0x1B), /* VN144 */ + ILI9881C_COMMAND_INSTR(0xCA, 0x26), /* VN111 */ + ILI9881C_COMMAND_INSTR(0xCB, 0x5B), /* VN80 */ + ILI9881C_COMMAND_INSTR(0xCC, 0x1B), /* VN52 */ ILI9881C_COMMAND_INSTR(0xCD, 0x1B), /* VN36 */ - ILI9881C_COMMAND_INSTR(0xCE, 0x51), /* VN24 */ + ILI9881C_COMMAND_INSTR(0xCE, 0x4F), /* VN24 */ ILI9881C_COMMAND_INSTR(0xCF, 0x24), /* VN16 */ ILI9881C_COMMAND_INSTR(0xD0, 0x2A), /* VN12 */ - ILI9881C_COMMAND_INSTR(0xD1, 0x4C), /* VN8 */ - ILI9881C_COMMAND_INSTR(0xD2, 0x5A), /* VN4 */ - ILI9881C_COMMAND_INSTR(0xD3, 0x32), /* VN0 */ + ILI9881C_COMMAND_INSTR(0xD1, 0x4E), /* VN8 */ + ILI9881C_COMMAND_INSTR(0xD2, 0x5F), /* VN4 */ + ILI9881C_COMMAND_INSTR(0xD3, 0x39), /* VN0 */ ILI9881C_SWITCH_PAGE_INSTR(2), ILI9881C_COMMAND_INSTR(0x04, 0x17), ILI9881C_COMMAND_INSTR(0x05, 0x12),