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.h41
1 files changed, 27 insertions, 14 deletions
diff --git a/include/linux/usb/ch11.h b/include/linux/usb/ch11.h
index 4ebaf0824179..0b83acd3360a 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
@@ -62,12 +61,6 @@
62#define USB_PORT_FEAT_TEST 21 61#define USB_PORT_FEAT_TEST 21
63#define USB_PORT_FEAT_INDICATOR 22 62#define USB_PORT_FEAT_INDICATOR 22
64#define USB_PORT_FEAT_C_PORT_L1 23 63#define USB_PORT_FEAT_C_PORT_L1 23
65#define USB_PORT_FEAT_C_PORT_LINK_STATE 25
66#define USB_PORT_FEAT_C_PORT_CONFIG_ERROR 26
67#define USB_PORT_FEAT_PORT_REMOTE_WAKE_MASK 27
68#define USB_PORT_FEAT_BH_PORT_RESET 28
69#define USB_PORT_FEAT_C_BH_PORT_RESET 29
70#define USB_PORT_FEAT_FORCE_LINKPM_ACCEPT 30
71 64
72/* 65/*
73 * Port feature selectors added by USB 3.0 spec. 66 * Port feature selectors added by USB 3.0 spec.
@@ -76,8 +69,8 @@
76#define USB_PORT_FEAT_LINK_STATE 5 69#define USB_PORT_FEAT_LINK_STATE 5
77#define USB_PORT_FEAT_U1_TIMEOUT 23 70#define USB_PORT_FEAT_U1_TIMEOUT 23
78#define USB_PORT_FEAT_U2_TIMEOUT 24 71#define USB_PORT_FEAT_U2_TIMEOUT 24
79#define USB_PORT_FEAT_C_LINK_STATE 25 72#define USB_PORT_FEAT_C_PORT_LINK_STATE 25
80#define USB_PORT_FEAT_C_CONFIG_ERR 26 73#define USB_PORT_FEAT_C_PORT_CONFIG_ERROR 26
81#define USB_PORT_FEAT_REMOTE_WAKE_MASK 27 74#define USB_PORT_FEAT_REMOTE_WAKE_MASK 27
82#define USB_PORT_FEAT_BH_PORT_RESET 28 75#define USB_PORT_FEAT_BH_PORT_RESET 28
83#define USB_PORT_FEAT_C_BH_PORT_RESET 29 76#define USB_PORT_FEAT_C_BH_PORT_RESET 29
@@ -165,11 +158,20 @@ struct usb_port_status {
165 * wHubCharacteristics (masks) 158 * wHubCharacteristics (masks)
166 * See USB 2.0 spec Table 11-13, offset 3 159 * See USB 2.0 spec Table 11-13, offset 3
167 */ 160 */
168#define HUB_CHAR_LPSM 0x0003 /* D1 .. D0 */ 161#define HUB_CHAR_LPSM 0x0003 /* Logical Power Switching Mode mask */
169#define HUB_CHAR_COMPOUND 0x0004 /* D2 */ 162#define HUB_CHAR_COMMON_LPSM 0x0000 /* All ports power control at once */
170#define HUB_CHAR_OCPM 0x0018 /* D4 .. D3 */ 163#define HUB_CHAR_INDV_PORT_LPSM 0x0001 /* per-port power control */
171#define HUB_CHAR_TTTT 0x0060 /* D6 .. D5 */ 164#define HUB_CHAR_NO_LPSM 0x0002 /* no power switching */
172#define HUB_CHAR_PORTIND 0x0080 /* D7 */ 165
166#define HUB_CHAR_COMPOUND 0x0004 /* hub is part of a compound device */
167
168#define HUB_CHAR_OCPM 0x0018 /* Over-Current Protection Mode mask */
169#define HUB_CHAR_COMMON_OCPM 0x0000 /* All ports Over-Current reporting */
170#define HUB_CHAR_INDV_PORT_OCPM 0x0008 /* per-port Over-current reporting */
171#define HUB_CHAR_NO_OCPM 0x0010 /* No Over-current Protection support */
172
173#define HUB_CHAR_TTTT 0x0060 /* TT Think Time mask */
174#define HUB_CHAR_PORTIND 0x0080 /* per-port indicators (LEDs) */
173 175
174struct usb_hub_status { 176struct usb_hub_status {
175 __le16 wHubStatus; 177 __le16 wHubStatus;
@@ -198,6 +200,17 @@ struct usb_hub_status {
198#define USB_DT_HUB_NONVAR_SIZE 7 200#define USB_DT_HUB_NONVAR_SIZE 7
199#define USB_DT_SS_HUB_SIZE 12 201#define USB_DT_SS_HUB_SIZE 12
200 202
203/*
204 * Hub Device descriptor
205 * USB Hub class device protocols
206 */
207
208#define USB_HUB_PR_FS 0 /* Full speed hub */
209#define USB_HUB_PR_HS_NO_TT 0 /* Hi-speed hub without TT */
210#define USB_HUB_PR_HS_SINGLE_TT 1 /* Hi-speed hub with single TT */
211#define USB_HUB_PR_HS_MULTI_TT 2 /* Hi-speed hub with multiple TT */
212#define USB_HUB_PR_SS 3 /* Super speed hub */
213
201struct usb_hub_descriptor { 214struct usb_hub_descriptor {
202 __u8 bDescLength; 215 __u8 bDescLength;
203 __u8 bDescriptorType; 216 __u8 bDescriptorType;