From 3d2c4f758fd1f38eb118922766b31b6bc43f6b28 Mon Sep 17 00:00:00 2001 From: Randall Spangler Date: Tue, 3 Apr 2012 15:23:26 -0700 Subject: [PATCH] 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 BUG=chrome-os-partner:8725 TEST=boot system via power button; should boot normally Change-Id: Iea32837b698845355f7fa6bd2eaca9fd95f6726b --- common/x86_power.c | 9 +++------ 1 file 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);