diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2017-05-24 12:17:04 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2017-05-30 10:26:41 -0700 |
commit | bb559311c8b6077e8823a1f47d7e427f92ecc118 (patch) | |
tree | 7a370cb573fa9203f279b3f11df5660806508864 /common | |
parent | c35fad0f2bc16fffe25dfe3b86f0df508d6d0b87 (diff) | |
download | chrome-ec-bb559311c8b6077e8823a1f47d7e427f92ecc118.tar.gz |
power_button_x86: Set PB state to ON in recovery mode
This patch sets the initial power button state to on if recovery
mode is requested.
BUG=b:37274183
BRANCH=none
TEST=Verify EC boots AP immediately in recovery mode on Fizz.
Verify EC doesn't boot AP immediately in normal mode.
Change-Id: Ib24eb6c6b7e9200cf7ba6af3e486337da3c68355
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/514209
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'common')
-rw-r--r-- | common/power_button_x86.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/common/power_button_x86.c b/common/power_button_x86.c index 7fd7101c29..096fd478ce 100644 --- a/common/power_button_x86.c +++ b/common/power_button_x86.c @@ -212,6 +212,7 @@ static void set_initial_pwrbtn_state(void) } else { CPRINTS("PB init-jumped"); } + return; } else if ((reset_flags & RESET_FLAG_AP_OFF) || (keyboard_scan_get_boot_keys() == BOOT_KEY_DOWN_ARROW)) { /* @@ -227,22 +228,18 @@ static void set_initial_pwrbtn_state(void) */ CPRINTS("PB init-off"); power_button_pch_release(); - } else if (power_button_is_pressed()) { - CPRINTS("PB init-on"); - pwrbtn_state = PWRBTN_STATE_INIT_ON; - } else { - /* - * All other EC reset conditions power on the main processor so - * it can verify the EC. - */ + return; + } + + pwrbtn_state = PWRBTN_STATE_INIT_ON; + #if defined(CONFIG_BRINGUP) || defined(CONFIG_POWER_BUTTON_INIT_IDLE) - CPRINTS("PB idle"); + if (!power_button_is_pressed() && + !host_is_event_set(EC_HOST_EVENT_KEYBOARD_RECOVERY)) pwrbtn_state = PWRBTN_STATE_IDLE; -#else - CPRINTS("PB init-on"); - pwrbtn_state = PWRBTN_STATE_INIT_ON; #endif - } + CPRINTS("PB %s", + pwrbtn_state == PWRBTN_STATE_INIT_ON ? "init-on" : "idle"); } /** |