summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorVijay Hiremath <vijay.p.hiremath@intel.com>2020-01-13 11:32:48 -0800
committerCommit Bot <commit-bot@chromium.org>2020-01-15 23:54:32 +0000
commit1c796f459f13fd3eb0d512da45ef98116afb6c3e (patch)
tree164beca45ef0fb1bd26353368e53c96ce026209f /include
parent69442e5aaa2fb1adc13b40e118831c9c277c82a3 (diff)
downloadchrome-ec-1c796f459f13fd3eb0d512da45ef98116afb6c3e.tar.gz
TBT: Allow limiting the cable speed based on board design
From the TGL PDG, MAX TBT signals routing length can be 205mm prior to connection to re-timer. Orthogonal routing with such length would results in adverse effect to channel margin, as described in Fiberweave White Paper. Hence, added overridable function to override the TBT cable speed based on the board design. BUG=b:147498371 BRANCH=none TEST=Able to detect TBT3 devices on Volteer Change-Id: I4490bc507c2c12b26372ed86e485c0491f1a9f21 Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1998544 Reviewed-by: Keith Short <keithshort@chromium.org>
Diffstat (limited to 'include')
-rw-r--r--include/usb_pd.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/include/usb_pd.h b/include/usb_pd.h
index 538086db29..81e45cb1ce 100644
--- a/include/usb_pd.h
+++ b/include/usb_pd.h
@@ -1602,6 +1602,27 @@ enum tbt_compat_cable_speed get_tbt_cable_speed(int port);
enum tbt_compat_rounded_support get_tbt_rounded_support(int port);
/**
+ * Return maximum allowed speed for Thunderbolt-compatible mode
+ *
+ * NOTE: Chromebooks require that all USB-C ports support the same features,
+ * so the maximum speed returned by this function should be set to the lowest
+ * speed supported by all ports. Products in development (i.e. proto boards)
+ * can support different speeds on each port for validation purpose.
+ *
+ * Ref: TGL PDG
+ * 3.1: Fiberweave Impact for HSIOs Operating at ≥8 GT/s Speeds
+ * MAX TBT routing length is 205mm prior to connection to re-timer
+ *
+ * Thunderbolt-compatible mode has electrical and PCB requirements for signal
+ * routing and length. Default speed is set for connected cable's speed.
+ * Board level function can override the cable speed based on the design.
+ *
+ * @param port USB-C port number
+ * @return cable speed
+ */
+__override_proto enum tbt_compat_cable_speed board_get_max_tbt_speed(int port);
+
+/**
* Store Device ID & RW hash of device
*
* @param port USB-C port number