]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
cros_ec: Use standard calls for recovery-request checking
authorSimon Glass <sjg@chromium.org>
Mon, 5 Jul 2021 22:32:52 +0000 (16:32 -0600)
committerSimon Glass <sjg@chromium.org>
Wed, 21 Jul 2021 16:27:34 +0000 (10:27 -0600)
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>
drivers/misc/cros_ec_sandbox.c

index 12cc11efbd01028fd856001213c70c301c80f461..2173517cff35f64b2c0c6347cf0b9bb6fc4d57ec 100644 (file)
@@ -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 */