diff options
author | Sheng-Liang Song <ssl@chromium.org> | 2014-04-30 15:56:13 -0700 |
---|---|---|
committer | Marc Jones <marc.jones@se-eng.com> | 2014-12-31 05:25:44 +0100 |
commit | 8c7e62202dc5d1bbd6c4e7018010487fb5ac0276 (patch) | |
tree | 6f8f18dc609272be15c0a172cf5d06f446af9df9 | |
parent | d6fb32b461314414e2afc6b91b771a70fb4689c5 (diff) | |
download | coreboot-8c7e62202dc5d1bbd6c4e7018010487fb5ac0276.tar.xz |
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)
-rw-r--r-- | src/mainboard/google/rambi/chromeos.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/mainboard/google/rambi/chromeos.c b/src/mainboard/google/rambi/chromeos.c index 0c3fe2a625..3ab30347ca 100644 --- a/src/mainboard/google/rambi/chromeos.c +++ b/src/mainboard/google/rambi/chromeos.c @@ -60,7 +60,7 @@ void fill_lb_gpios(struct lb_gpios *gpios) fill_lb_gpio(gpio++, -1, ACTIVE_HIGH, "write protect", get_write_protect_state()); fill_lb_gpio(gpio++, -1, ACTIVE_HIGH, "recovery", - get_recovery_mode_switch()); + recovery_mode_enabled()); fill_lb_gpio(gpio++, -1, ACTIVE_HIGH, "developer", get_developer_mode_switch()); fill_lb_gpio(gpio++, -1, ACTIVE_HIGH, "lid", get_lid_switch()); @@ -94,6 +94,18 @@ int get_recovery_mode_switch(void) #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) { /* |