From 3a3804f458d1fb22aece109754653d6efeaf34bd Mon Sep 17 00:00:00 2001 From: Zhongtian Wu Date: Thu, 9 May 2024 14:29:30 +0800 Subject: drivers/mipi: Update init code for IVO_T109NW41 panel 1. VCOM OTP burning, initial code Settings can be deleted, B6h 2. Fine-tune VGH, VGL, VGHO, VGLO voltage, B1h PA6 3. Boot CLK performance change: add E9h, C7h, E9h 4. Extend TFT life: D5h PA25~PA32,D3h PA1~PA5; 5. Gamma optimization: E0h 6. Improve picture quality, add EQ: D2h to CLK 7. Press mura to improve and modify B1h PA4 and PA5 BUG=b:320892589 TEST=boot ciri with IVO_T109NW41 panel and see firmware screen Change-Id: I13421660faba9ef8e33a51c5ab28aeb1388aff40 Signed-off-by: Zhongtian Wu Reviewed-on: https://review.coreboot.org/c/coreboot/+/82240 Reviewed-by: Eric Lai Reviewed-by: Paul Menzel Reviewed-by: Yidi Lin Tested-by: build bot (Jenkins) Reviewed-by: Yu-Ping Wu Reviewed-by: cong yang --- src/drivers/mipi/panel-IVO_T109NW41.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/drivers/mipi/panel-IVO_T109NW41.c b/src/drivers/mipi/panel-IVO_T109NW41.c index 21e1029e1c..97a69d3ea3 100644 --- a/src/drivers/mipi/panel-IVO_T109NW41.c +++ b/src/drivers/mipi/panel-IVO_T109NW41.c @@ -21,14 +21,13 @@ struct panel_serializable_data IVO_T109NW41 = { .init = { PANEL_DELAY(60), PANEL_DCS(0xB9, 0x83, 0x10, 0x21, 0x55, 0x00), - PANEL_DCS(0xB1, 0x2C, 0xED, 0xED, 0x27, 0xE7, 0x42, 0xF5, 0x39, + PANEL_DCS(0xB1, 0x2C, 0xED, 0xED, 0x0F, 0xCF, 0x42, 0xF5, 0x39, 0x36, 0x36, 0x36, 0x36, 0x32, 0x8B, 0x11, 0x65, 0x00, 0x88, 0xFA, 0xFF, 0xFF, 0x8F, 0xFF, 0x08, 0xD6, 0x33), PANEL_DCS(0xB2, 0x00, 0x47, 0xB0, 0x80, 0x00, 0x12, 0x71, 0x3C, 0xA3, 0x22, 0x20, 0x00, 0x00, 0x88, 0x01), PANEL_DCS(0xB4, 0x35, 0x35, 0x43, 0x43, 0x35, 0x35, 0x30, 0x7A, 0x30, 0x7A, 0x01, 0x9D), - PANEL_DCS(0xB6, 0x34, 0x34, 0x03), PANEL_DCS(0xE9, 0xCD), PANEL_DCS(0xBA, 0x84), PANEL_DCS(0xE9, 0x3F), @@ -40,6 +39,9 @@ struct panel_serializable_data IVO_T109NW41 = { PANEL_DCS(0xE9, 0xCC), PANEL_DCS(0xC7, 0x80), PANEL_DCS(0xE9, 0x3F), + PANEL_DCS(0xE9, 0xD3), + PANEL_DCS(0xC7, 0x22), + PANEL_DCS(0xE9, 0x3F), PANEL_DCS(0xE9, 0xC6), PANEL_DCS(0xC8, 0x97), PANEL_DCS(0xE9, 0x3F), @@ -56,19 +58,25 @@ struct panel_serializable_data IVO_T109NW41 = { 0x00, 0x02, 0x00, 0x02, 0x00, 0x00), PANEL_DCS(0xD5, 0x25, 0x24, 0x25, 0x24, 0x18, 0x18, 0x18, 0x18, 0x07, 0x06, 0x07, 0x06, 0x05, 0x04, 0x05, 0x04, 0x03, 0x02, - 0x03, 0x02, 0x01, 0x00, 0x01, 0x00, 0xA8, 0xA8, 0xA8, 0xA8, - 0x29, 0x29, 0x29, 0x29, 0x21, 0x20, 0x21, 0x20, 0x18, 0x18, + 0x03, 0x02, 0x01, 0x00, 0x01, 0x00, 0x1E, 0x1E, 0x1E, 0x1E, + 0x1F, 0x1F, 0x1F, 0x1F, 0x21, 0x20, 0x21, 0x20, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18), PANEL_DCS(0xD8, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), + PANEL_DCS(0xE0, 0x04, 0X04, 0X06, 0X0A, 0X0A, 0X05, 0X12, 0X14, + 0X17, 0X13, 0X2C, 0X33, 0X39, 0X4B, 0X4C, 0X56, 0X61, 0X78, + 0X7A, 0X41, 0X50, 0X68, 0X73, 0X04, 0X04, 0X06, 0X0A, 0X0A, + 0X05, 0X12, 0X14, 0X17, 0X13, 0X2C, 0X33, 0X39, 0X4B, 0X4C, + 0X56, 0X61, 0X78, 0X7A, 0X41, 0X50, 0X68, 0X73), PANEL_DCS(0xE7, 0x07, 0x10, 0x10, 0x1A, 0x26, 0x9E, 0x00, 0x4F, 0xA0, 0x14, 0x14, 0x00, 0x00, 0x00, 0x00, 0x12, 0x0A, 0x02, 0x02, 0x00, 0x33, 0x02, 0x04, 0x18, 0x01), PANEL_DCS(0xBD, 0x01), PANEL_DCS(0xB1, 0x01, 0x7F, 0x11, 0xFD), PANEL_DCS(0xCB, 0x86), + PANEL_DCS(0xD3, 0x00, 0X00, 0X04, 0X00, 0X00), PANEL_DCS(0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xA0, 0x00, 0x00, 0x00, 0x00, @@ -94,6 +102,7 @@ struct panel_serializable_data IVO_T109NW41 = { PANEL_DCS(0xE9, 0x3F), PANEL_DCS(0xE1, 0x00), PANEL_DCS(0xBD, 0x00), + PANEL_DCS(0xD2, 0xFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF), PANEL_DCS(0xE9, 0xC4), PANEL_DCS(0xBA, 0x96), PANEL_DCS(0xE9, 0x3F), -- cgit v1.2.3