summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorItsuki Yamashita <yamashitai@casio.co.jp>2015-12-24 19:57:23 +0900
committerItsuki Yamashita <yamashitai@casio.co.jp>2016-01-26 19:54:29 +0900
commitb314317400d691e12fb1177e4a1cbafbebea1d7c (patch)
treecbfec320161b6d9c62aba157a51f918f7907fa72
parent66b1c408a54b38fd82df58e632f524475a61d71e (diff)
downloadkoi-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.c139
-rw-r--r--drivers/video/sharp_mipi_lcd_commands.h396
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 */