aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/usb/ch11.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/usb/ch11.h')
-rw-r--r--include/linux/usb/ch11.h31
1 files changed, 25 insertions, 6 deletions
diff --git a/include/linux/usb/ch11.h b/include/linux/usb/ch11.h
index 4ebaf0824179..31fdb4c6ee3d 100644
--- a/include/linux/usb/ch11.h
+++ b/include/linux/usb/ch11.h
@@ -26,7 +26,6 @@
26#define HUB_RESET_TT 9 26#define HUB_RESET_TT 9
27#define HUB_GET_TT_STATE 10 27#define HUB_GET_TT_STATE 10
28#define HUB_STOP_TT 11 28#define HUB_STOP_TT 11
29#define HUB_SET_DEPTH 12
30 29
31/* 30/*
32 * Hub class additional requests defined by USB 3.0 spec 31 * Hub class additional requests defined by USB 3.0 spec
@@ -165,11 +164,20 @@ struct usb_port_status {
165 * wHubCharacteristics (masks) 164 * wHubCharacteristics (masks)
166 * See USB 2.0 spec Table 11-13, offset 3 165 * See USB 2.0 spec Table 11-13, offset 3
167 */ 166 */
168#define HUB_CHAR_LPSM 0x0003 /* D1 .. D0 */ 167#define HUB_CHAR_LPSM 0x0003 /* Logical Power Switching Mode mask */
169#define HUB_CHAR_COMPOUND 0x0004 /* D2 */ 168#define HUB_CHAR_COMMON_LPSM 0x0000 /* All ports power control at once */
170#define HUB_CHAR_OCPM 0x0018 /* D4 .. D3 */ 169#define HUB_CHAR_INDV_PORT_LPSM 0x0001 /* per-port power control */
171#define HUB_CHAR_TTTT 0x0060 /* D6 .. D5 */ 170#define HUB_CHAR_NO_LPSM 0x0002 /* no power switching */
172#define HUB_CHAR_PORTIND 0x0080 /* D7 */ 171
172#define HUB_CHAR_COMPOUND 0x0004 /* hub is part of a compound device */
173
174#define HUB_CHAR_OCPM 0x0018 /* Over-Current Protection Mode mask */
175#define HUB_CHAR_COMMON_OCPM 0x0000 /* All ports Over-Current reporting */
176#define HUB_CHAR_INDV_PORT_OCPM 0x0008 /* per-port Over-current reporting */
177#define HUB_CHAR_NO_OCPM 0x0010 /* No Over-current Protection support */
178
179#define HUB_CHAR_TTTT 0x0060 /* TT Think Time mask */
180#define HUB_CHAR_PORTIND 0x0080 /* per-port indicators (LEDs) */
173 181
174struct usb_hub_status { 182struct usb_hub_status {
175 __le16 wHubStatus; 183 __le16 wHubStatus;
@@ -198,6 +206,17 @@ struct usb_hub_status {
198#define USB_DT_HUB_NONVAR_SIZE 7 206#define USB_DT_HUB_NONVAR_SIZE 7
199#define USB_DT_SS_HUB_SIZE 12 207#define USB_DT_SS_HUB_SIZE 12
200 208
209/*
210 * Hub Device descriptor
211 * USB Hub class device protocols
212 */
213
214#define USB_HUB_PR_FS 0 /* Full speed hub */
215#define USB_HUB_PR_HS_NO_TT 0 /* Hi-speed hub without TT */
216#define USB_HUB_PR_HS_SINGLE_TT 1 /* Hi-speed hub with single TT */
217#define USB_HUB_PR_HS_MULTI_TT 2 /* Hi-speed hub with multiple TT */
218#define USB_HUB_PR_SS 3 /* Super speed hub */
219
201struct usb_hub_descriptor { 220struct usb_hub_descriptor {
202 __u8 bDescLength; 221 __u8 bDescLength;
203 __u8 bDescriptorType; 222 __u8 bDescriptorType;