rambi: Unconditionally clear the EC recovery request

Implement Rambi clear_recovery_mode_switch()

BUG=chromium:279607
BRANCH=TOT
TEST=Verified recovery sequences on Rambi.

Original-Change-Id: I481329d0f49584ad0314bd982b80bbc86112c2c0
Original-Signed-off-by: Sheng-Liang Song <ssl@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/197781
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Original-Reviewed-by: Randall Spangler <rspangler@chromium.org>
Original-Commit-Queue: Sheng-liang Song <ssl@google.com>
Original-Tested-by: Sheng-liang Song <ssl@google.com>
(cherry picked from commit 77e60a039f3d8328694a743e7cd15cce71b02f5d)
Signed-off-by: Marc Jones <marc.jones@se-eng.com>

Change-Id: I837151551b8aa68cf86b6fa1dd39b7b673d6a4d9
Reviewed-on: http://review.coreboot.org/7896
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-by: David Hendricks <dhendrix@chromium.org>
Tested-by: build bot (Jenkins)
This commit is contained in:
Sheng-Liang Song 2014-04-30 15:56:13 -07:00 committed by Marc Jones
parent d6fb32b461
commit 8c7e62202d
1 changed files with 13 additions and 1 deletions

View File

@ -60,7 +60,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
fill_lb_gpio(gpio++, -1, ACTIVE_HIGH, "write protect", fill_lb_gpio(gpio++, -1, ACTIVE_HIGH, "write protect",
get_write_protect_state()); get_write_protect_state());
fill_lb_gpio(gpio++, -1, ACTIVE_HIGH, "recovery", fill_lb_gpio(gpio++, -1, ACTIVE_HIGH, "recovery",
get_recovery_mode_switch()); recovery_mode_enabled());
fill_lb_gpio(gpio++, -1, ACTIVE_HIGH, "developer", fill_lb_gpio(gpio++, -1, ACTIVE_HIGH, "developer",
get_developer_mode_switch()); get_developer_mode_switch());
fill_lb_gpio(gpio++, -1, ACTIVE_HIGH, "lid", get_lid_switch()); fill_lb_gpio(gpio++, -1, ACTIVE_HIGH, "lid", get_lid_switch());
@ -94,6 +94,18 @@ int get_recovery_mode_switch(void)
#endif #endif
} }
int clear_recovery_mode_switch(void)
{
#if CONFIG_EC_GOOGLE_CHROMEEC
const uint32_t kb_rec_mask =
EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEYBOARD_RECOVERY);
/* Unconditionally clear the EC recovery request. */
return google_chromeec_clear_events_b(kb_rec_mask);
#else
return 0;
#endif
}
int get_write_protect_state(void) int get_write_protect_state(void)
{ {
/* /*