summaryrefslogtreecommitdiff
path: root/drivers/misc
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-07-06 01:32:52 +0300
committerSimon Glass <sjg@chromium.org>2021-07-21 19:27:34 +0300
commit56dae9ef3c56a7de6ed4af5efb82e661329d4738 (patch)
treec0b8673d28e711a7baaf0d34ea1c5f7b0fd0cff5 /drivers/misc
parent656d7447705550af0b464e7f6bc10fc1547e69ee (diff)
downloadu-boot-56dae9ef3c56a7de6ed4af5efb82e661329d4738.tar.xz
cros_ec: Use standard calls for recovery-request checking
Rather than calling directly into the sandbox SDL code, we can use the normal U-Boot console handling for this feature. Update the code, to make it more generic. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/misc')
-rw-r--r--drivers/misc/cros_ec_sandbox.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/misc/cros_ec_sandbox.c b/drivers/misc/cros_ec_sandbox.c
index 12cc11efbd..2173517cff 100644
--- a/drivers/misc/cros_ec_sandbox.c
+++ b/drivers/misc/cros_ec_sandbox.c
@@ -624,15 +624,19 @@ void cros_ec_check_keyboard(struct udevice *dev)
struct ec_state *ec = dev_get_priv(dev);
ulong start;
- printf("Press keys for EC to detect on reset (ESC=recovery)...");
+ printf("\nPress keys for EC to detect on reset (ESC=recovery)...");
start = get_timer(0);
- while (get_timer(start) < 1000)
- ;
- putc('\n');
- if (!sandbox_sdl_key_pressed(KEY_ESC)) {
- ec->recovery_req = true;
- printf(" - EC requests recovery\n");
+ while (get_timer(start) < 2000) {
+ if (tstc()) {
+ int ch = getchar();
+
+ if (ch == 0x1b) {
+ ec->recovery_req = true;
+ printf("EC requests recovery");
+ }
+ }
}
+ putc('\n');
}
/* Return the byte of EC switch states */