jitao shi has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/33413
Change subject: google/krane: Add Panel auo kd101n80-45na support. ......................................................................
google/krane: Add Panel auo kd101n80-45na support.
Add panel kd101n80-45na driver for Krane.
BUG=b:129299873 BRANCH=none
Change-Id: Id19c6c2b4c1c728c39aa26301adf7d6fb5046403 Signed-off-by: Jitao Shi jitao.shi@mediatek.com --- M src/mainboard/google/kukui/display.h M src/mainboard/google/kukui/panel_krane.c 2 files changed, 36 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/13/33413/1
diff --git a/src/mainboard/google/kukui/display.h b/src/mainboard/google/kukui/display.h index d7b8bd9..87a381c 100644 --- a/src/mainboard/google/kukui/display.h +++ b/src/mainboard/google/kukui/display.h @@ -32,6 +32,7 @@
enum krane_panel_id { PANEL_KRANE_FIRST = 0, + PANEL_KRANE_AUO_KD101N80_45NA = 0, PANEL_KRANE_BOE_TV101WUM_NL6, PANEL_KRANE_UNKNOWN, PANEL_KRANE_COUNT, diff --git a/src/mainboard/google/kukui/panel_krane.c b/src/mainboard/google/kukui/panel_krane.c index 1011bfd..7a803aa 100644 --- a/src/mainboard/google/kukui/panel_krane.c +++ b/src/mainboard/google/kukui/panel_krane.c @@ -27,6 +27,8 @@ #include "display.h" #include "gpio.h"
+#define KRANE_PANEL_ID_BIT_POSITION 4 + static struct edid krane_boe_tv101wum_nl6_edid = { .panel_bits_per_color = 8, .panel_bits_per_pixel = 24, @@ -42,6 +44,21 @@ }, };
+static struct edid krane_auo_kd101n80_45na_edid = { + .panel_bits_per_color = 8, + .panel_bits_per_pixel = 24, + .mode = { + .name = "1200x1920@60Hz", + .pixel_clock = 157000, + .lvds_dual_channel = 0, + .refresh = 60, + .ha = 1200, .hbl = 140, .hso = 80, .hspw = 24, .hborder = 0, + .va = 1920, .vbl = 36, .vso = 16, .vspw = 4, .vborder = 0, + .phsync = '-', .pvsync = '-', + .x_mm = 135, .y_mm = 216, + }, +}; + struct lcm_init_table boe_tv101wum_nl6_init_cmd[] = { {DELAY_CMD, 24, {} }, {INIT_DCS_CMD, 2, { 0xB0, 0x05 } }, @@ -337,7 +354,23 @@ {DELAY_CMD, 150, {} }, };
+struct lcm_init_table auo_kd101n80_45na_init_cmd[] = { + {DELAY_CMD, 24, {} }, + {INIT_DCS_CMD, 2, { 0xB0, 0x05 } }, + {INIT_DCS_CMD, 2, { 0xB1, 0xE5 } }, + {INIT_DCS_CMD, 2, { 0xB3, 0x52 } }, + {INIT_DCS_CMD, 2, { 0xB0, 0x00 } }, + {INIT_DCS_CMD, 2, { 0xB3, 0x08 } }, + {INIT_DCS_CMD, 2, { 0xB0, 0x04 } }, + {INIT_DCS_CMD, 2, { 0xB8, 0x68 } }, + {DELAY_CMD, 150, {} }, +}; + struct panel_info krane_panel_info[] = { + PANEL(PANEL_KRANE_AUO_KD101N80_45NA, + 74000, + krane_auo_kd101n80_45na_edid, + auo_kd101n80_45na_init_cmd), PANEL(PANEL_KRANE_BOE_TV101WUM_NL6, 74000, krane_boe_tv101wum_nl6_edid, @@ -348,7 +381,8 @@
static union panel_id krane_get_panel_id(struct board_display_intf *intf) { - return (union panel_id)PANEL_KRANE_BOE_TV101WUM_NL6; + return (union panel_id) + ((sku_id() >> KRANE_PANEL_ID_BIT_POSITION) & 0xf); };
static bool krane_is_panel_id_valid(union panel_id id)