summaryrefslogtreecommitdiff
path: root/include/usb_pd_tcpm.h
diff options
context:
space:
mode:
authorAbe Levkoy <alevkoy@chromium.org>2020-11-17 18:20:29 -0700
committerCommit Bot <commit-bot@chromium.org>2021-01-22 00:01:57 +0000
commit251827028c193eea50630ece1b22b4513e167cd2 (patch)
tree96b267fd8272fb734fe4671169472b79c7376f6d /include/usb_pd_tcpm.h
parent2034650b0b3aeb6685f26334491e9f5cacbe915e (diff)
downloadchrome-ec-251827028c193eea50630ece1b22b4513e167cd2.tar.gz
TCPMv2: Support BIST Test Mode
After the first BIST Test Data packet, enable BIST Test Mode if the TCPC supports it (currently just TCPCI). While in BIST Test Mode, mask ALERT.ReceivedSOP*MessageStatus. Unmask it when the test ends, due to Hard Reset or to detach. BUG=b:173023378,b:169385081,b:172709198,b:173028832,b:173028791 BUG=b:173141941,b:173142113 TEST=Complete TDA.2.1.2.2 BMC PHY RX INT REJ on volteer without running out of Rx buffer space or watchdog timeout (still fail though) BRANCH=firmware-volteer-13521.B-master Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: I03bbc4cfacceebd0334aa814e11a16e09177a322 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2545667 Reviewed-by: Diana Z <dzigterman@chromium.org>
Diffstat (limited to 'include/usb_pd_tcpm.h')
-rw-r--r--include/usb_pd_tcpm.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/usb_pd_tcpm.h b/include/usb_pd_tcpm.h
index 8cc5543c53..885ca24f71 100644
--- a/include/usb_pd_tcpm.h
+++ b/include/usb_pd_tcpm.h
@@ -9,6 +9,7 @@
#define __CROS_EC_USB_PD_TCPM_H
#include <stdbool.h>
+#include "common.h"
#include "ec_commands.h"
#include "i2c.h"
@@ -445,6 +446,17 @@ struct tcpm_drv {
*/
int (*handle_fault)(int port, int fault);
+ /**
+ * Controls BIST Test Mode (or analogous functionality) in the TCPC and
+ * associated behavior changes. Disables message Rx alerts while the
+ * port is in Test Mode.
+ *
+ * @param port USB-C port number
+ * @param enable true to enter BIST Test Mode; false to exit
+ * @return EC_SUCCESS or error code
+ */
+ enum ec_error_list (*set_bist_test_mode)(int port, bool enable);
+
#ifdef CONFIG_CMD_TCPC_DUMP
/**
* Dump TCPC registers