dev: gcdb: display: Optimize hx8399c panel initialization code
When do panel suspend/resume stress test, panel will
flicker for about 1~2 minutes occasionally. Modified
some initialization parameters for the panel.
Change-Id: I88d345afd68ae9dda44426ea1846fc3455d7863a
diff --git a/dev/gcdb/display/include/panel_hx8399c_fhd_pluse_video.h b/dev/gcdb/display/include/panel_hx8399c_fhd_pluse_video.h
index 9331755..2915fe2 100644
--- a/dev/gcdb/display/include/panel_hx8399c_fhd_pluse_video.h
+++ b/dev/gcdb/display/include/panel_hx8399c_fhd_pluse_video.h
@@ -47,7 +47,7 @@
/* Panel resolution */
/*---------------------------------------------------------------------------*/
static struct panel_resolution hx8399c_fhd_pluse_video_panel_res = {
- 1080, 2160, 24, 24, 16, 0, 36, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 1080, 2160, 42, 42, 10, 0, 10, 15, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
/*---------------------------------------------------------------------------*/
@@ -71,11 +71,10 @@
};
static char hx8399c_fhd_pluse_video_on_cmd2[] = {
- 0x10, 0x00, 0x39, 0xC0,
- 0xB1, 0x02, 0x04, 0x74,
- 0x94, 0x01, 0x32, 0x33,
- 0x11, 0x11, 0xE6, 0x5D,
- 0x56, 0x73, 0x02, 0x02,
+ 0x0C, 0x00, 0x39, 0xC0,
+ 0xB1, 0x02, 0x04, 0x72,
+ 0x92, 0x01, 0x32, 0xAA,
+ 0x11, 0x11, 0x52, 0x57,
};
static char hx8399c_fhd_pluse_video_on_cmd3[] = {
@@ -89,23 +88,23 @@
static char hx8399c_fhd_pluse_video_on_cmd4[] = {
0x2D, 0x00, 0x39, 0xC0,
0xB4, 0x00, 0xFF, 0x59,
- 0x59, 0x0C, 0xAC, 0x00,
- 0x00, 0x0C, 0x00, 0x07,
- 0x0A, 0x00, 0x28, 0x07,
- 0x08, 0x0C, 0x21, 0x03,
- 0x00, 0x00, 0x00, 0xAE,
- 0x87, 0x59, 0x59, 0x0C,
- 0xAC, 0x00, 0x00, 0x0C,
- 0x00, 0x07, 0x0A, 0x00,
- 0x28, 0x07, 0x08, 0x0C,
- 0x01, 0x00, 0x00, 0xAE,
+ 0x59, 0x01, 0xAB, 0x00,
+ 0x00, 0x09, 0x00, 0x03,
+ 0x05, 0x00, 0x28, 0x03,
+ 0x0B, 0x0D, 0x21, 0x03,
+ 0x02, 0x00, 0x0C, 0xA3,
+ 0x80, 0x59, 0x59, 0x02,
+ 0xAB, 0x00, 0x00, 0x09,
+ 0x00, 0x03, 0x05, 0x00,
+ 0x28, 0x03, 0x0B, 0x0D,
+ 0x02, 0x00, 0x0C, 0xA3,
0x01, 0xFF, 0xFF, 0xFF,
};
static char hx8399c_fhd_pluse_video_on_cmd5[] = {
0x22, 0x00, 0x39, 0xC0,
- 0xD3, 0x00, 0x00, 0x01,
- 0x01, 0x00, 0x00, 0x10,
+ 0xD3, 0x00, 0x0C, 0x03,
+ 0x03, 0x00, 0x00, 0x10,
0x10, 0x00, 0x00, 0x03,
0x00, 0x03, 0x00, 0x08,
0x78, 0x08, 0x78, 0x00,
@@ -162,9 +161,9 @@
static char hx8399c_fhd_pluse_video_on_cmd11[] = {
0x11, 0x00, 0x39, 0xC0,
- 0xD8, 0x82, 0xEA, 0xAA,
- 0xAA, 0x82, 0xEA, 0xAA,
- 0xAA, 0x82, 0xEA, 0xAA,
+ 0xD8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x82, 0xEA, 0xAA,
0xAA, 0x82, 0xEA, 0xAA,
0xAA, 0xFF, 0xFF, 0xFF,
};
@@ -188,20 +187,20 @@
static char hx8399c_fhd_pluse_video_on_cmd15[] = {
0x37, 0x00, 0x39, 0xC0,
- 0xE0, 0x08, 0x2A, 0x39,
- 0x35, 0x74, 0x7C, 0x87,
- 0x7F, 0x84, 0x8A, 0x8E,
- 0x91, 0x93, 0x96, 0x9B,
- 0x9C, 0x9E, 0xA5, 0xA6,
- 0xAE, 0xA1, 0xAF, 0xB2,
- 0x5C, 0x58, 0x63, 0x74,
- 0x08, 0x2A, 0x39, 0x35,
- 0x74, 0x7C, 0x87, 0x7F,
- 0x84, 0x8A, 0x8E, 0x91,
- 0x93, 0x96, 0x9B, 0x9C,
- 0x9E, 0xA5, 0xA6, 0xAE,
- 0xA1, 0xAF, 0xB2, 0x5C,
- 0x58, 0x63, 0x74, 0xFF,
+ 0xE0, 0x01, 0x21, 0x31,
+ 0x2D, 0x66, 0x6F, 0x7B,
+ 0x75, 0x7A, 0x81, 0x86,
+ 0x89, 0x8C, 0x90, 0x95,
+ 0x97, 0x9A, 0xA1, 0xA2,
+ 0xAA, 0x9E, 0xAD, 0xB0,
+ 0x5B, 0x57, 0x63, 0x7A,
+ 0x01, 0x21, 0x31, 0x2D,
+ 0x66, 0x6F, 0x7B, 0x75,
+ 0x7A, 0x81, 0x86, 0x89,
+ 0x9C, 0x90, 0x95, 0x97,
+ 0x9A, 0xA1, 0xA2, 0xAA,
+ 0x9E, 0xAD, 0xB0, 0x5B,
+ 0x57, 0x63, 0x7A, 0xFF,
};
static char hx8399c_fhd_pluse_video_on_cmd16[] = {
@@ -215,28 +214,17 @@
};
static char hx8399c_fhd_pluse_video_on_cmd18[] = {
- 0x06, 0x00, 0x39, 0xC0,
- 0xC7, 0x00, 0x08, 0x00,
- 0x01, 0x08, 0xFF, 0x00,
-};
-
-static char hx8399c_fhd_pluse_video_on_cmd19[] = {
- 0x03, 0x00, 0x39, 0xC0,
- 0xC0, 0x25, 0x5A, 0xFF,
-};
-
-static char hx8399c_fhd_pluse_video_on_cmd20[] = {
0x11, 0x00, 0x05, 0x80,
};
-static char hx8399c_fhd_pluse_video_on_cmd21[] = {
+static char hx8399c_fhd_pluse_video_on_cmd19[] = {
0x29, 0x00, 0x05, 0x80,
};
static struct mipi_dsi_cmd hx8399c_fhd_pluse_video_on_command[] = {
{0x08, hx8399c_fhd_pluse_video_on_cmd0, 0x00},
{0x08, hx8399c_fhd_pluse_video_on_cmd1, 0x00},
- {0x14, hx8399c_fhd_pluse_video_on_cmd2, 0x00},
+ {0x10, hx8399c_fhd_pluse_video_on_cmd2, 0x00},
{0x14, hx8399c_fhd_pluse_video_on_cmd3, 0x00},
{0x34, hx8399c_fhd_pluse_video_on_cmd4, 0x00},
{0x28, hx8399c_fhd_pluse_video_on_cmd5, 0x05},
@@ -252,13 +240,11 @@
{0x3C, hx8399c_fhd_pluse_video_on_cmd15, 0x05},
{0x08, hx8399c_fhd_pluse_video_on_cmd16, 0x00},
{0x08, hx8399c_fhd_pluse_video_on_cmd17, 0x00},
- {0x0C, hx8399c_fhd_pluse_video_on_cmd18, 0x00},
- {0x08, hx8399c_fhd_pluse_video_on_cmd19, 0x00},
- {0x04, hx8399c_fhd_pluse_video_on_cmd20, 0x78},
- {0x04, hx8399c_fhd_pluse_video_on_cmd21, 0x14}
+ {0x04, hx8399c_fhd_pluse_video_on_cmd18, 0x78},
+ {0x04, hx8399c_fhd_pluse_video_on_cmd19, 0x14}
};
-#define HX8399C_FHD_PLUSE_VIDEO_ON_COMMAND 22
+#define HX8399C_FHD_PLUSE_VIDEO_ON_COMMAND 20
static char hx8399c_fhd_pluse_videooff_cmd0[] = {
@@ -271,7 +257,7 @@
static struct mipi_dsi_cmd hx8399c_fhd_pluse_video_off_command[] = {
{0x4, hx8399c_fhd_pluse_videooff_cmd0, 0x32},
- {0x4, hx8399c_fhd_pluse_videooff_cmd1, 0x78}
+ {0x4, hx8399c_fhd_pluse_videooff_cmd1, 0x96}
};
#define HX8399C_FHD_PLUSE_VIDEO_OFF_COMMAND 2