Browse Source

sandbox: cros_ec: Support EC_CMD_ENTERING_MODE emulation

Emualate this function which is used with Chrome OS verified boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass 9 years ago
parent
commit
b527924954
2 changed files with 17 additions and 0 deletions
  1. 2 0
      drivers/misc/cros_ec_sandbox.c
  2. 15 0
      include/ec_commands.h

+ 2 - 0
drivers/misc/cros_ec_sandbox.c

@@ -459,6 +459,8 @@ static int process_cmd(struct ec_state *ec,
 	case EC_CMD_MKBP_STATE:
 		len = cros_ec_keyscan(ec, resp_data);
 		break;
+	case EC_CMD_ENTERING_MODE:
+		break;
 	default:
 		printf("   ** Unknown EC command %#02x\n", req_hdr->command);
 		return -1;

+ 15 - 0
include/ec_commands.h

@@ -1555,6 +1555,21 @@ struct ec_params_sb_wr_block {
 	uint16_t data[32];
 } __packed;
 
+/*
+ * Entering Verified Boot Mode Command
+ * Default mode is VBOOT_MODE_NORMAL if EC did not receive this command.
+ * Valid Modes are: normal, developer, and recovery.
+ */
+#define EC_CMD_ENTERING_MODE 0xb6
+
+struct ec_params_entering_mode {
+	int vboot_mode;
+} __packed;
+
+#define VBOOT_MODE_NORMAL    0
+#define VBOOT_MODE_DEVELOPER 1
+#define VBOOT_MODE_RECOVERY  2
+
 /*****************************************************************************/
 /* System commands */