summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHung-Te Lin <hungte@chromium.org>2019-08-16 11:54:21 +0800
committerPatrick Georgi <pgeorgi@google.com>2019-08-22 10:35:56 +0000
commit54ff1a0ad3bb3c1c4bc5283aaf2f03b17c3b25f1 (patch)
tree2294ae415cd9bbcad6bd55a771d94a68a90e6776
parent7cd2c073178b6d615199b439ad9a811cfb4dd820 (diff)
downloadcoreboot-54ff1a0ad3bb3c1c4bc5283aaf2f03b17c3b25f1.tar.xz
mb/google/kukui: Add flapjack panels
Add panels supported by flapjack. Change-Id: I547bf6f26bdbfed52a00c8cfb268d4e7c17ed889 Signed-off-by: Hung-Te Lin <hungte@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/34891 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
-rw-r--r--src/mainboard/google/kukui/Makefile.inc1
-rw-r--r--src/mainboard/google/kukui/panel_flapjack.c31
-rw-r--r--src/mainboard/google/kukui/panel_params/Makefile.inc4
-rw-r--r--src/mainboard/google/kukui/panel_params/panel-AUO_NT51021D8P.c41
-rw-r--r--src/mainboard/google/kukui/panel_params/panel-BOE_TV080WUM_NG0.c350
-rw-r--r--src/mainboard/google/kukui/panel_params/panel-BOE_TV101WUM_NG0.c350
-rw-r--r--src/mainboard/google/kukui/panel_params/panel-INX_OTA7290D10P.c294
7 files changed, 1071 insertions, 0 deletions
diff --git a/src/mainboard/google/kukui/Makefile.inc b/src/mainboard/google/kukui/Makefile.inc
index 4f5a2015db..2e8a79ad82 100644
--- a/src/mainboard/google/kukui/Makefile.inc
+++ b/src/mainboard/google/kukui/Makefile.inc
@@ -25,6 +25,7 @@ ramstage-y += boardid.c
ramstage-y += chromeos.c
ramstage-y += mainboard.c
ramstage-y += memlayout.ld
+ramstage-$(CONFIG_BOARD_GOOGLE_FLAPJACK) += panel_flapjack.c
ramstage-$(CONFIG_BOARD_GOOGLE_KODAMA) += panel_kodama.c
ramstage-$(CONFIG_BOARD_GOOGLE_KRANE) += panel_krane.c
ramstage-$(CONFIG_BOARD_GOOGLE_KUKUI) += panel_kukui.c
diff --git a/src/mainboard/google/kukui/panel_flapjack.c b/src/mainboard/google/kukui/panel_flapjack.c
new file mode 100644
index 0000000000..b10cc709a7
--- /dev/null
+++ b/src/mainboard/google/kukui/panel_flapjack.c
@@ -0,0 +1,31 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2019 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include "panel.h"
+
+static struct panel_description flapjack_panels[] = {
+ [0] = { .name = "BOE_TV101WUM_NG0", },
+ [1] = { .name = "BOE_TV080WUM_NG0", },
+ [2] = { .name = "INX_OTA7290D10P", },
+ [3] = { .name = "AUO_NT51021D8P", },
+};
+
+struct panel_description *get_panel_description(int panel_id)
+{
+ if (panel_id < 0 || panel_id >= ARRAY_SIZE(flapjack_panels))
+ return NULL;
+
+ return get_panel_from_cbfs(&flapjack_panels[panel_id]);
+}
diff --git a/src/mainboard/google/kukui/panel_params/Makefile.inc b/src/mainboard/google/kukui/panel_params/Makefile.inc
index c42d143099..c51992a436 100644
--- a/src/mainboard/google/kukui/panel_params/Makefile.inc
+++ b/src/mainboard/google/kukui/panel_params/Makefile.inc
@@ -3,6 +3,10 @@ panel-params-$(CONFIG_BOARD_GOOGLE_KRANE) += panel-AUO_KD101N80_45NA
panel-params-$(CONFIG_BOARD_GOOGLE_KRANE) += panel-BOE_TV101WUM_NL6
panel-params-$(CONFIG_BOARD_GOOGLE_KODAMA) += panel-BOE_TV101WUM_N53
panel-params-$(CONFIG_BOARD_GOOGLE_KUKUI) += panel-CMN_P097PFG_SSD2858
+panel-params-$(CONFIG_BOARD_GOOGLE_FLAPJACK) += panel-AUO_NT51021D8P
+panel-params-$(CONFIG_BOARD_GOOGLE_FLAPJACK) += panel-BOE_TV080WUM_NG0
+panel-params-$(CONFIG_BOARD_GOOGLE_FLAPJACK) += panel-BOE_TV101WUM_NG0
+panel-params-$(CONFIG_BOARD_GOOGLE_FLAPJACK) += panel-INX_OTA7290D10P
$(foreach params,$(panel-params-y), \
$(eval cbfs-files-y += $(params)) \
diff --git a/src/mainboard/google/kukui/panel_params/panel-AUO_NT51021D8P.c b/src/mainboard/google/kukui/panel_params/panel-AUO_NT51021D8P.c
new file mode 100644
index 0000000000..8fca7df162
--- /dev/null
+++ b/src/mainboard/google/kukui/panel_params/panel-AUO_NT51021D8P.c
@@ -0,0 +1,41 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2019 Huaqin Telecom Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include "../panel.h"
+
+struct panel_serializable_data AUO_NT51021D8P = {
+ .edid = {
+ .ascii_string = "NT51021D8P",
+ .manufacturer_name = "AUO",
+ .panel_bits_per_color = 8,
+ .panel_bits_per_pixel = 24,
+ .mode = {
+ .pixel_clock = 159420,
+ .lvds_dual_channel = 0,
+ .refresh = 60,
+ .ha = 1200, .hbl = 141, .hso = 80, .hspw = 1,
+ .va = 1920, .vbl = 61, .vso = 35, .vspw = 1,
+ .phsync = '-', .pvsync = '-',
+ .x_mm = 107, .y_mm = 132,
+ },
+ },
+ .init = {
+ INIT_DCS_CMD(0x11),
+ INIT_DELAY_CMD(0x78),
+ INIT_DCS_CMD(0x29),
+ INIT_DELAY_CMD(0x14),
+ INIT_END_CMD,
+ },
+};
diff --git a/src/mainboard/google/kukui/panel_params/panel-BOE_TV080WUM_NG0.c b/src/mainboard/google/kukui/panel_params/panel-BOE_TV080WUM_NG0.c
new file mode 100644
index 0000000000..5e56eb9ac0
--- /dev/null
+++ b/src/mainboard/google/kukui/panel_params/panel-BOE_TV080WUM_NG0.c
@@ -0,0 +1,350 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2019 Huaqin Telecom Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include "../panel.h"
+
+struct panel_serializable_data BOE_TV080WUM_NG0 = {
+ .edid = {
+ .ascii_string = "TV080WUM-NG0",
+ .manufacturer_name = "BOE",
+ .panel_bits_per_color = 8,
+ .panel_bits_per_pixel = 24,
+ .mode = {
+ .pixel_clock = 159420,
+ .lvds_dual_channel = 0,
+ .refresh = 60,
+ .ha = 1200, .hbl = 164, .hso = 80, .hspw = 24,
+ .va = 1920, .vbl = 28, .vso = 10, .vspw = 4,
+ .phsync = '-', .pvsync = '-',
+ .x_mm = 107, .y_mm = 132,
+ },
+ },
+ .init = {
+ INIT_DCS_CMD(0x10),
+ INIT_DELAY_CMD(0x22),
+ 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(0xB2, 0x50),
+ INIT_DCS_CMD(0xB6, 0x03),
+ INIT_DCS_CMD(0xBA, 0x8B),
+ INIT_DCS_CMD(0xBF, 0x15),
+ 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, 0x04),
+ INIT_DCS_CMD(0xD3, 0x04),
+ INIT_DCS_CMD(0xE6, 0x03),
+ INIT_DCS_CMD(0xE7, 0x03),
+ INIT_DCS_CMD(0xC4, 0x08),
+ INIT_DCS_CMD(0xC5, 0x08),
+ INIT_DCS_CMD(0xD8, 0x07),
+ INIT_DCS_CMD(0xD9, 0x07),
+ INIT_DCS_CMD(0xC2, 0x06),
+ INIT_DCS_CMD(0xC3, 0x06),
+ INIT_DCS_CMD(0xD6, 0x05),
+ INIT_DCS_CMD(0xD7, 0x05),
+ INIT_DCS_CMD(0xC0, 0x0C),
+ INIT_DCS_CMD(0xC1, 0x0C),
+ INIT_DCS_CMD(0xD4, 0x0B),
+ INIT_DCS_CMD(0xD5, 0x0B),
+ INIT_DCS_CMD(0xCA, 0x0A),
+ INIT_DCS_CMD(0xCB, 0x0A),
+ INIT_DCS_CMD(0xDE, 0x09),
+ INIT_DCS_CMD(0xDF, 0x09),
+ INIT_DCS_CMD(0xC6, 0x26),
+ INIT_DCS_CMD(0xC7, 0x26),
+ INIT_DCS_CMD(0xCE, 0x00),
+ INIT_DCS_CMD(0xCF, 0x00),
+ INIT_DCS_CMD(0xDA, 0x26),
+ INIT_DCS_CMD(0xDB, 0x26),
+ INIT_DCS_CMD(0xE2, 0x00),
+ INIT_DCS_CMD(0xE3, 0x00),
+ INIT_DCS_CMD(0xB0, 0x02),
+ INIT_DCS_CMD(0xC0, 0x00),
+ INIT_DCS_CMD(0xC1, 0x07),
+ INIT_DCS_CMD(0xC2, 0x0D),
+ INIT_DCS_CMD(0xC3, 0x18),
+ INIT_DCS_CMD(0xC4, 0x27),
+ INIT_DCS_CMD(0xC5, 0x28),
+ INIT_DCS_CMD(0xC6, 0x30),
+ INIT_DCS_CMD(0xC7, 0x2E),
+ INIT_DCS_CMD(0xC8, 0x2F),
+ INIT_DCS_CMD(0xC9, 0x1A),
+ INIT_DCS_CMD(0xCA, 0x20),
+ INIT_DCS_CMD(0xCB, 0x29),
+ INIT_DCS_CMD(0xCC, 0x26),
+ INIT_DCS_CMD(0xCD, 0x32),
+ INIT_DCS_CMD(0xCE, 0x33),
+ INIT_DCS_CMD(0xCF, 0x31),
+ INIT_DCS_CMD(0xD0, 0x06),
+ INIT_DCS_CMD(0xD2, 0x00),
+ INIT_DCS_CMD(0xD3, 0x07),
+ INIT_DCS_CMD(0xD4, 0x12),
+ INIT_DCS_CMD(0xD5, 0x26),
+ INIT_DCS_CMD(0xD6, 0x3D),
+ INIT_DCS_CMD(0xD7, 0x3F),
+ INIT_DCS_CMD(0xD8, 0x3F),
+ INIT_DCS_CMD(0xD9, 0x3F),
+ INIT_DCS_CMD(0xDA, 0x3F),
+ INIT_DCS_CMD(0xDB, 0x3F),
+ INIT_DCS_CMD(0xDC, 0x3F),
+ INIT_DCS_CMD(0xDD, 0x3F),
+ INIT_DCS_CMD(0xDE, 0x3F),
+ INIT_DCS_CMD(0xDF, 0x3A),
+ INIT_DCS_CMD(0xE0, 0x37),
+ INIT_DCS_CMD(0xE1, 0x35),
+ 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, 0x09),
+ INIT_DCS_CMD(0xB3, 0x19),
+ INIT_DCS_CMD(0xB4, 0x2F),
+ INIT_DCS_CMD(0xB5, 0x44),
+ INIT_DCS_CMD(0xB6, 0x52),
+ INIT_DCS_CMD(0xB7, 0x6A),
+ INIT_DCS_CMD(0xB8, 0x8A),
+ INIT_DCS_CMD(0xB9, 0xCA),
+ INIT_DCS_CMD(0xBA, 0x0C),
+ INIT_DCS_CMD(0xBB, 0x87),
+ INIT_DELAY_CMD(0x05),
+ INIT_DCS_CMD(0xBC, 0x06),
+ INIT_DCS_CMD(0xBD, 0x0A),
+ INIT_DCS_CMD(0xBE, 0x9B),
+ INIT_DCS_CMD(0xBF, 0x0C),
+ INIT_DCS_CMD(0xC0, 0x3D),
+ INIT_DCS_CMD(0xC1, 0x71),
+ INIT_DCS_CMD(0xC2, 0x90),
+ INIT_DCS_CMD(0xC3, 0xA0),
+ INIT_DCS_CMD(0xC4, 0xA8),
+ INIT_DCS_CMD(0xC5, 0xB1),
+ INIT_DCS_CMD(0xC6, 0xBB),
+ INIT_DCS_CMD(0xC7, 0xC0),
+ INIT_DCS_CMD(0xC8, 0xC4),
+ 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, 0x08),
+ INIT_DCS_CMD(0xB3, 0x19),
+ INIT_DCS_CMD(0xB4, 0x31),
+ INIT_DCS_CMD(0xB5, 0x46),
+ INIT_DCS_CMD(0xB6, 0x55),
+ INIT_DCS_CMD(0xB7, 0x6E),
+ INIT_DCS_CMD(0xB8, 0x92),
+ INIT_DCS_CMD(0xB9, 0xD4),
+ INIT_DCS_CMD(0xBA, 0x1B),
+ INIT_DCS_CMD(0xBB, 0x9B),
+ INIT_DELAY_CMD(0x05),
+ INIT_DCS_CMD(0xBC, 0x28),
+ INIT_DCS_CMD(0xBD, 0x2D),
+ INIT_DCS_CMD(0xBE, 0xC3),
+ INIT_DCS_CMD(0xBF, 0x2F),
+ INIT_DCS_CMD(0xC0, 0x62),
+ INIT_DCS_CMD(0xC1, 0x99),
+ INIT_DCS_CMD(0xC2, 0xAB),
+ INIT_DCS_CMD(0xC3, 0xBF),
+ INIT_DCS_CMD(0xC4, 0xCF),
+ INIT_DCS_CMD(0xC5, 0xDF),
+ INIT_DCS_CMD(0xC6, 0xF0),
+ INIT_DCS_CMD(0xC7, 0xF9),
+ 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, 0x05),
+ INIT_DCS_CMD(0xB3, 0x17),
+ INIT_DCS_CMD(0xB4, 0x2E),
+ INIT_DCS_CMD(0xB5, 0x42),
+ INIT_DCS_CMD(0xB6, 0x51),
+ INIT_DCS_CMD(0xB7, 0x69),
+ INIT_DCS_CMD(0xB8, 0x88),
+ INIT_DCS_CMD(0xB9, 0xC9),
+ INIT_DCS_CMD(0xBA, 0x0C),
+ INIT_DCS_CMD(0xBB, 0x86),
+ INIT_DELAY_CMD(0x05),
+ INIT_DCS_CMD(0xBC, 0x03),
+ INIT_DCS_CMD(0xBD, 0x08),
+ INIT_DCS_CMD(0xBE, 0x95),
+ INIT_DCS_CMD(0xBF, 0x05),
+ INIT_DCS_CMD(0xC0, 0x35),
+ INIT_DCS_CMD(0xC1, 0x62),
+ INIT_DCS_CMD(0xC2, 0x81),
+ INIT_DCS_CMD(0xC3, 0x96),
+ INIT_DCS_CMD(0xC4, 0x9E),
+ INIT_DCS_CMD(0xC5, 0xA5),
+ INIT_DCS_CMD(0xC6, 0xAD),
+ INIT_DCS_CMD(0xC7, 0xB1),
+ INIT_DCS_CMD(0xC8, 0xB4),
+ 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, 0x09),
+ INIT_DCS_CMD(0xB3, 0x19),
+ INIT_DCS_CMD(0xB4, 0x2F),
+ INIT_DCS_CMD(0xB5, 0x44),
+ INIT_DCS_CMD(0xB6, 0x52),
+ INIT_DCS_CMD(0xB7, 0x6A),
+ INIT_DCS_CMD(0xB8, 0x8A),
+ INIT_DCS_CMD(0xB9, 0xCA),
+ INIT_DCS_CMD(0xBA, 0x0C),
+ INIT_DCS_CMD(0xBB, 0x87),
+ INIT_DELAY_CMD(0x05),
+ INIT_DCS_CMD(0xBC, 0x06),
+ INIT_DCS_CMD(0xBD, 0x0A),
+ INIT_DCS_CMD(0xBE, 0x9B),
+ INIT_DCS_CMD(0xBF, 0x0C),
+ INIT_DCS_CMD(0xC0, 0x3D),
+ INIT_DCS_CMD(0xC1, 0x71),
+ INIT_DCS_CMD(0xC2, 0x90),
+ INIT_DCS_CMD(0xC3, 0xA0),
+ INIT_DCS_CMD(0xC4, 0xA8),
+ INIT_DCS_CMD(0xC5, 0xB1),
+ INIT_DCS_CMD(0xC6, 0xBB),
+ INIT_DCS_CMD(0xC7, 0xC0),
+ INIT_DCS_CMD(0xC8, 0xC4),
+ 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, 0x08),
+ INIT_DCS_CMD(0xB3, 0x19),
+ INIT_DCS_CMD(0xB4, 0x31),
+ INIT_DCS_CMD(0xB5, 0x46),
+ INIT_DCS_CMD(0xB6, 0x55),
+ INIT_DCS_CMD(0xB7, 0x6E),
+ INIT_DCS_CMD(0xB8, 0x92),
+ INIT_DCS_CMD(0xB9, 0xD4),
+ INIT_DCS_CMD(0xBA, 0x1B),
+ INIT_DCS_CMD(0xBB, 0x9B),
+ INIT_DELAY_CMD(0x05),
+ INIT_DCS_CMD(0xBC, 0x28),
+ INIT_DCS_CMD(0xBD, 0x2D),
+ INIT_DCS_CMD(0xBE, 0xC3),
+ INIT_DCS_CMD(0xBF, 0x2F),
+ INIT_DCS_CMD(0xC0, 0x62),
+ INIT_DCS_CMD(0xC1, 0x99),
+ INIT_DCS_CMD(0xC2, 0xAB),
+ INIT_DCS_CMD(0xC3, 0xBF),
+ INIT_DCS_CMD(0xC4, 0xCF),
+ INIT_DCS_CMD(0xC5, 0xDF),
+ INIT_DCS_CMD(0xC6, 0xF0),
+ INIT_DCS_CMD(0xC7, 0xF9),
+ 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, 0x05),
+ INIT_DCS_CMD(0xB3, 0x17),
+ INIT_DCS_CMD(0xB4, 0x2E),
+ INIT_DCS_CMD(0xB5, 0x42),
+ INIT_DCS_CMD(0xB6, 0x51),
+ INIT_DCS_CMD(0xB7, 0x69),
+ INIT_DCS_CMD(0xB8, 0x88),
+ INIT_DCS_CMD(0xB9, 0xC9),
+ INIT_DCS_CMD(0xBA, 0x0C),
+ INIT_DCS_CMD(0xBB, 0x86),
+ INIT_DELAY_CMD(0x05),
+ INIT_DCS_CMD(0xBC, 0x03),
+ INIT_DCS_CMD(0xBD, 0x08),
+ INIT_DCS_CMD(0xBE, 0x95),
+ INIT_DCS_CMD(0xBF, 0x05),
+ INIT_DCS_CMD(0xC0, 0x35),
+ INIT_DCS_CMD(0xC1, 0x62),
+ INIT_DCS_CMD(0xC2, 0x81),
+ INIT_DCS_CMD(0xC3, 0x96),
+ INIT_DCS_CMD(0xC4, 0x9E),
+ INIT_DCS_CMD(0xC5, 0xA5),
+ INIT_DCS_CMD(0xC6, 0xAD),
+ INIT_DCS_CMD(0xC7, 0xB1),
+ INIT_DCS_CMD(0xC8, 0xB4),
+ 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_DELAY_CMD(0x64),
+ INIT_DCS_CMD(0xB0, 0x00),
+ INIT_DCS_CMD(0xB3, 0x08),
+ INIT_DCS_CMD(0xB0, 0x04),
+ INIT_DCS_CMD(0xB8, 0x68),
+ INIT_DELAY_CMD(0x0A),
+ INIT_DCS_CMD(0x11),
+ INIT_DELAY_CMD(0x78),
+ INIT_DCS_CMD(0x29),
+ INIT_DELAY_CMD(0x14),
+ INIT_END_CMD,
+ },
+};
diff --git a/src/mainboard/google/kukui/panel_params/panel-BOE_TV101WUM_NG0.c b/src/mainboard/google/kukui/panel_params/panel-BOE_TV101WUM_NG0.c
new file mode 100644
index 0000000000..bb4452ed90
--- /dev/null
+++ b/src/mainboard/google/kukui/panel_params/panel-BOE_TV101WUM_NG0.c
@@ -0,0 +1,350 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2019 Huaqin Telecom Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include "../panel.h"
+
+struct panel_serializable_data BOE_TV101WUM_NG0 = {
+ .edid = {
+ .ascii_string = "TV101WUM-NG0",
+ .manufacturer_name = "BOE",
+ .panel_bits_per_color = 8,
+ .panel_bits_per_pixel = 24,
+ .mode = {
+ .pixel_clock = 159420,
+ .lvds_dual_channel = 0,
+ .refresh = 60,
+ .ha = 1200, .hbl = 164, .hso = 80, .hspw = 24,
+ .va = 1920, .vbl = 28, .vso = 10, .vspw = 4,
+ .phsync = '-', .pvsync = '-',
+ .x_mm = 135, .y_mm = 216,
+ },
+ },
+ .init = {
+ INIT_DCS_CMD(0x10),
+ INIT_DELAY_CMD(0x22),
+ 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(0xB2, 0x50),
+ INIT_DCS_CMD(0xB6, 0x03),
+ INIT_DCS_CMD(0xBA, 0x8B),
+ INIT_DCS_CMD(0xBF, 0x15),
+ 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, 0x04),
+ INIT_DCS_CMD(0xD3, 0x04),
+ INIT_DCS_CMD(0xE6, 0x03),
+ INIT_DCS_CMD(0xE7, 0x03),
+ INIT_DCS_CMD(0xC4, 0x08),
+ INIT_DCS_CMD(0xC5, 0x08),
+ INIT_DCS_CMD(0xD8, 0x07),
+ INIT_DCS_CMD(0xD9, 0x07),
+ INIT_DCS_CMD(0xC2, 0x06),
+ INIT_DCS_CMD(0xC3, 0x06),
+ INIT_DCS_CMD(0xD6, 0x05),
+ INIT_DCS_CMD(0xD7, 0x05),
+ INIT_DCS_CMD(0xC0, 0x0C),
+ INIT_DCS_CMD(0xC1, 0x0C),
+ INIT_DCS_CMD(0xD4, 0x0B),
+ INIT_DCS_CMD(0xD5, 0x0B),
+ INIT_DCS_CMD(0xCA, 0x0A),
+ INIT_DCS_CMD(0xCB, 0x0A),
+ INIT_DCS_CMD(0xDE, 0x09),
+ INIT_DCS_CMD(0xDF, 0x09),
+ INIT_DCS_CMD(0xC6, 0x26),
+ INIT_DCS_CMD(0xC7, 0x26),
+ INIT_DCS_CMD(0xCE, 0x00),
+ INIT_DCS_CMD(0xCF, 0x00),
+ INIT_DCS_CMD(0xDA, 0x26),
+ INIT_DCS_CMD(0xDB, 0x26),
+ INIT_DCS_CMD(0xE2, 0x00),
+ INIT_DCS_CMD(0xE3, 0x00),
+ INIT_DCS_CMD(0xB0, 0x02),
+ INIT_DCS_CMD(0xC0, 0x00),
+ INIT_DCS_CMD(0xC1, 0x07),
+ INIT_DCS_CMD(0xC2, 0x0D),
+ INIT_DCS_CMD(0xC3, 0x18),
+ INIT_DCS_CMD(0xC4, 0x27),
+ INIT_DCS_CMD(0xC5, 0x28),
+ INIT_DCS_CMD(0xC6, 0x30),
+ INIT_DCS_CMD(0xC7, 0x2E),
+ INIT_DCS_CMD(0xC8, 0x2F),
+ INIT_DCS_CMD(0xC9, 0x1A),
+ INIT_DCS_CMD(0xCA, 0x20),
+ INIT_DCS_CMD(0xCB, 0x29),
+ INIT_DCS_CMD(0xCC, 0x26),
+ INIT_DCS_CMD(0xCD, 0x32),
+ INIT_DCS_CMD(0xCE, 0x33),
+ INIT_DCS_CMD(0xCF, 0x31),
+ INIT_DCS_CMD(0xD0, 0x06),
+ INIT_DCS_CMD(0xD2, 0x00),
+ INIT_DCS_CMD(0xD3, 0x07),
+ INIT_DCS_CMD(0xD4, 0x12),
+ INIT_DCS_CMD(0xD5, 0x26),
+ INIT_DCS_CMD(0xD6, 0x3D),
+ INIT_DCS_CMD(0xD7, 0x3F),
+ INIT_DCS_CMD(0xD8, 0x3F),
+ INIT_DCS_CMD(0xD9, 0x3F),
+ INIT_DCS_CMD(0xDA, 0x3F),
+ INIT_DCS_CMD(0xDB, 0x3F),
+ INIT_DCS_CMD(0xDC, 0x3F),
+ INIT_DCS_CMD(0xDD, 0x3F),
+ INIT_DCS_CMD(0xDE, 0x3F),
+ INIT_DCS_CMD(0xDF, 0x3A),
+ INIT_DCS_CMD(0xE0, 0x37),
+ INIT_DCS_CMD(0xE1, 0x35),
+ 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, 0x09),
+ INIT_DCS_CMD(0xB3, 0x19),
+ INIT_DCS_CMD(0xB4, 0x2F),
+ INIT_DCS_CMD(0xB5, 0x44),
+ INIT_DCS_CMD(0xB6, 0x52),
+ INIT_DCS_CMD(0xB7, 0x6A),
+ INIT_DCS_CMD(0xB8, 0x8A),
+ INIT_DCS_CMD(0xB9, 0xCA),
+ INIT_DCS_CMD(0xBA, 0x0C),
+ INIT_DCS_CMD(0xBB, 0x87),
+ INIT_DELAY_CMD(0x05),
+ INIT_DCS_CMD(0xBC, 0x06),
+ INIT_DCS_CMD(0xBD, 0x0A),
+ INIT_DCS_CMD(0xBE, 0x9B),
+ INIT_DCS_CMD(0xBF, 0x0C),
+ INIT_DCS_CMD(0xC0, 0x3D),
+ INIT_DCS_CMD(0xC1, 0x71),
+ INIT_DCS_CMD(0xC2, 0x90),
+ INIT_DCS_CMD(0xC3, 0xA0),
+ INIT_DCS_CMD(0xC4, 0xA8),
+ INIT_DCS_CMD(0xC5, 0xB1),
+ INIT_DCS_CMD(0xC6, 0xBB),
+ INIT_DCS_CMD(0xC7, 0xC0),
+ INIT_DCS_CMD(0xC8, 0xC4),
+ 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, 0x08),
+ INIT_DCS_CMD(0xB3, 0x19),
+ INIT_DCS_CMD(0xB4, 0x31),
+ INIT_DCS_CMD(0xB5, 0x46),
+ INIT_DCS_CMD(0xB6, 0x55),
+ INIT_DCS_CMD(0xB7, 0x6E),
+ INIT_DCS_CMD(0xB8, 0x92),
+ INIT_DCS_CMD(0xB9, 0xD4),
+ INIT_DCS_CMD(0xBA, 0x1B),
+ INIT_DCS_CMD(0xBB, 0x9B),
+ INIT_DELAY_CMD(0x05),
+ INIT_DCS_CMD(0xBC, 0x28),
+ INIT_DCS_CMD(0xBD, 0x2D),
+ INIT_DCS_CMD(0xBE, 0xC3),
+ INIT_DCS_CMD(0xBF, 0x2F),
+ INIT_DCS_CMD(0xC0, 0x62),
+ INIT_DCS_CMD(0xC1, 0x99),
+ INIT_DCS_CMD(0xC2, 0xAB),
+ INIT_DCS_CMD(0xC3, 0xBF),
+ INIT_DCS_CMD(0xC4, 0xCF),
+ INIT_DCS_CMD(0xC5, 0xDF),
+ INIT_DCS_CMD(0xC6, 0xF0),
+ INIT_DCS_CMD(0xC7, 0xF9),
+ 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, 0x05),
+ INIT_DCS_CMD(0xB3, 0x17),
+ INIT_DCS_CMD(0xB4, 0x2E),
+ INIT_DCS_CMD(0xB5, 0x42),
+ INIT_DCS_CMD(0xB6, 0x51),
+ INIT_DCS_CMD(0xB7, 0x69),
+ INIT_DCS_CMD(0xB8, 0x88),
+ INIT_DCS_CMD(0xB9, 0xC9),
+ INIT_DCS_CMD(0xBA, 0x0C),
+ INIT_DCS_CMD(0xBB, 0x86),
+ INIT_DELAY_CMD(0x05),
+ INIT_DCS_CMD(0xBC, 0x03),
+ INIT_DCS_CMD(0xBD, 0x08),
+ INIT_DCS_CMD(0xBE, 0x95),
+ INIT_DCS_CMD(0xBF, 0x05),
+ INIT_DCS_CMD(0xC0, 0x35),
+ INIT_DCS_CMD(0xC1, 0x62),
+ INIT_DCS_CMD(0xC2, 0x81),
+ INIT_DCS_CMD(0xC3, 0x96),
+ INIT_DCS_CMD(0xC4, 0x9E),
+ INIT_DCS_CMD(0xC5, 0xA5),
+ INIT_DCS_CMD(0xC6, 0xAD),
+ INIT_DCS_CMD(0xC7, 0xB1),
+ INIT_DCS_CMD(0xC8, 0xB4),
+ 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, 0x09),
+ INIT_DCS_CMD(0xB3, 0x19),
+ INIT_DCS_CMD(0xB4, 0x2F),
+ INIT_DCS_CMD(0xB5, 0x44),
+ INIT_DCS_CMD(0xB6, 0x52),
+ INIT_DCS_CMD(0xB7, 0x6A),
+ INIT_DCS_CMD(0xB8, 0x8A),
+ INIT_DCS_CMD(0xB9, 0xCA),
+ INIT_DCS_CMD(0xBA, 0x0C),
+ INIT_DCS_CMD(0xBB, 0x87),
+ INIT_DELAY_CMD(0x05),
+ INIT_DCS_CMD(0xBC, 0x06),
+ INIT_DCS_CMD(0xBD, 0x0A),
+ INIT_DCS_CMD(0xBE, 0x9B),
+ INIT_DCS_CMD(0xBF, 0x0C),
+ INIT_DCS_CMD(0xC0, 0x3D),
+ INIT_DCS_CMD(0xC1, 0x71),
+ INIT_DCS_CMD(0xC2, 0x90),
+ INIT_DCS_CMD(0xC3, 0xA0),
+ INIT_DCS_CMD(0xC4, 0xA8),
+ INIT_DCS_CMD(0xC5, 0xB1),
+ INIT_DCS_CMD(0xC6, 0xBB),
+ INIT_DCS_CMD(0xC7, 0xC0),
+ INIT_DCS_CMD(0xC8, 0xC4),
+ 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, 0x08),
+ INIT_DCS_CMD(0xB3, 0x19),
+ INIT_DCS_CMD(0xB4, 0x31),
+ INIT_DCS_CMD(0xB5, 0x46),
+ INIT_DCS_CMD(0xB6, 0x55),
+ INIT_DCS_CMD(0xB7, 0x6E),
+ INIT_DCS_CMD(0xB8, 0x92),
+ INIT_DCS_CMD(0xB9, 0xD4),
+ INIT_DCS_CMD(0xBA, 0x1B),
+ INIT_DCS_CMD(0xBB, 0x9B),
+ INIT_DELAY_CMD(0x05),
+ INIT_DCS_CMD(0xBC, 0x28),
+ INIT_DCS_CMD(0xBD, 0x2D),
+ INIT_DCS_CMD(0xBE, 0xC3),
+ INIT_DCS_CMD(0xBF, 0x2F),
+ INIT_DCS_CMD(0xC0, 0x62),
+ INIT_DCS_CMD(0xC1, 0x99),
+ INIT_DCS_CMD(0xC2, 0xAB),
+ INIT_DCS_CMD(0xC3, 0xBF),
+ INIT_DCS_CMD(0xC4, 0xCF),
+ INIT_DCS_CMD(0xC5, 0xDF),
+ INIT_DCS_CMD(0xC6, 0xF0),
+ INIT_DCS_CMD(0xC7, 0xF9),
+ 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, 0x05),
+ INIT_DCS_CMD(0xB3, 0x17),
+ INIT_DCS_CMD(0xB4, 0x2E),
+ INIT_DCS_CMD(0xB5, 0x42),
+ INIT_DCS_CMD(0xB6, 0x51),
+ INIT_DCS_CMD(0xB7, 0x69),
+ INIT_DCS_CMD(0xB8, 0x88),
+ INIT_DCS_CMD(0xB9, 0xC9),
+ INIT_DCS_CMD(0xBA, 0x0C),
+ INIT_DCS_CMD(0xBB, 0x86),
+ INIT_DELAY_CMD(0x05),
+ INIT_DCS_CMD(0xBC, 0x03),
+ INIT_DCS_CMD(0xBD, 0x08),
+ INIT_DCS_CMD(0xBE, 0x95),
+ INIT_DCS_CMD(0xBF, 0x05),
+ INIT_DCS_CMD(0xC0, 0x35),
+ INIT_DCS_CMD(0xC1, 0x62),
+ INIT_DCS_CMD(0xC2, 0x81),
+ INIT_DCS_CMD(0xC3, 0x96),
+ INIT_DCS_CMD(0xC4, 0x9E),
+ INIT_DCS_CMD(0xC5, 0xA5),
+ INIT_DCS_CMD(0xC6, 0xAD),
+ INIT_DCS_CMD(0xC7, 0xB1),
+ INIT_DCS_CMD(0xC8, 0xB4),
+ 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_DELAY_CMD(0x64),
+ INIT_DCS_CMD(0xB0, 0x00),
+ INIT_DCS_CMD(0xB3, 0x08),
+ INIT_DCS_CMD(0xB0, 0x04),
+ INIT_DCS_CMD(0xB8, 0x68),
+ INIT_DELAY_CMD(0x0A),
+ INIT_DCS_CMD(0x11),
+ INIT_DELAY_CMD(0x78),
+ INIT_DCS_CMD(0x29),
+ INIT_DELAY_CMD(0x14),
+ INIT_END_CMD,
+ },
+};
diff --git a/src/mainboard/google/kukui/panel_params/panel-INX_OTA7290D10P.c b/src/mainboard/google/kukui/panel_params/panel-INX_OTA7290D10P.c
new file mode 100644
index 0000000000..069fb639e5
--- /dev/null
+++ b/src/mainboard/google/kukui/panel_params/panel-INX_OTA7290D10P.c
@@ -0,0 +1,294 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2019 Huaqin Telecom Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include "../panel.h"
+
+struct panel_serializable_data INX_OTA7290D10P = {
+ .edid = {
+ .ascii_string = "OTA7290D10P",
+ .manufacturer_name = "INX",
+ .panel_bits_per_color = 8,
+ .panel_bits_per_pixel = 24,
+ .mode = {
+ .pixel_clock = 159420,
+ .lvds_dual_channel = 0,
+ .refresh = 60,
+ .ha = 1200, .hbl = 141, .hso = 80, .hspw = 1,
+ .va = 1920, .vbl = 61, .vso = 35, .vspw = 1,
+ .phsync = '-', .pvsync = '-',
+ .x_mm = 135, .y_mm = 216,
+ },
+ },
+ .init = {
+ INIT_DCS_CMD(0xB0, 0x5A),
+ INIT_DCS_CMD(0xB1, 0x00),
+ INIT_DCS_CMD(0x89, 0x01),
+ INIT_DCS_CMD(0x91, 0x17),
+ INIT_DCS_CMD(0xB1, 0x03),
+ INIT_DCS_CMD(0x2C, 0x28),
+ INIT_DCS_CMD(0x00, 0xF1),
+ INIT_DCS_CMD(0x01, 0x78),
+ INIT_DCS_CMD(0x02, 0x3C),
+ INIT_DCS_CMD(0x03, 0x1E),
+ INIT_DCS_CMD(0x04, 0x8F),
+ INIT_DCS_CMD(0x05, 0x01),
+ INIT_DCS_CMD(0x06, 0x00),
+ INIT_DCS_CMD(0x07, 0x00),
+ INIT_DCS_CMD(0x08, 0x00),
+ INIT_DCS_CMD(0x09, 0x00),
+ INIT_DCS_CMD(0x0A, 0x01),
+ INIT_DCS_CMD(0x0B, 0x3C),
+ INIT_DCS_CMD(0x0C, 0x00),
+ INIT_DCS_CMD(0x0D, 0x00),
+ INIT_DCS_CMD(0x0E, 0x24),
+ INIT_DCS_CMD(0x0F, 0x1C),
+ INIT_DCS_CMD(0x10, 0xC8),
+ INIT_DCS_CMD(0x11, 0x60),
+ INIT_DCS_CMD(0x12, 0x70),
+ INIT_DCS_CMD(0x13, 0x01),
+ INIT_DCS_CMD(0x14, 0xE3),
+ INIT_DCS_CMD(0x15, 0xFF),
+ INIT_DCS_CMD(0x16, 0x3D),
+ INIT_DCS_CMD(0x17, 0x0E),
+ INIT_DCS_CMD(0x18, 0x01),
+ INIT_DCS_CMD(0x19, 0x00),
+ INIT_DCS_CMD(0x1A, 0x00),
+ INIT_DCS_CMD(0x1B, 0xFC),
+ INIT_DCS_CMD(0x1C, 0x0B),
+ INIT_DCS_CMD(0x1D, 0xA0),
+ INIT_DCS_CMD(0x1E, 0x03),
+ INIT_DCS_CMD(0x1F, 0x04),
+ INIT_DCS_CMD(0x20, 0x0C),
+ INIT_DCS_CMD(0x21, 0x00),
+ INIT_DCS_CMD(0x22, 0x04),
+ INIT_DCS_CMD(0x23, 0x81),
+ INIT_DCS_CMD(0x24, 0x1F),
+ INIT_DCS_CMD(0x25, 0x10),
+ INIT_DCS_CMD(0x26, 0x9B),
+ INIT_DCS_CMD(0x2D, 0x01),
+ INIT_DCS_CMD(0x2E, 0x84),
+ INIT_DCS_CMD(0x2F, 0x00),
+ INIT_DCS_CMD(0x30, 0x02),
+ INIT_DCS_CMD(0x31, 0x08),
+ INIT_DCS_CMD(0x32, 0x01),
+ INIT_DCS_CMD(0x33, 0x1C),
+ INIT_DCS_CMD(0x34, 0x70),
+ INIT_DCS_CMD(0x35, 0xFF),
+ INIT_DCS_CMD(0x36, 0xFF),
+ INIT_DCS_CMD(0x37, 0xFF),
+ INIT_DCS_CMD(0x38, 0xFF),
+ INIT_DCS_CMD(0x39, 0xFF),
+ INIT_DCS_CMD(0x3A, 0x05),
+ INIT_DCS_CMD(0x3B, 0x00),
+ INIT_DCS_CMD(0x3C, 0x00),
+ INIT_DCS_CMD(0x3D, 0x00),
+ INIT_DCS_CMD(0x3E, 0x0F),
+ INIT_DCS_CMD(0x3F, 0xA4),
+ INIT_DCS_CMD(0x40, 0x28),
+ INIT_DCS_CMD(0x41, 0xFC),
+ INIT_DCS_CMD(0x42, 0x01),
+ INIT_DCS_CMD(0x43, 0x08),
+ INIT_DCS_CMD(0x44, 0x05),
+ INIT_DCS_CMD(0x45, 0xF0),
+ INIT_DCS_CMD(0x46, 0x01),
+ INIT_DCS_CMD(0x47, 0x02),
+ INIT_DCS_CMD(0x48, 0x00),
+ INIT_DCS_CMD(0x49, 0x58),
+ INIT_DCS_CMD(0x4A, 0x00),
+ INIT_DCS_CMD(0x4B, 0x05),
+ INIT_DCS_CMD(0x4C, 0x03),
+ INIT_DCS_CMD(0x4D, 0xD0),
+ INIT_DCS_CMD(0x4E, 0x13),
+ INIT_DCS_CMD(0x4F, 0xFF),
+ INIT_DCS_CMD(0x50, 0x0A),
+ INIT_DCS_CMD(0x51, 0x53),
+ INIT_DCS_CMD(0x52, 0x26),
+ INIT_DCS_CMD(0x53, 0x22),
+ INIT_DCS_CMD(0x54, 0x09),
+ INIT_DCS_CMD(0x55, 0x22),
+ INIT_DCS_CMD(0x56, 0x00),
+ INIT_DCS_CMD(0x57, 0x1C),
+ INIT_DCS_CMD(0x58, 0x03),
+ INIT_DCS_CMD(0x59, 0x3F),
+ INIT_DCS_CMD(0x5A, 0x28),
+ INIT_DCS_CMD(0x5B, 0x01),
+ INIT_DCS_CMD(0x5C, 0xCC),
+ INIT_DCS_CMD(0x5D, 0x21),
+ INIT_DCS_CMD(0x5E, 0x04),
+ INIT_DCS_CMD(0x5F, 0x13),
+ INIT_DCS_CMD(0x60, 0x42),
+ INIT_DCS_CMD(0x61, 0x08),
+ INIT_DCS_CMD(0x62, 0x64),
+ INIT_DCS_CMD(0x63, 0xEB),
+ INIT_DCS_CMD(0x64, 0x10),
+ INIT_DCS_CMD(0x65, 0xA8),
+ INIT_DCS_CMD(0x66, 0x84),
+ INIT_DCS_CMD(0x67, 0x8E),
+ INIT_DCS_CMD(0x68, 0x29),
+ INIT_DCS_CMD(0x69, 0x11),
+ INIT_DCS_CMD(0x6A, 0x42),
+ INIT_DCS_CMD(0x6B, 0x38),
+ INIT_DCS_CMD(0x6C, 0x21),
+ INIT_DCS_CMD(0x6D, 0x84),
+ INIT_DCS_CMD(0x6E, 0x50),
+ INIT_DCS_CMD(0x6F, 0xB6),
+ INIT_DCS_CMD(0x70, 0x0E),
+ INIT_DCS_CMD(0x71, 0xA1),
+ INIT_DCS_CMD(0x72, 0xCE),
+ INIT_DCS_CMD(0x73, 0xF8),
+ INIT_DCS_CMD(0x74, 0xDA),
+ INIT_DCS_CMD(0x75, 0x1A),
+ INIT_DCS_CMD(0x76, 0x00),
+ INIT_DCS_CMD(0x77, 0x00),
+ INIT_DCS_CMD(0x78, 0x5F),
+ INIT_DCS_CMD(0x79, 0xE0),
+ INIT_DCS_CMD(0x7A, 0x01),
+ INIT_DCS_CMD(0x7B, 0xFF),
+ INIT_DCS_CMD(0x7C, 0xFF),
+ INIT_DCS_CMD(0x7D, 0xFF),
+ INIT_DCS_CMD(0x7E, 0xFF),
+ INIT_DCS_CMD(0x7F, 0xFE),
+ INIT_DCS_CMD(0xB1, 0x02),
+ INIT_DCS_CMD(0x00, 0xFF),
+ INIT_DCS_CMD(0x01, 0x01),
+ INIT_DCS_CMD(0x02, 0x00),
+ INIT_DCS_CMD(0x03, 0x00),
+ INIT_DCS_CMD(0x04, 0x00),
+ INIT_DCS_CMD(0x05, 0x00),
+ INIT_DCS_CMD(0x06, 0x00),
+ INIT_DCS_CMD(0x07, 0x00),
+ INIT_DCS_CMD(0x08, 0xC0),
+ INIT_DCS_CMD(0x09, 0x00),
+ INIT_DCS_CMD(0x0A, 0x00),
+ INIT_DCS_CMD(0x0B, 0x04),
+ INIT_DCS_CMD(0x0C, 0xE6),
+ INIT_DCS_CMD(0x0D, 0x0D),
+ INIT_DCS_CMD(0x0F, 0x08),
+ INIT_DCS_CMD(0x10, 0xE5),
+ INIT_DCS_CMD(0x11, 0xA8),
+ INIT_DCS_CMD(0x12, 0xEC),
+ INIT_DCS_CMD(0x13, 0x54),
+ INIT_DCS_CMD(0x14, 0x5A),
+ INIT_DCS_CMD(0x15, 0xD5),
+ INIT_DCS_CMD(0x16, 0x23),
+ INIT_DCS_CMD(0x17, 0x11),
+ INIT_DCS_CMD(0x18, 0x2F),
+ INIT_DCS_CMD(0x19, 0x93),
+ INIT_DCS_CMD(0x1A, 0xA6),
+ INIT_DCS_CMD(0x1B, 0x0F),
+ INIT_DCS_CMD(0x1C, 0xFF),
+ INIT_DCS_CMD(0x1D, 0xFF),
+ INIT_DCS_CMD(0x1E, 0xFF),
+ INIT_DCS_CMD(0x1F, 0xFF),
+ INIT_DCS_CMD(0x20, 0xFF),
+ INIT_DCS_CMD(0x21, 0xFF),
+ INIT_DCS_CMD(0x22, 0xFF),
+ INIT_DCS_CMD(0x23, 0xFF),
+ INIT_DCS_CMD(0x24, 0xFF),
+ INIT_DCS_CMD(0x25, 0xFF),
+ INIT_DCS_CMD(0x26, 0xFF),
+ INIT_DCS_CMD(0x27, 0x1F),
+ INIT_DCS_CMD(0x28, 0xC8),
+ INIT_DCS_CMD(0x29, 0xFF),
+ INIT_DCS_CMD(0x2A, 0xFF),
+ INIT_DCS_CMD(0x2B, 0xFF),
+ INIT_DCS_CMD(0x2C, 0x07),
+ INIT_DCS_CMD(0x2D, 0x03),
+ INIT_DCS_CMD(0x33, 0x09),
+ INIT_DCS_CMD(0x35, 0x7F),
+ INIT_DCS_CMD(0x36, 0x0C),
+ INIT_DCS_CMD(0x38, 0x7F),
+ INIT_DCS_CMD(0x3A, 0x80),
+ INIT_DCS_CMD(0x3B, 0x55),
+ INIT_DCS_CMD(0x3C, 0xE2),
+ INIT_DCS_CMD(0x3D, 0x32),
+ INIT_DCS_CMD(0x3E, 0x00),
+ INIT_DCS_CMD(0x3F, 0x58),
+ INIT_DCS_CMD(0x40, 0x06),
+ INIT_DCS_CMD(0x41, 0x80),
+ INIT_DCS_CMD(0x42, 0xCB),
+ INIT_DCS_CMD(0x43, 0x2C),
+ INIT_DCS_CMD(0x44, 0x61),
+ INIT_DCS_CMD(0x45, 0x39),
+ INIT_DCS_CMD(0x46, 0x00),
+ INIT_DCS_CMD(0x47, 0x00),
+ INIT_DCS_CMD(0x48, 0x8B),
+ INIT_DCS_CMD(0x49, 0xD2),
+ INIT_DCS_CMD(0x4A, 0x01),
+ INIT_DCS_CMD(0x4B, 0x00),
+ INIT_DCS_CMD(0x4C, 0x10),
+ INIT_DCS_CMD(0x4D, 0xC0),
+ INIT_DCS_CMD(0x4E, 0x0F),
+ INIT_DCS_CMD(0x4F, 0xF1),
+ INIT_DCS_CMD(0x50, 0x78),
+ INIT_DCS_CMD(0x51, 0x7A),
+ INIT_DCS_CMD(0x52, 0x34),
+ INIT_DCS_CMD(0x53, 0x99),
+ INIT_DCS_CMD(0x54, 0xA2),
+ INIT_DCS_CMD(0x55, 0x03),
+ INIT_DCS_CMD(0x56, 0x6C),
+ INIT_DCS_CMD(0x57, 0x1A),
+ INIT_DCS_CMD(0x58, 0x05),
+ INIT_DCS_CMD(0x59, 0x30),
+ INIT_DCS_CMD(0x5A, 0x1E),
+ INIT_DCS_CMD(0x5B, 0x8F),
+ INIT_DCS_CMD(0x5C, 0xC7),
+ INIT_DCS_CMD(0x5D, 0xE3),
+ INIT_DCS_CMD(0x5E, 0xF1),
+ INIT_DCS_CMD(0x5F, 0x78),
+ INIT_DCS_CMD(0x60, 0x3C),
+ INIT_DCS_CMD(0x61, 0x36),
+ INIT_DCS_CMD(0x62, 0x1E),
+ INIT_DCS_CMD(0x63, 0x1B),
+ INIT_DCS_CMD(0x64, 0x8F),
+ INIT_DCS_CMD(0x65, 0xC7),
+ INIT_DCS_CMD(0x66, 0xE3),
+ INIT_DCS_CMD(0x67, 0x31),
+ INIT_DCS_CMD(0x68, 0x14),
+ INIT_DCS_CMD(0x69, 0x89),
+ INIT_DCS_CMD(0x6A, 0x70),
+ INIT_DCS_CMD(0x6B, 0x8C),
+ INIT_DCS_CMD(0x6C, 0x8D),
+ INIT_DCS_CMD(0x6D, 0x8D),
+ INIT_DCS_CMD(0x6E, 0x8D),
+ INIT_DCS_CMD(0x6F, 0x8D),
+ INIT_DCS_CMD(0x70, 0xC7),
+ INIT_DCS_CMD(0x71, 0xE3),
+ INIT_DCS_CMD(0x72, 0xF1),
+ INIT_DCS_CMD(0x73, 0xD8),
+ INIT_DCS_CMD(0x74, 0xD8),
+ INIT_DCS_CMD(0x75, 0xD8),
+ INIT_DCS_CMD(0x76, 0x18),
+ INIT_DCS_CMD(0x77, 0x00),
+ INIT_DCS_CMD(0x78, 0x00),
+ INIT_DCS_CMD(0x79, 0x00),
+ INIT_DCS_CMD(0x7A, 0xC6),
+ INIT_DCS_CMD(0x7B, 0xC6),
+ INIT_DCS_CMD(0x7C, 0xC6),
+ INIT_DCS_CMD(0x7D, 0xC6),
+ INIT_DCS_CMD(0x7E, 0xC6),
+ INIT_DCS_CMD(0x7F, 0xE3),
+ INIT_DCS_CMD(0x0B, 0x04),
+ INIT_DCS_CMD(0xB1, 0x03),
+ INIT_DCS_CMD(0x2C, 0x2C),
+ INIT_DCS_CMD(0xB1, 0x00),
+ INIT_DCS_CMD(0x89, 0x03),
+ INIT_DCS_CMD(0x11),
+ INIT_DELAY_CMD(0x78),
+ INIT_DCS_CMD(0x29),
+ INIT_DELAY_CMD(0x14),
+ INIT_END_CMD,
+ },
+};