[coreboot-gerrit] New patch to review for coreboot: Kunimitsu: port the change from glados for enabling reading recovery mode.

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Fri Aug 28 10:22:24 CEST 2015


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11434

-gerrit

commit aa54af1cbfb8b62f385b0eea10b7d6d0b87e56b7
Author: robbie zhang <robbie.zhang at intel.com>
Date:   Mon Aug 24 16:41:09 2015 -0700

    Kunimitsu: port the change from glados for enabling reading recovery
    mode.
    
    BUG=chrome-os-partner:43683
    BRANCH=none
    TEST=build and boot on kunimits and successfully enter recovery mode
    by pressing “Esc + refresh + Power” keys.
    
    Change-Id: Id25b9f2195f1caaa8b46967b4b5d4abdab48d6cc
    Signed-off-by: Patrick Georgi <patrick at georgi-clan.de>
    Original-Commit-Id: 96b1c295448b412a5662afc729fdd37294d3cb61
    Original-Change-Id: I9f650b28b0a86b631ffdfe6de5d58d18e48a0a22
    Original-Signed-off-by: robbie zhang <robbie.zhang at intel.com>
    Original-Reviewed-on: https://chromium-review.googlesource.com/295138
    Original-Tested-by: Wenkai Du <wenkai.du at intel.com>
    Original-Reviewed-by: Aaron Durbin <adurbin at chromium.org>
---
 src/mainboard/intel/kunimitsu/chromeos.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/mainboard/intel/kunimitsu/chromeos.c b/src/mainboard/intel/kunimitsu/chromeos.c
index 66d1a42..66be521 100644
--- a/src/mainboard/intel/kunimitsu/chromeos.c
+++ b/src/mainboard/intel/kunimitsu/chromeos.c
@@ -22,10 +22,10 @@
 #include <console/console.h>
 #include <device/device.h>
 #include <device/pci.h>
+#include <ec/google/chromeec/ec.h>
 #include <soc/gpio.h>
 #include <string.h>
 #include <vendorcode/google/chromeos/chromeos.h>
-
 #include "gpio.h"
 #include "ec.h"
 
@@ -69,7 +69,20 @@ int get_developer_mode_switch(void)
 
 int get_recovery_mode_switch(void)
 {
-	return 0;
+	/* Check for dedicated recovery switch first. */
+	if (google_chromeec_get_switches() & EC_SWITCH_DEDICATED_RECOVERY)
+		return 1;
+
+	/* Otherwise check if the EC has posted the keyboard recovery event. */
+	return !!(google_chromeec_get_events_b() &
+		  EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEYBOARD_RECOVERY));
+}
+
+int clear_recovery_mode_switch(void)
+{
+	/* Clear keyboard recovery event. */
+	return google_chromeec_clear_events_b(
+		EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEYBOARD_RECOVERY));
 }
 
 int get_write_protect_state(void)



More information about the coreboot-gerrit mailing list