mediatek/mt8183: Wait 200us for voltages to settle
When we increase voltages, it takes 200us for voltages to stablize. BUG=b:80501386 BRANCH=none Test=Boots correctly on Kukui Change-Id: I5f32035693b6084dbe763411c612ae5d1f7c9e48 Signed-off-by: Tristan Shieh <tristan.shieh@mediatek.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/32498 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: You-Cheng Syu <youcheng@google.com> Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
committed by
Patrick Georgi
parent
3fe7c44d50
commit
b75f493ed7
@ -16,6 +16,7 @@
|
|||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <soc/pmic_wrap.h>
|
#include <soc/pmic_wrap.h>
|
||||||
#include <soc/mt6358.h>
|
#include <soc/mt6358.h>
|
||||||
|
#include <timer.h>
|
||||||
|
|
||||||
static struct pmic_setting init_setting[] = {
|
static struct pmic_setting init_setting[] = {
|
||||||
/* [15:0]: TMA_KEY */
|
/* [15:0]: TMA_KEY */
|
||||||
@ -775,13 +776,18 @@ static void mt6358_lp_setting(void)
|
|||||||
|
|
||||||
void mt6358_init(void)
|
void mt6358_init(void)
|
||||||
{
|
{
|
||||||
|
struct stopwatch voltage_settled;
|
||||||
|
|
||||||
if (pwrap_init())
|
if (pwrap_init())
|
||||||
die("ERROR - Failed to initialize pmic wrap!");
|
die("ERROR - Failed to initialize pmic wrap!");
|
||||||
|
|
||||||
pmic_set_power_hold(true);
|
pmic_set_power_hold(true);
|
||||||
pmic_wdt_set();
|
pmic_wdt_set();
|
||||||
mt6358_init_setting();
|
mt6358_init_setting();
|
||||||
|
stopwatch_init_usecs_expire(&voltage_settled, 200);
|
||||||
wk_sleep_voltage_by_ddr();
|
wk_sleep_voltage_by_ddr();
|
||||||
wk_power_down_seq();
|
wk_power_down_seq();
|
||||||
mt6358_lp_setting();
|
mt6358_lp_setting();
|
||||||
|
while (!stopwatch_expired(&voltage_settled))
|
||||||
|
/* wait for voltages to settle */;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user