mb/google/kukui: Add panel for Kakadu

Declare the following panel for Kakadu:
- BOE_TV105WUM_NW0

BUG=b:148997748
TEST=build Kakadu image passed
BRANCH=kukui

Signed-off-by: Casper Chang <casper_chang@bitand.corp-partner.google.com>
Change-Id: I394b8cafa8be40e5fd6bf8ceb81b520df73718a4
Reviewed-on: https://review.coreboot.org/c/coreboot/+/38822
Reviewed-by: Peichao Li <peichao.wang@bitland.corp-partner.google.com>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Casper Chang 2020-02-11 11:34:26 +08:00 committed by Patrick Georgi
parent 1d812e893a
commit fa36d0b79f
4 changed files with 363 additions and 0 deletions

View File

@ -26,6 +26,7 @@ ramstage-y += chromeos.c
ramstage-y += mainboard.c
ramstage-y += memlayout.ld
ramstage-$(CONFIG_BOARD_GOOGLE_FLAPJACK) += panel_flapjack.c
ramstage-$(CONFIG_BOARD_GOOGLE_KAKADU) += panel_kakadu.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

View File

@ -0,0 +1,28 @@
/*
* This file is part of the coreboot project.
*
* Copyright 2020 Bitland Tech 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 kakadu_panels[] = {
[1] = { .name = "BOE_TV105WUM_NW0", },
};
struct panel_description *get_panel_description(int panel_id)
{
if (panel_id < 0 || panel_id >= ARRAY_SIZE(kakadu_panels))
return NULL;
return get_panel_from_cbfs(&kakadu_panels[panel_id]);
}

View File

@ -3,6 +3,7 @@ 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-AUO_B101UAN08_3
panel-params-$(CONFIG_BOARD_GOOGLE_KODAMA) += panel-BOE_TV101WUM_N53
panel-params-$(CONFIG_BOARD_GOOGLE_KAKADU) += panel-BOE_TV105WUM_NW0
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

View File

@ -0,0 +1,333 @@
/*
* This file is part of the coreboot project.
*
* Copyright 2020 Bitland Tech 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_TV105WUM_NW0 = {
.edid = {
.ascii_string = "TV105WUM-NW0",
.manufacturer_name = "BOE",
.panel_bits_per_color = 8,
.panel_bits_per_pixel = 24,
.mode = {
.pixel_clock = 156298,
.lvds_dual_channel = 0,
.refresh = 60,
.ha = 1200, .hbl = 140, .hso = 60, .hspw = 24,
.va = 1920, .vbl = 24, .vso = 14, .vspw = 2,
.phsync = '-', .pvsync = '-',
.x_mm = 147, .y_mm = 236,
},
},
.init = {
INIT_DCS_CMD(0x10),
INIT_DELAY_CMD(34),
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, 0x87),
INIT_DCS_CMD(0xBF, 0x1F),
INIT_DCS_CMD(0xC0, 0x0F),
INIT_DCS_CMD(0xC2, 0x0E),
INIT_DCS_CMD(0xC3, 0x02),
INIT_DCS_CMD(0xC4, 0x0E),
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, 0x11),
INIT_DCS_CMD(0xC2, 0x1D),
INIT_DCS_CMD(0xC3, 0x2E),
INIT_DCS_CMD(0xC4, 0x3F),
INIT_DCS_CMD(0xC5, 0x3F),
INIT_DCS_CMD(0xC6, 0x3F),
INIT_DCS_CMD(0xC7, 0x3F),
INIT_DCS_CMD(0xC8, 0x3F),
INIT_DCS_CMD(0xC9, 0x3F),
INIT_DCS_CMD(0xCA, 0x3F),
INIT_DCS_CMD(0xCB, 0x3F),
INIT_DCS_CMD(0xCC, 0x3F),
INIT_DCS_CMD(0xCD, 0x33),
INIT_DCS_CMD(0xCE, 0x32),
INIT_DCS_CMD(0xCF, 0x31),
INIT_DCS_CMD(0xD0, 0x07),
INIT_DCS_CMD(0xD2, 0x00),
INIT_DCS_CMD(0xD3, 0x11),
INIT_DCS_CMD(0xD4, 0x1D),
INIT_DCS_CMD(0xD5, 0x2E),
INIT_DCS_CMD(0xD6, 0x3F),
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, 0x33),
INIT_DCS_CMD(0xE0, 0x32),
INIT_DCS_CMD(0xE1, 0x31),
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(0xBC, 0x33),
INIT_DCS_CMD(0xB0, 0x07),
INIT_DCS_CMD(0xB1, 0x00),
INIT_DCS_CMD(0xB2, 0x02),
INIT_DCS_CMD(0xB3, 0x0B),
INIT_DCS_CMD(0xB4, 0x1A),
INIT_DCS_CMD(0xB5, 0x29),
INIT_DCS_CMD(0xB6, 0x38),
INIT_DCS_CMD(0xB7, 0x58),
INIT_DCS_CMD(0xB8, 0x76),
INIT_DCS_CMD(0xB9, 0xB9),
INIT_DCS_CMD(0xBA, 0xF7),
INIT_DCS_CMD(0xBB, 0x6D),
INIT_DCS_CMD(0xBC, 0xE5),
INIT_DCS_CMD(0xBD, 0xE9),
INIT_DCS_CMD(0xBE, 0x5E),
INIT_DCS_CMD(0xBF, 0xD6),
INIT_DCS_CMD(0xC0, 0x15),
INIT_DCS_CMD(0xC1, 0x51),
INIT_DCS_CMD(0xC2, 0x71),
INIT_DCS_CMD(0xC3, 0x90),
INIT_DCS_CMD(0xC4, 0x9C),
INIT_DCS_CMD(0xC5, 0xA8),
INIT_DCS_CMD(0xC6, 0xB5),
INIT_DCS_CMD(0xC7, 0xBC),
INIT_DCS_CMD(0xC8, 0xC0),
INIT_DCS_CMD(0xC9, 0x00),
INIT_DCS_CMD(0xCA, 0x00),
INIT_DCS_CMD(0xCB, 0x05),
INIT_DCS_CMD(0xCC, 0x6B),
INIT_DCS_CMD(0xCD, 0xFF),
INIT_DCS_CMD(0xCE, 0xFF),
INIT_DCS_CMD(0xB0, 0x08),
INIT_DCS_CMD(0xB1, 0x00),
INIT_DCS_CMD(0xB2, 0x04),
INIT_DCS_CMD(0xB3, 0x0B),
INIT_DCS_CMD(0xB4, 0x1A),
INIT_DCS_CMD(0xB5, 0x29),
INIT_DCS_CMD(0xB6, 0x38),
INIT_DCS_CMD(0xB7, 0x58),
INIT_DCS_CMD(0xB8, 0x76),
INIT_DCS_CMD(0xB9, 0xB8),
INIT_DCS_CMD(0xBA, 0xF7),
INIT_DCS_CMD(0xBB, 0x6C),
INIT_DCS_CMD(0xBC, 0xE3),
INIT_DCS_CMD(0xBD, 0xE7),
INIT_DCS_CMD(0xBE, 0x5C),
INIT_DCS_CMD(0xBF, 0xD3),
INIT_DCS_CMD(0xC0, 0x10),
INIT_DCS_CMD(0xC1, 0x4C),
INIT_DCS_CMD(0xC2, 0x6A),
INIT_DCS_CMD(0xC3, 0x8A),
INIT_DCS_CMD(0xC4, 0x96),
INIT_DCS_CMD(0xC5, 0xA2),
INIT_DCS_CMD(0xC6, 0xAE),
INIT_DCS_CMD(0xC7, 0xB4),
INIT_DCS_CMD(0xC8, 0xB8),
INIT_DCS_CMD(0xC9, 0x00),
INIT_DCS_CMD(0xCA, 0x00),
INIT_DCS_CMD(0xCB, 0x05),
INIT_DCS_CMD(0xCC, 0x6B),
INIT_DCS_CMD(0xCD, 0xFF),
INIT_DCS_CMD(0xCE, 0xFF),
INIT_DCS_CMD(0xB0, 0x09),
INIT_DCS_CMD(0xB1, 0x04),
INIT_DCS_CMD(0xB2, 0x04),
INIT_DCS_CMD(0xB3, 0x0C),
INIT_DCS_CMD(0xB4, 0x1C),
INIT_DCS_CMD(0xB5, 0x2D),
INIT_DCS_CMD(0xB6, 0x3C),
INIT_DCS_CMD(0xB7, 0x5F),
INIT_DCS_CMD(0xB8, 0x80),
INIT_DCS_CMD(0xB9, 0xC8),
INIT_DCS_CMD(0xBA, 0x0D),
INIT_DCS_CMD(0xBB, 0x8A),
INIT_DCS_CMD(0xBC, 0x10),
INIT_DCS_CMD(0xBD, 0x14),
INIT_DCS_CMD(0xBE, 0x91),
INIT_DCS_CMD(0xBF, 0x13),
INIT_DCS_CMD(0xC0, 0x53),
INIT_DCS_CMD(0xC1, 0x93),
INIT_DCS_CMD(0xC2, 0xAB),
INIT_DCS_CMD(0xC3, 0xC6),
INIT_DCS_CMD(0xC4, 0xD6),
INIT_DCS_CMD(0xC5, 0xE4),
INIT_DCS_CMD(0xC6, 0xF3),
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, 0x0A),
INIT_DCS_CMD(0xB1, 0x00),
INIT_DCS_CMD(0xB2, 0x02),
INIT_DCS_CMD(0xB3, 0x0B),
INIT_DCS_CMD(0xB4, 0x1A),
INIT_DCS_CMD(0xB5, 0x29),
INIT_DCS_CMD(0xB6, 0x38),
INIT_DCS_CMD(0xB7, 0x58),
INIT_DCS_CMD(0xB8, 0x76),
INIT_DCS_CMD(0xB9, 0xB9),
INIT_DCS_CMD(0xBA, 0xF7),
INIT_DCS_CMD(0xBB, 0x6D),
INIT_DCS_CMD(0xBC, 0xE5),
INIT_DCS_CMD(0xBD, 0xE9),
INIT_DCS_CMD(0xBE, 0x5E),
INIT_DCS_CMD(0xBF, 0xD6),
INIT_DCS_CMD(0xC0, 0x15),
INIT_DCS_CMD(0xC1, 0x51),
INIT_DCS_CMD(0xC2, 0x71),
INIT_DCS_CMD(0xC3, 0x90),
INIT_DCS_CMD(0xC4, 0x9C),
INIT_DCS_CMD(0xC5, 0xA8),
INIT_DCS_CMD(0xC6, 0xB5),
INIT_DCS_CMD(0xC7, 0xBC),
INIT_DCS_CMD(0xC8, 0xC0),
INIT_DCS_CMD(0xC9, 0x00),
INIT_DCS_CMD(0xCA, 0x00),
INIT_DCS_CMD(0xCB, 0x05),
INIT_DCS_CMD(0xCC, 0x6B),
INIT_DCS_CMD(0xCD, 0xFF),
INIT_DCS_CMD(0xCE, 0xFF),
INIT_DCS_CMD(0xB0, 0x0B),
INIT_DCS_CMD(0xB1, 0x00),
INIT_DCS_CMD(0xB2, 0x04),
INIT_DCS_CMD(0xB3, 0x0B),
INIT_DCS_CMD(0xB4, 0x1A),
INIT_DCS_CMD(0xB5, 0x29),
INIT_DCS_CMD(0xB6, 0x38),
INIT_DCS_CMD(0xB7, 0x58),
INIT_DCS_CMD(0xB8, 0x76),
INIT_DCS_CMD(0xB9, 0xB8),
INIT_DCS_CMD(0xBA, 0xF7),
INIT_DCS_CMD(0xBB, 0x6C),
INIT_DCS_CMD(0xBC, 0xE3),
INIT_DCS_CMD(0xBD, 0xE7),
INIT_DCS_CMD(0xBE, 0x5C),
INIT_DCS_CMD(0xBF, 0xD3),
INIT_DCS_CMD(0xC0, 0x10),
INIT_DCS_CMD(0xC1, 0x4C),
INIT_DCS_CMD(0xC2, 0x6A),
INIT_DCS_CMD(0xC3, 0x8A),
INIT_DCS_CMD(0xC4, 0x96),
INIT_DCS_CMD(0xC5, 0xA2),
INIT_DCS_CMD(0xC6, 0xAE),
INIT_DCS_CMD(0xC7, 0xB4),
INIT_DCS_CMD(0xC8, 0xB8),
INIT_DCS_CMD(0xC9, 0x00),
INIT_DCS_CMD(0xCA, 0x00),
INIT_DCS_CMD(0xCB, 0x05),
INIT_DCS_CMD(0xCC, 0x6B),
INIT_DCS_CMD(0xCD, 0xFF),
INIT_DCS_CMD(0xCE, 0xFF),
INIT_DCS_CMD(0xB0, 0x0C),
INIT_DCS_CMD(0xB1, 0x04),
INIT_DCS_CMD(0xB2, 0x04),
INIT_DCS_CMD(0xB3, 0x0C),
INIT_DCS_CMD(0xB4, 0x1C),
INIT_DCS_CMD(0xB5, 0x2D),
INIT_DCS_CMD(0xB6, 0x3C),
INIT_DCS_CMD(0xB7, 0x5F),
INIT_DCS_CMD(0xB8, 0x80),
INIT_DCS_CMD(0xB9, 0xC8),
INIT_DCS_CMD(0xBA, 0x0D),
INIT_DCS_CMD(0xBB, 0x8A),
INIT_DCS_CMD(0xBC, 0x10),
INIT_DCS_CMD(0xBD, 0x14),
INIT_DCS_CMD(0xBE, 0x91),
INIT_DCS_CMD(0xBF, 0x13),
INIT_DCS_CMD(0xC0, 0x53),
INIT_DCS_CMD(0xC1, 0x93),
INIT_DCS_CMD(0xC2, 0xAB),
INIT_DCS_CMD(0xC3, 0xC6),
INIT_DCS_CMD(0xC4, 0xD6),
INIT_DCS_CMD(0xC5, 0xE4),
INIT_DCS_CMD(0xC6, 0xF3),
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_DELAY_CMD(100),
INIT_DCS_CMD(0xB0, 0x00),
INIT_DCS_CMD(0xB3, 0x08),
INIT_DCS_CMD(0xB0, 0x04),
INIT_DCS_CMD(0xB8, 0x68),
INIT_DELAY_CMD(10),
INIT_DCS_CMD(0x11),
INIT_DELAY_CMD(100),
INIT_DCS_CMD(0x29),
INIT_DELAY_CMD(50),
INIT_END_CMD,
},
};