summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
authorLin Huang <hl@rock-chips.com>2018-01-17 14:24:14 +0800
committerJulius Werner <jwerner@chromium.org>2018-01-29 19:22:12 +0000
commit0499ce9f8319cac1078f4b2423e4e7b420611943 (patch)
tree86950a84a3c596b19117a32e6a40f3567d129de3 /src/mainboard
parente87d3cdf59e6457e04158715789066d47d6e30e0 (diff)
rockchip/rk3399: Support LONG_WRITE type in MIPI DSI
Some panels need to transfer initial code, and some of them will be over 3 bytes, so support LONG_WRITE type in driver. Refactor mipi dsi transfer function to support it. Change-Id: I212c14165e074c40a4a1a25140d9e8dfdfba465f Signed-off-by: Lin Huang <hl@rock-chips.com> Reviewed-on: https://review.coreboot.org/23299 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/google/gru/mainboard.c242
1 files changed, 121 insertions, 121 deletions
diff --git a/src/mainboard/google/gru/mainboard.c b/src/mainboard/google/gru/mainboard.c
index 1212ad5bd0..101d7cd477 100644
--- a/src/mainboard/google/gru/mainboard.c
+++ b/src/mainboard/google/gru/mainboard.c
@@ -378,136 +378,137 @@ void mainboard_power_on_backlight(void)
static struct panel_init_command kd097d04_init_commands[] = {
/* voltage setting */
- { 0xB0, 0x00 },
- { 0xB2, 0x02 },
- { 0xB3, 0x11 },
- { 0xB4, 0x00 },
- { 0xB6, 0x80 },
+ MIPI_INIT_CMD(0xB0, 0x00),
+ MIPI_INIT_CMD(0xB2, 0x02),
+ MIPI_INIT_CMD(0xB3, 0x11),
+ MIPI_INIT_CMD(0xB4, 0x00),
+ MIPI_INIT_CMD(0xB6, 0x80),
/* VCOM disable */
- { 0xB8, 0x80 },
- { 0xBA, 0x43 },
+ MIPI_INIT_CMD(0xB8, 0x80),
+ MIPI_INIT_CMD(0xBA, 0x43),
/* VCOM setting */
- { 0xBB, 0x53 },
+ MIPI_INIT_CMD(0xBB, 0x53),
/* VSP setting */
- { 0xBC, 0x0A },
+ MIPI_INIT_CMD(0xBC, 0x0A),
/* VSN setting */
- { 0xBD, 0x4A },
+ MIPI_INIT_CMD(0xBD, 0x4A),
/* VGH setting */
- { 0xBE, 0x2F },
+ MIPI_INIT_CMD(0xBE, 0x2F),
/* VGL setting */
- { 0xBF, 0x1A },
- { 0xF0, 0x39 },
- { 0xF1, 0x21 },
+ MIPI_INIT_CMD(0xBF, 0x1A),
+ MIPI_INIT_CMD(0xF0, 0x39),
+ MIPI_INIT_CMD(0xF1, 0x21),
/* Gamma setting */
- { 0xB0, 0x02 },
- { 0xC0, 0x00 },
- { 0xC1, 0x01 },
- { 0xC2, 0x0B },
- { 0xC3, 0x15 },
- { 0xC4, 0x22 },
- { 0xC5, 0x11 },
- { 0xC6, 0x15 },
- { 0xC7, 0x19 },
- { 0xC8, 0x1A },
- { 0xC9, 0x16 },
- { 0xCA, 0x18 },
- { 0xCB, 0x13 },
- { 0xCC, 0x18 },
- { 0xCD, 0x13 },
- { 0xCE, 0x1C },
- { 0xCF, 0x19 },
- { 0xD0, 0x21 },
- { 0xD1, 0x2C },
- { 0xD2, 0x2F },
- { 0xD3, 0x30 },
- { 0xD4, 0x19 },
- { 0xD5, 0x1F },
- { 0xD6, 0x00 },
- { 0xD7, 0x01 },
- { 0xD8, 0x0B },
- { 0xD9, 0x15 },
- { 0xDA, 0x22 },
- { 0xDB, 0x11 },
- { 0xDC, 0x15 },
- { 0xDD, 0x19 },
- { 0xDE, 0x1A },
- { 0xDF, 0x16 },
- { 0xE0, 0x18 },
- { 0xE1, 0x13 },
- { 0xE2, 0x18 },
- { 0xE3, 0x13 },
- { 0xE4, 0x1C },
- { 0xE5, 0x19 },
- { 0xE6, 0x21 },
- { 0xE7, 0x2C },
- { 0xE8, 0x2F },
- { 0xE9, 0x30 },
- { 0xEA, 0x19 },
- { 0xEB, 0x1F },
+ MIPI_INIT_CMD(0xB0, 0x02),
+ MIPI_INIT_CMD(0xC0, 0x00),
+ MIPI_INIT_CMD(0xC1, 0x01),
+ MIPI_INIT_CMD(0xC2, 0x0B),
+ MIPI_INIT_CMD(0xC3, 0x15),
+ MIPI_INIT_CMD(0xC4, 0x22),
+ MIPI_INIT_CMD(0xC5, 0x11),
+ MIPI_INIT_CMD(0xC6, 0x15),
+ MIPI_INIT_CMD(0xC7, 0x19),
+ MIPI_INIT_CMD(0xC8, 0x1A),
+ MIPI_INIT_CMD(0xC9, 0x16),
+ MIPI_INIT_CMD(0xCA, 0x18),
+ MIPI_INIT_CMD(0xCB, 0x13),
+ MIPI_INIT_CMD(0xCC, 0x18),
+ MIPI_INIT_CMD(0xCD, 0x13),
+ MIPI_INIT_CMD(0xCE, 0x1C),
+ MIPI_INIT_CMD(0xCF, 0x19),
+ MIPI_INIT_CMD(0xD0, 0x21),
+ MIPI_INIT_CMD(0xD1, 0x2C),
+ MIPI_INIT_CMD(0xD2, 0x2F),
+ MIPI_INIT_CMD(0xD3, 0x30),
+ MIPI_INIT_CMD(0xD4, 0x19),
+ MIPI_INIT_CMD(0xD5, 0x1F),
+ MIPI_INIT_CMD(0xD6, 0x00),
+ MIPI_INIT_CMD(0xD7, 0x01),
+ MIPI_INIT_CMD(0xD8, 0x0B),
+ MIPI_INIT_CMD(0xD9, 0x15),
+ MIPI_INIT_CMD(0xDA, 0x22),
+ MIPI_INIT_CMD(0xDB, 0x11),
+ MIPI_INIT_CMD(0xDC, 0x15),
+ MIPI_INIT_CMD(0xDD, 0x19),
+ MIPI_INIT_CMD(0xDE, 0x1A),
+ MIPI_INIT_CMD(0xDF, 0x16),
+ MIPI_INIT_CMD(0xE0, 0x18),
+ MIPI_INIT_CMD(0xE1, 0x13),
+ MIPI_INIT_CMD(0xE2, 0x18),
+ MIPI_INIT_CMD(0xE3, 0x13),
+ MIPI_INIT_CMD(0xE4, 0x1C),
+ MIPI_INIT_CMD(0xE5, 0x19),
+ MIPI_INIT_CMD(0xE6, 0x21),
+ MIPI_INIT_CMD(0xE7, 0x2C),
+ MIPI_INIT_CMD(0xE8, 0x2F),
+ MIPI_INIT_CMD(0xE9, 0x30),
+ MIPI_INIT_CMD(0xEA, 0x19),
+ MIPI_INIT_CMD(0xEB, 0x1F),
/* GOA MUX setting */
- { 0xB0, 0x01 },
- { 0xC0, 0x10 },
- { 0xC1, 0x0F },
- { 0xC2, 0x0E },
- { 0xC3, 0x0D },
- { 0xC4, 0x0C },
- { 0xC5, 0x0B },
- { 0xC6, 0x0A },
- { 0xC7, 0x09 },
- { 0xC8, 0x08 },
- { 0xC9, 0x07 },
- { 0xCA, 0x06 },
- { 0xCB, 0x05 },
- { 0xCC, 0x00 },
- { 0xCD, 0x01 },
- { 0xCE, 0x02 },
- { 0xCF, 0x03 },
- { 0xD0, 0x04 },
- { 0xD6, 0x10 },
- { 0xD7, 0x0F },
- { 0xD8, 0x0E },
- { 0xD9, 0x0D },
- { 0xDA, 0x0C },
- { 0xDB, 0x0B },
- { 0xDC, 0x0A },
- { 0xDD, 0x09 },
- { 0xDE, 0x08 },
- { 0xDF, 0x07 },
- { 0xE0, 0x06 },
- { 0xE1, 0x05 },
- { 0xE2, 0x00 },
- { 0xE3, 0x01 },
- { 0xE4, 0x02 },
- { 0xE5, 0x03 },
- { 0xE6, 0x04 },
- { 0xE7, 0x00 },
- { 0xEC, 0xC0 },
+ MIPI_INIT_CMD(0xB0, 0x01),
+ MIPI_INIT_CMD(0xC0, 0x10),
+ MIPI_INIT_CMD(0xC1, 0x0F),
+ MIPI_INIT_CMD(0xC2, 0x0E),
+ MIPI_INIT_CMD(0xC3, 0x0D),
+ MIPI_INIT_CMD(0xC4, 0x0C),
+ MIPI_INIT_CMD(0xC5, 0x0B),
+ MIPI_INIT_CMD(0xC6, 0x0A),
+ MIPI_INIT_CMD(0xC7, 0x09),
+ MIPI_INIT_CMD(0xC8, 0x08),
+ MIPI_INIT_CMD(0xC9, 0x07),
+ MIPI_INIT_CMD(0xCA, 0x06),
+ MIPI_INIT_CMD(0xCB, 0x05),
+ MIPI_INIT_CMD(0xCC, 0x00),
+ MIPI_INIT_CMD(0xCD, 0x01),
+ MIPI_INIT_CMD(0xCE, 0x02),
+ MIPI_INIT_CMD(0xCF, 0x03),
+ MIPI_INIT_CMD(0xD0, 0x04),
+ MIPI_INIT_CMD(0xD6, 0x10),
+ MIPI_INIT_CMD(0xD7, 0x0F),
+ MIPI_INIT_CMD(0xD8, 0x0E),
+ MIPI_INIT_CMD(0xD9, 0x0D),
+ MIPI_INIT_CMD(0xDA, 0x0C),
+ MIPI_INIT_CMD(0xDB, 0x0B),
+ MIPI_INIT_CMD(0xDC, 0x0A),
+ MIPI_INIT_CMD(0xDD, 0x09),
+ MIPI_INIT_CMD(0xDE, 0x08),
+ MIPI_INIT_CMD(0xDF, 0x07),
+ MIPI_INIT_CMD(0xE0, 0x06),
+ MIPI_INIT_CMD(0xE1, 0x05),
+ MIPI_INIT_CMD(0xE2, 0x00),
+ MIPI_INIT_CMD(0xE3, 0x01),
+ MIPI_INIT_CMD(0xE4, 0x02),
+ MIPI_INIT_CMD(0xE5, 0x03),
+ MIPI_INIT_CMD(0xE6, 0x04),
+ MIPI_INIT_CMD(0xE7, 0x00),
+ MIPI_INIT_CMD(0xEC, 0xC0),
/* GOA timing setting */
- { 0xB0, 0x03 },
- { 0xC0, 0x01 },
- { 0xC2, 0x6F },
- { 0xC3, 0x6F },
- { 0xC5, 0x36 },
- { 0xC8, 0x08 },
- { 0xC9, 0x04 },
- { 0xCA, 0x41 },
- { 0xCC, 0x43 },
- { 0xCF, 0x60 },
- { 0xD2, 0x04 },
- { 0xD3, 0x04 },
- { 0xD4, 0x03 },
- { 0xD5, 0x02 },
- { 0xD6, 0x01 },
- { 0xD7, 0x00 },
- { 0xDB, 0x01 },
- { 0xDE, 0x36 },
- { 0xE6, 0x6F },
- { 0xE7, 0x6F },
+ MIPI_INIT_CMD(0xB0, 0x03),
+ MIPI_INIT_CMD(0xC0, 0x01),
+ MIPI_INIT_CMD(0xC2, 0x6F),
+ MIPI_INIT_CMD(0xC3, 0x6F),
+ MIPI_INIT_CMD(0xC5, 0x36),
+ MIPI_INIT_CMD(0xC8, 0x08),
+ MIPI_INIT_CMD(0xC9, 0x04),
+ MIPI_INIT_CMD(0xCA, 0x41),
+ MIPI_INIT_CMD(0xCC, 0x43),
+ MIPI_INIT_CMD(0xCF, 0x60),
+ MIPI_INIT_CMD(0xD2, 0x04),
+ MIPI_INIT_CMD(0xD3, 0x04),
+ MIPI_INIT_CMD(0xD4, 0x03),
+ MIPI_INIT_CMD(0xD5, 0x02),
+ MIPI_INIT_CMD(0xD6, 0x01),
+ MIPI_INIT_CMD(0xD7, 0x00),
+ MIPI_INIT_CMD(0xDB, 0x01),
+ MIPI_INIT_CMD(0xDE, 0x36),
+ MIPI_INIT_CMD(0xE6, 0x6F),
+ MIPI_INIT_CMD(0xE7, 0x6F),
/* GOE setting */
- { 0xB0, 0x06 },
- { 0xB8, 0xA5 },
- { 0xC0, 0xA5 },
- { 0xD5, 0x3F },
+ MIPI_INIT_CMD(0xB0, 0x06),
+ MIPI_INIT_CMD(0xB8, 0xA5),
+ MIPI_INIT_CMD(0xC0, 0xA5),
+ MIPI_INIT_CMD(0xD5, 0x3F),
+ {},
};
const struct mipi_panel_data kd097d04_panel = {
@@ -517,7 +518,6 @@ const struct mipi_panel_data kd097d04_panel = {
.display_on_udelay = 120000,
.video_mode_udelay = 5000,
.init_cmd = kd097d04_init_commands,
- .num_init_commands = ARRAY_SIZE(kd097d04_init_commands)
};
static const struct edid_mode kd097d04_edid_mode = {