summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoro Chen <koro.chen@mediatek.com>2016-03-15 17:56:37 +0800
committerchrome-bot <chrome-bot@chromium.org>2016-03-16 06:43:24 -0700
commitc1fbaa22c62c621e414dd0b58e90ad972b4ddb44 (patch)
tree970f3078ae810a8d870a4ca87dcd65a7cd09a3b1
parent51fa74ec6fce5f5c7a9c03a79e73bb3eef032bd8 (diff)
downloadchrome-ec-c1fbaa22c62c621e414dd0b58e90ad972b4ddb44.tar.gz
oak: Add delay before we turn off VBAT
After power good is lost, PMIC requires some time to turn off all its internal power before we can turn off VBAT by set_system_power(0). This ensures the power measurement is within PMIC spec when system is shut down. BRANCH=none BUG=none TEST=measure the power rails of PMIC after system is shut down Change-Id: I55d4d99ed0ef69b103a4e52e9f9eec1c9e6265b5 Signed-off-by: Koro Chen <koro.chen@mediatek.com> Reviewed-on: https://chromium-review.googlesource.com/332409 Reviewed-by: Rong Chang <rongchang@chromium.org>
-rw-r--r--power/mediatek.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/power/mediatek.c b/power/mediatek.c
index 544adbe250..bdd330de7c 100644
--- a/power/mediatek.c
+++ b/power/mediatek.c
@@ -104,6 +104,12 @@
/* Wait for 5V power source stable */
#define PMIC_WAIT_FOR_5V_POWER_GOOD (1 * MSEC)
+/*
+ * If POWER_GOOD is lost, wait for PMIC to turn off its power completely
+ * before we turn off VBAT by set_system_power(0)
+ */
+#define PMIC_POWER_OFF_DELAY (50 * MSEC)
+
/* TODO(crosbug.com/p/25047): move to HOOK_POWER_BUTTON_CHANGE */
/* 1 if the power button was pressed last time we checked */
static char power_button_was_pressed;
@@ -470,6 +476,7 @@ static void chipset_turn_off_power_rails(void)
set_pmic_pwron(0);
/* system power off */
+ usleep(PMIC_POWER_OFF_DELAY);
set_system_power(0);
}