summaryrefslogtreecommitdiff
path: root/power
diff options
context:
space:
mode:
authorVincent Palatin <vpalatin@chromium.org>2015-04-09 16:15:45 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-04-11 00:35:59 +0000
commit68f65494c7f1d379b6b1a02a026f56a24753444f (patch)
treefe883ab620c5c49c783c0d04a816704fc88b442b /power
parent15391709fd964e23d91deaf3db832a9d83da1ea5 (diff)
downloadchrome-ec-68f65494c7f1d379b6b1a02a026f56a24753444f.tar.gz
ryu: rework the workaround for the EN_PP3300 issue
When shutting down the MAX77620 PMIC by asserting its SHDN pin, the EN_PP3300 output of the PMIC (GPIO3) is not driving low keeping the PP3300 rail up. Workaround that issue by removing the pull-up on EN_PP3300 when we assert SHDN. Revert the previous CL 263958 aka "ryu: workaround MAX77620 shutdown issue", in order to use a better workaround which ensures that the power rails sequencing at startup Detect the PP1800 rail going up and down by reading the HPD_IN gpio state (which has a pull-up tied to PP1800), then enable/disable EN_PP3300 in sequence. The code using an interrupt on HPD_IN is enabled only on P5, and as a downside, it is killing the base charging on those boards. Indeed HPD_IN(C1) is hijacking the EXTINT1 which used to be connected to the LID_OPEN (E1) GPIO used for the base detection. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=chrome-os-partner:38689 TEST=on both P4 and P5 boards, do various power cycling sequences of the AP using the "apshutdown" and "powerbtn" commands. Change-Id: Icad6e9ae6a08d76cbfd19f97dd7c129bf43037d8 Reviewed-on: https://chromium-review.googlesource.com/265186 Trybot-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Commit-Queue: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Alec Berg <alecaberg@chromium.org>
Diffstat (limited to 'power')
-rw-r--r--power/tegra.c10
1 files changed, 0 insertions, 10 deletions
diff --git a/power/tegra.c b/power/tegra.c
index 2bdba8b5f9..5efd41e61d 100644
--- a/power/tegra.c
+++ b/power/tegra.c
@@ -144,11 +144,6 @@ static void set_ap_reset(int asserted)
*/
static void set_pmic_pwron(int asserted)
{
-#ifdef BOARD_RYU
- /* TODO(crosbug.com/p/38689) Workaround for MAX77620 PMIC issue */
- if (asserted)
- gpio_set_flags(GPIO_EN_PP3300_RSVD, GPIO_INPUT | GPIO_PULL_UP);
-#endif /* BOARD_RYU */
/* Signal is active-low */
gpio_set_level(GPIO_PMIC_PWRON_L, asserted ? 0 : 1);
}
@@ -163,11 +158,6 @@ static void set_pmic_therm(int asserted)
{
/* Signal is active-low */
gpio_set_level(GPIO_PMIC_THERM_L, asserted ? 0 : 1);
-#ifdef BOARD_RYU
- /* TODO(crosbug.com/p/38689) Workaround for MAX77620 PMIC issue */
- if (asserted)
- gpio_set_flags(GPIO_EN_PP3300_RSVD, GPIO_INPUT);
-#endif /* BOARD_RYU */
}
/**