]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/panel: Update Boe-tv110c9m and Inx-hj110iz initial code
authoryangcong <yangcong5@huaqin.corp-partner.google.com>
Wed, 1 Dec 2021 02:32:30 +0000 (10:32 +0800)
committerDouglas Anderson <dianders@chromium.org>
Tue, 7 Dec 2021 16:14:26 +0000 (08:14 -0800)
At present, we have enough panel to confirm the effect,
update the initial code to achieve the best effect.
Such as gamma, Gop timing. They are all minor modifications
and doesn't affect the lighting of the panel.

a)Boe-tv110c9m panel Optimized touch horizontal grain.
b)Inx-hj110iz panel Optimized GOP timing and gamma.

Signed-off-by: yangcong <yangcong5@huaqin.corp-partner.google.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20211201023230.344976-1-yangcong5@huaqin.corp-partner.google.com
drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c

index 529561b4fbbcd26f55dbd63e64c153b06660020d..5fcbde789ddbea1886b77bafe3c1712f1f944b97 100644 (file)
@@ -84,8 +84,8 @@ static const struct panel_init_cmd boe_tv110c9m_init_cmd[] = {
        _INIT_DCS_CMD(0x0D, 0x63),
        _INIT_DCS_CMD(0x0E, 0x91),
        _INIT_DCS_CMD(0x0F, 0x73),
-       _INIT_DCS_CMD(0x95, 0xEB),
-       _INIT_DCS_CMD(0x96, 0xEB),
+       _INIT_DCS_CMD(0x95, 0xE6),
+       _INIT_DCS_CMD(0x96, 0xF0),
        _INIT_DCS_CMD(0x30, 0x11),
        _INIT_DCS_CMD(0x6D, 0x66),
        _INIT_DCS_CMD(0x75, 0xA2),
@@ -111,18 +111,18 @@ static const struct panel_init_cmd boe_tv110c9m_init_cmd[] = {
        _INIT_DCS_CMD(0xB0, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x45, 0x00, 0x65, 0x00, 0x81, 0x00, 0x99, 0x00, 0xAE, 0x00, 0xC1),
        _INIT_DCS_CMD(0xB1, 0x00, 0xD2, 0x01, 0x0B, 0x01, 0x34, 0x01, 0x76, 0x01, 0xA3, 0x01, 0xEF, 0x02, 0x27, 0x02, 0x29),
        _INIT_DCS_CMD(0xB2, 0x02, 0x5F, 0x02, 0x9E, 0x02, 0xC9, 0x03, 0x00, 0x03, 0x26, 0x03, 0x53, 0x03, 0x63, 0x03, 0x73),
-       _INIT_DCS_CMD(0xB3, 0x03, 0x86, 0x03, 0x9A, 0x03, 0xAF, 0x03, 0xDF, 0x03, 0xF5, 0x03, 0xF7),
 
+       _INIT_DCS_CMD(0xB3, 0x03, 0x86, 0x03, 0x9A, 0x03, 0xA7, 0x03, 0xCF, 0x03, 0xDE, 0x03, 0xE0),
        _INIT_DCS_CMD(0xB4, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x45, 0x00, 0x65, 0x00, 0x81, 0x00, 0x99, 0x00, 0xAE, 0x00, 0xC1),
        _INIT_DCS_CMD(0xB5, 0x00, 0xD2, 0x01, 0x0B, 0x01, 0x34, 0x01, 0x76, 0x01, 0xA3, 0x01, 0xEF, 0x02, 0x27, 0x02, 0x29),
        _INIT_DCS_CMD(0xB6, 0x02, 0x5F, 0x02, 0x9E, 0x02, 0xC9, 0x03, 0x00, 0x03, 0x26, 0x03, 0x53, 0x03, 0x63, 0x03, 0x73),
-       _INIT_DCS_CMD(0xB7, 0x03, 0x86, 0x03, 0x9A, 0x03, 0xAF, 0x03, 0xDF, 0x03, 0xF5, 0x03, 0xF7),
+       _INIT_DCS_CMD(0xB7, 0x03, 0x86, 0x03, 0x9A, 0x03, 0xA7, 0x03, 0xCF, 0x03, 0xDE, 0x03, 0xE0),
 
        _INIT_DCS_CMD(0xB8, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x45, 0x00, 0x65, 0x00, 0x81, 0x00, 0x99, 0x00, 0xAE, 0x00, 0xC1),
        _INIT_DCS_CMD(0xB9, 0x00, 0xD2, 0x01, 0x0B, 0x01, 0x34, 0x01, 0x76, 0x01, 0xA3, 0x01, 0xEF, 0x02, 0x27, 0x02, 0x29),
        _INIT_DCS_CMD(0xBA, 0x02, 0x5F, 0x02, 0x9E, 0x02, 0xC9, 0x03, 0x00, 0x03, 0x26, 0x03, 0x53, 0x03, 0x63, 0x03, 0x73),
-       _INIT_DCS_CMD(0xBB, 0x03, 0x86, 0x03, 0x9A, 0x03, 0xAF, 0x03, 0xDF, 0x03, 0xF5, 0x03, 0xF7),
 
+       _INIT_DCS_CMD(0xBB, 0x03, 0x86, 0x03, 0x9A, 0x03, 0xA7, 0x03, 0xCF, 0x03, 0xDE, 0x03, 0xE0),
        _INIT_DCS_CMD(0xFF, 0x24),
        _INIT_DCS_CMD(0xFB, 0x01),
 
@@ -225,6 +225,7 @@ static const struct panel_init_cmd boe_tv110c9m_init_cmd[] = {
        _INIT_DCS_CMD(0x7F, 0x3C),
        _INIT_DCS_CMD(0x82, 0x04),
        _INIT_DCS_CMD(0x97, 0xC0),
+
        _INIT_DCS_CMD(0xB6, 0x05, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00),
        _INIT_DCS_CMD(0x91, 0x44),
        _INIT_DCS_CMD(0x92, 0xA9),
@@ -332,12 +333,39 @@ static const struct panel_init_cmd boe_tv110c9m_init_cmd[] = {
        _INIT_DCS_CMD(0x34, 0x78),
        _INIT_DCS_CMD(0x35, 0x16),
        _INIT_DCS_CMD(0xC8, 0x04),
-       _INIT_DCS_CMD(0xC9, 0x80),
+       _INIT_DCS_CMD(0xC9, 0x9E),
        _INIT_DCS_CMD(0xCA, 0x4E),
        _INIT_DCS_CMD(0xCB, 0x00),
-       _INIT_DCS_CMD(0xA9, 0x4C),
-       _INIT_DCS_CMD(0xAA, 0x47),
 
+       _INIT_DCS_CMD(0xA9, 0x49),
+       _INIT_DCS_CMD(0xAA, 0x4B),
+       _INIT_DCS_CMD(0xAB, 0x48),
+       _INIT_DCS_CMD(0xAC, 0x43),
+       _INIT_DCS_CMD(0xAD, 0x40),
+       _INIT_DCS_CMD(0xAE, 0x50),
+       _INIT_DCS_CMD(0xAF, 0x44),
+       _INIT_DCS_CMD(0xB0, 0x54),
+       _INIT_DCS_CMD(0xB1, 0x4E),
+       _INIT_DCS_CMD(0xB2, 0x4D),
+       _INIT_DCS_CMD(0xB3, 0x4C),
+       _INIT_DCS_CMD(0xB4, 0x41),
+       _INIT_DCS_CMD(0xB5, 0x47),
+       _INIT_DCS_CMD(0xB6, 0x53),
+       _INIT_DCS_CMD(0xB7, 0x3E),
+       _INIT_DCS_CMD(0xB8, 0x51),
+       _INIT_DCS_CMD(0xB9, 0x3C),
+       _INIT_DCS_CMD(0xBA, 0x3B),
+       _INIT_DCS_CMD(0xBB, 0x46),
+       _INIT_DCS_CMD(0xBC, 0x45),
+       _INIT_DCS_CMD(0xBD, 0x55),
+       _INIT_DCS_CMD(0xBE, 0x3D),
+       _INIT_DCS_CMD(0xBF, 0x3F),
+       _INIT_DCS_CMD(0xC0, 0x52),
+       _INIT_DCS_CMD(0xC1, 0x4A),
+       _INIT_DCS_CMD(0xC2, 0x39),
+       _INIT_DCS_CMD(0xC3, 0x4F),
+       _INIT_DCS_CMD(0xC4, 0x3A),
+       _INIT_DCS_CMD(0xC5, 0x42),
        _INIT_DCS_CMD(0xFF, 0x27),
        _INIT_DCS_CMD(0xFB, 0x01),
 
@@ -419,7 +447,7 @@ static const struct panel_init_cmd boe_tv110c9m_init_cmd[] = {
        {},
 };
 
-static const struct panel_init_cmd inx_init_cmd[] = {
+static const struct panel_init_cmd inx_hj110iz_init_cmd[] = {
        _INIT_DCS_CMD(0xFF, 0x20),
        _INIT_DCS_CMD(0xFB, 0x01),
        _INIT_DCS_CMD(0x05, 0xD1),
@@ -428,10 +456,10 @@ static const struct panel_init_cmd inx_init_cmd[] = {
        _INIT_DCS_CMD(0x08, 0x4B),
        _INIT_DCS_CMD(0x0E, 0x91),
        _INIT_DCS_CMD(0x0F, 0x69),
-       _INIT_DCS_CMD(0x95, 0xFF),
-       _INIT_DCS_CMD(0x96, 0xFF),
-       _INIT_DCS_CMD(0x9D, 0x0A),
-       _INIT_DCS_CMD(0x9E, 0x0A),
+       _INIT_DCS_CMD(0x95, 0xF5),
+       _INIT_DCS_CMD(0x96, 0xF5),
+       _INIT_DCS_CMD(0x9D, 0x00),
+       _INIT_DCS_CMD(0x9E, 0x00),
        _INIT_DCS_CMD(0x69, 0x98),
        _INIT_DCS_CMD(0x75, 0xA2),
        _INIT_DCS_CMD(0x77, 0xB3),
@@ -493,17 +521,17 @@ static const struct panel_init_cmd inx_init_cmd[] = {
        _INIT_DCS_CMD(0x2A, 0x03),
        _INIT_DCS_CMD(0x2B, 0x03),
 
-       _INIT_DCS_CMD(0x2F, 0x06),
+       _INIT_DCS_CMD(0x2F, 0x05),
        _INIT_DCS_CMD(0x30, 0x32),
        _INIT_DCS_CMD(0x31, 0x43),
-       _INIT_DCS_CMD(0x33, 0x06),
+       _INIT_DCS_CMD(0x33, 0x05),
        _INIT_DCS_CMD(0x34, 0x32),
        _INIT_DCS_CMD(0x35, 0x43),
        _INIT_DCS_CMD(0x37, 0x44),
        _INIT_DCS_CMD(0x38, 0x40),
        _INIT_DCS_CMD(0x39, 0x00),
-       _INIT_DCS_CMD(0x3A, 0x01),
-       _INIT_DCS_CMD(0x3B, 0x48),
+       _INIT_DCS_CMD(0x3A, 0x18),
+       _INIT_DCS_CMD(0x3B, 0x00),
        _INIT_DCS_CMD(0x3D, 0x93),
        _INIT_DCS_CMD(0xAB, 0x44),
        _INIT_DCS_CMD(0xAC, 0x40),
@@ -520,8 +548,8 @@ static const struct panel_init_cmd inx_init_cmd[] = {
        _INIT_DCS_CMD(0x56, 0x08),
        _INIT_DCS_CMD(0x58, 0x21),
        _INIT_DCS_CMD(0x59, 0x40),
-       _INIT_DCS_CMD(0x5A, 0x09),
-       _INIT_DCS_CMD(0x5B, 0x48),
+       _INIT_DCS_CMD(0x5A, 0x00),
+       _INIT_DCS_CMD(0x5B, 0x2C),
        _INIT_DCS_CMD(0x5E, 0x00, 0x10),
        _INIT_DCS_CMD(0x5F, 0x00),
 
@@ -558,33 +586,36 @@ static const struct panel_init_cmd inx_init_cmd[] = {
        _INIT_DCS_CMD(0xEF, 0x01),
        _INIT_DCS_CMD(0xF0, 0x7A),
 
+       _INIT_DCS_CMD(0xB6, 0x05, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00),
        _INIT_DCS_CMD(0xFF, 0x25),
        _INIT_DCS_CMD(0xFB, 0x01),
 
        _INIT_DCS_CMD(0x05, 0x00),
 
+       _INIT_DCS_CMD(0x13, 0x02),
+       _INIT_DCS_CMD(0x14, 0xDF),
        _INIT_DCS_CMD(0xF1, 0x10),
        _INIT_DCS_CMD(0x1E, 0x00),
-       _INIT_DCS_CMD(0x1F, 0x09),
-       _INIT_DCS_CMD(0x20, 0x46),
+       _INIT_DCS_CMD(0x1F, 0x00),
+       _INIT_DCS_CMD(0x20, 0x2C),
        _INIT_DCS_CMD(0x25, 0x00),
-       _INIT_DCS_CMD(0x26, 0x09),
-       _INIT_DCS_CMD(0x27, 0x46),
+       _INIT_DCS_CMD(0x26, 0x00),
+       _INIT_DCS_CMD(0x27, 0x2C),
        _INIT_DCS_CMD(0x3F, 0x80),
        _INIT_DCS_CMD(0x40, 0x00),
        _INIT_DCS_CMD(0x43, 0x00),
 
-       _INIT_DCS_CMD(0x44, 0x09),
-       _INIT_DCS_CMD(0x45, 0x46),
+       _INIT_DCS_CMD(0x44, 0x18),
+       _INIT_DCS_CMD(0x45, 0x00),
 
-       _INIT_DCS_CMD(0x48, 0x09),
-       _INIT_DCS_CMD(0x49, 0x46),
+       _INIT_DCS_CMD(0x48, 0x00),
+       _INIT_DCS_CMD(0x49, 0x2C),
        _INIT_DCS_CMD(0x5B, 0x80),
        _INIT_DCS_CMD(0x5C, 0x00),
-       _INIT_DCS_CMD(0x5D, 0x01),
-       _INIT_DCS_CMD(0x5E, 0x46),
-       _INIT_DCS_CMD(0x61, 0x01),
-       _INIT_DCS_CMD(0x62, 0x46),
+       _INIT_DCS_CMD(0x5D, 0x00),
+       _INIT_DCS_CMD(0x5E, 0x00),
+       _INIT_DCS_CMD(0x61, 0x00),
+       _INIT_DCS_CMD(0x62, 0x2C),
        _INIT_DCS_CMD(0x68, 0x10),
        _INIT_DCS_CMD(0xFF, 0x26),
        _INIT_DCS_CMD(0xFB, 0x01),
@@ -700,16 +731,22 @@ static const struct panel_init_cmd inx_init_cmd[] = {
        _INIT_DCS_CMD(0xA3, 0x30),
        _INIT_DCS_CMD(0xA4, 0xC0),
        _INIT_DCS_CMD(0xE8, 0x00),
+       _INIT_DCS_CMD(0x97, 0x3C),
+       _INIT_DCS_CMD(0x98, 0x02),
+       _INIT_DCS_CMD(0x99, 0x95),
+       _INIT_DCS_CMD(0x9A, 0x06),
+       _INIT_DCS_CMD(0x9B, 0x00),
+       _INIT_DCS_CMD(0x9C, 0x0B),
+       _INIT_DCS_CMD(0x9D, 0x0A),
+       _INIT_DCS_CMD(0x9E, 0x90),
        _INIT_DCS_CMD(0xFF, 0xF0),
        _INIT_DCS_CMD(0xFB, 0x01),
        _INIT_DCS_CMD(0x3A, 0x08),
        _INIT_DCS_CMD(0xFF, 0xD0),
        _INIT_DCS_CMD(0xFB, 0x01),
        _INIT_DCS_CMD(0x00, 0x33),
-       _INIT_DCS_CMD(0x02, 0x77),
        _INIT_DCS_CMD(0x08, 0x01),
        _INIT_DCS_CMD(0x09, 0xBF),
-       _INIT_DCS_CMD(0x28, 0x30),
        _INIT_DCS_CMD(0x2F, 0x33),
        _INIT_DCS_CMD(0xFF, 0x23),
        _INIT_DCS_CMD(0xFB, 0x01),
@@ -718,6 +755,9 @@ static const struct panel_init_cmd inx_init_cmd[] = {
        _INIT_DCS_CMD(0xFF, 0x20),
        _INIT_DCS_CMD(0xFB, 0x01),
        _INIT_DCS_CMD(0x30, 0x00),
+       _INIT_DCS_CMD(0xFF, 0x24),
+       _INIT_DCS_CMD(0x5C, 0x88),
+       _INIT_DCS_CMD(0x5D, 0x08),
        _INIT_DCS_CMD(0xFF, 0x10),
        _INIT_DCS_CMD(0xB9, 0x01),
        _INIT_DCS_CMD(0xFF, 0x20),
@@ -1312,7 +1352,7 @@ static const struct panel_desc inx_hj110iz_desc = {
                        | MIPI_DSI_MODE_VIDEO_HSE
                        | MIPI_DSI_CLOCK_NON_CONTINUOUS
                        | MIPI_DSI_MODE_VIDEO_BURST,
-       .init_cmds = inx_init_cmd,
+       .init_cmds = inx_hj110iz_init_cmd,
 };
 
 static const struct drm_display_mode boe_tv101wum_nl6_default_mode = {