[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210203014939.741065-1-pmalani@chromium.org>
Date: Tue, 2 Feb 2021 17:49:36 -0800
From: Prashant Malani <pmalani@...omium.org>
To: linux-kernel@...r.kernel.org
Cc: bleung@...omium.org, Prashant Malani <pmalani@...omium.org>,
Enric Balletbo i Serra <enric.balletbo@...labora.com>,
Guenter Roeck <groeck@...omium.org>,
"Gustavo A. R. Silva" <gustavoars@...nel.org>,
Mark Brown <broonie@...nel.org>,
Pi-Hsun Shih <pihsun@...omium.org>,
Utkarsh Patel <utkarsh.h.patel@...el.com>
Subject: [PATCH 1/2] platform/chrome: cros_ec: Import Type C control command
This command is used to communicate with the Chrome Embedded Controller
(EC) regarding USB Type C events and state.
These header updates are included in the latest Chrome OS EC headers [1]
[1]
https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/main/include/ec_commands.h
Signed-off-by: Prashant Malani <pmalani@...omium.org>
---
.../linux/platform_data/cros_ec_commands.h | 26 +++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/include/linux/platform_data/cros_ec_commands.h b/include/linux/platform_data/cros_ec_commands.h
index d3c40220b281..a95dc22a5463 100644
--- a/include/linux/platform_data/cros_ec_commands.h
+++ b/include/linux/platform_data/cros_ec_commands.h
@@ -5578,6 +5578,32 @@ struct ec_response_typec_discovery {
struct svid_mode_info svids[0];
} __ec_align1;
+
+/* USB Type-C commands for AP-controlled device policy. */
+#define EC_CMD_TYPEC_CONTROL 0x0132
+
+enum typec_control_command {
+ TYPEC_CONTROL_COMMAND_EXIT_MODES,
+ TYPEC_CONTROL_COMMAND_CLEAR_EVENTS,
+ TYPEC_CONTROL_COMMAND_ENTER_MODE,
+};
+
+struct ec_params_typec_control {
+ uint8_t port;
+ uint8_t command; /* enum typec_control_command */
+ uint16_t reserved;
+
+ /*
+ * This section will be interpreted based on |command|. Define a
+ * placeholder structure to avoid having to increase the size and bump
+ * the command version when adding new sub-commands.
+ */
+ union {
+ uint32_t clear_events_mask;
+ uint8_t mode_to_enter; /* enum typec_mode */
+ uint8_t placeholder[128];
+ };
+} __ec_align1;
/*
* Gather all status information for a port.
*
--
2.30.0.365.g02bc693789-goog
Powered by blists - more mailing lists