diff options
author | Bin Meng <bmeng.cn@gmail.com> | 2017-07-19 21:51:16 +0800 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2017-07-28 23:34:34 +0200 |
commit | 5624dfd5aa91c244519ec60b40b4a42b4d9a43ca (patch) | |
tree | e7a0a302d46a576835159e30477071f7c599287b /include/usb_defs.h | |
parent | 493b8dd070f2412b49190b71b44baddbb2b24e37 (diff) | |
download | u-boot-5624dfd5aa91c244519ec60b40b4a42b4d9a43ca.tar.gz |
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.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/usb_defs.h b/include/usb_defs.h index 273337f46a..b7f2eada07 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 */ |