summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorVic Yang <victoryang@chromium.org>2014-07-24 15:23:16 -0700
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-07-30 05:31:35 +0000
commit139a9c6880709586e677554643bb1b301da84c77 (patch)
treedfe70fdd1f7209f3f476ec0a2c48b8d21f612b3e /include
parent9797f654d935cdd75ede4ef98b762284d54a5da4 (diff)
downloadchrome-ec-139a9c6880709586e677554643bb1b301da84c77.tar.gz
Host command for USB PD role and mux control
This allows us to control PD role and type-C mux through ectool. BUG=None TEST=Change role/mux on samus using ectool: $ ./ectool --interface=lpc --dev 1 usbpd 0 usb -> In EC console, 'typec 0' shows 'Superspeed USB1' $ ./ectool --interface=lpc --dev 1 usbpd 0 sink -> In EC console, 'pd 0 state' shows 'force sink' BRANCH=None Change-Id: I5b90fb53ea1c30e3bc269c12d61e4398c5dcee6c Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/209956 Reviewed-by: Alec Berg <alecaberg@chromium.org>
Diffstat (limited to 'include')
-rw-r--r--include/ec_commands.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/ec_commands.h b/include/ec_commands.h
index 7233d43bd3..1756a11247 100644
--- a/include/ec_commands.h
+++ b/include/ec_commands.h
@@ -2500,6 +2500,32 @@ struct ec_response_pd_status {
int8_t status; /* currently empty */
} __packed;
+/* Set USB type-C port role and muxes */
+#define EC_CMD_USB_PD_CONTROL 0x101
+
+enum usb_pd_control_role {
+ USB_PD_CTRL_ROLE_NO_CHANGE = 0,
+ USB_PD_CTRL_ROLE_TOGGLE_ON = 1, /* == AUTO */
+ USB_PD_CTRL_ROLE_TOGGLE_OFF = 2,
+ USB_PD_CTRL_ROLE_FORCE_SINK = 3,
+ USB_PD_CTRL_ROLE_FORCE_SOURCE = 4,
+};
+
+enum usb_pd_control_mux {
+ USB_PD_CTRL_MUX_NO_CHANGE = 0,
+ USB_PD_CTRL_MUX_NONE = 1,
+ USB_PD_CTRL_MUX_USB = 2,
+ USB_PD_CTRL_MUX_DP = 3,
+ USB_PD_CTRL_MUX_DOCK = 4,
+ USB_PD_CTRL_MUX_AUTO = 5,
+};
+
+struct ec_params_usb_pd_control {
+ uint8_t port;
+ uint8_t role;
+ uint8_t mux;
+} __packed;
+
/*****************************************************************************/
/*
* Passthru commands