9ede2ffee8
The panel description may be pretty large (for example, 1.3k for BOE TV101) due to init commands and we should only load the right config when display is needed. BUG=None TEST=make -j; boots and see display on Krane. Change-Id: I2560a11ecf7badfd0605ab189d57ec9456850f75 Signed-off-by: Hung-Te Lin <hungte@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/34877 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
52 lines
1.5 KiB
C
52 lines
1.5 KiB
C
/*
|
|
* 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 <boardid.h>
|
|
#include <delay.h>
|
|
#include <gpio.h>
|
|
|
|
#include "panel.h"
|
|
|
|
static void power_on_ssd2858(void)
|
|
{
|
|
gpio_output(GPIO_MIPIBRDG_PWRDN_L_1V8, 0);
|
|
gpio_output(GPIO_MIPIBRDG_RST_L_1V8, 0);
|
|
gpio_output(GPIO_PPVARP_LCD_EN, 1);
|
|
gpio_output(GPIO_PPVARN_LCD_EN, 1);
|
|
gpio_output(GPIO_PP1800_LCM_EN, 1);
|
|
gpio_output(GPIO_PP3300_LCM_EN, 1);
|
|
gpio_output(GPIO_PP1200_MIPIBRDG_EN, 1);
|
|
gpio_output(GPIO_VDDIO_MIPIBRDG_EN, 1);
|
|
mdelay(20);
|
|
gpio_output(GPIO_MIPIBRDG_PWRDN_L_1V8, 1);
|
|
mdelay(20);
|
|
gpio_output(GPIO_MIPIBRDG_RST_L_1V8, 1);
|
|
mdelay(20);
|
|
}
|
|
|
|
static struct panel_description kukui_panel = {
|
|
.name = "CMN_P097PFG_SSD2858",
|
|
.power_on = power_on_ssd2858,
|
|
};
|
|
|
|
struct panel_description *get_panel_description(int panel_id)
|
|
{
|
|
/* The Innolux panel before Rev2 is no longer supported. */
|
|
if (board_id() < 2)
|
|
return NULL;
|
|
|
|
/* Only one panel no matter what panel_id was provided. */
|
|
return get_panel_from_cbfs(&kukui_panel);
|
|
}
|