summaryrefslogtreecommitdiff
path: root/common/x86_power.c
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2012-04-03 15:23:26 -0700
committerRandall Spangler <rspangler@chromium.org>2012-04-03 15:24:22 -0700
commit3d2c4f758fd1f38eb118922766b31b6bc43f6b28 (patch)
tree6721d785be30d4832b4fc7dcdfb015f7258d15fa /common/x86_power.c
parent95462ad4fed6839f0b672d4fdef08d09265e3585 (diff)
downloadchrome-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
Diffstat (limited to 'common/x86_power.c')
-rw-r--r--common/x86_power.c9
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);