diff options
author | Randall Spangler <rspangler@chromium.org> | 2012-04-03 15:23:26 -0700 |
---|---|---|
committer | Randall Spangler <rspangler@chromium.org> | 2012-04-03 15:24:22 -0700 |
commit | 3d2c4f758fd1f38eb118922766b31b6bc43f6b28 (patch) | |
tree | 6721d785be30d4832b4fc7dcdfb015f7258d15fa | |
parent | 95462ad4fed6839f0b672d4fdef08d09265e3585 (diff) | |
download | chrome-ec-3d2c4f758fd1f38eb118922766b31b6bc43f6b28.tar.gz |
Don't wait for CPU_CORE and VGFX_CORE good before asserting PWROK
In addition, it's not necessary for VGFX_CORE to be enabled for the
system to be in S0; just CPU_CORE is sufficient.
Signed-off-by: Randall Spangler <rspangler@chromium.org>
BUG=chrome-os-partner:8725
TEST=boot system via power button; should boot normally
Change-Id: Iea32837b698845355f7fa6bd2eaca9fd95f6726b
-rw-r--r-- | common/x86_power.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/common/x86_power.c b/common/x86_power.c index 7bf769e6fc..eeea520aac 100644 --- a/common/x86_power.c +++ b/common/x86_power.c @@ -80,7 +80,7 @@ static const char * const state_names[] = { IN_PCH_SLP_An_DEASSERTED) /* All inputs in the right state for S0 */ #define IN_ALL_S0 (IN_PGOOD_ALWAYS_ON | IN_PGOOD_ALL_NONCORE | \ - IN_PGOOD_ALL_CORE | IN_ALL_PM_SLP_DEASSERTED) + IN_PGOOD_CPU_CORE | IN_ALL_PM_SLP_DEASSERTED) static enum x86_state state; /* Current state */ static uint32_t in_signals; /* Current input signal states (IN_PGOOD_*) */ @@ -368,13 +368,10 @@ void x86_power_task(void) /* Wait for non-core power rails good */ wait_in_signals(IN_PGOOD_ALL_NONCORE); - /* Enable +CPU_CORE and +VGFX_CORE */ + /* Enable +CPU_CORE and +VGFX_CORE regulator. The CPU + * itself will request the supplies when it's ready. */ gpio_set_level(GPIO_ENABLE_VCORE, 1); - /* Wait for all supplies good */ - wait_in_signals(IN_PGOOD_ALL_NONCORE | - IN_PGOOD_ALL_CORE); - /* Wait 99ms after all voltages good */ usleep(99000); |