summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2015-08-12 18:05:22 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-01-26 23:59:50 -0800
commit2e37a50b377fa169f2fa0d4e103e903343ad63f6 (patch)
treecbb5b565ceb74835f8c00f26f55a4ab01fdf6753
parent9e0506d331073a872a406ed693400756085da3cb (diff)
downloadchrome-ec-2e37a50b377fa169f2fa0d4e103e903343ad63f6.tar.gz
glados / chell: Power Optimize S0ix PMIC VRs
Allow VCCIO to decay to 0 and reduce the voltage of V0.85A supply in S0ix. BUG=chrome-os-partner:43908 TEST=Stress-test glados stability coming into and out of S0ix BRANCH=glados Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Change-Id: I5aa61164c43ac624cef86f478919294e4cd4e581 Reviewed-on: https://chromium-review.googlesource.com/293345 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
-rw-r--r--board/chell/board.c12
-rw-r--r--board/glados/board.c12
2 files changed, 24 insertions, 0 deletions
diff --git a/board/chell/board.c b/board/chell/board.c
index b0e4ec2ac5..b05926bb50 100644
--- a/board/chell/board.c
+++ b/board/chell/board.c
@@ -226,12 +226,24 @@ static void board_pmic_init(void)
if (system_jumped_to_this_image())
return;
+ /* Set CSDECAYEN / VCCIO decays to 0V at assertion of SLP_S0# */
+ i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992, 0x30, 0x4a);
+
+ /*
+ * Set V100ACNT / V1.00A Control Register:
+ * Nominal output = 1.0V.
+ */
+ i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992, 0x37, 0x1a);
+
/*
* Set V085ACNT / V0.85A Control Register:
* Lower power mode = 0.7V.
* Nominal output = 1.0V.
*/
i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992, 0x38, 0x7a);
+
+ /* VRMODECTRL - enable low-power mode for VCCIO and V0.85A */
+ i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992, 0x3b, 0x18);
}
DECLARE_HOOK(HOOK_INIT, board_pmic_init, HOOK_PRIO_DEFAULT);
diff --git a/board/glados/board.c b/board/glados/board.c
index eb39af9f4e..8bfd12a485 100644
--- a/board/glados/board.c
+++ b/board/glados/board.c
@@ -230,12 +230,24 @@ static void board_pmic_init(void)
if (system_jumped_to_this_image())
return;
+ /* Set CSDECAYEN / VCCIO decays to 0V at assertion of SLP_S0# */
+ i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992, 0x30, 0x4a);
+
+ /*
+ * Set V100ACNT / V1.00A Control Register:
+ * Nominal output = 1.0V.
+ */
+ i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992, 0x37, 0x1a);
+
/*
* Set V085ACNT / V0.85A Control Register:
* Lower power mode = 0.7V.
* Nominal output = 1.0V.
*/
i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992, 0x38, 0x7a);
+
+ /* VRMODECTRL - enable low-power mode for VCCIO and V0.85A */
+ i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992, 0x3b, 0x18);
}
DECLARE_HOOK(HOOK_INIT, board_pmic_init, HOOK_PRIO_DEFAULT);