2023-06-15 20:35:03

by Linus Walleij

[permalink] [raw]
Subject: [PATCH 1/2] drm/panel: boe-tv101wum-nl6: Drop macros and open code sequences

The boe-tv101wum-nl6 is reinventing the mechanism to send command
sequences that we usually nix during review, but I missed this one
so fixing it up myself.

Also use the explicit function calls to mipi_dsi_dcs_exit_sleep_mode()
and mipi_dsi_dcs_set_display_on() instead of reimplementing them
with homegrown sequences.

Signed-off-by: Linus Walleij <[email protected]>
---
drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c | 2408 ++++++++++++------------
1 file changed, 1193 insertions(+), 1215 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
index 783234ae0f57..d19d30e134dd 100644
--- a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
+++ b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
@@ -33,7 +33,7 @@ struct panel_desc {

unsigned long mode_flags;
enum mipi_dsi_pixel_format format;
- const struct panel_init_cmd *init_cmds;
+ int (*init)(struct mipi_dsi_device *dsi);
unsigned int lanes;
bool discharge_on_disable;
};
@@ -54,1224 +54,1200 @@ struct boe_panel {
bool prepared;
};

-enum dsi_cmd_type {
- INIT_DCS_CMD,
- DELAY_CMD,
-};
+static int boe_tv110c9m_init(struct mipi_dsi_device *dsi)
+{
+ int ret;

-struct panel_init_cmd {
- enum dsi_cmd_type type;
- size_t len;
- const char *data;
-};
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x20);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x05, 0xD9);
+ mipi_dsi_dcs_write_seq(dsi, 0x07, 0x78);
+ mipi_dsi_dcs_write_seq(dsi, 0x08, 0x5A);
+ mipi_dsi_dcs_write_seq(dsi, 0x0D, 0x63);
+ mipi_dsi_dcs_write_seq(dsi, 0x0E, 0x91);
+ mipi_dsi_dcs_write_seq(dsi, 0x0F, 0x73);
+ mipi_dsi_dcs_write_seq(dsi, 0x95, 0xE6);
+ mipi_dsi_dcs_write_seq(dsi, 0x96, 0xF0);
+ mipi_dsi_dcs_write_seq(dsi, 0x30, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x6D, 0x66);
+ mipi_dsi_dcs_write_seq(dsi, 0x75, 0xA2);
+ mipi_dsi_dcs_write_seq(dsi, 0x77, 0x3B);

-#define _INIT_DCS_CMD(...) { \
- .type = INIT_DCS_CMD, \
- .len = sizeof((char[]){__VA_ARGS__}), \
- .data = (char[]){__VA_ARGS__} }
-
-#define _INIT_DELAY_CMD(...) { \
- .type = DELAY_CMD,\
- .len = sizeof((char[]){__VA_ARGS__}), \
- .data = (char[]){__VA_ARGS__} }
-
-static const struct panel_init_cmd boe_tv110c9m_init_cmd[] = {
- _INIT_DCS_CMD(0xFF, 0x20),
- _INIT_DCS_CMD(0xFB, 0x01),
- _INIT_DCS_CMD(0x05, 0xD9),
- _INIT_DCS_CMD(0x07, 0x78),
- _INIT_DCS_CMD(0x08, 0x5A),
- _INIT_DCS_CMD(0x0D, 0x63),
- _INIT_DCS_CMD(0x0E, 0x91),
- _INIT_DCS_CMD(0x0F, 0x73),
- _INIT_DCS_CMD(0x95, 0xE6),
- _INIT_DCS_CMD(0x96, 0xF0),
- _INIT_DCS_CMD(0x30, 0x00),
- _INIT_DCS_CMD(0x6D, 0x66),
- _INIT_DCS_CMD(0x75, 0xA2),
- _INIT_DCS_CMD(0x77, 0x3B),
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x00, 0x08, 0x00, 0x23, 0x00, 0x4D, 0x00, 0x6D, 0x00, 0x89, 0x00, 0xA1, 0x00, 0xB6, 0x00, 0xC9);
+ mipi_dsi_dcs_write_seq(dsi, 0xB1, 0x00, 0xDA, 0x01, 0x13, 0x01, 0x3C, 0x01, 0x7E, 0x01, 0xAB, 0x01, 0xF7, 0x02, 0x2F, 0x02, 0x31);
+ mipi_dsi_dcs_write_seq(dsi, 0xB2, 0x02, 0x67, 0x02, 0xA6, 0x02, 0xD1, 0x03, 0x08, 0x03, 0x2E, 0x03, 0x5B, 0x03, 0x6B, 0x03, 0x7B);
+ mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x03, 0x8E, 0x03, 0xA2, 0x03, 0xB7, 0x03, 0xE7, 0x03, 0xFD, 0x03, 0xFF);

- _INIT_DCS_CMD(0xB0, 0x00, 0x08, 0x00, 0x23, 0x00, 0x4D, 0x00, 0x6D, 0x00, 0x89, 0x00, 0xA1, 0x00, 0xB6, 0x00, 0xC9),
- _INIT_DCS_CMD(0xB1, 0x00, 0xDA, 0x01, 0x13, 0x01, 0x3C, 0x01, 0x7E, 0x01, 0xAB, 0x01, 0xF7, 0x02, 0x2F, 0x02, 0x31),
- _INIT_DCS_CMD(0xB2, 0x02, 0x67, 0x02, 0xA6, 0x02, 0xD1, 0x03, 0x08, 0x03, 0x2E, 0x03, 0x5B, 0x03, 0x6B, 0x03, 0x7B),
- _INIT_DCS_CMD(0xB3, 0x03, 0x8E, 0x03, 0xA2, 0x03, 0xB7, 0x03, 0xE7, 0x03, 0xFD, 0x03, 0xFF),
-
- _INIT_DCS_CMD(0xB4, 0x00, 0x08, 0x00, 0x23, 0x00, 0x4D, 0x00, 0x6D, 0x00, 0x89, 0x00, 0xA1, 0x00, 0xB6, 0x00, 0xC9),
- _INIT_DCS_CMD(0xB5, 0x00, 0xDA, 0x01, 0x13, 0x01, 0x3C, 0x01, 0x7E, 0x01, 0xAB, 0x01, 0xF7, 0x02, 0x2F, 0x02, 0x31),
- _INIT_DCS_CMD(0xB6, 0x02, 0x67, 0x02, 0xA6, 0x02, 0xD1, 0x03, 0x08, 0x03, 0x2E, 0x03, 0x5B, 0x03, 0x6B, 0x03, 0x7B),
- _INIT_DCS_CMD(0xB7, 0x03, 0x8E, 0x03, 0xA2, 0x03, 0xB7, 0x03, 0xE7, 0x03, 0xFD, 0x03, 0xFF),
- _INIT_DCS_CMD(0xB8, 0x00, 0x08, 0x00, 0x23, 0x00, 0x4D, 0x00, 0x6D, 0x00, 0x89, 0x00, 0xA1, 0x00, 0xB6, 0x00, 0xC9),
- _INIT_DCS_CMD(0xB9, 0x00, 0xDA, 0x01, 0x13, 0x01, 0x3C, 0x01, 0x7E, 0x01, 0xAB, 0x01, 0xF7, 0x02, 0x2F, 0x02, 0x31),
- _INIT_DCS_CMD(0xBA, 0x02, 0x67, 0x02, 0xA6, 0x02, 0xD1, 0x03, 0x08, 0x03, 0x2E, 0x03, 0x5B, 0x03, 0x6B, 0x03, 0x7B),
- _INIT_DCS_CMD(0xBB, 0x03, 0x8E, 0x03, 0xA2, 0x03, 0xB7, 0x03, 0xE7, 0x03, 0xFD, 0x03, 0xFF),
-
- _INIT_DCS_CMD(0xFF, 0x21),
- _INIT_DCS_CMD(0xFB, 0x01),
-
- _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, 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, 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, 0xE0),
- _INIT_DCS_CMD(0xFF, 0x24),
- _INIT_DCS_CMD(0xFB, 0x01),
-
- _INIT_DCS_CMD(0x00, 0x00),
- _INIT_DCS_CMD(0x01, 0x00),
-
- _INIT_DCS_CMD(0x02, 0x1C),
- _INIT_DCS_CMD(0x03, 0x1C),
-
- _INIT_DCS_CMD(0x04, 0x1D),
- _INIT_DCS_CMD(0x05, 0x1D),
-
- _INIT_DCS_CMD(0x06, 0x04),
- _INIT_DCS_CMD(0x07, 0x04),
-
- _INIT_DCS_CMD(0x08, 0x0F),
- _INIT_DCS_CMD(0x09, 0x0F),
-
- _INIT_DCS_CMD(0x0A, 0x0E),
- _INIT_DCS_CMD(0x0B, 0x0E),
-
- _INIT_DCS_CMD(0x0C, 0x0D),
- _INIT_DCS_CMD(0x0D, 0x0D),
-
- _INIT_DCS_CMD(0x0E, 0x0C),
- _INIT_DCS_CMD(0x0F, 0x0C),
-
- _INIT_DCS_CMD(0x10, 0x08),
- _INIT_DCS_CMD(0x11, 0x08),
-
- _INIT_DCS_CMD(0x12, 0x00),
- _INIT_DCS_CMD(0x13, 0x00),
- _INIT_DCS_CMD(0x14, 0x00),
- _INIT_DCS_CMD(0x15, 0x00),
-
- _INIT_DCS_CMD(0x16, 0x00),
- _INIT_DCS_CMD(0x17, 0x00),
-
- _INIT_DCS_CMD(0x18, 0x1C),
- _INIT_DCS_CMD(0x19, 0x1C),
-
- _INIT_DCS_CMD(0x1A, 0x1D),
- _INIT_DCS_CMD(0x1B, 0x1D),
-
- _INIT_DCS_CMD(0x1C, 0x04),
- _INIT_DCS_CMD(0x1D, 0x04),
-
- _INIT_DCS_CMD(0x1E, 0x0F),
- _INIT_DCS_CMD(0x1F, 0x0F),
-
- _INIT_DCS_CMD(0x20, 0x0E),
- _INIT_DCS_CMD(0x21, 0x0E),
-
- _INIT_DCS_CMD(0x22, 0x0D),
- _INIT_DCS_CMD(0x23, 0x0D),
-
- _INIT_DCS_CMD(0x24, 0x0C),
- _INIT_DCS_CMD(0x25, 0x0C),
-
- _INIT_DCS_CMD(0x26, 0x08),
- _INIT_DCS_CMD(0x27, 0x08),
-
- _INIT_DCS_CMD(0x28, 0x00),
- _INIT_DCS_CMD(0x29, 0x00),
- _INIT_DCS_CMD(0x2A, 0x00),
- _INIT_DCS_CMD(0x2B, 0x00),
-
- _INIT_DCS_CMD(0x2D, 0x20),
- _INIT_DCS_CMD(0x2F, 0x0A),
- _INIT_DCS_CMD(0x30, 0x44),
- _INIT_DCS_CMD(0x33, 0x0C),
- _INIT_DCS_CMD(0x34, 0x32),
-
- _INIT_DCS_CMD(0x37, 0x44),
- _INIT_DCS_CMD(0x38, 0x40),
- _INIT_DCS_CMD(0x39, 0x00),
- _INIT_DCS_CMD(0x3A, 0x5D),
- _INIT_DCS_CMD(0x3B, 0x60),
- _INIT_DCS_CMD(0x3D, 0x42),
- _INIT_DCS_CMD(0x3F, 0x06),
- _INIT_DCS_CMD(0x43, 0x06),
- _INIT_DCS_CMD(0x47, 0x66),
- _INIT_DCS_CMD(0x4A, 0x5D),
- _INIT_DCS_CMD(0x4B, 0x60),
- _INIT_DCS_CMD(0x4C, 0x91),
- _INIT_DCS_CMD(0x4D, 0x21),
- _INIT_DCS_CMD(0x4E, 0x43),
- _INIT_DCS_CMD(0x51, 0x12),
- _INIT_DCS_CMD(0x52, 0x34),
- _INIT_DCS_CMD(0x55, 0x82, 0x02),
- _INIT_DCS_CMD(0x56, 0x04),
- _INIT_DCS_CMD(0x58, 0x21),
- _INIT_DCS_CMD(0x59, 0x30),
- _INIT_DCS_CMD(0x5A, 0x60),
- _INIT_DCS_CMD(0x5B, 0x50),
- _INIT_DCS_CMD(0x5E, 0x00, 0x06),
- _INIT_DCS_CMD(0x5F, 0x00),
- _INIT_DCS_CMD(0x65, 0x82),
- _INIT_DCS_CMD(0x7E, 0x20),
- _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),
- _INIT_DCS_CMD(0x93, 0x1A),
- _INIT_DCS_CMD(0x94, 0x96),
- _INIT_DCS_CMD(0xD7, 0x55),
- _INIT_DCS_CMD(0xDA, 0x0A),
- _INIT_DCS_CMD(0xDE, 0x08),
- _INIT_DCS_CMD(0xDB, 0x05),
- _INIT_DCS_CMD(0xDC, 0xA9),
- _INIT_DCS_CMD(0xDD, 0x22),
-
- _INIT_DCS_CMD(0xDF, 0x05),
- _INIT_DCS_CMD(0xE0, 0xA9),
- _INIT_DCS_CMD(0xE1, 0x05),
- _INIT_DCS_CMD(0xE2, 0xA9),
- _INIT_DCS_CMD(0xE3, 0x05),
- _INIT_DCS_CMD(0xE4, 0xA9),
- _INIT_DCS_CMD(0xE5, 0x05),
- _INIT_DCS_CMD(0xE6, 0xA9),
- _INIT_DCS_CMD(0x5C, 0x00),
- _INIT_DCS_CMD(0x5D, 0x00),
- _INIT_DCS_CMD(0x8D, 0x00),
- _INIT_DCS_CMD(0x8E, 0x00),
- _INIT_DCS_CMD(0xB5, 0x90),
- _INIT_DCS_CMD(0xFF, 0x25),
- _INIT_DCS_CMD(0xFB, 0x01),
- _INIT_DCS_CMD(0x05, 0x00),
- _INIT_DCS_CMD(0x19, 0x07),
- _INIT_DCS_CMD(0x1F, 0x60),
- _INIT_DCS_CMD(0x20, 0x50),
- _INIT_DCS_CMD(0x26, 0x60),
- _INIT_DCS_CMD(0x27, 0x50),
- _INIT_DCS_CMD(0x33, 0x60),
- _INIT_DCS_CMD(0x34, 0x50),
- _INIT_DCS_CMD(0x3F, 0xE0),
- _INIT_DCS_CMD(0x40, 0x00),
- _INIT_DCS_CMD(0x44, 0x00),
- _INIT_DCS_CMD(0x45, 0x40),
- _INIT_DCS_CMD(0x48, 0x60),
- _INIT_DCS_CMD(0x49, 0x50),
- _INIT_DCS_CMD(0x5B, 0x00),
- _INIT_DCS_CMD(0x5C, 0x00),
- _INIT_DCS_CMD(0x5D, 0x00),
- _INIT_DCS_CMD(0x5E, 0xD0),
- _INIT_DCS_CMD(0x61, 0x60),
- _INIT_DCS_CMD(0x62, 0x50),
- _INIT_DCS_CMD(0xF1, 0x10),
- _INIT_DCS_CMD(0xFF, 0x2A),
- _INIT_DCS_CMD(0xFB, 0x01),
-
- _INIT_DCS_CMD(0x64, 0x16),
- _INIT_DCS_CMD(0x67, 0x16),
- _INIT_DCS_CMD(0x6A, 0x16),
-
- _INIT_DCS_CMD(0x70, 0x30),
-
- _INIT_DCS_CMD(0xA2, 0xF3),
- _INIT_DCS_CMD(0xA3, 0xFF),
- _INIT_DCS_CMD(0xA4, 0xFF),
- _INIT_DCS_CMD(0xA5, 0xFF),
-
- _INIT_DCS_CMD(0xD6, 0x08),
-
- _INIT_DCS_CMD(0xFF, 0x26),
- _INIT_DCS_CMD(0xFB, 0x01),
- _INIT_DCS_CMD(0x00, 0xA1),
-
- _INIT_DCS_CMD(0x02, 0x31),
- _INIT_DCS_CMD(0x04, 0x28),
- _INIT_DCS_CMD(0x06, 0x30),
- _INIT_DCS_CMD(0x0C, 0x16),
- _INIT_DCS_CMD(0x0D, 0x0D),
- _INIT_DCS_CMD(0x0F, 0x00),
- _INIT_DCS_CMD(0x11, 0x00),
- _INIT_DCS_CMD(0x12, 0x50),
- _INIT_DCS_CMD(0x13, 0x56),
- _INIT_DCS_CMD(0x14, 0x57),
- _INIT_DCS_CMD(0x15, 0x00),
- _INIT_DCS_CMD(0x16, 0x10),
- _INIT_DCS_CMD(0x17, 0xA0),
- _INIT_DCS_CMD(0x18, 0x86),
- _INIT_DCS_CMD(0x19, 0x0D),
- _INIT_DCS_CMD(0x1A, 0x7F),
- _INIT_DCS_CMD(0x1B, 0x0C),
- _INIT_DCS_CMD(0x1C, 0xBF),
- _INIT_DCS_CMD(0x22, 0x00),
- _INIT_DCS_CMD(0x23, 0x00),
- _INIT_DCS_CMD(0x2A, 0x0D),
- _INIT_DCS_CMD(0x2B, 0x7F),
-
- _INIT_DCS_CMD(0x1D, 0x00),
- _INIT_DCS_CMD(0x1E, 0x65),
- _INIT_DCS_CMD(0x1F, 0x65),
- _INIT_DCS_CMD(0x24, 0x00),
- _INIT_DCS_CMD(0x25, 0x65),
- _INIT_DCS_CMD(0x2F, 0x05),
- _INIT_DCS_CMD(0x30, 0x65),
- _INIT_DCS_CMD(0x31, 0x05),
- _INIT_DCS_CMD(0x32, 0x7D),
- _INIT_DCS_CMD(0x39, 0x00),
- _INIT_DCS_CMD(0x3A, 0x65),
- _INIT_DCS_CMD(0x20, 0x01),
- _INIT_DCS_CMD(0x33, 0x11),
- _INIT_DCS_CMD(0x34, 0x78),
- _INIT_DCS_CMD(0x35, 0x16),
- _INIT_DCS_CMD(0xC8, 0x04),
- _INIT_DCS_CMD(0xC9, 0x9E),
- _INIT_DCS_CMD(0xCA, 0x4E),
- _INIT_DCS_CMD(0xCB, 0x00),
-
- _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),
-
- _INIT_DCS_CMD(0x56, 0x06),
- _INIT_DCS_CMD(0x58, 0x80),
- _INIT_DCS_CMD(0x59, 0x75),
- _INIT_DCS_CMD(0x5A, 0x00),
- _INIT_DCS_CMD(0x5B, 0x02),
- _INIT_DCS_CMD(0x5C, 0x00),
- _INIT_DCS_CMD(0x5D, 0x00),
- _INIT_DCS_CMD(0x5E, 0x20),
- _INIT_DCS_CMD(0x5F, 0x10),
- _INIT_DCS_CMD(0x60, 0x00),
- _INIT_DCS_CMD(0x61, 0x2E),
- _INIT_DCS_CMD(0x62, 0x00),
- _INIT_DCS_CMD(0x63, 0x01),
- _INIT_DCS_CMD(0x64, 0x43),
- _INIT_DCS_CMD(0x65, 0x2D),
- _INIT_DCS_CMD(0x66, 0x00),
- _INIT_DCS_CMD(0x67, 0x01),
- _INIT_DCS_CMD(0x68, 0x44),
-
- _INIT_DCS_CMD(0x00, 0x00),
- _INIT_DCS_CMD(0x78, 0x00),
- _INIT_DCS_CMD(0xC3, 0x00),
-
- _INIT_DCS_CMD(0xFF, 0x2A),
- _INIT_DCS_CMD(0xFB, 0x01),
-
- _INIT_DCS_CMD(0x22, 0x2F),
- _INIT_DCS_CMD(0x23, 0x08),
-
- _INIT_DCS_CMD(0x24, 0x00),
- _INIT_DCS_CMD(0x25, 0x65),
- _INIT_DCS_CMD(0x26, 0xF8),
- _INIT_DCS_CMD(0x27, 0x00),
- _INIT_DCS_CMD(0x28, 0x1A),
- _INIT_DCS_CMD(0x29, 0x00),
- _INIT_DCS_CMD(0x2A, 0x1A),
- _INIT_DCS_CMD(0x2B, 0x00),
- _INIT_DCS_CMD(0x2D, 0x1A),
-
- _INIT_DCS_CMD(0xFF, 0x23),
- _INIT_DCS_CMD(0xFB, 0x01),
-
- _INIT_DCS_CMD(0x00, 0x80),
- _INIT_DCS_CMD(0x07, 0x00),
-
- _INIT_DCS_CMD(0xFF, 0xE0),
- _INIT_DCS_CMD(0xFB, 0x01),
- _INIT_DCS_CMD(0x14, 0x60),
- _INIT_DCS_CMD(0x16, 0xC0),
-
- _INIT_DCS_CMD(0xFF, 0xF0),
- _INIT_DCS_CMD(0xFB, 0x01),
- _INIT_DCS_CMD(0x3A, 0x08),
-
- _INIT_DCS_CMD(0xFF, 0x10),
- _INIT_DCS_CMD(0xFB, 0x01),
- _INIT_DCS_CMD(0xB9, 0x01),
- _INIT_DCS_CMD(0xFF, 0x20),
- _INIT_DCS_CMD(0xFB, 0x01),
- _INIT_DCS_CMD(0x18, 0x40),
-
- _INIT_DCS_CMD(0xFF, 0x10),
- _INIT_DCS_CMD(0xFB, 0x01),
- _INIT_DCS_CMD(0xB9, 0x02),
- _INIT_DCS_CMD(0x35, 0x00),
- _INIT_DCS_CMD(0x51, 0x00, 0xFF),
- _INIT_DCS_CMD(0x53, 0x24),
- _INIT_DCS_CMD(0x55, 0x00),
- _INIT_DCS_CMD(0xBB, 0x13),
- _INIT_DCS_CMD(0x3B, 0x03, 0x96, 0x1A, 0x04, 0x04),
- _INIT_DELAY_CMD(100),
- _INIT_DCS_CMD(0x11),
- _INIT_DELAY_CMD(200),
- _INIT_DCS_CMD(0x29),
- _INIT_DELAY_CMD(100),
- {},
-};
+ mipi_dsi_dcs_write_seq(dsi, 0xB4, 0x00, 0x08, 0x00, 0x23, 0x00, 0x4D, 0x00, 0x6D, 0x00, 0x89, 0x00, 0xA1, 0x00, 0xB6, 0x00, 0xC9);
+ mipi_dsi_dcs_write_seq(dsi, 0xB5, 0x00, 0xDA, 0x01, 0x13, 0x01, 0x3C, 0x01, 0x7E, 0x01, 0xAB, 0x01, 0xF7, 0x02, 0x2F, 0x02, 0x31);
+ mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x02, 0x67, 0x02, 0xA6, 0x02, 0xD1, 0x03, 0x08, 0x03, 0x2E, 0x03, 0x5B, 0x03, 0x6B, 0x03, 0x7B);
+ mipi_dsi_dcs_write_seq(dsi, 0xB7, 0x03, 0x8E, 0x03, 0xA2, 0x03, 0xB7, 0x03, 0xE7, 0x03, 0xFD, 0x03, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x00, 0x08, 0x00, 0x23, 0x00, 0x4D, 0x00, 0x6D, 0x00, 0x89, 0x00, 0xA1, 0x00, 0xB6, 0x00, 0xC9);
+ mipi_dsi_dcs_write_seq(dsi, 0xB9, 0x00, 0xDA, 0x01, 0x13, 0x01, 0x3C, 0x01, 0x7E, 0x01, 0xAB, 0x01, 0xF7, 0x02, 0x2F, 0x02, 0x31);
+ mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x02, 0x67, 0x02, 0xA6, 0x02, 0xD1, 0x03, 0x08, 0x03, 0x2E, 0x03, 0x5B, 0x03, 0x6B, 0x03, 0x7B);
+ mipi_dsi_dcs_write_seq(dsi, 0xBB, 0x03, 0x8E, 0x03, 0xA2, 0x03, 0xB7, 0x03, 0xE7, 0x03, 0xFD, 0x03, 0xFF);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x21);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x45, 0x00, 0x65, 0x00, 0x81, 0x00, 0x99, 0x00, 0xAE, 0x00, 0xC1);
+ mipi_dsi_dcs_write_seq(dsi, 0xB1, 0x00, 0xD2, 0x01, 0x0B, 0x01, 0x34, 0x01, 0x76, 0x01, 0xA3, 0x01, 0xEF, 0x02, 0x27, 0x02, 0x29);
+ mipi_dsi_dcs_write_seq(dsi, 0xB2, 0x02, 0x5F, 0x02, 0x9E, 0x02, 0xC9, 0x03, 0x00, 0x03, 0x26, 0x03, 0x53, 0x03, 0x63, 0x03, 0x73);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x03, 0x86, 0x03, 0x9A, 0x03, 0xAF, 0x03, 0xDF, 0x03, 0xF5, 0x03, 0xE0);
+ mipi_dsi_dcs_write_seq(dsi, 0xB4, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x45, 0x00, 0x65, 0x00, 0x81, 0x00, 0x99, 0x00, 0xAE, 0x00, 0xC1);
+ mipi_dsi_dcs_write_seq(dsi, 0xB5, 0x00, 0xD2, 0x01, 0x0B, 0x01, 0x34, 0x01, 0x76, 0x01, 0xA3, 0x01, 0xEF, 0x02, 0x27, 0x02, 0x29);
+ mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x02, 0x5F, 0x02, 0x9E, 0x02, 0xC9, 0x03, 0x00, 0x03, 0x26, 0x03, 0x53, 0x03, 0x63, 0x03, 0x73);
+ mipi_dsi_dcs_write_seq(dsi, 0xB7, 0x03, 0x86, 0x03, 0x9A, 0x03, 0xAF, 0x03, 0xDF, 0x03, 0xF5, 0x03, 0xE0);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x45, 0x00, 0x65, 0x00, 0x81, 0x00, 0x99, 0x00, 0xAE, 0x00, 0xC1);
+ mipi_dsi_dcs_write_seq(dsi, 0xB9, 0x00, 0xD2, 0x01, 0x0B, 0x01, 0x34, 0x01, 0x76, 0x01, 0xA3, 0x01, 0xEF, 0x02, 0x27, 0x02, 0x29);
+ mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x02, 0x5F, 0x02, 0x9E, 0x02, 0xC9, 0x03, 0x00, 0x03, 0x26, 0x03, 0x53, 0x03, 0x63, 0x03, 0x73);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xBB, 0x03, 0x86, 0x03, 0x9A, 0x03, 0xAF, 0x03, 0xDF, 0x03, 0xF5, 0x03, 0xE0);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x24);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x00, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x01, 0x00);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x02, 0x1C);
+ mipi_dsi_dcs_write_seq(dsi, 0x03, 0x1C);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x04, 0x1D);
+ mipi_dsi_dcs_write_seq(dsi, 0x05, 0x1D);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x06, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0x07, 0x04);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x08, 0x0F);
+ mipi_dsi_dcs_write_seq(dsi, 0x09, 0x0F);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x0A, 0x0E);
+ mipi_dsi_dcs_write_seq(dsi, 0x0B, 0x0E);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x0C, 0x0D);
+ mipi_dsi_dcs_write_seq(dsi, 0x0D, 0x0D);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x0E, 0x0C);
+ mipi_dsi_dcs_write_seq(dsi, 0x0F, 0x0C);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x10, 0x08);
+ mipi_dsi_dcs_write_seq(dsi, 0x11, 0x08);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x12, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x13, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x14, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x15, 0x00);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x16, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x17, 0x00);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x18, 0x1C);
+ mipi_dsi_dcs_write_seq(dsi, 0x19, 0x1C);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x1A, 0x1D);
+ mipi_dsi_dcs_write_seq(dsi, 0x1B, 0x1D);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x1C, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0x1D, 0x04);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x1E, 0x0F);
+ mipi_dsi_dcs_write_seq(dsi, 0x1F, 0x0F);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x20, 0x0E);
+ mipi_dsi_dcs_write_seq(dsi, 0x21, 0x0E);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x22, 0x0D);
+ mipi_dsi_dcs_write_seq(dsi, 0x23, 0x0D);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x24, 0x0C);
+ mipi_dsi_dcs_write_seq(dsi, 0x25, 0x0C);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x26, 0x08);
+ mipi_dsi_dcs_write_seq(dsi, 0x27, 0x08);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x28, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x29, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x2A, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x2B, 0x00);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x2D, 0x20);
+ mipi_dsi_dcs_write_seq(dsi, 0x2F, 0x0A);
+ mipi_dsi_dcs_write_seq(dsi, 0x30, 0x44);
+ mipi_dsi_dcs_write_seq(dsi, 0x33, 0x0C);
+ mipi_dsi_dcs_write_seq(dsi, 0x34, 0x32);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x37, 0x44);
+ mipi_dsi_dcs_write_seq(dsi, 0x38, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0x39, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x3A, 0x5D);
+ mipi_dsi_dcs_write_seq(dsi, 0x3B, 0x60);
+ mipi_dsi_dcs_write_seq(dsi, 0x3D, 0x42);
+ mipi_dsi_dcs_write_seq(dsi, 0x3F, 0x06);
+ mipi_dsi_dcs_write_seq(dsi, 0x43, 0x06);
+ mipi_dsi_dcs_write_seq(dsi, 0x47, 0x66);
+ mipi_dsi_dcs_write_seq(dsi, 0x4A, 0x5D);
+ mipi_dsi_dcs_write_seq(dsi, 0x4B, 0x60);
+ mipi_dsi_dcs_write_seq(dsi, 0x4C, 0x91);
+ mipi_dsi_dcs_write_seq(dsi, 0x4D, 0x21);
+ mipi_dsi_dcs_write_seq(dsi, 0x4E, 0x43);
+ mipi_dsi_dcs_write_seq(dsi, 0x51, 0x12);
+ mipi_dsi_dcs_write_seq(dsi, 0x52, 0x34);
+ mipi_dsi_dcs_write_seq(dsi, 0x55, 0x82, 0x02);
+ mipi_dsi_dcs_write_seq(dsi, 0x56, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0x58, 0x21);
+ mipi_dsi_dcs_write_seq(dsi, 0x59, 0x30);
+ mipi_dsi_dcs_write_seq(dsi, 0x5A, 0x60);
+ mipi_dsi_dcs_write_seq(dsi, 0x5B, 0x50);
+ mipi_dsi_dcs_write_seq(dsi, 0x5E, 0x00, 0x06);
+ mipi_dsi_dcs_write_seq(dsi, 0x5F, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x65, 0x82);
+ mipi_dsi_dcs_write_seq(dsi, 0x7E, 0x20);
+ mipi_dsi_dcs_write_seq(dsi, 0x7F, 0x3C);
+ mipi_dsi_dcs_write_seq(dsi, 0x82, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0x97, 0xC0);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x05, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x91, 0x44);
+ mipi_dsi_dcs_write_seq(dsi, 0x92, 0xA9);
+ mipi_dsi_dcs_write_seq(dsi, 0x93, 0x1A);
+ mipi_dsi_dcs_write_seq(dsi, 0x94, 0x96);
+ mipi_dsi_dcs_write_seq(dsi, 0xD7, 0x55);
+ mipi_dsi_dcs_write_seq(dsi, 0xDA, 0x0A);
+ mipi_dsi_dcs_write_seq(dsi, 0xDE, 0x08);
+ mipi_dsi_dcs_write_seq(dsi, 0xDB, 0x05);
+ mipi_dsi_dcs_write_seq(dsi, 0xDC, 0xA9);
+ mipi_dsi_dcs_write_seq(dsi, 0xDD, 0x22);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xDF, 0x05);
+ mipi_dsi_dcs_write_seq(dsi, 0xE0, 0xA9);
+ mipi_dsi_dcs_write_seq(dsi, 0xE1, 0x05);
+ mipi_dsi_dcs_write_seq(dsi, 0xE2, 0xA9);
+ mipi_dsi_dcs_write_seq(dsi, 0xE3, 0x05);
+ mipi_dsi_dcs_write_seq(dsi, 0xE4, 0xA9);
+ mipi_dsi_dcs_write_seq(dsi, 0xE5, 0x05);
+ mipi_dsi_dcs_write_seq(dsi, 0xE6, 0xA9);
+ mipi_dsi_dcs_write_seq(dsi, 0x5C, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x5D, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x8D, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x8E, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xB5, 0x90);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x25);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x05, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x19, 0x07);
+ mipi_dsi_dcs_write_seq(dsi, 0x1F, 0x60);
+ mipi_dsi_dcs_write_seq(dsi, 0x20, 0x50);
+ mipi_dsi_dcs_write_seq(dsi, 0x26, 0x60);
+ mipi_dsi_dcs_write_seq(dsi, 0x27, 0x50);
+ mipi_dsi_dcs_write_seq(dsi, 0x33, 0x60);
+ mipi_dsi_dcs_write_seq(dsi, 0x34, 0x50);
+ mipi_dsi_dcs_write_seq(dsi, 0x3F, 0xE0);
+ mipi_dsi_dcs_write_seq(dsi, 0x40, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x44, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x45, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0x48, 0x60);
+ mipi_dsi_dcs_write_seq(dsi, 0x49, 0x50);
+ mipi_dsi_dcs_write_seq(dsi, 0x5B, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x5C, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x5D, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x5E, 0xD0);
+ mipi_dsi_dcs_write_seq(dsi, 0x61, 0x60);
+ mipi_dsi_dcs_write_seq(dsi, 0x62, 0x50);
+ mipi_dsi_dcs_write_seq(dsi, 0xF1, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x2A);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x64, 0x16);
+ mipi_dsi_dcs_write_seq(dsi, 0x67, 0x16);
+ mipi_dsi_dcs_write_seq(dsi, 0x6A, 0x16);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x70, 0x30);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xA2, 0xF3);
+ mipi_dsi_dcs_write_seq(dsi, 0xA3, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0xA4, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0xA5, 0xFF);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xD6, 0x08);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x26);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x00, 0xA1);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x02, 0x31);
+ mipi_dsi_dcs_write_seq(dsi, 0x04, 0x28);
+ mipi_dsi_dcs_write_seq(dsi, 0x06, 0x30);
+ mipi_dsi_dcs_write_seq(dsi, 0x0C, 0x16);
+ mipi_dsi_dcs_write_seq(dsi, 0x0D, 0x0D);
+ mipi_dsi_dcs_write_seq(dsi, 0x0F, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x11, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x12, 0x50);
+ mipi_dsi_dcs_write_seq(dsi, 0x13, 0x56);
+ mipi_dsi_dcs_write_seq(dsi, 0x14, 0x57);
+ mipi_dsi_dcs_write_seq(dsi, 0x15, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x16, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0x17, 0xA0);
+ mipi_dsi_dcs_write_seq(dsi, 0x18, 0x86);
+ mipi_dsi_dcs_write_seq(dsi, 0x19, 0x0D);
+ mipi_dsi_dcs_write_seq(dsi, 0x1A, 0x7F);
+ mipi_dsi_dcs_write_seq(dsi, 0x1B, 0x0C);
+ mipi_dsi_dcs_write_seq(dsi, 0x1C, 0xBF);
+ mipi_dsi_dcs_write_seq(dsi, 0x22, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x23, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x2A, 0x0D);
+ mipi_dsi_dcs_write_seq(dsi, 0x2B, 0x7F);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x1D, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x1E, 0x65);
+ mipi_dsi_dcs_write_seq(dsi, 0x1F, 0x65);
+ mipi_dsi_dcs_write_seq(dsi, 0x24, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x25, 0x65);
+ mipi_dsi_dcs_write_seq(dsi, 0x2F, 0x05);
+ mipi_dsi_dcs_write_seq(dsi, 0x30, 0x65);
+ mipi_dsi_dcs_write_seq(dsi, 0x31, 0x05);
+ mipi_dsi_dcs_write_seq(dsi, 0x32, 0x7D);
+ mipi_dsi_dcs_write_seq(dsi, 0x39, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x3A, 0x65);
+ mipi_dsi_dcs_write_seq(dsi, 0x20, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x33, 0x11);
+ mipi_dsi_dcs_write_seq(dsi, 0x34, 0x78);
+ mipi_dsi_dcs_write_seq(dsi, 0x35, 0x16);
+ mipi_dsi_dcs_write_seq(dsi, 0xC8, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x9E);
+ mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x4E);
+ mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x00);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xA9, 0x49);
+ mipi_dsi_dcs_write_seq(dsi, 0xAA, 0x4B);
+ mipi_dsi_dcs_write_seq(dsi, 0xAB, 0x48);
+ mipi_dsi_dcs_write_seq(dsi, 0xAC, 0x43);
+ mipi_dsi_dcs_write_seq(dsi, 0xAD, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0xAE, 0x50);
+ mipi_dsi_dcs_write_seq(dsi, 0xAF, 0x44);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x54);
+ mipi_dsi_dcs_write_seq(dsi, 0xB1, 0x4E);
+ mipi_dsi_dcs_write_seq(dsi, 0xB2, 0x4D);
+ mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x4C);
+ mipi_dsi_dcs_write_seq(dsi, 0xB4, 0x41);
+ mipi_dsi_dcs_write_seq(dsi, 0xB5, 0x47);
+ mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x53);
+ mipi_dsi_dcs_write_seq(dsi, 0xB7, 0x3E);
+ mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x51);
+ mipi_dsi_dcs_write_seq(dsi, 0xB9, 0x3C);
+ mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x3B);
+ mipi_dsi_dcs_write_seq(dsi, 0xBB, 0x46);
+ mipi_dsi_dcs_write_seq(dsi, 0xBC, 0x45);
+ mipi_dsi_dcs_write_seq(dsi, 0xBD, 0x55);
+ mipi_dsi_dcs_write_seq(dsi, 0xBE, 0x3D);
+ mipi_dsi_dcs_write_seq(dsi, 0xBF, 0x3F);
+ mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x52);
+ mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x4A);
+ mipi_dsi_dcs_write_seq(dsi, 0xC2, 0x39);
+ mipi_dsi_dcs_write_seq(dsi, 0xC3, 0x4F);
+ mipi_dsi_dcs_write_seq(dsi, 0xC4, 0x3A);
+ mipi_dsi_dcs_write_seq(dsi, 0xC5, 0x42);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x27);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x56, 0x06);
+ mipi_dsi_dcs_write_seq(dsi, 0x58, 0x80);
+ mipi_dsi_dcs_write_seq(dsi, 0x59, 0x75);
+ mipi_dsi_dcs_write_seq(dsi, 0x5A, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x5B, 0x02);
+ mipi_dsi_dcs_write_seq(dsi, 0x5C, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x5D, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x5E, 0x20);
+ mipi_dsi_dcs_write_seq(dsi, 0x5F, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0x60, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x61, 0x2E);
+ mipi_dsi_dcs_write_seq(dsi, 0x62, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x63, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x64, 0x43);
+ mipi_dsi_dcs_write_seq(dsi, 0x65, 0x2D);
+ mipi_dsi_dcs_write_seq(dsi, 0x66, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x67, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x68, 0x44);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x00, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x78, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xC3, 0x00);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x2A);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x22, 0x2F);
+ mipi_dsi_dcs_write_seq(dsi, 0x23, 0x08);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x24, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x25, 0x65);
+ mipi_dsi_dcs_write_seq(dsi, 0x26, 0xF8);
+ mipi_dsi_dcs_write_seq(dsi, 0x27, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x28, 0x1A);
+ mipi_dsi_dcs_write_seq(dsi, 0x29, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x2A, 0x1A);
+ mipi_dsi_dcs_write_seq(dsi, 0x2B, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x2D, 0x1A);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x23);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x00, 0x80);
+ mipi_dsi_dcs_write_seq(dsi, 0x07, 0x00);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0xE0);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x14, 0x60);
+ mipi_dsi_dcs_write_seq(dsi, 0x16, 0xC0);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0xF0);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x3A, 0x08);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xB9, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x20);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x18, 0x40);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xB9, 0x02);
+ mipi_dsi_dcs_write_seq(dsi, 0x35, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x51, 0x00, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0x53, 0x24);
+ mipi_dsi_dcs_write_seq(dsi, 0x55, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xBB, 0x13);
+ mipi_dsi_dcs_write_seq(dsi, 0x3B, 0x03, 0x96, 0x1A, 0x04, 0x04);
+ msleep(100);
+ ret = mipi_dsi_dcs_exit_sleep_mode(dsi);
+ if (ret)
+ return ret;
+ msleep(200);
+ ret = mipi_dsi_dcs_set_display_on(dsi);
+ if (ret)
+ return ret;
+ msleep(100);

-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),
- _INIT_DCS_CMD(0x0D, 0x63),
- _INIT_DCS_CMD(0x07, 0x8C),
- _INIT_DCS_CMD(0x08, 0x4B),
- _INIT_DCS_CMD(0x0E, 0x91),
- _INIT_DCS_CMD(0x0F, 0x69),
- _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),
- _INIT_DCS_CMD(0xFF, 0x24),
- _INIT_DCS_CMD(0xFB, 0x01),
- _INIT_DCS_CMD(0x91, 0x44),
- _INIT_DCS_CMD(0x92, 0x7A),
- _INIT_DCS_CMD(0x93, 0x1A),
- _INIT_DCS_CMD(0x94, 0x40),
- _INIT_DCS_CMD(0x9A, 0x08),
- _INIT_DCS_CMD(0x60, 0x96),
- _INIT_DCS_CMD(0x61, 0xD0),
- _INIT_DCS_CMD(0x63, 0x70),
- _INIT_DCS_CMD(0xC2, 0xCF),
- _INIT_DCS_CMD(0x9B, 0x0F),
- _INIT_DCS_CMD(0x9A, 0x08),
- _INIT_DCS_CMD(0x00, 0x03),
- _INIT_DCS_CMD(0x01, 0x03),
- _INIT_DCS_CMD(0x02, 0x03),
- _INIT_DCS_CMD(0x03, 0x03),
- _INIT_DCS_CMD(0x04, 0x03),
- _INIT_DCS_CMD(0x05, 0x03),
- _INIT_DCS_CMD(0x06, 0x22),
- _INIT_DCS_CMD(0x07, 0x06),
- _INIT_DCS_CMD(0x08, 0x00),
- _INIT_DCS_CMD(0x09, 0x1D),
- _INIT_DCS_CMD(0x0A, 0x1C),
- _INIT_DCS_CMD(0x0B, 0x13),
- _INIT_DCS_CMD(0x0C, 0x12),
- _INIT_DCS_CMD(0x0D, 0x11),
- _INIT_DCS_CMD(0x0E, 0x10),
- _INIT_DCS_CMD(0x0F, 0x0F),
- _INIT_DCS_CMD(0x10, 0x0E),
- _INIT_DCS_CMD(0x11, 0x0D),
- _INIT_DCS_CMD(0x12, 0x0C),
- _INIT_DCS_CMD(0x13, 0x04),
- _INIT_DCS_CMD(0x14, 0x03),
- _INIT_DCS_CMD(0x15, 0x03),
- _INIT_DCS_CMD(0x16, 0x03),
- _INIT_DCS_CMD(0x17, 0x03),
- _INIT_DCS_CMD(0x18, 0x03),
- _INIT_DCS_CMD(0x19, 0x03),
- _INIT_DCS_CMD(0x1A, 0x03),
- _INIT_DCS_CMD(0x1B, 0x03),
- _INIT_DCS_CMD(0x1C, 0x22),
- _INIT_DCS_CMD(0x1D, 0x06),
- _INIT_DCS_CMD(0x1E, 0x00),
- _INIT_DCS_CMD(0x1F, 0x1D),
- _INIT_DCS_CMD(0x20, 0x1C),
- _INIT_DCS_CMD(0x21, 0x13),
- _INIT_DCS_CMD(0x22, 0x12),
- _INIT_DCS_CMD(0x23, 0x11),
- _INIT_DCS_CMD(0x24, 0x10),
- _INIT_DCS_CMD(0x25, 0x0F),
- _INIT_DCS_CMD(0x26, 0x0E),
- _INIT_DCS_CMD(0x27, 0x0D),
- _INIT_DCS_CMD(0x28, 0x0C),
- _INIT_DCS_CMD(0x29, 0x04),
- _INIT_DCS_CMD(0x2A, 0x03),
- _INIT_DCS_CMD(0x2B, 0x03),
-
- _INIT_DCS_CMD(0x2F, 0x05),
- _INIT_DCS_CMD(0x30, 0x32),
- _INIT_DCS_CMD(0x31, 0x43),
- _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, 0x18),
- _INIT_DCS_CMD(0x3B, 0x00),
- _INIT_DCS_CMD(0x3D, 0x93),
- _INIT_DCS_CMD(0xAB, 0x44),
- _INIT_DCS_CMD(0xAC, 0x40),
-
- _INIT_DCS_CMD(0x4D, 0x21),
- _INIT_DCS_CMD(0x4E, 0x43),
- _INIT_DCS_CMD(0x4F, 0x65),
- _INIT_DCS_CMD(0x50, 0x87),
- _INIT_DCS_CMD(0x51, 0x78),
- _INIT_DCS_CMD(0x52, 0x56),
- _INIT_DCS_CMD(0x53, 0x34),
- _INIT_DCS_CMD(0x54, 0x21),
- _INIT_DCS_CMD(0x55, 0x83),
- _INIT_DCS_CMD(0x56, 0x08),
- _INIT_DCS_CMD(0x58, 0x21),
- _INIT_DCS_CMD(0x59, 0x40),
- _INIT_DCS_CMD(0x5A, 0x00),
- _INIT_DCS_CMD(0x5B, 0x2C),
- _INIT_DCS_CMD(0x5E, 0x00, 0x10),
- _INIT_DCS_CMD(0x5F, 0x00),
-
- _INIT_DCS_CMD(0x7A, 0x00),
- _INIT_DCS_CMD(0x7B, 0x00),
- _INIT_DCS_CMD(0x7C, 0x00),
- _INIT_DCS_CMD(0x7D, 0x00),
- _INIT_DCS_CMD(0x7E, 0x20),
- _INIT_DCS_CMD(0x7F, 0x3C),
- _INIT_DCS_CMD(0x80, 0x00),
- _INIT_DCS_CMD(0x81, 0x00),
- _INIT_DCS_CMD(0x82, 0x08),
- _INIT_DCS_CMD(0x97, 0x02),
- _INIT_DCS_CMD(0xC5, 0x10),
- _INIT_DCS_CMD(0xDA, 0x05),
- _INIT_DCS_CMD(0xDB, 0x01),
- _INIT_DCS_CMD(0xDC, 0x7A),
- _INIT_DCS_CMD(0xDD, 0x55),
- _INIT_DCS_CMD(0xDE, 0x27),
- _INIT_DCS_CMD(0xDF, 0x01),
- _INIT_DCS_CMD(0xE0, 0x7A),
- _INIT_DCS_CMD(0xE1, 0x01),
- _INIT_DCS_CMD(0xE2, 0x7A),
- _INIT_DCS_CMD(0xE3, 0x01),
- _INIT_DCS_CMD(0xE4, 0x7A),
- _INIT_DCS_CMD(0xE5, 0x01),
- _INIT_DCS_CMD(0xE6, 0x7A),
- _INIT_DCS_CMD(0xE7, 0x00),
- _INIT_DCS_CMD(0xE8, 0x00),
- _INIT_DCS_CMD(0xE9, 0x01),
- _INIT_DCS_CMD(0xEA, 0x7A),
- _INIT_DCS_CMD(0xEB, 0x01),
- _INIT_DCS_CMD(0xEE, 0x7A),
- _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, 0x00),
- _INIT_DCS_CMD(0x20, 0x2C),
- _INIT_DCS_CMD(0x25, 0x00),
- _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, 0x18),
- _INIT_DCS_CMD(0x45, 0x00),
-
- _INIT_DCS_CMD(0x48, 0x00),
- _INIT_DCS_CMD(0x49, 0x2C),
- _INIT_DCS_CMD(0x5B, 0x80),
- _INIT_DCS_CMD(0x5C, 0x00),
- _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),
-
- _INIT_DCS_CMD(0x00, 0xA1),
- _INIT_DCS_CMD(0x02, 0x31),
- _INIT_DCS_CMD(0x0A, 0xF2),
- _INIT_DCS_CMD(0x04, 0x28),
- _INIT_DCS_CMD(0x06, 0x30),
- _INIT_DCS_CMD(0x0C, 0x16),
- _INIT_DCS_CMD(0x0D, 0x0D),
- _INIT_DCS_CMD(0x0F, 0x00),
- _INIT_DCS_CMD(0x11, 0x00),
- _INIT_DCS_CMD(0x12, 0x50),
- _INIT_DCS_CMD(0x13, 0x56),
- _INIT_DCS_CMD(0x14, 0x57),
- _INIT_DCS_CMD(0x15, 0x00),
- _INIT_DCS_CMD(0x16, 0x10),
- _INIT_DCS_CMD(0x17, 0xA0),
- _INIT_DCS_CMD(0x18, 0x86),
- _INIT_DCS_CMD(0x22, 0x00),
- _INIT_DCS_CMD(0x23, 0x00),
- _INIT_DCS_CMD(0x19, 0x0D),
- _INIT_DCS_CMD(0x1A, 0x7F),
- _INIT_DCS_CMD(0x1B, 0x0C),
- _INIT_DCS_CMD(0x1C, 0xBF),
- _INIT_DCS_CMD(0x2A, 0x0D),
- _INIT_DCS_CMD(0x2B, 0x7F),
- _INIT_DCS_CMD(0x20, 0x00),
-
- _INIT_DCS_CMD(0x1D, 0x00),
- _INIT_DCS_CMD(0x1E, 0x78),
- _INIT_DCS_CMD(0x1F, 0x78),
-
- _INIT_DCS_CMD(0x2F, 0x03),
- _INIT_DCS_CMD(0x30, 0x78),
- _INIT_DCS_CMD(0x33, 0x78),
- _INIT_DCS_CMD(0x34, 0x66),
- _INIT_DCS_CMD(0x35, 0x11),
-
- _INIT_DCS_CMD(0x39, 0x10),
- _INIT_DCS_CMD(0x3A, 0x78),
- _INIT_DCS_CMD(0x3B, 0x06),
-
- _INIT_DCS_CMD(0xC8, 0x04),
- _INIT_DCS_CMD(0xC9, 0x84),
- _INIT_DCS_CMD(0xCA, 0x4E),
- _INIT_DCS_CMD(0xCB, 0x00),
-
- _INIT_DCS_CMD(0xA9, 0x50),
- _INIT_DCS_CMD(0xAA, 0x4F),
- _INIT_DCS_CMD(0xAB, 0x4D),
- _INIT_DCS_CMD(0xAC, 0x4A),
- _INIT_DCS_CMD(0xAD, 0x48),
- _INIT_DCS_CMD(0xAE, 0x46),
- _INIT_DCS_CMD(0xFF, 0x27),
- _INIT_DCS_CMD(0xFB, 0x01),
- _INIT_DCS_CMD(0xC0, 0x18),
- _INIT_DCS_CMD(0xC1, 0x00),
- _INIT_DCS_CMD(0xC2, 0x00),
- _INIT_DCS_CMD(0x56, 0x06),
- _INIT_DCS_CMD(0x58, 0x80),
- _INIT_DCS_CMD(0x59, 0x75),
- _INIT_DCS_CMD(0x5A, 0x00),
- _INIT_DCS_CMD(0x5B, 0x02),
- _INIT_DCS_CMD(0x5C, 0x00),
- _INIT_DCS_CMD(0x5D, 0x00),
- _INIT_DCS_CMD(0x5E, 0x20),
- _INIT_DCS_CMD(0x5F, 0x10),
- _INIT_DCS_CMD(0x60, 0x00),
- _INIT_DCS_CMD(0x61, 0x2E),
- _INIT_DCS_CMD(0x62, 0x00),
- _INIT_DCS_CMD(0x63, 0x01),
- _INIT_DCS_CMD(0x64, 0x43),
- _INIT_DCS_CMD(0x65, 0x2D),
- _INIT_DCS_CMD(0x66, 0x00),
- _INIT_DCS_CMD(0x67, 0x01),
- _INIT_DCS_CMD(0x68, 0x43),
- _INIT_DCS_CMD(0x98, 0x01),
- _INIT_DCS_CMD(0xB4, 0x03),
- _INIT_DCS_CMD(0x9B, 0xBD),
- _INIT_DCS_CMD(0xA0, 0x90),
- _INIT_DCS_CMD(0xAB, 0x1B),
- _INIT_DCS_CMD(0xBC, 0x0C),
- _INIT_DCS_CMD(0xBD, 0x28),
-
- _INIT_DCS_CMD(0xFF, 0x2A),
- _INIT_DCS_CMD(0xFB, 0x01),
-
- _INIT_DCS_CMD(0x22, 0x2F),
- _INIT_DCS_CMD(0x23, 0x08),
-
- _INIT_DCS_CMD(0x24, 0x00),
- _INIT_DCS_CMD(0x25, 0x65),
- _INIT_DCS_CMD(0x26, 0xF8),
- _INIT_DCS_CMD(0x27, 0x00),
- _INIT_DCS_CMD(0x28, 0x1A),
- _INIT_DCS_CMD(0x29, 0x00),
- _INIT_DCS_CMD(0x2A, 0x1A),
- _INIT_DCS_CMD(0x2B, 0x00),
- _INIT_DCS_CMD(0x2D, 0x1A),
-
- _INIT_DCS_CMD(0x64, 0x96),
- _INIT_DCS_CMD(0x65, 0x00),
- _INIT_DCS_CMD(0x66, 0x00),
- _INIT_DCS_CMD(0x6A, 0x96),
- _INIT_DCS_CMD(0x6B, 0x00),
- _INIT_DCS_CMD(0x6C, 0x00),
- _INIT_DCS_CMD(0x70, 0x92),
- _INIT_DCS_CMD(0x71, 0x00),
- _INIT_DCS_CMD(0x72, 0x00),
- _INIT_DCS_CMD(0xA2, 0x33),
- _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(0x08, 0x01),
- _INIT_DCS_CMD(0x09, 0xBF),
- _INIT_DCS_CMD(0x2F, 0x33),
- _INIT_DCS_CMD(0xFF, 0x23),
- _INIT_DCS_CMD(0xFB, 0x01),
- _INIT_DCS_CMD(0x00, 0x80),
- _INIT_DCS_CMD(0x07, 0x00),
- _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),
- _INIT_DCS_CMD(0x18, 0x40),
- _INIT_DCS_CMD(0xFF, 0x10),
- _INIT_DCS_CMD(0xB9, 0x02),
- _INIT_DCS_CMD(0xFF, 0x10),
- _INIT_DCS_CMD(0xFB, 0x01),
- _INIT_DCS_CMD(0xBB, 0x13),
- _INIT_DCS_CMD(0x3B, 0x03, 0x96, 0x1A, 0x04, 0x04),
- _INIT_DCS_CMD(0x35, 0x00),
- _INIT_DCS_CMD(0x51, 0x0F, 0xFF),
- _INIT_DCS_CMD(0x53, 0x24),
- _INIT_DELAY_CMD(100),
- _INIT_DCS_CMD(0x11),
- _INIT_DELAY_CMD(200),
- _INIT_DCS_CMD(0x29),
- _INIT_DELAY_CMD(100),
- {},
-};
+ return 0;
+}

-static const struct panel_init_cmd boe_init_cmd[] = {
- _INIT_DELAY_CMD(24),
- _INIT_DCS_CMD(0xB0, 0x05),
- _INIT_DCS_CMD(0xB1, 0xE5),
- _INIT_DCS_CMD(0xB3, 0x52),
- _INIT_DCS_CMD(0xB0, 0x00),
- _INIT_DCS_CMD(0xB3, 0x88),
- _INIT_DCS_CMD(0xB0, 0x04),
- _INIT_DCS_CMD(0xB8, 0x00),
- _INIT_DCS_CMD(0xB0, 0x00),
- _INIT_DCS_CMD(0xB6, 0x03),
- _INIT_DCS_CMD(0xBA, 0x8B),
- _INIT_DCS_CMD(0xBF, 0x1A),
- _INIT_DCS_CMD(0xC0, 0x0F),
- _INIT_DCS_CMD(0xC2, 0x0C),
- _INIT_DCS_CMD(0xC3, 0x02),
- _INIT_DCS_CMD(0xC4, 0x0C),
- _INIT_DCS_CMD(0xC5, 0x02),
- _INIT_DCS_CMD(0xB0, 0x01),
- _INIT_DCS_CMD(0xE0, 0x26),
- _INIT_DCS_CMD(0xE1, 0x26),
- _INIT_DCS_CMD(0xDC, 0x00),
- _INIT_DCS_CMD(0xDD, 0x00),
- _INIT_DCS_CMD(0xCC, 0x26),
- _INIT_DCS_CMD(0xCD, 0x26),
- _INIT_DCS_CMD(0xC8, 0x00),
- _INIT_DCS_CMD(0xC9, 0x00),
- _INIT_DCS_CMD(0xD2, 0x03),
- _INIT_DCS_CMD(0xD3, 0x03),
- _INIT_DCS_CMD(0xE6, 0x04),
- _INIT_DCS_CMD(0xE7, 0x04),
- _INIT_DCS_CMD(0xC4, 0x09),
- _INIT_DCS_CMD(0xC5, 0x09),
- _INIT_DCS_CMD(0xD8, 0x0A),
- _INIT_DCS_CMD(0xD9, 0x0A),
- _INIT_DCS_CMD(0xC2, 0x0B),
- _INIT_DCS_CMD(0xC3, 0x0B),
- _INIT_DCS_CMD(0xD6, 0x0C),
- _INIT_DCS_CMD(0xD7, 0x0C),
- _INIT_DCS_CMD(0xC0, 0x05),
- _INIT_DCS_CMD(0xC1, 0x05),
- _INIT_DCS_CMD(0xD4, 0x06),
- _INIT_DCS_CMD(0xD5, 0x06),
- _INIT_DCS_CMD(0xCA, 0x07),
- _INIT_DCS_CMD(0xCB, 0x07),
- _INIT_DCS_CMD(0xDE, 0x08),
- _INIT_DCS_CMD(0xDF, 0x08),
- _INIT_DCS_CMD(0xB0, 0x02),
- _INIT_DCS_CMD(0xC0, 0x00),
- _INIT_DCS_CMD(0xC1, 0x0D),
- _INIT_DCS_CMD(0xC2, 0x17),
- _INIT_DCS_CMD(0xC3, 0x26),
- _INIT_DCS_CMD(0xC4, 0x31),
- _INIT_DCS_CMD(0xC5, 0x1C),
- _INIT_DCS_CMD(0xC6, 0x2C),
- _INIT_DCS_CMD(0xC7, 0x33),
- _INIT_DCS_CMD(0xC8, 0x31),
- _INIT_DCS_CMD(0xC9, 0x37),
- _INIT_DCS_CMD(0xCA, 0x37),
- _INIT_DCS_CMD(0xCB, 0x37),
- _INIT_DCS_CMD(0xCC, 0x39),
- _INIT_DCS_CMD(0xCD, 0x2E),
- _INIT_DCS_CMD(0xCE, 0x2F),
- _INIT_DCS_CMD(0xCF, 0x2F),
- _INIT_DCS_CMD(0xD0, 0x07),
- _INIT_DCS_CMD(0xD2, 0x00),
- _INIT_DCS_CMD(0xD3, 0x0D),
- _INIT_DCS_CMD(0xD4, 0x17),
- _INIT_DCS_CMD(0xD5, 0x26),
- _INIT_DCS_CMD(0xD6, 0x31),
- _INIT_DCS_CMD(0xD7, 0x3F),
- _INIT_DCS_CMD(0xD8, 0x3F),
- _INIT_DCS_CMD(0xD9, 0x3F),
- _INIT_DCS_CMD(0xDA, 0x3F),
- _INIT_DCS_CMD(0xDB, 0x37),
- _INIT_DCS_CMD(0xDC, 0x37),
- _INIT_DCS_CMD(0xDD, 0x37),
- _INIT_DCS_CMD(0xDE, 0x39),
- _INIT_DCS_CMD(0xDF, 0x2E),
- _INIT_DCS_CMD(0xE0, 0x2F),
- _INIT_DCS_CMD(0xE1, 0x2F),
- _INIT_DCS_CMD(0xE2, 0x07),
- _INIT_DCS_CMD(0xB0, 0x03),
- _INIT_DCS_CMD(0xC8, 0x0B),
- _INIT_DCS_CMD(0xC9, 0x07),
- _INIT_DCS_CMD(0xC3, 0x00),
- _INIT_DCS_CMD(0xE7, 0x00),
- _INIT_DCS_CMD(0xC5, 0x2A),
- _INIT_DCS_CMD(0xDE, 0x2A),
- _INIT_DCS_CMD(0xCA, 0x43),
- _INIT_DCS_CMD(0xC9, 0x07),
- _INIT_DCS_CMD(0xE4, 0xC0),
- _INIT_DCS_CMD(0xE5, 0x0D),
- _INIT_DCS_CMD(0xCB, 0x00),
- _INIT_DCS_CMD(0xB0, 0x06),
- _INIT_DCS_CMD(0xB8, 0xA5),
- _INIT_DCS_CMD(0xC0, 0xA5),
- _INIT_DCS_CMD(0xC7, 0x0F),
- _INIT_DCS_CMD(0xD5, 0x32),
- _INIT_DCS_CMD(0xB8, 0x00),
- _INIT_DCS_CMD(0xC0, 0x00),
- _INIT_DCS_CMD(0xBC, 0x00),
- _INIT_DCS_CMD(0xB0, 0x07),
- _INIT_DCS_CMD(0xB1, 0x00),
- _INIT_DCS_CMD(0xB2, 0x02),
- _INIT_DCS_CMD(0xB3, 0x0F),
- _INIT_DCS_CMD(0xB4, 0x25),
- _INIT_DCS_CMD(0xB5, 0x39),
- _INIT_DCS_CMD(0xB6, 0x4E),
- _INIT_DCS_CMD(0xB7, 0x72),
- _INIT_DCS_CMD(0xB8, 0x97),
- _INIT_DCS_CMD(0xB9, 0xDC),
- _INIT_DCS_CMD(0xBA, 0x22),
- _INIT_DCS_CMD(0xBB, 0xA4),
- _INIT_DCS_CMD(0xBC, 0x2B),
- _INIT_DCS_CMD(0xBD, 0x2F),
- _INIT_DCS_CMD(0xBE, 0xA9),
- _INIT_DCS_CMD(0xBF, 0x25),
- _INIT_DCS_CMD(0xC0, 0x61),
- _INIT_DCS_CMD(0xC1, 0x97),
- _INIT_DCS_CMD(0xC2, 0xB2),
- _INIT_DCS_CMD(0xC3, 0xCD),
- _INIT_DCS_CMD(0xC4, 0xD9),
- _INIT_DCS_CMD(0xC5, 0xE7),
- _INIT_DCS_CMD(0xC6, 0xF4),
- _INIT_DCS_CMD(0xC7, 0xFA),
- _INIT_DCS_CMD(0xC8, 0xFC),
- _INIT_DCS_CMD(0xC9, 0x00),
- _INIT_DCS_CMD(0xCA, 0x00),
- _INIT_DCS_CMD(0xCB, 0x16),
- _INIT_DCS_CMD(0xCC, 0xAF),
- _INIT_DCS_CMD(0xCD, 0xFF),
- _INIT_DCS_CMD(0xCE, 0xFF),
- _INIT_DCS_CMD(0xB0, 0x08),
- _INIT_DCS_CMD(0xB1, 0x04),
- _INIT_DCS_CMD(0xB2, 0x05),
- _INIT_DCS_CMD(0xB3, 0x11),
- _INIT_DCS_CMD(0xB4, 0x24),
- _INIT_DCS_CMD(0xB5, 0x39),
- _INIT_DCS_CMD(0xB6, 0x4F),
- _INIT_DCS_CMD(0xB7, 0x72),
- _INIT_DCS_CMD(0xB8, 0x98),
- _INIT_DCS_CMD(0xB9, 0xDC),
- _INIT_DCS_CMD(0xBA, 0x23),
- _INIT_DCS_CMD(0xBB, 0xA6),
- _INIT_DCS_CMD(0xBC, 0x2C),
- _INIT_DCS_CMD(0xBD, 0x30),
- _INIT_DCS_CMD(0xBE, 0xAA),
- _INIT_DCS_CMD(0xBF, 0x26),
- _INIT_DCS_CMD(0xC0, 0x62),
- _INIT_DCS_CMD(0xC1, 0x9B),
- _INIT_DCS_CMD(0xC2, 0xB5),
- _INIT_DCS_CMD(0xC3, 0xCF),
- _INIT_DCS_CMD(0xC4, 0xDB),
- _INIT_DCS_CMD(0xC5, 0xE8),
- _INIT_DCS_CMD(0xC6, 0xF5),
- _INIT_DCS_CMD(0xC7, 0xFA),
- _INIT_DCS_CMD(0xC8, 0xFC),
- _INIT_DCS_CMD(0xC9, 0x00),
- _INIT_DCS_CMD(0xCA, 0x00),
- _INIT_DCS_CMD(0xCB, 0x16),
- _INIT_DCS_CMD(0xCC, 0xAF),
- _INIT_DCS_CMD(0xCD, 0xFF),
- _INIT_DCS_CMD(0xCE, 0xFF),
- _INIT_DCS_CMD(0xB0, 0x09),
- _INIT_DCS_CMD(0xB1, 0x04),
- _INIT_DCS_CMD(0xB2, 0x02),
- _INIT_DCS_CMD(0xB3, 0x16),
- _INIT_DCS_CMD(0xB4, 0x24),
- _INIT_DCS_CMD(0xB5, 0x3B),
- _INIT_DCS_CMD(0xB6, 0x4F),
- _INIT_DCS_CMD(0xB7, 0x73),
- _INIT_DCS_CMD(0xB8, 0x99),
- _INIT_DCS_CMD(0xB9, 0xE0),
- _INIT_DCS_CMD(0xBA, 0x26),
- _INIT_DCS_CMD(0xBB, 0xAD),
- _INIT_DCS_CMD(0xBC, 0x36),
- _INIT_DCS_CMD(0xBD, 0x3A),
- _INIT_DCS_CMD(0xBE, 0xAE),
- _INIT_DCS_CMD(0xBF, 0x2A),
- _INIT_DCS_CMD(0xC0, 0x66),
- _INIT_DCS_CMD(0xC1, 0x9E),
- _INIT_DCS_CMD(0xC2, 0xB8),
- _INIT_DCS_CMD(0xC3, 0xD1),
- _INIT_DCS_CMD(0xC4, 0xDD),
- _INIT_DCS_CMD(0xC5, 0xE9),
- _INIT_DCS_CMD(0xC6, 0xF6),
- _INIT_DCS_CMD(0xC7, 0xFA),
- _INIT_DCS_CMD(0xC8, 0xFC),
- _INIT_DCS_CMD(0xC9, 0x00),
- _INIT_DCS_CMD(0xCA, 0x00),
- _INIT_DCS_CMD(0xCB, 0x16),
- _INIT_DCS_CMD(0xCC, 0xAF),
- _INIT_DCS_CMD(0xCD, 0xFF),
- _INIT_DCS_CMD(0xCE, 0xFF),
- _INIT_DCS_CMD(0xB0, 0x0A),
- _INIT_DCS_CMD(0xB1, 0x00),
- _INIT_DCS_CMD(0xB2, 0x02),
- _INIT_DCS_CMD(0xB3, 0x0F),
- _INIT_DCS_CMD(0xB4, 0x25),
- _INIT_DCS_CMD(0xB5, 0x39),
- _INIT_DCS_CMD(0xB6, 0x4E),
- _INIT_DCS_CMD(0xB7, 0x72),
- _INIT_DCS_CMD(0xB8, 0x97),
- _INIT_DCS_CMD(0xB9, 0xDC),
- _INIT_DCS_CMD(0xBA, 0x22),
- _INIT_DCS_CMD(0xBB, 0xA4),
- _INIT_DCS_CMD(0xBC, 0x2B),
- _INIT_DCS_CMD(0xBD, 0x2F),
- _INIT_DCS_CMD(0xBE, 0xA9),
- _INIT_DCS_CMD(0xBF, 0x25),
- _INIT_DCS_CMD(0xC0, 0x61),
- _INIT_DCS_CMD(0xC1, 0x97),
- _INIT_DCS_CMD(0xC2, 0xB2),
- _INIT_DCS_CMD(0xC3, 0xCD),
- _INIT_DCS_CMD(0xC4, 0xD9),
- _INIT_DCS_CMD(0xC5, 0xE7),
- _INIT_DCS_CMD(0xC6, 0xF4),
- _INIT_DCS_CMD(0xC7, 0xFA),
- _INIT_DCS_CMD(0xC8, 0xFC),
- _INIT_DCS_CMD(0xC9, 0x00),
- _INIT_DCS_CMD(0xCA, 0x00),
- _INIT_DCS_CMD(0xCB, 0x16),
- _INIT_DCS_CMD(0xCC, 0xAF),
- _INIT_DCS_CMD(0xCD, 0xFF),
- _INIT_DCS_CMD(0xCE, 0xFF),
- _INIT_DCS_CMD(0xB0, 0x0B),
- _INIT_DCS_CMD(0xB1, 0x04),
- _INIT_DCS_CMD(0xB2, 0x05),
- _INIT_DCS_CMD(0xB3, 0x11),
- _INIT_DCS_CMD(0xB4, 0x24),
- _INIT_DCS_CMD(0xB5, 0x39),
- _INIT_DCS_CMD(0xB6, 0x4F),
- _INIT_DCS_CMD(0xB7, 0x72),
- _INIT_DCS_CMD(0xB8, 0x98),
- _INIT_DCS_CMD(0xB9, 0xDC),
- _INIT_DCS_CMD(0xBA, 0x23),
- _INIT_DCS_CMD(0xBB, 0xA6),
- _INIT_DCS_CMD(0xBC, 0x2C),
- _INIT_DCS_CMD(0xBD, 0x30),
- _INIT_DCS_CMD(0xBE, 0xAA),
- _INIT_DCS_CMD(0xBF, 0x26),
- _INIT_DCS_CMD(0xC0, 0x62),
- _INIT_DCS_CMD(0xC1, 0x9B),
- _INIT_DCS_CMD(0xC2, 0xB5),
- _INIT_DCS_CMD(0xC3, 0xCF),
- _INIT_DCS_CMD(0xC4, 0xDB),
- _INIT_DCS_CMD(0xC5, 0xE8),
- _INIT_DCS_CMD(0xC6, 0xF5),
- _INIT_DCS_CMD(0xC7, 0xFA),
- _INIT_DCS_CMD(0xC8, 0xFC),
- _INIT_DCS_CMD(0xC9, 0x00),
- _INIT_DCS_CMD(0xCA, 0x00),
- _INIT_DCS_CMD(0xCB, 0x16),
- _INIT_DCS_CMD(0xCC, 0xAF),
- _INIT_DCS_CMD(0xCD, 0xFF),
- _INIT_DCS_CMD(0xCE, 0xFF),
- _INIT_DCS_CMD(0xB0, 0x0C),
- _INIT_DCS_CMD(0xB1, 0x04),
- _INIT_DCS_CMD(0xB2, 0x02),
- _INIT_DCS_CMD(0xB3, 0x16),
- _INIT_DCS_CMD(0xB4, 0x24),
- _INIT_DCS_CMD(0xB5, 0x3B),
- _INIT_DCS_CMD(0xB6, 0x4F),
- _INIT_DCS_CMD(0xB7, 0x73),
- _INIT_DCS_CMD(0xB8, 0x99),
- _INIT_DCS_CMD(0xB9, 0xE0),
- _INIT_DCS_CMD(0xBA, 0x26),
- _INIT_DCS_CMD(0xBB, 0xAD),
- _INIT_DCS_CMD(0xBC, 0x36),
- _INIT_DCS_CMD(0xBD, 0x3A),
- _INIT_DCS_CMD(0xBE, 0xAE),
- _INIT_DCS_CMD(0xBF, 0x2A),
- _INIT_DCS_CMD(0xC0, 0x66),
- _INIT_DCS_CMD(0xC1, 0x9E),
- _INIT_DCS_CMD(0xC2, 0xB8),
- _INIT_DCS_CMD(0xC3, 0xD1),
- _INIT_DCS_CMD(0xC4, 0xDD),
- _INIT_DCS_CMD(0xC5, 0xE9),
- _INIT_DCS_CMD(0xC6, 0xF6),
- _INIT_DCS_CMD(0xC7, 0xFA),
- _INIT_DCS_CMD(0xC8, 0xFC),
- _INIT_DCS_CMD(0xC9, 0x00),
- _INIT_DCS_CMD(0xCA, 0x00),
- _INIT_DCS_CMD(0xCB, 0x16),
- _INIT_DCS_CMD(0xCC, 0xAF),
- _INIT_DCS_CMD(0xCD, 0xFF),
- _INIT_DCS_CMD(0xCE, 0xFF),
- _INIT_DCS_CMD(0xB0, 0x00),
- _INIT_DCS_CMD(0xB3, 0x08),
- _INIT_DCS_CMD(0xB0, 0x04),
- _INIT_DCS_CMD(0xB8, 0x68),
- _INIT_DELAY_CMD(150),
- {},
-};
+static int inx_hj110iz_init(struct mipi_dsi_device *dsi) {
+ int ret;

-static const struct panel_init_cmd auo_kd101n80_45na_init_cmd[] = {
- _INIT_DELAY_CMD(24),
- _INIT_DCS_CMD(0x11),
- _INIT_DELAY_CMD(120),
- _INIT_DCS_CMD(0x29),
- _INIT_DELAY_CMD(120),
- {},
-};
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x20);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x05, 0xD1);
+ mipi_dsi_dcs_write_seq(dsi, 0x0D, 0x63);
+ mipi_dsi_dcs_write_seq(dsi, 0x07, 0x8C);
+ mipi_dsi_dcs_write_seq(dsi, 0x08, 0x4B);
+ mipi_dsi_dcs_write_seq(dsi, 0x0E, 0x91);
+ mipi_dsi_dcs_write_seq(dsi, 0x0F, 0x69);
+ mipi_dsi_dcs_write_seq(dsi, 0x95, 0xF5);
+ mipi_dsi_dcs_write_seq(dsi, 0x96, 0xF5);
+ mipi_dsi_dcs_write_seq(dsi, 0x9D, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x9E, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x69, 0x98);
+ mipi_dsi_dcs_write_seq(dsi, 0x75, 0xA2);
+ mipi_dsi_dcs_write_seq(dsi, 0x77, 0xB3);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x24);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x91, 0x44);
+ mipi_dsi_dcs_write_seq(dsi, 0x92, 0x7A);
+ mipi_dsi_dcs_write_seq(dsi, 0x93, 0x1A);
+ mipi_dsi_dcs_write_seq(dsi, 0x94, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0x9A, 0x08);
+ mipi_dsi_dcs_write_seq(dsi, 0x60, 0x96);
+ mipi_dsi_dcs_write_seq(dsi, 0x61, 0xD0);
+ mipi_dsi_dcs_write_seq(dsi, 0x63, 0x70);
+ mipi_dsi_dcs_write_seq(dsi, 0xC2, 0xCF);
+ mipi_dsi_dcs_write_seq(dsi, 0x9B, 0x0F);
+ mipi_dsi_dcs_write_seq(dsi, 0x9A, 0x08);
+ mipi_dsi_dcs_write_seq(dsi, 0x00, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x01, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x02, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x03, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x04, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x05, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x06, 0x22);
+ mipi_dsi_dcs_write_seq(dsi, 0x07, 0x06);
+ mipi_dsi_dcs_write_seq(dsi, 0x08, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x09, 0x1D);
+ mipi_dsi_dcs_write_seq(dsi, 0x0A, 0x1C);
+ mipi_dsi_dcs_write_seq(dsi, 0x0B, 0x13);
+ mipi_dsi_dcs_write_seq(dsi, 0x0C, 0x12);
+ mipi_dsi_dcs_write_seq(dsi, 0x0D, 0x11);
+ mipi_dsi_dcs_write_seq(dsi, 0x0E, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0x0F, 0x0F);
+ mipi_dsi_dcs_write_seq(dsi, 0x10, 0x0E);
+ mipi_dsi_dcs_write_seq(dsi, 0x11, 0x0D);
+ mipi_dsi_dcs_write_seq(dsi, 0x12, 0x0C);
+ mipi_dsi_dcs_write_seq(dsi, 0x13, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0x14, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x15, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x16, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x17, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x18, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x19, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x1A, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x1B, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x1C, 0x22);
+ mipi_dsi_dcs_write_seq(dsi, 0x1D, 0x06);
+ mipi_dsi_dcs_write_seq(dsi, 0x1E, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x1F, 0x1D);
+ mipi_dsi_dcs_write_seq(dsi, 0x20, 0x1C);
+ mipi_dsi_dcs_write_seq(dsi, 0x21, 0x13);
+ mipi_dsi_dcs_write_seq(dsi, 0x22, 0x12);
+ mipi_dsi_dcs_write_seq(dsi, 0x23, 0x11);
+ mipi_dsi_dcs_write_seq(dsi, 0x24, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0x25, 0x0F);
+ mipi_dsi_dcs_write_seq(dsi, 0x26, 0x0E);
+ mipi_dsi_dcs_write_seq(dsi, 0x27, 0x0D);
+ mipi_dsi_dcs_write_seq(dsi, 0x28, 0x0C);
+ mipi_dsi_dcs_write_seq(dsi, 0x29, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0x2A, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x2B, 0x03);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x2F, 0x05);
+ mipi_dsi_dcs_write_seq(dsi, 0x30, 0x32);
+ mipi_dsi_dcs_write_seq(dsi, 0x31, 0x43);
+ mipi_dsi_dcs_write_seq(dsi, 0x33, 0x05);
+ mipi_dsi_dcs_write_seq(dsi, 0x34, 0x32);
+ mipi_dsi_dcs_write_seq(dsi, 0x35, 0x43);
+ mipi_dsi_dcs_write_seq(dsi, 0x37, 0x44);
+ mipi_dsi_dcs_write_seq(dsi, 0x38, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0x39, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x3A, 0x18);
+ mipi_dsi_dcs_write_seq(dsi, 0x3B, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x3D, 0x93);
+ mipi_dsi_dcs_write_seq(dsi, 0xAB, 0x44);
+ mipi_dsi_dcs_write_seq(dsi, 0xAC, 0x40);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x4D, 0x21);
+ mipi_dsi_dcs_write_seq(dsi, 0x4E, 0x43);
+ mipi_dsi_dcs_write_seq(dsi, 0x4F, 0x65);
+ mipi_dsi_dcs_write_seq(dsi, 0x50, 0x87);
+ mipi_dsi_dcs_write_seq(dsi, 0x51, 0x78);
+ mipi_dsi_dcs_write_seq(dsi, 0x52, 0x56);
+ mipi_dsi_dcs_write_seq(dsi, 0x53, 0x34);
+ mipi_dsi_dcs_write_seq(dsi, 0x54, 0x21);
+ mipi_dsi_dcs_write_seq(dsi, 0x55, 0x83);
+ mipi_dsi_dcs_write_seq(dsi, 0x56, 0x08);
+ mipi_dsi_dcs_write_seq(dsi, 0x58, 0x21);
+ mipi_dsi_dcs_write_seq(dsi, 0x59, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0x5A, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x5B, 0x2C);
+ mipi_dsi_dcs_write_seq(dsi, 0x5E, 0x00, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0x5F, 0x00);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x7A, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x7B, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x7C, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x7D, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x7E, 0x20);
+ mipi_dsi_dcs_write_seq(dsi, 0x7F, 0x3C);
+ mipi_dsi_dcs_write_seq(dsi, 0x80, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x81, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x82, 0x08);
+ mipi_dsi_dcs_write_seq(dsi, 0x97, 0x02);
+ mipi_dsi_dcs_write_seq(dsi, 0xC5, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0xDA, 0x05);
+ mipi_dsi_dcs_write_seq(dsi, 0xDB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xDC, 0x7A);
+ mipi_dsi_dcs_write_seq(dsi, 0xDD, 0x55);
+ mipi_dsi_dcs_write_seq(dsi, 0xDE, 0x27);
+ mipi_dsi_dcs_write_seq(dsi, 0xDF, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xE0, 0x7A);
+ mipi_dsi_dcs_write_seq(dsi, 0xE1, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xE2, 0x7A);
+ mipi_dsi_dcs_write_seq(dsi, 0xE3, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xE4, 0x7A);
+ mipi_dsi_dcs_write_seq(dsi, 0xE5, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xE6, 0x7A);
+ mipi_dsi_dcs_write_seq(dsi, 0xE7, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xE8, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xE9, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xEA, 0x7A);
+ mipi_dsi_dcs_write_seq(dsi, 0xEB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xEE, 0x7A);
+ mipi_dsi_dcs_write_seq(dsi, 0xEF, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xF0, 0x7A);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x05, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x25);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x05, 0x00);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x13, 0x02);
+ mipi_dsi_dcs_write_seq(dsi, 0x14, 0xDF);
+ mipi_dsi_dcs_write_seq(dsi, 0xF1, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0x1E, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x1F, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x20, 0x2C);
+ mipi_dsi_dcs_write_seq(dsi, 0x25, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x26, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x27, 0x2C);
+ mipi_dsi_dcs_write_seq(dsi, 0x3F, 0x80);
+ mipi_dsi_dcs_write_seq(dsi, 0x40, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x43, 0x00);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x44, 0x18);
+ mipi_dsi_dcs_write_seq(dsi, 0x45, 0x00);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x48, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x49, 0x2C);
+ mipi_dsi_dcs_write_seq(dsi, 0x5B, 0x80);
+ mipi_dsi_dcs_write_seq(dsi, 0x5C, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x5D, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x5E, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x61, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x62, 0x2C);
+ mipi_dsi_dcs_write_seq(dsi, 0x68, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x26);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x00, 0xA1);
+ mipi_dsi_dcs_write_seq(dsi, 0x02, 0x31);
+ mipi_dsi_dcs_write_seq(dsi, 0x0A, 0xF2);
+ mipi_dsi_dcs_write_seq(dsi, 0x04, 0x28);
+ mipi_dsi_dcs_write_seq(dsi, 0x06, 0x30);
+ mipi_dsi_dcs_write_seq(dsi, 0x0C, 0x16);
+ mipi_dsi_dcs_write_seq(dsi, 0x0D, 0x0D);
+ mipi_dsi_dcs_write_seq(dsi, 0x0F, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x11, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x12, 0x50);
+ mipi_dsi_dcs_write_seq(dsi, 0x13, 0x56);
+ mipi_dsi_dcs_write_seq(dsi, 0x14, 0x57);
+ mipi_dsi_dcs_write_seq(dsi, 0x15, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x16, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0x17, 0xA0);
+ mipi_dsi_dcs_write_seq(dsi, 0x18, 0x86);
+ mipi_dsi_dcs_write_seq(dsi, 0x22, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x23, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x19, 0x0D);
+ mipi_dsi_dcs_write_seq(dsi, 0x1A, 0x7F);
+ mipi_dsi_dcs_write_seq(dsi, 0x1B, 0x0C);
+ mipi_dsi_dcs_write_seq(dsi, 0x1C, 0xBF);
+ mipi_dsi_dcs_write_seq(dsi, 0x2A, 0x0D);
+ mipi_dsi_dcs_write_seq(dsi, 0x2B, 0x7F);
+ mipi_dsi_dcs_write_seq(dsi, 0x20, 0x00);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x1D, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x1E, 0x78);
+ mipi_dsi_dcs_write_seq(dsi, 0x1F, 0x78);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x2F, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x30, 0x78);
+ mipi_dsi_dcs_write_seq(dsi, 0x33, 0x78);
+ mipi_dsi_dcs_write_seq(dsi, 0x34, 0x66);
+ mipi_dsi_dcs_write_seq(dsi, 0x35, 0x11);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x39, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0x3A, 0x78);
+ mipi_dsi_dcs_write_seq(dsi, 0x3B, 0x06);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xC8, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x84);
+ mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x4E);
+ mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x00);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xA9, 0x50);
+ mipi_dsi_dcs_write_seq(dsi, 0xAA, 0x4F);
+ mipi_dsi_dcs_write_seq(dsi, 0xAB, 0x4D);
+ mipi_dsi_dcs_write_seq(dsi, 0xAC, 0x4A);
+ mipi_dsi_dcs_write_seq(dsi, 0xAD, 0x48);
+ mipi_dsi_dcs_write_seq(dsi, 0xAE, 0x46);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x27);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x18);
+ mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xC2, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x56, 0x06);
+ mipi_dsi_dcs_write_seq(dsi, 0x58, 0x80);
+ mipi_dsi_dcs_write_seq(dsi, 0x59, 0x75);
+ mipi_dsi_dcs_write_seq(dsi, 0x5A, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x5B, 0x02);
+ mipi_dsi_dcs_write_seq(dsi, 0x5C, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x5D, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x5E, 0x20);
+ mipi_dsi_dcs_write_seq(dsi, 0x5F, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0x60, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x61, 0x2E);
+ mipi_dsi_dcs_write_seq(dsi, 0x62, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x63, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x64, 0x43);
+ mipi_dsi_dcs_write_seq(dsi, 0x65, 0x2D);
+ mipi_dsi_dcs_write_seq(dsi, 0x66, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x67, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x68, 0x43);
+ mipi_dsi_dcs_write_seq(dsi, 0x98, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xB4, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0x9B, 0xBD);
+ mipi_dsi_dcs_write_seq(dsi, 0xA0, 0x90);
+ mipi_dsi_dcs_write_seq(dsi, 0xAB, 0x1B);
+ mipi_dsi_dcs_write_seq(dsi, 0xBC, 0x0C);
+ mipi_dsi_dcs_write_seq(dsi, 0xBD, 0x28);
+
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x2A);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x22, 0x2F);
+ mipi_dsi_dcs_write_seq(dsi, 0x23, 0x08);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x24, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x25, 0x65);
+ mipi_dsi_dcs_write_seq(dsi, 0x26, 0xF8);
+ mipi_dsi_dcs_write_seq(dsi, 0x27, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x28, 0x1A);
+ mipi_dsi_dcs_write_seq(dsi, 0x29, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x2A, 0x1A);
+ mipi_dsi_dcs_write_seq(dsi, 0x2B, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x2D, 0x1A);
+
+ mipi_dsi_dcs_write_seq(dsi, 0x64, 0x96);
+ mipi_dsi_dcs_write_seq(dsi, 0x65, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x66, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x6A, 0x96);
+ mipi_dsi_dcs_write_seq(dsi, 0x6B, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x6C, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x70, 0x92);
+ mipi_dsi_dcs_write_seq(dsi, 0x71, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x72, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xA2, 0x33);
+ mipi_dsi_dcs_write_seq(dsi, 0xA3, 0x30);
+ mipi_dsi_dcs_write_seq(dsi, 0xA4, 0xC0);
+ mipi_dsi_dcs_write_seq(dsi, 0xE8, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x97, 0x3C);
+ mipi_dsi_dcs_write_seq(dsi, 0x98, 0x02);
+ mipi_dsi_dcs_write_seq(dsi, 0x99, 0x95);
+ mipi_dsi_dcs_write_seq(dsi, 0x9A, 0x06);
+ mipi_dsi_dcs_write_seq(dsi, 0x9B, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x9C, 0x0B);
+ mipi_dsi_dcs_write_seq(dsi, 0x9D, 0x0A);
+ mipi_dsi_dcs_write_seq(dsi, 0x9E, 0x90);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0xF0);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x3A, 0x08);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0xD0);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x00, 0x33);
+ mipi_dsi_dcs_write_seq(dsi, 0x08, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x09, 0xBF);
+ mipi_dsi_dcs_write_seq(dsi, 0x2F, 0x33);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x23);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x00, 0x80);
+ mipi_dsi_dcs_write_seq(dsi, 0x07, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x20);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0x30, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x24);
+ mipi_dsi_dcs_write_seq(dsi, 0x5C, 0x88);
+ mipi_dsi_dcs_write_seq(dsi, 0x5D, 0x08);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0xB9, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x20);
+ mipi_dsi_dcs_write_seq(dsi, 0x18, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0xB9, 0x02);
+ mipi_dsi_dcs_write_seq(dsi, 0xFF, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0xFB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xBB, 0x13);
+ mipi_dsi_dcs_write_seq(dsi, 0x3B, 0x03, 0x96, 0x1A, 0x04, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0x35, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0x51, 0x0F, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0x53, 0x24);
+ msleep(100);
+ ret = mipi_dsi_dcs_exit_sleep_mode(dsi);
+ if (ret)
+ return ret;
+ msleep(200);
+ ret = mipi_dsi_dcs_set_display_on(dsi);
+ if (ret)
+ return ret;
+ msleep(100);

-static const struct panel_init_cmd auo_b101uan08_3_init_cmd[] = {
- _INIT_DELAY_CMD(24),
- _INIT_DCS_CMD(0xB0, 0x01),
- _INIT_DCS_CMD(0xC0, 0x48),
- _INIT_DCS_CMD(0xC1, 0x48),
- _INIT_DCS_CMD(0xC2, 0x47),
- _INIT_DCS_CMD(0xC3, 0x47),
- _INIT_DCS_CMD(0xC4, 0x46),
- _INIT_DCS_CMD(0xC5, 0x46),
- _INIT_DCS_CMD(0xC6, 0x45),
- _INIT_DCS_CMD(0xC7, 0x45),
- _INIT_DCS_CMD(0xC8, 0x64),
- _INIT_DCS_CMD(0xC9, 0x64),
- _INIT_DCS_CMD(0xCA, 0x4F),
- _INIT_DCS_CMD(0xCB, 0x4F),
- _INIT_DCS_CMD(0xCC, 0x40),
- _INIT_DCS_CMD(0xCD, 0x40),
- _INIT_DCS_CMD(0xCE, 0x66),
- _INIT_DCS_CMD(0xCF, 0x66),
- _INIT_DCS_CMD(0xD0, 0x4F),
- _INIT_DCS_CMD(0xD1, 0x4F),
- _INIT_DCS_CMD(0xD2, 0x41),
- _INIT_DCS_CMD(0xD3, 0x41),
- _INIT_DCS_CMD(0xD4, 0x48),
- _INIT_DCS_CMD(0xD5, 0x48),
- _INIT_DCS_CMD(0xD6, 0x47),
- _INIT_DCS_CMD(0xD7, 0x47),
- _INIT_DCS_CMD(0xD8, 0x46),
- _INIT_DCS_CMD(0xD9, 0x46),
- _INIT_DCS_CMD(0xDA, 0x45),
- _INIT_DCS_CMD(0xDB, 0x45),
- _INIT_DCS_CMD(0xDC, 0x64),
- _INIT_DCS_CMD(0xDD, 0x64),
- _INIT_DCS_CMD(0xDE, 0x4F),
- _INIT_DCS_CMD(0xDF, 0x4F),
- _INIT_DCS_CMD(0xE0, 0x40),
- _INIT_DCS_CMD(0xE1, 0x40),
- _INIT_DCS_CMD(0xE2, 0x66),
- _INIT_DCS_CMD(0xE3, 0x66),
- _INIT_DCS_CMD(0xE4, 0x4F),
- _INIT_DCS_CMD(0xE5, 0x4F),
- _INIT_DCS_CMD(0xE6, 0x41),
- _INIT_DCS_CMD(0xE7, 0x41),
- _INIT_DELAY_CMD(150),
- {},
-};
+ return 0;
+}

-static const struct panel_init_cmd starry_qfh032011_53g_init_cmd[] = {
- _INIT_DCS_CMD(0xB0, 0x01),
- _INIT_DCS_CMD(0xC3, 0x4F),
- _INIT_DCS_CMD(0xC4, 0x40),
- _INIT_DCS_CMD(0xC5, 0x40),
- _INIT_DCS_CMD(0xC6, 0x40),
- _INIT_DCS_CMD(0xC7, 0x40),
- _INIT_DCS_CMD(0xC8, 0x4D),
- _INIT_DCS_CMD(0xC9, 0x52),
- _INIT_DCS_CMD(0xCA, 0x51),
- _INIT_DCS_CMD(0xCD, 0x5D),
- _INIT_DCS_CMD(0xCE, 0x5B),
- _INIT_DCS_CMD(0xCF, 0x4B),
- _INIT_DCS_CMD(0xD0, 0x49),
- _INIT_DCS_CMD(0xD1, 0x47),
- _INIT_DCS_CMD(0xD2, 0x45),
- _INIT_DCS_CMD(0xD3, 0x41),
- _INIT_DCS_CMD(0xD7, 0x50),
- _INIT_DCS_CMD(0xD8, 0x40),
- _INIT_DCS_CMD(0xD9, 0x40),
- _INIT_DCS_CMD(0xDA, 0x40),
- _INIT_DCS_CMD(0xDB, 0x40),
- _INIT_DCS_CMD(0xDC, 0x4E),
- _INIT_DCS_CMD(0xDD, 0x52),
- _INIT_DCS_CMD(0xDE, 0x51),
- _INIT_DCS_CMD(0xE1, 0x5E),
- _INIT_DCS_CMD(0xE2, 0x5C),
- _INIT_DCS_CMD(0xE3, 0x4C),
- _INIT_DCS_CMD(0xE4, 0x4A),
- _INIT_DCS_CMD(0xE5, 0x48),
- _INIT_DCS_CMD(0xE6, 0x46),
- _INIT_DCS_CMD(0xE7, 0x42),
- _INIT_DCS_CMD(0xB0, 0x03),
- _INIT_DCS_CMD(0xBE, 0x03),
- _INIT_DCS_CMD(0xCC, 0x44),
- _INIT_DCS_CMD(0xC8, 0x07),
- _INIT_DCS_CMD(0xC9, 0x05),
- _INIT_DCS_CMD(0xCA, 0x42),
- _INIT_DCS_CMD(0xCD, 0x3E),
- _INIT_DCS_CMD(0xCF, 0x60),
- _INIT_DCS_CMD(0xD2, 0x04),
- _INIT_DCS_CMD(0xD3, 0x04),
- _INIT_DCS_CMD(0xD4, 0x01),
- _INIT_DCS_CMD(0xD5, 0x00),
- _INIT_DCS_CMD(0xD6, 0x03),
- _INIT_DCS_CMD(0xD7, 0x04),
- _INIT_DCS_CMD(0xD9, 0x01),
- _INIT_DCS_CMD(0xDB, 0x01),
- _INIT_DCS_CMD(0xE4, 0xF0),
- _INIT_DCS_CMD(0xE5, 0x0A),
- _INIT_DCS_CMD(0xB0, 0x00),
- _INIT_DCS_CMD(0xCC, 0x08),
- _INIT_DCS_CMD(0xC2, 0x08),
- _INIT_DCS_CMD(0xC4, 0x10),
- _INIT_DCS_CMD(0xB0, 0x02),
- _INIT_DCS_CMD(0xC0, 0x00),
- _INIT_DCS_CMD(0xC1, 0x0A),
- _INIT_DCS_CMD(0xC2, 0x20),
- _INIT_DCS_CMD(0xC3, 0x24),
- _INIT_DCS_CMD(0xC4, 0x23),
- _INIT_DCS_CMD(0xC5, 0x29),
- _INIT_DCS_CMD(0xC6, 0x23),
- _INIT_DCS_CMD(0xC7, 0x1C),
- _INIT_DCS_CMD(0xC8, 0x19),
- _INIT_DCS_CMD(0xC9, 0x17),
- _INIT_DCS_CMD(0xCA, 0x17),
- _INIT_DCS_CMD(0xCB, 0x18),
- _INIT_DCS_CMD(0xCC, 0x1A),
- _INIT_DCS_CMD(0xCD, 0x1E),
- _INIT_DCS_CMD(0xCE, 0x20),
- _INIT_DCS_CMD(0xCF, 0x23),
- _INIT_DCS_CMD(0xD0, 0x07),
- _INIT_DCS_CMD(0xD1, 0x00),
- _INIT_DCS_CMD(0xD2, 0x00),
- _INIT_DCS_CMD(0xD3, 0x0A),
- _INIT_DCS_CMD(0xD4, 0x13),
- _INIT_DCS_CMD(0xD5, 0x1C),
- _INIT_DCS_CMD(0xD6, 0x1A),
- _INIT_DCS_CMD(0xD7, 0x13),
- _INIT_DCS_CMD(0xD8, 0x17),
- _INIT_DCS_CMD(0xD9, 0x1C),
- _INIT_DCS_CMD(0xDA, 0x19),
- _INIT_DCS_CMD(0xDB, 0x17),
- _INIT_DCS_CMD(0xDC, 0x17),
- _INIT_DCS_CMD(0xDD, 0x18),
- _INIT_DCS_CMD(0xDE, 0x1A),
- _INIT_DCS_CMD(0xDF, 0x1E),
- _INIT_DCS_CMD(0xE0, 0x20),
- _INIT_DCS_CMD(0xE1, 0x23),
- _INIT_DCS_CMD(0xE2, 0x07),
- _INIT_DCS_CMD(0X11),
- _INIT_DELAY_CMD(120),
- _INIT_DCS_CMD(0X29),
- _INIT_DELAY_CMD(80),
- {},
-};
+int boe_init(struct mipi_dsi_device *dsi)
+{
+ msleep(24);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x05);
+ mipi_dsi_dcs_write_seq(dsi, 0xB1, 0xE5);
+ mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x52);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x88);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x8B);
+ mipi_dsi_dcs_write_seq(dsi, 0xBF, 0x1A);
+ mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x0F);
+ mipi_dsi_dcs_write_seq(dsi, 0xC2, 0x0C);
+ mipi_dsi_dcs_write_seq(dsi, 0xC3, 0x02);
+ mipi_dsi_dcs_write_seq(dsi, 0xC4, 0x0C);
+ mipi_dsi_dcs_write_seq(dsi, 0xC5, 0x02);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xE0, 0x26);
+ mipi_dsi_dcs_write_seq(dsi, 0xE1, 0x26);
+ mipi_dsi_dcs_write_seq(dsi, 0xDC, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xDD, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xCC, 0x26);
+ mipi_dsi_dcs_write_seq(dsi, 0xCD, 0x26);
+ mipi_dsi_dcs_write_seq(dsi, 0xC8, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xD2, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0xD3, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0xE6, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0xE7, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0xC4, 0x09);
+ mipi_dsi_dcs_write_seq(dsi, 0xC5, 0x09);
+ mipi_dsi_dcs_write_seq(dsi, 0xD8, 0x0A);
+ mipi_dsi_dcs_write_seq(dsi, 0xD9, 0x0A);
+ mipi_dsi_dcs_write_seq(dsi, 0xC2, 0x0B);
+ mipi_dsi_dcs_write_seq(dsi, 0xC3, 0x0B);
+ mipi_dsi_dcs_write_seq(dsi, 0xD6, 0x0C);
+ mipi_dsi_dcs_write_seq(dsi, 0xD7, 0x0C);
+ mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x05);
+ mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x05);
+ mipi_dsi_dcs_write_seq(dsi, 0xD4, 0x06);
+ mipi_dsi_dcs_write_seq(dsi, 0xD5, 0x06);
+ mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x07);
+ mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x07);
+ mipi_dsi_dcs_write_seq(dsi, 0xDE, 0x08);
+ mipi_dsi_dcs_write_seq(dsi, 0xDF, 0x08);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x02);
+ mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x0D);
+ mipi_dsi_dcs_write_seq(dsi, 0xC2, 0x17);
+ mipi_dsi_dcs_write_seq(dsi, 0xC3, 0x26);
+ mipi_dsi_dcs_write_seq(dsi, 0xC4, 0x31);
+ mipi_dsi_dcs_write_seq(dsi, 0xC5, 0x1C);
+ mipi_dsi_dcs_write_seq(dsi, 0xC6, 0x2C);
+ mipi_dsi_dcs_write_seq(dsi, 0xC7, 0x33);
+ mipi_dsi_dcs_write_seq(dsi, 0xC8, 0x31);
+ mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x37);
+ mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x37);
+ mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x37);
+ mipi_dsi_dcs_write_seq(dsi, 0xCC, 0x39);
+ mipi_dsi_dcs_write_seq(dsi, 0xCD, 0x2E);
+ mipi_dsi_dcs_write_seq(dsi, 0xCE, 0x2F);
+ mipi_dsi_dcs_write_seq(dsi, 0xCF, 0x2F);
+ mipi_dsi_dcs_write_seq(dsi, 0xD0, 0x07);
+ mipi_dsi_dcs_write_seq(dsi, 0xD2, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xD3, 0x0D);
+ mipi_dsi_dcs_write_seq(dsi, 0xD4, 0x17);
+ mipi_dsi_dcs_write_seq(dsi, 0xD5, 0x26);
+ mipi_dsi_dcs_write_seq(dsi, 0xD6, 0x31);
+ mipi_dsi_dcs_write_seq(dsi, 0xD7, 0x3F);
+ mipi_dsi_dcs_write_seq(dsi, 0xD8, 0x3F);
+ mipi_dsi_dcs_write_seq(dsi, 0xD9, 0x3F);
+ mipi_dsi_dcs_write_seq(dsi, 0xDA, 0x3F);
+ mipi_dsi_dcs_write_seq(dsi, 0xDB, 0x37);
+ mipi_dsi_dcs_write_seq(dsi, 0xDC, 0x37);
+ mipi_dsi_dcs_write_seq(dsi, 0xDD, 0x37);
+ mipi_dsi_dcs_write_seq(dsi, 0xDE, 0x39);
+ mipi_dsi_dcs_write_seq(dsi, 0xDF, 0x2E);
+ mipi_dsi_dcs_write_seq(dsi, 0xE0, 0x2F);
+ mipi_dsi_dcs_write_seq(dsi, 0xE1, 0x2F);
+ mipi_dsi_dcs_write_seq(dsi, 0xE2, 0x07);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0xC8, 0x0B);
+ mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x07);
+ mipi_dsi_dcs_write_seq(dsi, 0xC3, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xE7, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xC5, 0x2A);
+ mipi_dsi_dcs_write_seq(dsi, 0xDE, 0x2A);
+ mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x43);
+ mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x07);
+ mipi_dsi_dcs_write_seq(dsi, 0xE4, 0xC0);
+ mipi_dsi_dcs_write_seq(dsi, 0xE5, 0x0D);
+ mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x06);
+ mipi_dsi_dcs_write_seq(dsi, 0xB8, 0xA5);
+ mipi_dsi_dcs_write_seq(dsi, 0xC0, 0xA5);
+ mipi_dsi_dcs_write_seq(dsi, 0xC7, 0x0F);
+ mipi_dsi_dcs_write_seq(dsi, 0xD5, 0x32);
+ mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xBC, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x07);
+ mipi_dsi_dcs_write_seq(dsi, 0xB1, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xB2, 0x02);
+ mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x0F);
+ mipi_dsi_dcs_write_seq(dsi, 0xB4, 0x25);
+ mipi_dsi_dcs_write_seq(dsi, 0xB5, 0x39);
+ mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x4E);
+ mipi_dsi_dcs_write_seq(dsi, 0xB7, 0x72);
+ mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x97);
+ mipi_dsi_dcs_write_seq(dsi, 0xB9, 0xDC);
+ mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x22);
+ mipi_dsi_dcs_write_seq(dsi, 0xBB, 0xA4);
+ mipi_dsi_dcs_write_seq(dsi, 0xBC, 0x2B);
+ mipi_dsi_dcs_write_seq(dsi, 0xBD, 0x2F);
+ mipi_dsi_dcs_write_seq(dsi, 0xBE, 0xA9);
+ mipi_dsi_dcs_write_seq(dsi, 0xBF, 0x25);
+ mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x61);
+ mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x97);
+ mipi_dsi_dcs_write_seq(dsi, 0xC2, 0xB2);
+ mipi_dsi_dcs_write_seq(dsi, 0xC3, 0xCD);
+ mipi_dsi_dcs_write_seq(dsi, 0xC4, 0xD9);
+ mipi_dsi_dcs_write_seq(dsi, 0xC5, 0xE7);
+ mipi_dsi_dcs_write_seq(dsi, 0xC6, 0xF4);
+ mipi_dsi_dcs_write_seq(dsi, 0xC7, 0xFA);
+ mipi_dsi_dcs_write_seq(dsi, 0xC8, 0xFC);
+ mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x16);
+ mipi_dsi_dcs_write_seq(dsi, 0xCC, 0xAF);
+ mipi_dsi_dcs_write_seq(dsi, 0xCD, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0xCE, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x08);
+ mipi_dsi_dcs_write_seq(dsi, 0xB1, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0xB2, 0x05);
+ mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x11);
+ mipi_dsi_dcs_write_seq(dsi, 0xB4, 0x24);
+ mipi_dsi_dcs_write_seq(dsi, 0xB5, 0x39);
+ mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x4F);
+ mipi_dsi_dcs_write_seq(dsi, 0xB7, 0x72);
+ mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x98);
+ mipi_dsi_dcs_write_seq(dsi, 0xB9, 0xDC);
+ mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x23);
+ mipi_dsi_dcs_write_seq(dsi, 0xBB, 0xA6);
+ mipi_dsi_dcs_write_seq(dsi, 0xBC, 0x2C);
+ mipi_dsi_dcs_write_seq(dsi, 0xBD, 0x30);
+ mipi_dsi_dcs_write_seq(dsi, 0xBE, 0xAA);
+ mipi_dsi_dcs_write_seq(dsi, 0xBF, 0x26);
+ mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x62);
+ mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x9B);
+ mipi_dsi_dcs_write_seq(dsi, 0xC2, 0xB5);
+ mipi_dsi_dcs_write_seq(dsi, 0xC3, 0xCF);
+ mipi_dsi_dcs_write_seq(dsi, 0xC4, 0xDB);
+ mipi_dsi_dcs_write_seq(dsi, 0xC5, 0xE8);
+ mipi_dsi_dcs_write_seq(dsi, 0xC6, 0xF5);
+ mipi_dsi_dcs_write_seq(dsi, 0xC7, 0xFA);
+ mipi_dsi_dcs_write_seq(dsi, 0xC8, 0xFC);
+ mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x16);
+ mipi_dsi_dcs_write_seq(dsi, 0xCC, 0xAF);
+ mipi_dsi_dcs_write_seq(dsi, 0xCD, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0xCE, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x09);
+ mipi_dsi_dcs_write_seq(dsi, 0xB1, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0xB2, 0x02);
+ mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x16);
+ mipi_dsi_dcs_write_seq(dsi, 0xB4, 0x24);
+ mipi_dsi_dcs_write_seq(dsi, 0xB5, 0x3B);
+ mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x4F);
+ mipi_dsi_dcs_write_seq(dsi, 0xB7, 0x73);
+ mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x99);
+ mipi_dsi_dcs_write_seq(dsi, 0xB9, 0xE0);
+ mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x26);
+ mipi_dsi_dcs_write_seq(dsi, 0xBB, 0xAD);
+ mipi_dsi_dcs_write_seq(dsi, 0xBC, 0x36);
+ mipi_dsi_dcs_write_seq(dsi, 0xBD, 0x3A);
+ mipi_dsi_dcs_write_seq(dsi, 0xBE, 0xAE);
+ mipi_dsi_dcs_write_seq(dsi, 0xBF, 0x2A);
+ mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x66);
+ mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x9E);
+ mipi_dsi_dcs_write_seq(dsi, 0xC2, 0xB8);
+ mipi_dsi_dcs_write_seq(dsi, 0xC3, 0xD1);
+ mipi_dsi_dcs_write_seq(dsi, 0xC4, 0xDD);
+ mipi_dsi_dcs_write_seq(dsi, 0xC5, 0xE9);
+ mipi_dsi_dcs_write_seq(dsi, 0xC6, 0xF6);
+ mipi_dsi_dcs_write_seq(dsi, 0xC7, 0xFA);
+ mipi_dsi_dcs_write_seq(dsi, 0xC8, 0xFC);
+ mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x16);
+ mipi_dsi_dcs_write_seq(dsi, 0xCC, 0xAF);
+ mipi_dsi_dcs_write_seq(dsi, 0xCD, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0xCE, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x0A);
+ mipi_dsi_dcs_write_seq(dsi, 0xB1, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xB2, 0x02);
+ mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x0F);
+ mipi_dsi_dcs_write_seq(dsi, 0xB4, 0x25);
+ mipi_dsi_dcs_write_seq(dsi, 0xB5, 0x39);
+ mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x4E);
+ mipi_dsi_dcs_write_seq(dsi, 0xB7, 0x72);
+ mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x97);
+ mipi_dsi_dcs_write_seq(dsi, 0xB9, 0xDC);
+ mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x22);
+ mipi_dsi_dcs_write_seq(dsi, 0xBB, 0xA4);
+ mipi_dsi_dcs_write_seq(dsi, 0xBC, 0x2B);
+ mipi_dsi_dcs_write_seq(dsi, 0xBD, 0x2F);
+ mipi_dsi_dcs_write_seq(dsi, 0xBE, 0xA9);
+ mipi_dsi_dcs_write_seq(dsi, 0xBF, 0x25);
+ mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x61);
+ mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x97);
+ mipi_dsi_dcs_write_seq(dsi, 0xC2, 0xB2);
+ mipi_dsi_dcs_write_seq(dsi, 0xC3, 0xCD);
+ mipi_dsi_dcs_write_seq(dsi, 0xC4, 0xD9);
+ mipi_dsi_dcs_write_seq(dsi, 0xC5, 0xE7);
+ mipi_dsi_dcs_write_seq(dsi, 0xC6, 0xF4);
+ mipi_dsi_dcs_write_seq(dsi, 0xC7, 0xFA);
+ mipi_dsi_dcs_write_seq(dsi, 0xC8, 0xFC);
+ mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x16);
+ mipi_dsi_dcs_write_seq(dsi, 0xCC, 0xAF);
+ mipi_dsi_dcs_write_seq(dsi, 0xCD, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0xCE, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x0B);
+ mipi_dsi_dcs_write_seq(dsi, 0xB1, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0xB2, 0x05);
+ mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x11);
+ mipi_dsi_dcs_write_seq(dsi, 0xB4, 0x24);
+ mipi_dsi_dcs_write_seq(dsi, 0xB5, 0x39);
+ mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x4F);
+ mipi_dsi_dcs_write_seq(dsi, 0xB7, 0x72);
+ mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x98);
+ mipi_dsi_dcs_write_seq(dsi, 0xB9, 0xDC);
+ mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x23);
+ mipi_dsi_dcs_write_seq(dsi, 0xBB, 0xA6);
+ mipi_dsi_dcs_write_seq(dsi, 0xBC, 0x2C);
+ mipi_dsi_dcs_write_seq(dsi, 0xBD, 0x30);
+ mipi_dsi_dcs_write_seq(dsi, 0xBE, 0xAA);
+ mipi_dsi_dcs_write_seq(dsi, 0xBF, 0x26);
+ mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x62);
+ mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x9B);
+ mipi_dsi_dcs_write_seq(dsi, 0xC2, 0xB5);
+ mipi_dsi_dcs_write_seq(dsi, 0xC3, 0xCF);
+ mipi_dsi_dcs_write_seq(dsi, 0xC4, 0xDB);
+ mipi_dsi_dcs_write_seq(dsi, 0xC5, 0xE8);
+ mipi_dsi_dcs_write_seq(dsi, 0xC6, 0xF5);
+ mipi_dsi_dcs_write_seq(dsi, 0xC7, 0xFA);
+ mipi_dsi_dcs_write_seq(dsi, 0xC8, 0xFC);
+ mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x16);
+ mipi_dsi_dcs_write_seq(dsi, 0xCC, 0xAF);
+ mipi_dsi_dcs_write_seq(dsi, 0xCD, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0xCE, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x0C);
+ mipi_dsi_dcs_write_seq(dsi, 0xB1, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0xB2, 0x02);
+ mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x16);
+ mipi_dsi_dcs_write_seq(dsi, 0xB4, 0x24);
+ mipi_dsi_dcs_write_seq(dsi, 0xB5, 0x3B);
+ mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x4F);
+ mipi_dsi_dcs_write_seq(dsi, 0xB7, 0x73);
+ mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x99);
+ mipi_dsi_dcs_write_seq(dsi, 0xB9, 0xE0);
+ mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x26);
+ mipi_dsi_dcs_write_seq(dsi, 0xBB, 0xAD);
+ mipi_dsi_dcs_write_seq(dsi, 0xBC, 0x36);
+ mipi_dsi_dcs_write_seq(dsi, 0xBD, 0x3A);
+ mipi_dsi_dcs_write_seq(dsi, 0xBE, 0xAE);
+ mipi_dsi_dcs_write_seq(dsi, 0xBF, 0x2A);
+ mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x66);
+ mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x9E);
+ mipi_dsi_dcs_write_seq(dsi, 0xC2, 0xB8);
+ mipi_dsi_dcs_write_seq(dsi, 0xC3, 0xD1);
+ mipi_dsi_dcs_write_seq(dsi, 0xC4, 0xDD);
+ mipi_dsi_dcs_write_seq(dsi, 0xC5, 0xE9);
+ mipi_dsi_dcs_write_seq(dsi, 0xC6, 0xF6);
+ mipi_dsi_dcs_write_seq(dsi, 0xC7, 0xFA);
+ mipi_dsi_dcs_write_seq(dsi, 0xC8, 0xFC);
+ mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x16);
+ mipi_dsi_dcs_write_seq(dsi, 0xCC, 0xAF);
+ mipi_dsi_dcs_write_seq(dsi, 0xCD, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0xCE, 0xFF);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x08);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x68);
+ msleep(150);

-static inline struct boe_panel *to_boe_panel(struct drm_panel *panel)
+ return 0;
+}
+
+static int auo_kd101n80_45na_init(struct mipi_dsi_device *dsi)
{
- return container_of(panel, struct boe_panel, base);
+ int ret;
+
+ msleep(24);
+ ret = mipi_dsi_dcs_exit_sleep_mode(dsi);
+ if (ret)
+ return ret;
+ msleep(120);
+ ret = mipi_dsi_dcs_set_display_on(dsi);
+ if (ret)
+ return ret;
+ msleep(120);
+
+ return 0;
}

-static int boe_panel_init_dcs_cmd(struct boe_panel *boe)
+static int auo_b101uan08_3_init(struct mipi_dsi_device *dsi)
{
- struct mipi_dsi_device *dsi = boe->dsi;
- struct drm_panel *panel = &boe->base;
- int i, err = 0;
-
- if (boe->desc->init_cmds) {
- const struct panel_init_cmd *init_cmds = boe->desc->init_cmds;
-
- for (i = 0; init_cmds[i].len != 0; i++) {
- const struct panel_init_cmd *cmd = &init_cmds[i];
-
- switch (cmd->type) {
- case DELAY_CMD:
- msleep(cmd->data[0]);
- err = 0;
- break;
-
- case INIT_DCS_CMD:
- err = mipi_dsi_dcs_write(dsi, cmd->data[0],
- cmd->len <= 1 ? NULL :
- &cmd->data[1],
- cmd->len - 1);
- break;
-
- default:
- err = -EINVAL;
- }
-
- if (err < 0) {
- dev_err(panel->dev,
- "failed to write command %u\n", i);
- return err;
- }
- }
- }
+ msleep(24);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x48);
+ mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x48);
+ mipi_dsi_dcs_write_seq(dsi, 0xC2, 0x47);
+ mipi_dsi_dcs_write_seq(dsi, 0xC3, 0x47);
+ mipi_dsi_dcs_write_seq(dsi, 0xC4, 0x46);
+ mipi_dsi_dcs_write_seq(dsi, 0xC5, 0x46);
+ mipi_dsi_dcs_write_seq(dsi, 0xC6, 0x45);
+ mipi_dsi_dcs_write_seq(dsi, 0xC7, 0x45);
+ mipi_dsi_dcs_write_seq(dsi, 0xC8, 0x64);
+ mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x64);
+ mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x4F);
+ mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x4F);
+ mipi_dsi_dcs_write_seq(dsi, 0xCC, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0xCD, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0xCE, 0x66);
+ mipi_dsi_dcs_write_seq(dsi, 0xCF, 0x66);
+ mipi_dsi_dcs_write_seq(dsi, 0xD0, 0x4F);
+ mipi_dsi_dcs_write_seq(dsi, 0xD1, 0x4F);
+ mipi_dsi_dcs_write_seq(dsi, 0xD2, 0x41);
+ mipi_dsi_dcs_write_seq(dsi, 0xD3, 0x41);
+ mipi_dsi_dcs_write_seq(dsi, 0xD4, 0x48);
+ mipi_dsi_dcs_write_seq(dsi, 0xD5, 0x48);
+ mipi_dsi_dcs_write_seq(dsi, 0xD6, 0x47);
+ mipi_dsi_dcs_write_seq(dsi, 0xD7, 0x47);
+ mipi_dsi_dcs_write_seq(dsi, 0xD8, 0x46);
+ mipi_dsi_dcs_write_seq(dsi, 0xD9, 0x46);
+ mipi_dsi_dcs_write_seq(dsi, 0xDA, 0x45);
+ mipi_dsi_dcs_write_seq(dsi, 0xDB, 0x45);
+ mipi_dsi_dcs_write_seq(dsi, 0xDC, 0x64);
+ mipi_dsi_dcs_write_seq(dsi, 0xDD, 0x64);
+ mipi_dsi_dcs_write_seq(dsi, 0xDE, 0x4F);
+ mipi_dsi_dcs_write_seq(dsi, 0xDF, 0x4F);
+ mipi_dsi_dcs_write_seq(dsi, 0xE0, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0xE1, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0xE2, 0x66);
+ mipi_dsi_dcs_write_seq(dsi, 0xE3, 0x66);
+ mipi_dsi_dcs_write_seq(dsi, 0xE4, 0x4F);
+ mipi_dsi_dcs_write_seq(dsi, 0xE5, 0x4F);
+ mipi_dsi_dcs_write_seq(dsi, 0xE6, 0x41);
+ mipi_dsi_dcs_write_seq(dsi, 0xE7, 0x41);
+ msleep(150);
+
+ return 0;
+}
+
+static int starry_qfh032011_53g_init(struct mipi_dsi_device *dsi)
+{
+ int ret;
+
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xC3, 0x4F);
+ mipi_dsi_dcs_write_seq(dsi, 0xC4, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0xC5, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0xC6, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0xC7, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0xC8, 0x4D);
+ mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x52);
+ mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x51);
+ mipi_dsi_dcs_write_seq(dsi, 0xCD, 0x5D);
+ mipi_dsi_dcs_write_seq(dsi, 0xCE, 0x5B);
+ mipi_dsi_dcs_write_seq(dsi, 0xCF, 0x4B);
+ mipi_dsi_dcs_write_seq(dsi, 0xD0, 0x49);
+ mipi_dsi_dcs_write_seq(dsi, 0xD1, 0x47);
+ mipi_dsi_dcs_write_seq(dsi, 0xD2, 0x45);
+ mipi_dsi_dcs_write_seq(dsi, 0xD3, 0x41);
+ mipi_dsi_dcs_write_seq(dsi, 0xD7, 0x50);
+ mipi_dsi_dcs_write_seq(dsi, 0xD8, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0xD9, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0xDA, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0xDB, 0x40);
+ mipi_dsi_dcs_write_seq(dsi, 0xDC, 0x4E);
+ mipi_dsi_dcs_write_seq(dsi, 0xDD, 0x52);
+ mipi_dsi_dcs_write_seq(dsi, 0xDE, 0x51);
+ mipi_dsi_dcs_write_seq(dsi, 0xE1, 0x5E);
+ mipi_dsi_dcs_write_seq(dsi, 0xE2, 0x5C);
+ mipi_dsi_dcs_write_seq(dsi, 0xE3, 0x4C);
+ mipi_dsi_dcs_write_seq(dsi, 0xE4, 0x4A);
+ mipi_dsi_dcs_write_seq(dsi, 0xE5, 0x48);
+ mipi_dsi_dcs_write_seq(dsi, 0xE6, 0x46);
+ mipi_dsi_dcs_write_seq(dsi, 0xE7, 0x42);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0xBE, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0xCC, 0x44);
+ mipi_dsi_dcs_write_seq(dsi, 0xC8, 0x07);
+ mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x05);
+ mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x42);
+ mipi_dsi_dcs_write_seq(dsi, 0xCD, 0x3E);
+ mipi_dsi_dcs_write_seq(dsi, 0xCF, 0x60);
+ mipi_dsi_dcs_write_seq(dsi, 0xD2, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0xD3, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0xD4, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xD5, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xD6, 0x03);
+ mipi_dsi_dcs_write_seq(dsi, 0xD7, 0x04);
+ mipi_dsi_dcs_write_seq(dsi, 0xD9, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xDB, 0x01);
+ mipi_dsi_dcs_write_seq(dsi, 0xE4, 0xF0);
+ mipi_dsi_dcs_write_seq(dsi, 0xE5, 0x0A);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xCC, 0x08);
+ mipi_dsi_dcs_write_seq(dsi, 0xC2, 0x08);
+ mipi_dsi_dcs_write_seq(dsi, 0xC4, 0x10);
+ mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x02);
+ mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x0A);
+ mipi_dsi_dcs_write_seq(dsi, 0xC2, 0x20);
+ mipi_dsi_dcs_write_seq(dsi, 0xC3, 0x24);
+ mipi_dsi_dcs_write_seq(dsi, 0xC4, 0x23);
+ mipi_dsi_dcs_write_seq(dsi, 0xC5, 0x29);
+ mipi_dsi_dcs_write_seq(dsi, 0xC6, 0x23);
+ mipi_dsi_dcs_write_seq(dsi, 0xC7, 0x1C);
+ mipi_dsi_dcs_write_seq(dsi, 0xC8, 0x19);
+ mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x17);
+ mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x17);
+ mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x18);
+ mipi_dsi_dcs_write_seq(dsi, 0xCC, 0x1A);
+ mipi_dsi_dcs_write_seq(dsi, 0xCD, 0x1E);
+ mipi_dsi_dcs_write_seq(dsi, 0xCE, 0x20);
+ mipi_dsi_dcs_write_seq(dsi, 0xCF, 0x23);
+ mipi_dsi_dcs_write_seq(dsi, 0xD0, 0x07);
+ mipi_dsi_dcs_write_seq(dsi, 0xD1, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xD2, 0x00);
+ mipi_dsi_dcs_write_seq(dsi, 0xD3, 0x0A);
+ mipi_dsi_dcs_write_seq(dsi, 0xD4, 0x13);
+ mipi_dsi_dcs_write_seq(dsi, 0xD5, 0x1C);
+ mipi_dsi_dcs_write_seq(dsi, 0xD6, 0x1A);
+ mipi_dsi_dcs_write_seq(dsi, 0xD7, 0x13);
+ mipi_dsi_dcs_write_seq(dsi, 0xD8, 0x17);
+ mipi_dsi_dcs_write_seq(dsi, 0xD9, 0x1C);
+ mipi_dsi_dcs_write_seq(dsi, 0xDA, 0x19);
+ mipi_dsi_dcs_write_seq(dsi, 0xDB, 0x17);
+ mipi_dsi_dcs_write_seq(dsi, 0xDC, 0x17);
+ mipi_dsi_dcs_write_seq(dsi, 0xDD, 0x18);
+ mipi_dsi_dcs_write_seq(dsi, 0xDE, 0x1A);
+ mipi_dsi_dcs_write_seq(dsi, 0xDF, 0x1E);
+ mipi_dsi_dcs_write_seq(dsi, 0xE0, 0x20);
+ mipi_dsi_dcs_write_seq(dsi, 0xE1, 0x23);
+ mipi_dsi_dcs_write_seq(dsi, 0xE2, 0x07);
+
+ ret = mipi_dsi_dcs_exit_sleep_mode(dsi);
+ if (ret)
+ return ret;
+ msleep(120);
+ ret = mipi_dsi_dcs_set_display_on(dsi);
+ if (ret)
+ return ret;
+ msleep(80);
+
return 0;
}

+static inline struct boe_panel *to_boe_panel(struct drm_panel *panel)
+{
+ return container_of(panel, struct boe_panel, base);
+}
+
static int boe_panel_enter_sleep_mode(struct boe_panel *boe)
{
struct mipi_dsi_device *dsi = boe->dsi;
@@ -1373,10 +1349,12 @@ static int boe_panel_prepare(struct drm_panel *panel)
gpiod_set_value(boe->enable_gpio, 1);
usleep_range(6000, 10000);

- ret = boe_panel_init_dcs_cmd(boe);
- if (ret < 0) {
- dev_err(panel->dev, "failed to init panel: %d\n", ret);
- goto poweroff;
+ if (boe->desc->init) {
+ ret = boe->desc->init(boe->dsi);
+ if (ret < 0) {
+ dev_err(panel->dev, "failed to init panel: %d\n", ret);
+ goto poweroff;
+ }
}

boe->prepared = true;
@@ -1427,7 +1405,7 @@ static const struct panel_desc boe_tv110c9m_desc = {
| MIPI_DSI_MODE_VIDEO_HSE
| MIPI_DSI_CLOCK_NON_CONTINUOUS
| MIPI_DSI_MODE_VIDEO_BURST,
- .init_cmds = boe_tv110c9m_init_cmd,
+ .init = boe_tv110c9m_init,
};

static const struct drm_display_mode inx_hj110iz_default_mode = {
@@ -1456,7 +1434,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_hj110iz_init_cmd,
+ .init = inx_hj110iz_init,
};

static const struct drm_display_mode boe_tv101wum_nl6_default_mode = {
@@ -1482,7 +1460,7 @@ static const struct panel_desc boe_tv101wum_nl6_desc = {
.format = MIPI_DSI_FMT_RGB888,
.mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE |
MIPI_DSI_MODE_LPM,
- .init_cmds = boe_init_cmd,
+ .init = boe_init,
.discharge_on_disable = false,
};

@@ -1509,7 +1487,7 @@ static const struct panel_desc auo_kd101n80_45na_desc = {
.format = MIPI_DSI_FMT_RGB888,
.mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE |
MIPI_DSI_MODE_LPM,
- .init_cmds = auo_kd101n80_45na_init_cmd,
+ .init = auo_kd101n80_45na_init,
.discharge_on_disable = true,
};

@@ -1537,7 +1515,7 @@ static const struct panel_desc boe_tv101wum_n53_desc = {
.format = MIPI_DSI_FMT_RGB888,
.mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE |
MIPI_DSI_MODE_LPM,
- .init_cmds = boe_init_cmd,
+ .init = boe_init,
};

static const struct drm_display_mode auo_b101uan08_3_default_mode = {
@@ -1564,7 +1542,7 @@ static const struct panel_desc auo_b101uan08_3_desc = {
.format = MIPI_DSI_FMT_RGB888,
.mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE |
MIPI_DSI_MODE_LPM,
- .init_cmds = auo_b101uan08_3_init_cmd,
+ .init = auo_b101uan08_3_init,
};

static const struct drm_display_mode boe_tv105wum_nw0_default_mode = {
@@ -1591,7 +1569,7 @@ static const struct panel_desc boe_tv105wum_nw0_desc = {
.format = MIPI_DSI_FMT_RGB888,
.mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE |
MIPI_DSI_MODE_LPM,
- .init_cmds = boe_init_cmd,
+ .init = boe_init,
};

static const struct drm_display_mode starry_qfh032011_53g_default_mode = {
@@ -1617,7 +1595,7 @@ static const struct panel_desc starry_qfh032011_53g_desc = {
.format = MIPI_DSI_FMT_RGB888,
.mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE |
MIPI_DSI_MODE_LPM,
- .init_cmds = starry_qfh032011_53g_init_cmd,
+ .init = starry_qfh032011_53g_init,
};

static int boe_panel_get_modes(struct drm_panel *panel,

--
2.34.1



2023-06-15 22:33:12

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 1/2] drm/panel: boe-tv101wum-nl6: Drop macros and open code sequences

Hi Linus,

kernel test robot noticed the following build warnings:

[auto build test WARNING on ac9a78681b921877518763ba0e89202254349d1b]

url: https://github.com/intel-lab-lkp/linux/commits/Linus-Walleij/drm-panel-boe-tv101wum-nl6-Drop-macros-and-open-code-sequences/20230616-042312
base: ac9a78681b921877518763ba0e89202254349d1b
patch link: https://lore.kernel.org/r/20230615-fix-boe-tv101wum-nl6-v1-1-8ac378405fb7%40linaro.org
patch subject: [PATCH 1/2] drm/panel: boe-tv101wum-nl6: Drop macros and open code sequences
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20230616/[email protected]/config)
compiler: alpha-linux-gcc (GCC) 12.3.0
reproduce (this is a W=1 build):
mkdir -p ~/bin
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout ac9a78681b921877518763ba0e89202254349d1b
b4 shazam https://lore.kernel.org/r/[email protected]
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.3.0 ~/bin/make.cross W=1 O=build_dir ARCH=alpha olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.3.0 ~/bin/make.cross W=1 O=build_dir ARCH=alpha SHELL=/bin/bash drivers/gpu/drm/panel/

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c:776:5: warning: no previous prototype for 'boe_init' [-Wmissing-prototypes]
776 | int boe_init(struct mipi_dsi_device *dsi)
| ^~~~~~~~


vim +/boe_init +776 drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c

775
> 776 int boe_init(struct mipi_dsi_device *dsi)
777 {
778 msleep(24);
779 mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x05);
780 mipi_dsi_dcs_write_seq(dsi, 0xB1, 0xE5);
781 mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x52);
782 mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x00);
783 mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x88);
784 mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x04);
785 mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x00);
786 mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x00);
787 mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x03);
788 mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x8B);
789 mipi_dsi_dcs_write_seq(dsi, 0xBF, 0x1A);
790 mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x0F);
791 mipi_dsi_dcs_write_seq(dsi, 0xC2, 0x0C);
792 mipi_dsi_dcs_write_seq(dsi, 0xC3, 0x02);
793 mipi_dsi_dcs_write_seq(dsi, 0xC4, 0x0C);
794 mipi_dsi_dcs_write_seq(dsi, 0xC5, 0x02);
795 mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x01);
796 mipi_dsi_dcs_write_seq(dsi, 0xE0, 0x26);
797 mipi_dsi_dcs_write_seq(dsi, 0xE1, 0x26);
798 mipi_dsi_dcs_write_seq(dsi, 0xDC, 0x00);
799 mipi_dsi_dcs_write_seq(dsi, 0xDD, 0x00);
800 mipi_dsi_dcs_write_seq(dsi, 0xCC, 0x26);
801 mipi_dsi_dcs_write_seq(dsi, 0xCD, 0x26);
802 mipi_dsi_dcs_write_seq(dsi, 0xC8, 0x00);
803 mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x00);
804 mipi_dsi_dcs_write_seq(dsi, 0xD2, 0x03);
805 mipi_dsi_dcs_write_seq(dsi, 0xD3, 0x03);
806 mipi_dsi_dcs_write_seq(dsi, 0xE6, 0x04);
807 mipi_dsi_dcs_write_seq(dsi, 0xE7, 0x04);
808 mipi_dsi_dcs_write_seq(dsi, 0xC4, 0x09);
809 mipi_dsi_dcs_write_seq(dsi, 0xC5, 0x09);
810 mipi_dsi_dcs_write_seq(dsi, 0xD8, 0x0A);
811 mipi_dsi_dcs_write_seq(dsi, 0xD9, 0x0A);
812 mipi_dsi_dcs_write_seq(dsi, 0xC2, 0x0B);
813 mipi_dsi_dcs_write_seq(dsi, 0xC3, 0x0B);
814 mipi_dsi_dcs_write_seq(dsi, 0xD6, 0x0C);
815 mipi_dsi_dcs_write_seq(dsi, 0xD7, 0x0C);
816 mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x05);
817 mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x05);
818 mipi_dsi_dcs_write_seq(dsi, 0xD4, 0x06);
819 mipi_dsi_dcs_write_seq(dsi, 0xD5, 0x06);
820 mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x07);
821 mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x07);
822 mipi_dsi_dcs_write_seq(dsi, 0xDE, 0x08);
823 mipi_dsi_dcs_write_seq(dsi, 0xDF, 0x08);
824 mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x02);
825 mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x00);
826 mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x0D);
827 mipi_dsi_dcs_write_seq(dsi, 0xC2, 0x17);
828 mipi_dsi_dcs_write_seq(dsi, 0xC3, 0x26);
829 mipi_dsi_dcs_write_seq(dsi, 0xC4, 0x31);
830 mipi_dsi_dcs_write_seq(dsi, 0xC5, 0x1C);
831 mipi_dsi_dcs_write_seq(dsi, 0xC6, 0x2C);
832 mipi_dsi_dcs_write_seq(dsi, 0xC7, 0x33);
833 mipi_dsi_dcs_write_seq(dsi, 0xC8, 0x31);
834 mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x37);
835 mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x37);
836 mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x37);
837 mipi_dsi_dcs_write_seq(dsi, 0xCC, 0x39);
838 mipi_dsi_dcs_write_seq(dsi, 0xCD, 0x2E);
839 mipi_dsi_dcs_write_seq(dsi, 0xCE, 0x2F);
840 mipi_dsi_dcs_write_seq(dsi, 0xCF, 0x2F);
841 mipi_dsi_dcs_write_seq(dsi, 0xD0, 0x07);
842 mipi_dsi_dcs_write_seq(dsi, 0xD2, 0x00);
843 mipi_dsi_dcs_write_seq(dsi, 0xD3, 0x0D);
844 mipi_dsi_dcs_write_seq(dsi, 0xD4, 0x17);
845 mipi_dsi_dcs_write_seq(dsi, 0xD5, 0x26);
846 mipi_dsi_dcs_write_seq(dsi, 0xD6, 0x31);
847 mipi_dsi_dcs_write_seq(dsi, 0xD7, 0x3F);
848 mipi_dsi_dcs_write_seq(dsi, 0xD8, 0x3F);
849 mipi_dsi_dcs_write_seq(dsi, 0xD9, 0x3F);
850 mipi_dsi_dcs_write_seq(dsi, 0xDA, 0x3F);
851 mipi_dsi_dcs_write_seq(dsi, 0xDB, 0x37);
852 mipi_dsi_dcs_write_seq(dsi, 0xDC, 0x37);
853 mipi_dsi_dcs_write_seq(dsi, 0xDD, 0x37);
854 mipi_dsi_dcs_write_seq(dsi, 0xDE, 0x39);
855 mipi_dsi_dcs_write_seq(dsi, 0xDF, 0x2E);
856 mipi_dsi_dcs_write_seq(dsi, 0xE0, 0x2F);
857 mipi_dsi_dcs_write_seq(dsi, 0xE1, 0x2F);
858 mipi_dsi_dcs_write_seq(dsi, 0xE2, 0x07);
859 mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x03);
860 mipi_dsi_dcs_write_seq(dsi, 0xC8, 0x0B);
861 mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x07);
862 mipi_dsi_dcs_write_seq(dsi, 0xC3, 0x00);
863 mipi_dsi_dcs_write_seq(dsi, 0xE7, 0x00);
864 mipi_dsi_dcs_write_seq(dsi, 0xC5, 0x2A);
865 mipi_dsi_dcs_write_seq(dsi, 0xDE, 0x2A);
866 mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x43);
867 mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x07);
868 mipi_dsi_dcs_write_seq(dsi, 0xE4, 0xC0);
869 mipi_dsi_dcs_write_seq(dsi, 0xE5, 0x0D);
870 mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x00);
871 mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x06);
872 mipi_dsi_dcs_write_seq(dsi, 0xB8, 0xA5);
873 mipi_dsi_dcs_write_seq(dsi, 0xC0, 0xA5);
874 mipi_dsi_dcs_write_seq(dsi, 0xC7, 0x0F);
875 mipi_dsi_dcs_write_seq(dsi, 0xD5, 0x32);
876 mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x00);
877 mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x00);
878 mipi_dsi_dcs_write_seq(dsi, 0xBC, 0x00);
879 mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x07);
880 mipi_dsi_dcs_write_seq(dsi, 0xB1, 0x00);
881 mipi_dsi_dcs_write_seq(dsi, 0xB2, 0x02);
882 mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x0F);
883 mipi_dsi_dcs_write_seq(dsi, 0xB4, 0x25);
884 mipi_dsi_dcs_write_seq(dsi, 0xB5, 0x39);
885 mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x4E);
886 mipi_dsi_dcs_write_seq(dsi, 0xB7, 0x72);
887 mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x97);
888 mipi_dsi_dcs_write_seq(dsi, 0xB9, 0xDC);
889 mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x22);
890 mipi_dsi_dcs_write_seq(dsi, 0xBB, 0xA4);
891 mipi_dsi_dcs_write_seq(dsi, 0xBC, 0x2B);
892 mipi_dsi_dcs_write_seq(dsi, 0xBD, 0x2F);
893 mipi_dsi_dcs_write_seq(dsi, 0xBE, 0xA9);
894 mipi_dsi_dcs_write_seq(dsi, 0xBF, 0x25);
895 mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x61);
896 mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x97);
897 mipi_dsi_dcs_write_seq(dsi, 0xC2, 0xB2);
898 mipi_dsi_dcs_write_seq(dsi, 0xC3, 0xCD);
899 mipi_dsi_dcs_write_seq(dsi, 0xC4, 0xD9);
900 mipi_dsi_dcs_write_seq(dsi, 0xC5, 0xE7);
901 mipi_dsi_dcs_write_seq(dsi, 0xC6, 0xF4);
902 mipi_dsi_dcs_write_seq(dsi, 0xC7, 0xFA);
903 mipi_dsi_dcs_write_seq(dsi, 0xC8, 0xFC);
904 mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x00);
905 mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x00);
906 mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x16);
907 mipi_dsi_dcs_write_seq(dsi, 0xCC, 0xAF);
908 mipi_dsi_dcs_write_seq(dsi, 0xCD, 0xFF);
909 mipi_dsi_dcs_write_seq(dsi, 0xCE, 0xFF);
910 mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x08);
911 mipi_dsi_dcs_write_seq(dsi, 0xB1, 0x04);
912 mipi_dsi_dcs_write_seq(dsi, 0xB2, 0x05);
913 mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x11);
914 mipi_dsi_dcs_write_seq(dsi, 0xB4, 0x24);
915 mipi_dsi_dcs_write_seq(dsi, 0xB5, 0x39);
916 mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x4F);
917 mipi_dsi_dcs_write_seq(dsi, 0xB7, 0x72);
918 mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x98);
919 mipi_dsi_dcs_write_seq(dsi, 0xB9, 0xDC);
920 mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x23);
921 mipi_dsi_dcs_write_seq(dsi, 0xBB, 0xA6);
922 mipi_dsi_dcs_write_seq(dsi, 0xBC, 0x2C);
923 mipi_dsi_dcs_write_seq(dsi, 0xBD, 0x30);
924 mipi_dsi_dcs_write_seq(dsi, 0xBE, 0xAA);
925 mipi_dsi_dcs_write_seq(dsi, 0xBF, 0x26);
926 mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x62);
927 mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x9B);
928 mipi_dsi_dcs_write_seq(dsi, 0xC2, 0xB5);
929 mipi_dsi_dcs_write_seq(dsi, 0xC3, 0xCF);
930 mipi_dsi_dcs_write_seq(dsi, 0xC4, 0xDB);
931 mipi_dsi_dcs_write_seq(dsi, 0xC5, 0xE8);
932 mipi_dsi_dcs_write_seq(dsi, 0xC6, 0xF5);
933 mipi_dsi_dcs_write_seq(dsi, 0xC7, 0xFA);
934 mipi_dsi_dcs_write_seq(dsi, 0xC8, 0xFC);
935 mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x00);
936 mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x00);
937 mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x16);
938 mipi_dsi_dcs_write_seq(dsi, 0xCC, 0xAF);
939 mipi_dsi_dcs_write_seq(dsi, 0xCD, 0xFF);
940 mipi_dsi_dcs_write_seq(dsi, 0xCE, 0xFF);
941 mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x09);
942 mipi_dsi_dcs_write_seq(dsi, 0xB1, 0x04);
943 mipi_dsi_dcs_write_seq(dsi, 0xB2, 0x02);
944 mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x16);
945 mipi_dsi_dcs_write_seq(dsi, 0xB4, 0x24);
946 mipi_dsi_dcs_write_seq(dsi, 0xB5, 0x3B);
947 mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x4F);
948 mipi_dsi_dcs_write_seq(dsi, 0xB7, 0x73);
949 mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x99);
950 mipi_dsi_dcs_write_seq(dsi, 0xB9, 0xE0);
951 mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x26);
952 mipi_dsi_dcs_write_seq(dsi, 0xBB, 0xAD);
953 mipi_dsi_dcs_write_seq(dsi, 0xBC, 0x36);
954 mipi_dsi_dcs_write_seq(dsi, 0xBD, 0x3A);
955 mipi_dsi_dcs_write_seq(dsi, 0xBE, 0xAE);
956 mipi_dsi_dcs_write_seq(dsi, 0xBF, 0x2A);
957 mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x66);
958 mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x9E);
959 mipi_dsi_dcs_write_seq(dsi, 0xC2, 0xB8);
960 mipi_dsi_dcs_write_seq(dsi, 0xC3, 0xD1);
961 mipi_dsi_dcs_write_seq(dsi, 0xC4, 0xDD);
962 mipi_dsi_dcs_write_seq(dsi, 0xC5, 0xE9);
963 mipi_dsi_dcs_write_seq(dsi, 0xC6, 0xF6);
964 mipi_dsi_dcs_write_seq(dsi, 0xC7, 0xFA);
965 mipi_dsi_dcs_write_seq(dsi, 0xC8, 0xFC);
966 mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x00);
967 mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x00);
968 mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x16);
969 mipi_dsi_dcs_write_seq(dsi, 0xCC, 0xAF);
970 mipi_dsi_dcs_write_seq(dsi, 0xCD, 0xFF);
971 mipi_dsi_dcs_write_seq(dsi, 0xCE, 0xFF);
972 mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x0A);
973 mipi_dsi_dcs_write_seq(dsi, 0xB1, 0x00);
974 mipi_dsi_dcs_write_seq(dsi, 0xB2, 0x02);
975 mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x0F);
976 mipi_dsi_dcs_write_seq(dsi, 0xB4, 0x25);
977 mipi_dsi_dcs_write_seq(dsi, 0xB5, 0x39);
978 mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x4E);
979 mipi_dsi_dcs_write_seq(dsi, 0xB7, 0x72);
980 mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x97);
981 mipi_dsi_dcs_write_seq(dsi, 0xB9, 0xDC);
982 mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x22);
983 mipi_dsi_dcs_write_seq(dsi, 0xBB, 0xA4);
984 mipi_dsi_dcs_write_seq(dsi, 0xBC, 0x2B);
985 mipi_dsi_dcs_write_seq(dsi, 0xBD, 0x2F);
986 mipi_dsi_dcs_write_seq(dsi, 0xBE, 0xA9);
987 mipi_dsi_dcs_write_seq(dsi, 0xBF, 0x25);
988 mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x61);
989 mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x97);
990 mipi_dsi_dcs_write_seq(dsi, 0xC2, 0xB2);
991 mipi_dsi_dcs_write_seq(dsi, 0xC3, 0xCD);
992 mipi_dsi_dcs_write_seq(dsi, 0xC4, 0xD9);
993 mipi_dsi_dcs_write_seq(dsi, 0xC5, 0xE7);
994 mipi_dsi_dcs_write_seq(dsi, 0xC6, 0xF4);
995 mipi_dsi_dcs_write_seq(dsi, 0xC7, 0xFA);
996 mipi_dsi_dcs_write_seq(dsi, 0xC8, 0xFC);
997 mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x00);
998 mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x00);
999 mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x16);
1000 mipi_dsi_dcs_write_seq(dsi, 0xCC, 0xAF);
1001 mipi_dsi_dcs_write_seq(dsi, 0xCD, 0xFF);
1002 mipi_dsi_dcs_write_seq(dsi, 0xCE, 0xFF);
1003 mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x0B);
1004 mipi_dsi_dcs_write_seq(dsi, 0xB1, 0x04);
1005 mipi_dsi_dcs_write_seq(dsi, 0xB2, 0x05);
1006 mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x11);
1007 mipi_dsi_dcs_write_seq(dsi, 0xB4, 0x24);
1008 mipi_dsi_dcs_write_seq(dsi, 0xB5, 0x39);
1009 mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x4F);
1010 mipi_dsi_dcs_write_seq(dsi, 0xB7, 0x72);
1011 mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x98);
1012 mipi_dsi_dcs_write_seq(dsi, 0xB9, 0xDC);
1013 mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x23);
1014 mipi_dsi_dcs_write_seq(dsi, 0xBB, 0xA6);
1015 mipi_dsi_dcs_write_seq(dsi, 0xBC, 0x2C);
1016 mipi_dsi_dcs_write_seq(dsi, 0xBD, 0x30);
1017 mipi_dsi_dcs_write_seq(dsi, 0xBE, 0xAA);
1018 mipi_dsi_dcs_write_seq(dsi, 0xBF, 0x26);
1019 mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x62);
1020 mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x9B);
1021 mipi_dsi_dcs_write_seq(dsi, 0xC2, 0xB5);
1022 mipi_dsi_dcs_write_seq(dsi, 0xC3, 0xCF);
1023 mipi_dsi_dcs_write_seq(dsi, 0xC4, 0xDB);
1024 mipi_dsi_dcs_write_seq(dsi, 0xC5, 0xE8);
1025 mipi_dsi_dcs_write_seq(dsi, 0xC6, 0xF5);
1026 mipi_dsi_dcs_write_seq(dsi, 0xC7, 0xFA);
1027 mipi_dsi_dcs_write_seq(dsi, 0xC8, 0xFC);
1028 mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x00);
1029 mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x00);
1030 mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x16);
1031 mipi_dsi_dcs_write_seq(dsi, 0xCC, 0xAF);
1032 mipi_dsi_dcs_write_seq(dsi, 0xCD, 0xFF);
1033 mipi_dsi_dcs_write_seq(dsi, 0xCE, 0xFF);
1034 mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x0C);
1035 mipi_dsi_dcs_write_seq(dsi, 0xB1, 0x04);
1036 mipi_dsi_dcs_write_seq(dsi, 0xB2, 0x02);
1037 mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x16);
1038 mipi_dsi_dcs_write_seq(dsi, 0xB4, 0x24);
1039 mipi_dsi_dcs_write_seq(dsi, 0xB5, 0x3B);
1040 mipi_dsi_dcs_write_seq(dsi, 0xB6, 0x4F);
1041 mipi_dsi_dcs_write_seq(dsi, 0xB7, 0x73);
1042 mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x99);
1043 mipi_dsi_dcs_write_seq(dsi, 0xB9, 0xE0);
1044 mipi_dsi_dcs_write_seq(dsi, 0xBA, 0x26);
1045 mipi_dsi_dcs_write_seq(dsi, 0xBB, 0xAD);
1046 mipi_dsi_dcs_write_seq(dsi, 0xBC, 0x36);
1047 mipi_dsi_dcs_write_seq(dsi, 0xBD, 0x3A);
1048 mipi_dsi_dcs_write_seq(dsi, 0xBE, 0xAE);
1049 mipi_dsi_dcs_write_seq(dsi, 0xBF, 0x2A);
1050 mipi_dsi_dcs_write_seq(dsi, 0xC0, 0x66);
1051 mipi_dsi_dcs_write_seq(dsi, 0xC1, 0x9E);
1052 mipi_dsi_dcs_write_seq(dsi, 0xC2, 0xB8);
1053 mipi_dsi_dcs_write_seq(dsi, 0xC3, 0xD1);
1054 mipi_dsi_dcs_write_seq(dsi, 0xC4, 0xDD);
1055 mipi_dsi_dcs_write_seq(dsi, 0xC5, 0xE9);
1056 mipi_dsi_dcs_write_seq(dsi, 0xC6, 0xF6);
1057 mipi_dsi_dcs_write_seq(dsi, 0xC7, 0xFA);
1058 mipi_dsi_dcs_write_seq(dsi, 0xC8, 0xFC);
1059 mipi_dsi_dcs_write_seq(dsi, 0xC9, 0x00);
1060 mipi_dsi_dcs_write_seq(dsi, 0xCA, 0x00);
1061 mipi_dsi_dcs_write_seq(dsi, 0xCB, 0x16);
1062 mipi_dsi_dcs_write_seq(dsi, 0xCC, 0xAF);
1063 mipi_dsi_dcs_write_seq(dsi, 0xCD, 0xFF);
1064 mipi_dsi_dcs_write_seq(dsi, 0xCE, 0xFF);
1065 mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x00);
1066 mipi_dsi_dcs_write_seq(dsi, 0xB3, 0x08);
1067 mipi_dsi_dcs_write_seq(dsi, 0xB0, 0x04);
1068 mipi_dsi_dcs_write_seq(dsi, 0xB8, 0x68);
1069 msleep(150);
1070
1071 return 0;
1072 }
1073

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

2023-06-16 17:02:14

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [PATCH 1/2] drm/panel: boe-tv101wum-nl6: Drop macros and open code sequences

Hi Linus,

On Thu, Jun 15, 2023 at 10:21:37PM +0200, Linus Walleij wrote:
> The boe-tv101wum-nl6 is reinventing the mechanism to send command
> sequences that we usually nix during review, but I missed this one
> so fixing it up myself.
>
> Also use the explicit function calls to mipi_dsi_dcs_exit_sleep_mode()
> and mipi_dsi_dcs_set_display_on() instead of reimplementing them
> with homegrown sequences.
It looks like the same sequence of calls are used in all init functions,
maybe move them out to the caller.

>
> Signed-off-by: Linus Walleij <[email protected]>

I have browsed the patch, but it was impossible for me to review in
details due to the massive changes.
But the final result looks good!

With the static added as the robot noticed:
Reviewed-by: Sam Ravnborg <[email protected]>