summaryrefslogtreecommitdiff
path: root/include/usb_defs.h
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2017-07-19 13:51:16 (GMT)
committerMarek Vasut <marex@denx.de>2017-07-28 21:34:34 (GMT)
commit5624dfd5aa91c244519ec60b40b4a42b4d9a43ca (patch)
treee7a0a302d46a576835159e30477071f7c599287b /include/usb_defs.h
parent493b8dd070f2412b49190b71b44baddbb2b24e37 (diff)
downloadu-boot-fsl-qoriq-5624dfd5aa91c244519ec60b40b4a42b4d9a43ca.tar.xz
usb: hub: Parse and save TT details from device descriptor
A high speed hub has a special responsibility to handle full speed/ low speed devices connected on downstream ports. In this case, the hub must isolate the high speed signaling environment from the full speed/low speed signaling environment with the help of Transaction Translator (TT). TT details are provided by hub descriptors and we parse and save it to hub uclass_priv for later use. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/usb_defs.h')
-rw-r--r--include/usb_defs.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/usb_defs.h b/include/usb_defs.h
index 273337f..b7f2ead 100644
--- a/include/usb_defs.h
+++ b/include/usb_defs.h
@@ -293,6 +293,7 @@
#define HUB_CHAR_LPSM 0x0003
#define HUB_CHAR_COMPOUND 0x0004
#define HUB_CHAR_OCPM 0x0018
+#define HUB_CHAR_TTTT 0x0060 /* TT Think Time mask */
/*
* Hub Status & Hub Change bit masks
@@ -310,6 +311,17 @@
#define USB_REQ_SET_HUB_DEPTH 0x0c
/*
+ * As of USB 2.0, full/low speed devices are segregated into trees.
+ * One type grows from USB 1.1 host controllers (OHCI, UHCI etc).
+ * The other type grows from high speed hubs when they connect to
+ * full/low speed devices using "Transaction Translators" (TTs).
+ */
+struct usb_tt {
+ bool multi; /* true means one TT per port */
+ unsigned think_time; /* think time in ns */
+};
+
+/*
* CBI style
*/