diff options
author | Itsuki Yamashita <yamashitai@casio.co.jp> | 2015-12-24 19:57:23 +0900 |
---|---|---|
committer | Itsuki Yamashita <yamashitai@casio.co.jp> | 2016-01-26 19:54:29 +0900 |
commit | b314317400d691e12fb1177e4a1cbafbebea1d7c (patch) | |
tree | cbfec320161b6d9c62aba157a51f918f7907fa72 | |
parent | 66b1c408a54b38fd82df58e632f524475a61d71e (diff) | |
download | koi-uboot-b314317400d691e12fb1177e4a1cbafbebea1d7c.tar.gz |
mipi: fix sharp power on sequence
BUG=26192606
Change-Id: Ie1c9ec7db4fdf75f83c0493c07cdedcc645fd3dc
Signed-off-by: Itsuki Yamashita <yamashitai@casio.co.jp>
-rw-r--r-- | drivers/video/sharp_mipi_lcd.c | 139 | ||||
-rw-r--r-- | drivers/video/sharp_mipi_lcd_commands.h | 396 |
2 files changed, 295 insertions, 240 deletions
diff --git a/drivers/video/sharp_mipi_lcd.c b/drivers/video/sharp_mipi_lcd.c index 48983292d..0120ecdfd 100644 --- a/drivers/video/sharp_mipi_lcd.c +++ b/drivers/video/sharp_mipi_lcd.c @@ -8,80 +8,135 @@ #include "sharp_mipi_lcd.h" #include "sharp_mipi_lcd_commands.h" -static void sharp_power_sequence_on(struct mipi_dsim_device *dsim) +static void sharp_mipi_select_page(struct mipi_dsim_device *dsim, uint8_t page) { struct mipi_dsim_master_ops *ops = dsim->master_ops; - int i; - - unsigned char PWRON_CMD_01[2] = {0xFF, 0x24 }; - // SHARP_PWRON_CMDS1 (defined in the header file) - // SHARP_PWRON_CMDS2 (defined in the header file) - // SHARP_PWRON_CMDS3 (defined in the header file) - unsigned char PWRON_CMD_02[2] = {0x42, 0x21 }; - unsigned char PWRON_CMD_03[2] = {0xFF, 0x10 }; - unsigned char PWRON_CMD_04[2] = {0xB3, 0x00 }; - unsigned char PWRON_CMD_05[2] = {0xBB, 0x10 }; - unsigned char PWRON_CMD_06[2] = {0x3A, 0x07 }; // PIXEL FORMAT - unsigned char PWRON_CMD_07[6] = {0x3B, 0x00, 0x08, 0x08, 0x20, 0x20 }; - unsigned char PWRON_CMD_08[2] = {0x35, 0x00 }; // TEAR ON - unsigned char PWRON_CMD_09[2] = {0x11, 0x00 }; // EXIT SLEEP MODE - // WRITE PIXEL DATA (2C, 3C) - ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE_PARAM, - PWRON_CMD_01[0], PWRON_CMD_01[1]); - udelay(100); + ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE_PARAM, 0xFF, page); + udelay(300); +} + +static int sharp_get_display_id1(struct mipi_dsim_device *dsim) +{ + struct mipi_dsim_master_ops *ops = dsim->master_ops; + char read_data; - for (i = 0; i < ARRAY_SIZE(SHARP_PWRON_CMDS1); i++) { + ops->cmd_read(dsim, MIPI_DSI_DCS_READ, 0xA1, 0x01, &read_data); + + return read_data; +} + +static int sharp_get_display_id2(struct mipi_dsim_device *dsim) +{ + struct mipi_dsim_master_ops *ops = dsim->master_ops; + char read_data; + + ops->cmd_read(dsim, MIPI_DSI_DCS_READ, 0xC5, 0x01, &read_data); + + return read_data; +} + +static void sharp_init_commands(struct mipi_dsim_device *dsim, int id1) +{ + struct mipi_dsim_master_ops *ops = dsim->master_ops; + int i, id2; + + sharp_mipi_select_page(dsim, 0x24); + id2 = sharp_get_display_id2(dsim); + for (i = 0; i < ARRAY_SIZE(SHARP_INIT_CMDS1); i++) { ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE_PARAM, - SHARP_PWRON_CMDS1[i][0], SHARP_PWRON_CMDS1[i][1]); + SHARP_INIT_CMDS1[i][0], SHARP_INIT_CMDS1[i][1]); } - udelay(100); - for (i = 0; i < ARRAY_SIZE(SHARP_PWRON_CMDS2); i++) { + sharp_mipi_select_page(dsim, 0x20); + if (id1 == 0x01 || id2 == 0xA1) { + ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE_PARAM, 0xFB, 0x01); + } + for (i = 0; i < ARRAY_SIZE(SHARP_INIT_CMDS2); i++) { ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE_PARAM, - SHARP_PWRON_CMDS2[i][0], SHARP_PWRON_CMDS2[i][1]); + SHARP_INIT_CMDS2[i][0], SHARP_INIT_CMDS2[i][1]); } - udelay(100); - for (i = 0; i < ARRAY_SIZE(SHARP_PWRON_CMDS3); i++) { + sharp_mipi_select_page(dsim, 0x21); + if (id1 == 0x01 || id2 == 0xA1) { + ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE_PARAM, + 0xFB, 0x01); + } + for (i = 0; i < ARRAY_SIZE(SHARP_INIT_CMDS3); i++) { ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE_PARAM, - SHARP_PWRON_CMDS3[i][0], SHARP_PWRON_CMDS3[i][1]); + SHARP_INIT_CMDS3[i][0], SHARP_INIT_CMDS3[i][1]); } - udelay(100); + sharp_mipi_select_page(dsim, 0xE0); ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE_PARAM, - PWRON_CMD_02[0], PWRON_CMD_02[1]); + 0x42, 0x21); +} + +static void sharp_power_on_sequence(struct mipi_dsim_device *dsim) +{ + struct mipi_dsim_master_ops *ops = dsim->master_ops; + unsigned char PWRON_CMD_01[2] = {0xFB, 0x01 }; + unsigned char PWRON_CMD_02[2] = {0xB3, 0x00 }; + unsigned char PWRON_CMD_03[2] = {0xBB, 0x10 }; + unsigned char PWRON_CMD_04[2] = {0x3A, 0x06 }; /* PIXEL FORMAT */ + unsigned char PWRON_CMD_05[6] = {0x3B, 0x00, 0x08, 0x08, 0x20, 0x20 }; + unsigned char PWRON_CMD_06[2] = {0x35, 0x00 }; /* TEAR ON */ + unsigned char PWRON_CMD_07[2] = {0x11, 0x00 }; /* EXIT SLEEP MODE */ + ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE_PARAM, - PWRON_CMD_03[0], PWRON_CMD_03[1]); - udelay(100); + PWRON_CMD_01[0], PWRON_CMD_01[1]); + ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE_PARAM, - PWRON_CMD_04[0], PWRON_CMD_04[1]); + PWRON_CMD_02[0], PWRON_CMD_02[1]); + ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE_PARAM, - PWRON_CMD_05[0], PWRON_CMD_05[1]); + PWRON_CMD_03[0], PWRON_CMD_03[1]); + ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE_PARAM, - PWRON_CMD_06[0], PWRON_CMD_06[1]); - ops->cmd_write(dsim, MIPI_DSI_DCS_LONG_WRITE, - (unsigned int)PWRON_CMD_07, ARRAY_SIZE(PWRON_CMD_07)); + PWRON_CMD_04[0], PWRON_CMD_04[1]); + ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE_PARAM, - PWRON_CMD_08[0], PWRON_CMD_08[1]); + (unsigned int)PWRON_CMD_05, ARRAY_SIZE(PWRON_CMD_05)); - ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE, - PWRON_CMD_09[0], PWRON_CMD_09[1]); + ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE_PARAM, + PWRON_CMD_06[0], PWRON_CMD_06[1]); + + ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE, + PWRON_CMD_07[0], PWRON_CMD_07[1]); mdelay(130); } +static void init_lcd(struct mipi_dsim_device *dsim) +{ + int ret; + + sharp_mipi_select_page(dsim, 0x10); + ret = sharp_get_display_id1(dsim); + /* if device is older than PVT */ + if (ret != 0x02) { + sharp_init_commands(dsim, ret); + sharp_mipi_select_page(dsim, 0x10); + } +} + void sharp_mipi_power_sequence_off(struct mipi_dsim_device *dsim) { struct mipi_dsim_master_ops *ops = dsim->master_ops; + exynos_mipi_lp_enable(dsim); ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE, 0x28, 0x00); ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE, 0x10, 0x00); mdelay(110); + exynos_mipi_lp_disable(dsim); } static int sharp_mipi_lcd_panel_set(struct mipi_dsim_device *dsim) { - sharp_power_sequence_on(dsim); + exynos_mipi_lp_enable(dsim); + init_lcd(dsim); + sharp_power_on_sequence(dsim); + exynos_mipi_lp_disable(dsim); + return 0; } @@ -89,8 +144,8 @@ static void sharp_mipi_lcd_display_enable(struct mipi_dsim_device *dsim) { struct mipi_dsim_master_ops *ops = dsim->master_ops; - ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE, - 0x29, 0x00); + ops->cmd_write(dsim, MIPI_DSI_DCS_SHORT_WRITE, 0x29, 0x00); + mdelay(50); } static struct mipi_dsim_lcd_driver sharp_mipi_lcd_dsim_ddi_driver = { diff --git a/drivers/video/sharp_mipi_lcd_commands.h b/drivers/video/sharp_mipi_lcd_commands.h index 704f5843d..6a2dcaeab 100644 --- a/drivers/video/sharp_mipi_lcd_commands.h +++ b/drivers/video/sharp_mipi_lcd_commands.h @@ -1,12 +1,12 @@ -/* Do not include this file except shrp_mipi_lcd.c */ +/* Do not include this file except sharp_mipi_lcd.c */ #ifndef _SHARP_MIPI_LCD_COMMANDS_H #define _SHARP_MIPI_LCD_COMMANDS_H -const unsigned char SHARP_PWRON_CMDS1[][2] = { - {0XD2, 0X0E}, - {0XD3, 0X0E}, - {0XD4, 0X0E}, +const unsigned char SHARP_INIT_CMDS1[][2] = { + {0XD2, 0X21}, + {0XD3, 0X21}, + {0XD4, 0X21}, {0XD5, 0X02}, {0XD8, 0X82}, {0X92, 0X0A}, @@ -72,7 +72,7 @@ const unsigned char SHARP_PWRON_CMDS1[][2] = { {0X46, 0X04}, {0X47, 0X00}, {0X48, 0X59}, - {0X49, 0X18}, + {0X49, 0X11}, {0X4A, 0X0C}, {0X4B, 0XF6}, {0X4C, 0X00}, @@ -94,7 +94,8 @@ const unsigned char SHARP_PWRON_CMDS1[][2] = { {0X8A, 0X82}, {0X8D, 0X02}, {0X8E, 0X10}, - {0X97, 0X80}, + {0X97, 0X00}, + {0X98, 0X81}, {0X9A, 0X60}, {0X9B, 0X1E}, {0X9C, 0X3E}, @@ -119,403 +120,402 @@ const unsigned char SHARP_PWRON_CMDS1[][2] = { {0XBE, 0X13}, {0XC0, 0X07}, {0XC1, 0X17}, + {0XC5, 0XA1}, {0XCD, 0X08}, {0XCE, 0X08}, {0XCF, 0X08}, {0XD0, 0X08}, {0XDB, 0X03}, - {0XE5, 0X02}, - {0XFF, 0X20}}; + {0XE5, 0X02}}; -const unsigned char SHARP_PWRON_CMDS2[][2] = { +const unsigned char SHARP_INIT_CMDS2[][2] = { {0X07, 0X44}, {0X02, 0X33}, {0X04, 0X40}, {0X05, 0X40}, {0X16, 0X15}, + {0X32, 0X40}, {0X53, 0XFA}, {0X54, 0X00}, - {0X55, 0XE7}, + {0X55, 0XD0}, {0X56, 0X00}, {0X57, 0X01}, {0X58, 0X01}, {0X59, 0XFA}, {0X5A, 0X00}, - {0X5B, 0XE7}, + {0X5B, 0XD0}, {0X5C, 0X00}, {0X61, 0X01}, {0X62, 0X01}, - {0X6D, 0X22}, - {0X0E, 0X0A}, + {0X6D, 0X02}, + {0X0E, 0X00}, {0X0F, 0X13}, {0X10, 0X0A}, {0X11, 0X13}, - {0X14, 0X45}, + {0X14, 0X01}, {0X0B, 0XA8}, {0X0C, 0X99}, {0X75, 0x00}, - {0X76, 0x16}, + {0X76, 0x87}, {0X77, 0x01}, - {0X78, 0x22}, + {0X78, 0x08}, {0X79, 0x01}, - {0X7A, 0x5E}, + {0X7A, 0x55}, {0X7B, 0x01}, - {0X7C, 0x63}, + {0X7C, 0x6B}, {0X7D, 0x01}, - {0X7E, 0x85}, + {0X7E, 0x7D}, {0X7F, 0x01}, - {0X80, 0x89}, + {0X80, 0x87}, {0X81, 0x01}, - {0X82, 0x9F}, + {0X82, 0x8F}, {0X83, 0x01}, - {0X84, 0xA3}, + {0X84, 0x9A}, {0X85, 0x01}, - {0X86, 0xB8}, + {0X86, 0xA9}, {0X87, 0x01}, - {0X88, 0xCC}, + {0X88, 0xCF}, {0X89, 0x01}, - {0X8A, 0xDD}, + {0X8A, 0xE2}, {0X8B, 0x01}, - {0X8C, 0xF1}, + {0X8C, 0xFB}, {0X8D, 0x02}, - {0X8E, 0x03}, + {0X8E, 0x0C}, {0X8F, 0x02}, - {0X90, 0x2A}, + {0X90, 0x35}, {0X91, 0x02}, - {0X92, 0x50}, + {0X92, 0x5F}, {0X93, 0x02}, - {0X94, 0x51}, + {0X94, 0x60}, {0X95, 0x02}, - {0X96, 0x7F}, + {0X96, 0x8C}, {0X97, 0x02}, - {0X98, 0xBC}, + {0X98, 0xC6}, {0X99, 0x02}, - {0X9A, 0xE1}, + {0X9A, 0xF1}, {0X9B, 0x03}, - {0X9C, 0x13}, + {0X9C, 0x23}, {0X9D, 0x03}, - {0X9E, 0x2B}, + {0X9E, 0x46}, {0X9F, 0x03}, - {0XA0, 0x56}, + {0XA0, 0x73}, {0XA2, 0x03}, - {0XA3, 0x65}, + {0XA3, 0x81}, {0XA4, 0x03}, - {0XA5, 0x75}, + {0XA5, 0x92}, {0XA6, 0x03}, - {0XA7, 0x85}, + {0XA7, 0xA1}, {0XA9, 0x03}, - {0XAA, 0x95}, + {0XAA, 0xB1}, {0XAB, 0x03}, - {0XAC, 0xB9}, + {0XAC, 0xC5}, {0XAD, 0x03}, - {0XAE, 0xBE}, + {0XAE, 0xDC}, {0XAF, 0x03}, - {0XB0, 0xE5}, + {0XB0, 0xF3}, {0XB1, 0x03}, {0XB2, 0xFF}, {0XB3, 0x00}, - {0XB4, 0x01}, - {0XB5, 0x01}, - {0XB6, 0x02}, + {0XB4, 0x69}, + {0XB5, 0x00}, + {0XB6, 0xF6}, {0XB7, 0x01}, - {0XB8, 0x43}, + {0XB8, 0x4C}, {0XB9, 0x01}, - {0XBA, 0x49}, + {0XBA, 0x65}, {0XBB, 0x01}, - {0XBC, 0x72}, + {0XBC, 0x78}, {0XBD, 0x01}, - {0XBE, 0x76}, + {0XBE, 0x84}, {0XBF, 0x01}, {0XC0, 0x8B}, {0XC1, 0x01}, - {0XC2, 0x8E}, + {0XC2, 0x97}, {0XC3, 0x01}, - {0XC4, 0xA2}, + {0XC4, 0xA4}, {0XC5, 0x01}, - {0XC6, 0xB4}, + {0XC6, 0xC6}, {0XC7, 0x01}, - {0XC8, 0xC4}, + {0XC8, 0xD9}, {0XC9, 0x01}, - {0XCA, 0xDA}, - {0XCB, 0x01}, - {0XCC, 0xED}, + {0XCA, 0xF0}, + {0XCB, 0x02}, + {0XCC, 0x03}, {0XCD, 0x02}, - {0XCE, 0x16}, + {0XCE, 0x2D}, {0XCF, 0x02}, - {0XD0, 0x3F}, + {0XD0, 0x58}, {0XD1, 0x02}, - {0XD2, 0x40}, + {0XD2, 0x59}, {0XD3, 0x02}, - {0XD4, 0x70}, + {0XD4, 0x86}, {0XD5, 0x02}, - {0XD6, 0xB1}, + {0XD6, 0xC3}, {0XD7, 0x02}, - {0XD8, 0xD7}, + {0XD8, 0xEE}, {0XD9, 0x03}, - {0XDA, 0x0A}, + {0XDA, 0x23}, {0XDB, 0x03}, - {0XDC, 0x22}, + {0XDC, 0x45}, {0XDD, 0x03}, - {0XDE, 0x4D}, + {0XDE, 0x72}, {0XDF, 0x03}, - {0XE0, 0x5C}, + {0XE0, 0x7F}, {0XE1, 0x03}, - {0XE2, 0x6C}, + {0XE2, 0x91}, {0XE3, 0x03}, - {0XE4, 0x7C}, + {0XE4, 0xA0}, {0XE5, 0x03}, - {0XE6, 0x8D}, + {0XE6, 0xAF}, {0XE7, 0x03}, - {0XE8, 0xB0}, + {0XE8, 0xC4}, {0XE9, 0x03}, - {0XEA, 0xB5}, + {0XEA, 0xDB}, {0XEB, 0x03}, - {0XEC, 0xE1}, + {0XEC, 0xF2}, {0XED, 0x03}, - {0XEE, 0xFE}, + {0XEE, 0xFF}, {0XEF, 0x00}, - {0XF0, 0x16}, + {0XF0, 0x87}, {0XF1, 0x01}, - {0XF2, 0x22}, + {0XF2, 0x08}, {0XF3, 0x01}, - {0XF4, 0x5E}, + {0XF4, 0x55}, {0XF5, 0x01}, - {0XF6, 0x63}, + {0XF6, 0x6B}, {0XF7, 0x01}, - {0XF8, 0x85}, + {0XF8, 0x7D}, {0XF9, 0x01}, - {0XFA, 0x89}, - {0XFF, 0X21}}; + {0XFA, 0x87}}; -const unsigned char SHARP_PWRON_CMDS3[][2] = { +const unsigned char SHARP_INIT_CMDS3[][2] = { {0X00, 0x01}, - {0X01, 0x9F}, + {0X01, 0x8F}, {0X02, 0x01}, - {0X03, 0xA3}, + {0X03, 0x9A}, {0X04, 0x01}, - {0X05, 0xB8}, + {0X05, 0xA9}, {0X06, 0x01}, - {0X07, 0xCC}, + {0X07, 0xCF}, {0X08, 0x01}, - {0X09, 0xDD}, + {0X09, 0xE2}, {0X0A, 0x01}, - {0X0B, 0xF1}, + {0X0B, 0xFB}, {0X0C, 0x02}, - {0X0D, 0x03}, + {0X0D, 0x0C}, {0X0E, 0x02}, - {0X0F, 0x2A}, + {0X0F, 0x35}, {0X10, 0x02}, - {0X11, 0x50}, + {0X11, 0x5F}, {0X12, 0x02}, - {0X13, 0x51}, + {0X13, 0x60}, {0X14, 0x02}, - {0X15, 0x7F}, + {0X15, 0x8C}, {0X16, 0x02}, - {0X17, 0xBC}, + {0X17, 0xC6}, {0X18, 0x02}, - {0X19, 0xE1}, + {0X19, 0xF1}, {0X1A, 0x03}, - {0X1B, 0x13}, + {0X1B, 0x23}, {0X1C, 0x03}, - {0X1D, 0x2B}, + {0X1D, 0x46}, {0X1E, 0x03}, - {0X1F, 0x56}, + {0X1F, 0x73}, {0X20, 0x03}, - {0X21, 0x65}, + {0X21, 0x81}, {0X22, 0x03}, - {0X23, 0x75}, + {0X23, 0x92}, {0X24, 0x03}, - {0X25, 0x85}, + {0X25, 0xA1}, {0X26, 0x03}, - {0X27, 0x95}, + {0X27, 0xB1}, {0X28, 0x03}, - {0X29, 0xB9}, + {0X29, 0xC5}, {0X2A, 0x03}, - {0X2B, 0xBE}, + {0X2B, 0xDC}, {0X2D, 0x03}, - {0X2F, 0xE5}, + {0X2F, 0xF3}, {0X30, 0x03}, {0X31, 0xFF}, {0X32, 0x00}, - {0X33, 0x01}, - {0X34, 0x01}, - {0X35, 0x02}, + {0X33, 0x69}, + {0X34, 0x00}, + {0X35, 0xF6}, {0X36, 0x01}, - {0X37, 0x43}, + {0X37, 0x4C}, {0X38, 0x01}, - {0X39, 0x49}, + {0X39, 0x65}, {0X3A, 0x01}, - {0X3B, 0x72}, + {0X3B, 0x78}, {0X3D, 0x01}, - {0X3F, 0x76}, + {0X3F, 0x84}, {0X40, 0x01}, {0X41, 0x8B}, {0X42, 0x01}, - {0X43, 0x8E}, + {0X43, 0x97}, {0X44, 0x01}, - {0X45, 0xA2}, + {0X45, 0xA4}, {0X46, 0x01}, - {0X47, 0xB4}, + {0X47, 0xC6}, {0X48, 0x01}, - {0X49, 0xC4}, + {0X49, 0xD9}, {0X4A, 0x01}, - {0X4B, 0xDA}, - {0X4C, 0x01}, - {0X4D, 0xED}, + {0X4B, 0xF0}, + {0X4C, 0x02}, + {0X4D, 0x03}, {0X4E, 0x02}, - {0X4F, 0x16}, + {0X4F, 0x2D}, {0X50, 0x02}, - {0X51, 0x3F}, + {0X51, 0x58}, {0X52, 0x02}, - {0X53, 0x40}, + {0X53, 0x59}, {0X54, 0x02}, - {0X55, 0x70}, + {0X55, 0x86}, {0X56, 0x02}, - {0X58, 0xB1}, + {0X58, 0xC3}, {0X59, 0x02}, - {0X5A, 0xD7}, + {0X5A, 0xEE}, {0X5B, 0x03}, - {0X5C, 0x0A}, + {0X5C, 0x23}, {0X5D, 0x03}, - {0X5E, 0x22}, + {0X5E, 0x45}, {0X5F, 0x03}, - {0X60, 0x4D}, + {0X60, 0x72}, {0X61, 0x03}, - {0X62, 0x5C}, + {0X62, 0x7F}, {0X63, 0x03}, - {0X64, 0x6C}, + {0X64, 0x91}, {0X65, 0x03}, - {0X66, 0x7C}, + {0X66, 0xA0}, {0X67, 0x03}, - {0X68, 0x8D}, + {0X68, 0xAF}, {0X69, 0x03}, - {0X6A, 0xB0}, + {0X6A, 0xC4}, {0X6B, 0x03}, - {0X6C, 0xB5}, + {0X6C, 0xDB}, {0X6D, 0x03}, - {0X6E, 0xE1}, + {0X6E, 0xF2}, {0X6F, 0x03}, - {0X70, 0xFE}, + {0X70, 0xFF}, {0X71, 0x00}, - {0X72, 0x16}, + {0X72, 0x87}, {0X73, 0x01}, - {0X74, 0x22}, + {0X74, 0x08}, {0X75, 0x01}, - {0X76, 0x5E}, + {0X76, 0x55}, {0X77, 0x01}, - {0X78, 0x63}, + {0X78, 0x6B}, {0X79, 0x01}, - {0X7A, 0x85}, + {0X7A, 0x7D}, {0X7B, 0x01}, - {0X7C, 0x89}, + {0X7C, 0x87}, {0X7D, 0x01}, - {0X7E, 0x9F}, + {0X7E, 0x8F}, {0X7F, 0x01}, - {0X80, 0xA3}, + {0X80, 0x9A}, {0X81, 0x01}, - {0X82, 0xB8}, + {0X82, 0xA9}, {0X83, 0x01}, - {0X84, 0xCC}, + {0X84, 0xCF}, {0X85, 0x01}, - {0X86, 0xDD}, + {0X86, 0xE2}, {0X87, 0x01}, - {0X88, 0xF1}, + {0X88, 0xFB}, {0X89, 0x02}, - {0X8A, 0x03}, + {0X8A, 0x0C}, {0X8B, 0x02}, - {0X8C, 0x2A}, + {0X8C, 0x35}, {0X8D, 0x02}, - {0X8E, 0x50}, + {0X8E, 0x5F}, {0X8F, 0x02}, - {0X90, 0x51}, + {0X90, 0x60}, {0X91, 0x02}, - {0X92, 0x7F}, + {0X92, 0x8C}, {0X93, 0x02}, - {0X94, 0xBC}, + {0X94, 0xC6}, {0X95, 0x02}, - {0X96, 0xE1}, + {0X96, 0xF1}, {0X97, 0x03}, - {0X98, 0x13}, + {0X98, 0x23}, {0X99, 0x03}, - {0X9A, 0x2B}, + {0X9A, 0x46}, {0X9B, 0x03}, - {0X9C, 0x56}, + {0X9C, 0x73}, {0X9D, 0x03}, - {0X9E, 0x65}, + {0X9E, 0x81}, {0X9F, 0x03}, - {0XA0, 0x75}, + {0XA0, 0x92}, {0XA2, 0x03}, - {0XA3, 0x85}, + {0XA3, 0xA1}, {0XA4, 0x03}, - {0XA5, 0x95}, + {0XA5, 0xB1}, {0XA6, 0x03}, - {0XA7, 0xB9}, + {0XA7, 0xC5}, {0XA9, 0x03}, - {0XAA, 0xBE}, + {0XAA, 0xDC}, {0XAB, 0x03}, - {0XAC, 0xE5}, + {0XAC, 0xF3}, {0XAD, 0x03}, {0XAE, 0xFF}, {0XAF, 0x00}, - {0XB0, 0x01}, - {0XB1, 0x01}, - {0XB2, 0x02}, + {0XB0, 0x69}, + {0XB1, 0x00}, + {0XB2, 0xF6}, {0XB3, 0x01}, - {0XB4, 0x43}, + {0XB4, 0x4C}, {0XB5, 0x01}, - {0XB6, 0x49}, + {0XB6, 0x65}, {0XB7, 0x01}, - {0XB8, 0x72}, + {0XB8, 0x78}, {0XB9, 0x01}, - {0XBA, 0x76}, + {0XBA, 0x84}, {0XBB, 0x01}, {0XBC, 0x8B}, {0XBD, 0x01}, - {0XBE, 0x8E}, + {0XBE, 0x97}, {0XBF, 0x01}, - {0XC0, 0xA2}, + {0XC0, 0xA4}, {0XC1, 0x01}, - {0XC2, 0xB4}, + {0XC2, 0xC6}, {0XC3, 0x01}, - {0XC4, 0xC4}, + {0XC4, 0xD9}, {0XC5, 0x01}, - {0XC6, 0xDA}, - {0XC7, 0x01}, - {0XC8, 0xED}, + {0XC6, 0xF0}, + {0XC7, 0x02}, + {0XC8, 0x03}, {0XC9, 0x02}, - {0XCA, 0x16}, + {0XCA, 0x2D}, {0XCB, 0x02}, - {0XCC, 0x3F}, + {0XCC, 0x58}, {0XCD, 0x02}, - {0XCE, 0x40}, + {0XCE, 0x59}, {0XCF, 0x02}, - {0XD0, 0x70}, + {0XD0, 0x86}, {0XD1, 0x02}, - {0XD2, 0xB1}, + {0XD2, 0xC3}, {0XD3, 0x02}, - {0XD4, 0xD7}, + {0XD4, 0xEE}, {0XD5, 0x03}, - {0XD6, 0x0A}, + {0XD6, 0x23}, {0XD7, 0x03}, - {0XD8, 0x22}, + {0XD8, 0x45}, {0XD9, 0x03}, - {0XDA, 0x4D}, + {0XDA, 0x72}, {0XDB, 0x03}, - {0XDC, 0x5C}, + {0XDC, 0x7F}, {0XDD, 0x03}, - {0XDE, 0x6C}, + {0XDE, 0x91}, {0XDF, 0x03}, - {0XE0, 0x7C}, + {0XE0, 0xA0}, {0XE1, 0x03}, - {0XE2, 0x8D}, + {0XE2, 0xAF}, {0XE3, 0x03}, - {0XE4, 0xB0}, + {0XE4, 0xC4}, {0XE5, 0x03}, - {0XE6, 0xB5}, + {0XE6, 0xDB}, {0XE7, 0x03}, - {0XE8, 0xE1}, + {0XE8, 0xF2}, {0XE9, 0x03}, - {0XEA, 0xFE}, - {0XFF, 0XE0}}; + {0xEA, 0xFF}}; #endif /* _SHARP_MIPI_LCD_COMMANDS_H */ |