mb/google/skywalker: Add mainboard_prepare_cr50_reset()
The LCD MIPI panel requires proper power-off commands before reset. Skipping them may cause overpotential conditions, leading to image stickiness or flicker. On MTK platforms, CR50 reset is the only reboot path in coreboot. Add mainboard_prepare_cr50_reset() implementation on skywalker to power off the MIPI panel before issuing CR50 reset. BUG=b:474187570 TEST=emerge-jedi coreboot chromeos-bootimage BRANCH=skywalker Change-Id: I46a654e03ca2e7374cdaf05729f12b182669a64f Signed-off-by: Yang Wu <wuyang5@huaqin.corp-partner.google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/91507 Reviewed-by: Yu-Ping Wu <yupingso@google.com> Reviewed-by: Paul Menzel <paulepanter@mailbox.org> Reviewed-by: Yidi Lin <yidilin@google.com> Reviewed-by: Zhengqiao Xia <xiazhengqiao@huaqin.corp-partner.google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
8a4937bf8f
commit
b5a703e5a0
1 changed files with 8 additions and 0 deletions
|
|
@ -19,6 +19,7 @@
|
|||
#include <soc/spm_common.h>
|
||||
#include <soc/storage.h>
|
||||
#include <soc/usb.h>
|
||||
#include <vendorcode/google/chromeos/chromeos.h>
|
||||
|
||||
#include "gpio.h"
|
||||
#include "panel.h"
|
||||
|
|
@ -107,6 +108,13 @@ static void power_on_fpmcu(void)
|
|||
gpio_output(GPIO_FP_RST_1V8_S3_L, 1);
|
||||
}
|
||||
|
||||
void mainboard_prepare_cr50_reset(void)
|
||||
{
|
||||
printk(BIOS_INFO, "%s: Powering MIPI panel off\n", __func__);
|
||||
if (mtk_mipi_panel_poweroff() < 0)
|
||||
printk(BIOS_ERR, "%s: Failed to power off MIPI panel\n", __func__);
|
||||
}
|
||||
|
||||
enum mtk_storage_type mainboard_get_storage_type(void)
|
||||
{
|
||||
uint32_t index = storage_id();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue