diff options
author | Furquan Shaikh <furquan@chromium.org> | 2017-09-19 16:41:06 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2017-09-22 10:18:48 -0700 |
commit | e3333972d5bcf110fd2c51de92097a546694d0a1 (patch) | |
tree | edbf7c47248962f2f76a0540cb2d84d09eda0111 /chip/stm32/usb.c | |
parent | f1375bec42b6862746ed026d5c3f6a5f97d3e7ac (diff) | |
download | chrome-ec-e3333972d5bcf110fd2c51de92097a546694d0a1.tar.gz |
poppy: Dynamically disable effect of SLP_S0# on all VRs
Just setting the global VRMODECTRL register is not enough to disable
the effect of SLP_S0# signal. Each VR control register needs to be set
correctly to ignore the effect as well. However, disabling VR decay on
SLP_S0# assertion by default results in additional power consumption
during S0ix. In order to prevent this, VR decay on SLP_S0# assertion
needs to be enabled and disabled dynamically as follows:
1. By default on EC boot, PMIC will be initialized to disable VR decay
on SLP_S0# assertion.
2. When host indicates intent to enter S0ix, EC will enable decay of
VRs on SLP_S0# assertion.
3. When host exits from S0ix and updates the intent to no longer enter
S0ix using host command, EC will disable decay of VRs on SLP_S0#
assertion.
actual SLP_S0# assertion because PMIC seems to honor the setting only
at SLP_S0# assertion and not if it is already asserted.
BUG=b:65732924
BRANCH=None
TEST=Verified with this change that the failing Lux device is stable
for a long time even with runtime S0ix.
Change-Id: I9c5afb408694b3b467e85dcea723f7574bc639c1
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/674034
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'chip/stm32/usb.c')
0 files changed, 0 insertions, 0 deletions