summaryrefslogtreecommitdiff
path: root/include/usb_pd.h
diff options
context:
space:
mode:
authorScott <scollyer@chromium.org>2015-06-19 11:03:34 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-07-08 19:34:14 +0000
commite9cd22921615ab4c8c10749f0ac2129def4bcb93 (patch)
tree1f85534b6b8cfa697c34bff2a843724d56baece0 /include/usb_pd.h
parent4cd2b6c011a7337dcdc3686336e2e1ce24ca419a (diff)
downloadchrome-ec-e9cd22921615ab4c8c10749f0ac2129def4bcb93.tar.gz
pd: Add Try.SRC functionality to the pd_protocol state machine
1. Added new config option CONFIG_USB_PD_TRY_SRC 2. Added pd_try_source_enable global flag with console command 3. Added bit to pd.flags to indicate Try.SRC states are active BUG=chrome-os-partner:39724 TEST=Manual samus to samus with the Try.SRC enabled on both and just one samus. Tested Samus to Honeybuns and Samus to Zinger connections. BRANCH=TOT Change-Id: Ifa5d5d82e443f376e546aaf852ff24d92ef04d72 Signed-off-by: Scott Collyer <scollyer@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/282052 Reviewed-by: Alec Berg <alecaberg@chromium.org> Tested-by: Alec Berg <alecaberg@chromium.org>
Diffstat (limited to 'include/usb_pd.h')
-rw-r--r--include/usb_pd.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/usb_pd.h b/include/usb_pd.h
index a5bfe7ab3b..6950e8065b 100644
--- a/include/usb_pd.h
+++ b/include/usb_pd.h
@@ -160,6 +160,8 @@ enum pd_rx_errors {
#define PD_T_BIST_TRANSMIT (50*MSEC) /* 50ms (used for task_wait arg) */
#define PD_T_BIST_RECEIVE (60*MSEC) /* 60ms (max time to process bist) */
#define PD_T_VCONN_SOURCE_ON (100*MSEC) /* 100ms */
+#define PD_T_TRY_SRC (125*MSEC) /* Max time for Try.SRC state */
+#define PD_T_TRY_WAIT (600*MSEC) /* Max time for TryWait.SNK state */
/* number of edges and time window to detect CC line is not idle */
#define PD_RX_TRANSITION_COUNT 3
@@ -699,6 +701,7 @@ enum pd_states {
#define PD_FLAGS_CHECK_DR_ROLE (1 << 10)/* check data role in READY */
#define PD_FLAGS_PARTNER_EXTPOWER (1 << 11)/* port partner has external pwr */
#define PD_FLAGS_VCONN_ON (1 << 12)/* vconn is being sourced */
+#define PD_FLAGS_TRY_SRC (1 << 13)/* Try.SRC states are active */
/* Flags to clear on a disconnect */
#define PD_FLAGS_RESET_ON_DISCONNECT_MASK (PD_FLAGS_PARTNER_DR_POWER | \
PD_FLAGS_PARTNER_DR_DATA | \
@@ -710,7 +713,8 @@ enum pd_states {
PD_FLAGS_CHECK_PR_ROLE | \
PD_FLAGS_CHECK_DR_ROLE | \
PD_FLAGS_PARTNER_EXTPOWER | \
- PD_FLAGS_VCONN_ON)
+ PD_FLAGS_VCONN_ON | \
+ PD_FLAGS_TRY_SRC)
enum pd_cc_states {