mb/google/rauru: Configure firmware display for eDP panel
Add eDP panel power-on sequences and initialize the display in the ramstage. The mt6373_set_vcn33_3_voltage function sets the voltage required to power on the eDP panel. TEST=Build pass, the firmware screen displays correctly. BUG=b:343351631, b:353464237 Signed-off-by: Nancy Lin <nancy.lin@mediatek.corp-partner.google.com> Change-Id: Ic928b2478c41ccd03223fd2b73d9e81d303a2036 Reviewed-on: https://review.coreboot.org/c/coreboot/+/85952 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Yu-Ping Wu <yupingso@google.com> Reviewed-by: Yidi Lin <yidilin@google.com>
This commit is contained in:
parent
5a4469300e
commit
d30f08e295
2 changed files with 20 additions and 0 deletions
|
|
@ -23,6 +23,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 CHROMEOS_USE_EC_WATCHDOG_FLAG if CHROMEOS
|
||||
select EC_GOOGLE_CHROMEEC
|
||||
select EC_GOOGLE_CHROMEEC_BOARDID
|
||||
|
|
|
|||
|
|
@ -1,15 +1,18 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
|
||||
#include <bootmode.h>
|
||||
#include <console/console.h>
|
||||
#include <device/device.h>
|
||||
#include <fw_config.h>
|
||||
#include <gpio.h>
|
||||
#include <soc/addressmap.h>
|
||||
#include <soc/bl31.h>
|
||||
#include <soc/display.h>
|
||||
#include <soc/dpm_v2.h>
|
||||
#include <soc/gpio_common.h>
|
||||
#include <soc/i2c.h>
|
||||
#include <soc/msdc.h>
|
||||
#include <soc/mt6373.h>
|
||||
#include <soc/pcie.h>
|
||||
#include <soc/spm_common.h>
|
||||
#include <soc/storage.h>
|
||||
|
|
@ -70,6 +73,13 @@ static void power_on_fpmcu(void)
|
|||
gpio_output(GPIO_FP_RST_1V8_S3_L, 1);
|
||||
}
|
||||
|
||||
static void enable_display_power_rail(void)
|
||||
{
|
||||
mt6373_init_pmif_arb();
|
||||
mt6373_enable_vcn33_3(true);
|
||||
mt6373_set_vcn33_3_voltage(3300000);
|
||||
}
|
||||
|
||||
enum mtk_storage_type mainboard_get_storage_type(void)
|
||||
{
|
||||
uint32_t index = storage_id();
|
||||
|
|
@ -96,6 +106,14 @@ bool mainboard_needs_pcie_init(void)
|
|||
|
||||
static void mainboard_init(struct device *dev)
|
||||
{
|
||||
if (display_init_required()) {
|
||||
enable_display_power_rail();
|
||||
if (mtk_display_init() < 0)
|
||||
printk(BIOS_ERR, "%s: Failed to init display\n", __func__);
|
||||
} else {
|
||||
printk(BIOS_INFO, "%s: Skipped display initialization\n", __func__);
|
||||
}
|
||||
|
||||
setup_usb_host();
|
||||
power_on_fpmcu();
|
||||
configure_audio();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue