diff options
author | Ayushee <ayushee.shah@intel.com> | 2019-06-21 02:42:32 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-12-17 21:06:36 +0000 |
commit | 0d7346d351d64724ab475ac3769829ed2ec9a7a2 (patch) | |
tree | 4ea8d416cc36e8ada03edbbdbb515d869bd846db /util/ectool.c | |
parent | e0d99a923236fb2f65fb8301e6ac631ba4d4267b (diff) | |
download | chrome-ec-0d7346d351d64724ab475ac3769829ed2ec9a7a2.tar.gz |
TCPMv1: Add support for Thunderbolt-compatible mode
Thunderbolt is a hardware interface that allows connection of external
peripherals to a computer. This code enables thunderbolt 3 over Type-C
interface. Thunderbolt provides concurrent support for PCIe transactions
and DisplayPort and the thunderbolt controller provides isochronous
communication on a single network style interface, allowing a Host
computer to communicate at high bandwidth with multiple data/display
devices through a single physical connection.
The USB Type-C specification allows for Alternate Modes to be supported
on the connector and cables. This CL adds a Discovery flow to determine
if an Thunderbolt Alternate Mode is supported and a mechanism for
switching in thunderbolt mode.
TBT USB PD flow:
-------------------Explicit contact---------------------
Discover Identity(SOP) ---- Modal operation supported?
|
---------- ACK -----|---- NACK --- Disable TBT
|
Discover Identity(SOP') --- Check and store response
(CL:1707851 and CL:1553898)
|
Is cable super speed?
-------- Yes -------|----- No ---- Disable TBT
|
Discover SVID (SOP) -------- SVID == 0x8087?
|
------------- Yes -----|------ No ---- Disable TBT
|
Discover SVID (SOP') -------- SVID == 0x8087?
|
----------- yes------- | - No - Limit TBT to passive Gen 2
|
Discover Mode (SOP) ------ Store device response
---------------|
|
Discover Mode (SOP') ----- Store cable response
|
Enter Safe mode
|
Active cable?
--------- Yes -----|-------- No ---------
| |
Enter TBT mode (SOP' SOP" SOP) Enter TBT mode SOP
(Note: This is not implemented in this CL)
BUG=b:140643923
BRANCH=none
TEST=Tested on Tglrvp-u able to enter into Thunderbolt-compatible mode &
Non Thunderbolt-compatible devices are detected as per their spec.
Change-Id: I65ed86e9f32d36fe8e30c3285f516b9871f3e119
Signed-off-by: Ayushee <ayushee.shah@intel.com>
Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1926379
Reviewed-by: Diana Z <dzigterman@chromium.org>
Commit-Queue: Keith Short <keithshort@chromium.org>
Diffstat (limited to 'util/ectool.c')
-rw-r--r-- | util/ectool.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/util/ectool.c b/util/ectool.c index 4f8d292e11..c95fcf606e 100644 --- a/util/ectool.c +++ b/util/ectool.c @@ -5693,6 +5693,7 @@ int cmd_usb_pd_mux_info(int argc, char *argv[]) printf("HPD_IRQ=%d ", !!(r.flags & USB_PD_MUX_HPD_IRQ)); printf("HPD_LVL=%d ", !!(r.flags & USB_PD_MUX_HPD_LVL)); printf("SAFE=%d ", !!(r.flags & USB_PD_MUX_SAFE_MODE)); + printf("TBT=%d ", !!(r.flags & USB_PD_MUX_TBT_COMPAT_ENABLED)); printf("\n"); } |