summaryrefslogtreecommitdiffstats
path: root/src/mainboard/google/trogdor/mainboard.c
diff options
context:
space:
mode:
authorZanxi Chen <chenzanxi@huaqin.corp-partner.google.com>2021-09-02 15:26:31 +0800
committerJulius Werner <jwerner@chromium.org>2021-09-11 01:54:35 +0000
commit2ef4b7ed18f10c9e391e98434178709840c9a708 (patch)
tree297c61bcbbac7899a7246b3302175244ebcc16e4 /src/mainboard/google/trogdor/mainboard.c
parent4757a7ea3390db9fb3a9147d43eeb7ac00eba45c (diff)
downloadcoreboot-2ef4b7ed18f10c9e391e98434178709840c9a708.tar.gz
coreboot-2ef4b7ed18f10c9e391e98434178709840c9a708.tar.bz2
coreboot-2ef4b7ed18f10c9e391e98434178709840c9a708.zip
mb/google/trogdor: Add mipi panel for mrbland
Add mipi panel support for mrbland - Setup gpio and modify LCD sequence. - Use the following panel for mrbland: AUO B101UAN08.3 BOE TV101WUM-N53 - Use panel_id to distinguish which mipi panel to use. BUG=b:195516474,b:197300875,b:197300876 BRANCH=none TEST=emerge-strongbad coreboot Change-Id: Ib7cd2da429b114bf6bad5af312044a0f01319b46 Signed-off-by: Zanxi Chen <chenzanxi@huaqin.corp-partner.google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/57336 Reviewed-by: Bob Moragues <moragues@google.com> Reviewed-by: Julius Werner <jwerner@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard/google/trogdor/mainboard.c')
-rw-r--r--src/mainboard/google/trogdor/mainboard.c40
1 files changed, 39 insertions, 1 deletions
diff --git a/src/mainboard/google/trogdor/mainboard.c b/src/mainboard/google/trogdor/mainboard.c
index 066705eb6b21..6ef8837879e5 100644
--- a/src/mainboard/google/trogdor/mainboard.c
+++ b/src/mainboard/google/trogdor/mainboard.c
@@ -78,9 +78,46 @@ static void power_on_bridge(void)
gpio_output(GPIO_EN_PP3300_DX_EDP, 1);
}
+static void configure_mipi_panel(void)
+{
+ int panel_id = sku_id() >> 8;
+ gpio_output(GPIO_MIPI_1V8_ENABLE, 1);
+ mdelay(5);
+ gpio_output(GPIO_AVDD_LCD_ENABLE, 1);
+ mdelay(5);
+ gpio_output(GPIO_AVEE_LCD_ENABLE, 1);
+ mdelay(15);
+ gpio_output(GPIO_VDD_RESET_1V8, 1);
+ mdelay(15);
+ /*
+ * In mrbland, BOE panel_id = 3, it needs 15ms delay and
+ * do reset again according to spec(See in b/197300876).
+ */
+ if (CONFIG(BOARD_GOOGLE_MRBLAND) && (panel_id == 3)) {
+ gpio_output(GPIO_VDD_RESET_1V8, 0);
+ mdelay(5);
+ gpio_output(GPIO_VDD_RESET_1V8, 1);
+ }
+}
+
static struct panel_serializable_data *get_mipi_panel(void)
{
- const char *cbfs_filename = "panel-VIS_RM69299";
+ const char *cbfs_filename = NULL;
+ int panel_id = sku_id() >> 8;
+
+ if (CONFIG(BOARD_GOOGLE_MRBLAND)) {
+ switch (panel_id) {
+ case 3:
+ cbfs_filename = "panel-BOE_TV101WUM_N53";
+ break;
+ case 6:
+ cbfs_filename = "panel-AUO_B101UAN08_3";
+ break;
+ }
+ }
+
+ if (!cbfs_filename)
+ return NULL;
struct panel_serializable_data *panel = cbfs_map(cbfs_filename, NULL);
if (!panel) {
@@ -126,6 +163,7 @@ static void display_startup(void)
}
if (CONFIG(TROGDOR_HAS_MIPI_PANEL)) {
+ configure_mipi_panel();
panel = get_mipi_panel();
if (!panel)
return;