mb/google/skywalker: Configure firmware display for eDP panel
Add eDP panel power-on sequences and initialize the display in the ramstage. Also Set display registers to normal mode if initialization flow is skipped to prevent abnormal behavior. BUG=b:400886838,b:422507985 BRANCH=none TEST=utility gbb --set --flash --flags=0x39, and check the firmware screen. utility gbb --set --flash --flags=0x0, and check the DUT screen. Signed-off-by: Bincai Liu <bincai.liu@mediatek.corp-partner.google.com> Signed-off-by: Vince Liu <vince-wl.liu@mediatek.corp-partner.google.com> Signed-off-by: Xiandong Wang <xiandong.wang@mediatek.corp-partner.google.com> Change-Id: I09edceefee9c17ce18681b85da8ca75f65ed2876 Reviewed-on: https://review.coreboot.org/c/coreboot/+/88273 Reviewed-by: Yu-Ping Wu <yupingso@google.com> Reviewed-by: Yidi Lin <yidilin@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
78a89d4d70
commit
8cec500968
2 changed files with 16 additions and 0 deletions
|
|
@ -26,6 +26,8 @@ config BOARD_SPECIFIC_OPTIONS
|
|||
select COMMON_CBFS_SPI_WRAPPER
|
||||
select SPI_FLASH
|
||||
select SPI_FLASH_INCLUDE_ALL_DRIVERS
|
||||
select MAINBOARD_HAS_NATIVE_VGA_INIT
|
||||
select HAVE_LINEAR_FRAMEBUFFER
|
||||
select EC_GOOGLE_CHROMEEC
|
||||
select EC_GOOGLE_CHROMEEC_BOARDID
|
||||
select EC_GOOGLE_CHROMEEC_SPI
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only OR MIT */
|
||||
|
||||
#include <bootmode.h>
|
||||
#include <device/device.h>
|
||||
#include <device/mmio.h>
|
||||
#include <fw_config.h>
|
||||
#include <gpio.h>
|
||||
#include <soc/bl31.h>
|
||||
#include <soc/display.h>
|
||||
#include <soc/dpm_v2.h>
|
||||
#include <soc/i2c.h>
|
||||
#include <soc/msdc.h>
|
||||
|
|
@ -101,6 +103,18 @@ static void mainboard_init(struct device *dev)
|
|||
|
||||
if (CONFIG(ARM64_USE_ARM_TRUSTED_FIRMWARE))
|
||||
register_reset_to_bl31(GPIO_AP_EC_WARM_RST_REQ.id, true);
|
||||
|
||||
if (display_init_required()) {
|
||||
if (mtk_display_init() < 0)
|
||||
printk(BIOS_ERR, "%s: Failed to init display\n", __func__);
|
||||
} else {
|
||||
printk(BIOS_INFO, "%s: Skipping display init; disabling secure mode\n",
|
||||
__func__);
|
||||
mtcmos_display_power_on();
|
||||
mtcmos_protect_display_bus();
|
||||
mtk_display_disable_secure_mode();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void mainboard_enable(struct device *dev)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue