From 54ff1a0ad3bb3c1c4bc5283aaf2f03b17c3b25f1 Mon Sep 17 00:00:00 2001 From: Hung-Te Lin Date: Fri, 16 Aug 2019 11:54:21 +0800 Subject: mb/google/kukui: Add flapjack panels Add panels supported by flapjack. Change-Id: I547bf6f26bdbfed52a00c8cfb268d4e7c17ed889 Signed-off-by: Hung-Te Lin Reviewed-on: https://review.coreboot.org/c/coreboot/+/34891 Tested-by: build bot (Jenkins) Reviewed-by: Julius Werner --- src/mainboard/google/kukui/Makefile.inc | 1 + src/mainboard/google/kukui/panel_flapjack.c | 31 ++ .../google/kukui/panel_params/Makefile.inc | 4 + .../kukui/panel_params/panel-AUO_NT51021D8P.c | 41 +++ .../kukui/panel_params/panel-BOE_TV080WUM_NG0.c | 350 +++++++++++++++++++++ .../kukui/panel_params/panel-BOE_TV101WUM_NG0.c | 350 +++++++++++++++++++++ .../kukui/panel_params/panel-INX_OTA7290D10P.c | 294 +++++++++++++++++ 7 files changed, 1071 insertions(+) create mode 100644 src/mainboard/google/kukui/panel_flapjack.c create mode 100644 src/mainboard/google/kukui/panel_params/panel-AUO_NT51021D8P.c create mode 100644 src/mainboard/google/kukui/panel_params/panel-BOE_TV080WUM_NG0.c create mode 100644 src/mainboard/google/kukui/panel_params/panel-BOE_TV101WUM_NG0.c create mode 100644 src/mainboard/google/kukui/panel_params/panel-INX_OTA7290D10P.c (limited to 'src/mainboard/google/kukui') 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, + }, +}; -- cgit v1.2.3