summaryrefslogtreecommitdiff
path: root/include/usb_pd_tcpm.h
diff options
context:
space:
mode:
authorKeith Short <keithshort@chromium.org>2020-08-27 14:51:41 -0600
committerCommit Bot <commit-bot@chromium.org>2020-09-02 03:20:23 +0000
commitc069177ccc29b4373d5587e1dcea966aeee0a856 (patch)
tree84f6a1b6e046b0c2aab859a992a7366c5fb29c8c /include/usb_pd_tcpm.h
parent6b7a3e349d4d55c3a5a40bfa6094e415a5a4d8c3 (diff)
downloadchrome-ec-c069177ccc29b4373d5587e1dcea966aeee0a856.tar.gz
tcpmv2: disable receive of SOP' during VCONN swap
The USB PD specification indicates that the initial VCONN source shall cease source VCONN within tVCONNSourceOff (25 ms) after receiving PS_RDY. Not all partners wait after sending PS_RDY before trying to communicate with the cable. BUG=b:163478172, b:163143427 BRANCH=none TEST=make buildall TEST=Connect 2 Volteers together and force VCONN swaps confirming the sequence completes normally. Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I14720f033c5f6e9caed9c4fe3bfa11e5c046116e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2381030 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
Diffstat (limited to 'include/usb_pd_tcpm.h')
-rw-r--r--include/usb_pd_tcpm.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/usb_pd_tcpm.h b/include/usb_pd_tcpm.h
index bccea184e4..d6f89553fc 100644
--- a/include/usb_pd_tcpm.h
+++ b/include/usb_pd_tcpm.h
@@ -245,6 +245,19 @@ struct tcpm_drv {
*/
int (*set_polarity)(int port, enum tcpc_cc_polarity polarity);
+#ifdef CONFIG_USB_PD_DECODE_SOP
+ /**
+ * Disable receive of SOP' and SOP'' messages. This is provided
+ * separately from set_vconn so that we can preemptively disable
+ * receipt of SOP' messages during a VCONN swap.
+ *
+ * @param port Type-C port number
+ *
+ * @return EC_SUCCESS or error
+ */
+ int (*sop_prime_disable)(int port);
+#endif
+
/**
* Set Vconn.
*