diff options
-rw-r--r-- | include/linux/usb/ch11.h | 47 | ||||
-rw-r--r-- | include/linux/usb/hcd.h | 4 |
2 files changed, 51 insertions, 0 deletions
diff --git a/include/linux/usb/ch11.h b/include/linux/usb/ch11.h index 119194c85d10..10ec0699bea4 100644 --- a/include/linux/usb/ch11.h +++ b/include/linux/usb/ch11.h | |||
@@ -28,6 +28,13 @@ | |||
28 | #define HUB_STOP_TT 11 | 28 | #define HUB_STOP_TT 11 |
29 | 29 | ||
30 | /* | 30 | /* |
31 | * Hub class additional requests defined by USB 3.0 spec | ||
32 | * See USB 3.0 spec Table 10-6 | ||
33 | */ | ||
34 | #define HUB_SET_DEPTH 12 | ||
35 | #define HUB_GET_PORT_ERR_COUNT 13 | ||
36 | |||
37 | /* | ||
31 | * Hub Class feature numbers | 38 | * Hub Class feature numbers |
32 | * See USB 2.0 spec Table 11-17 | 39 | * See USB 2.0 spec Table 11-17 |
33 | */ | 40 | */ |
@@ -56,6 +63,20 @@ | |||
56 | #define USB_PORT_FEAT_C_PORT_L1 23 | 63 | #define USB_PORT_FEAT_C_PORT_L1 23 |
57 | 64 | ||
58 | /* | 65 | /* |
66 | * Port feature selectors added by USB 3.0 spec. | ||
67 | * See USB 3.0 spec Table 10-7 | ||
68 | */ | ||
69 | #define USB_PORT_FEAT_LINK_STATE 5 | ||
70 | #define USB_PORT_FEAT_U1_TIMEOUT 23 | ||
71 | #define USB_PORT_FEAT_U2_TIMEOUT 24 | ||
72 | #define USB_PORT_FEAT_C_LINK_STATE 25 | ||
73 | #define USB_PORT_FEAT_C_CONFIG_ERR 26 | ||
74 | #define USB_PORT_FEAT_REMOTE_WAKE_MASK 27 | ||
75 | #define USB_PORT_FEAT_BH_PORT_RESET 28 | ||
76 | #define USB_PORT_FEAT_C_BH_PORT_RESET 29 | ||
77 | #define USB_PORT_FEAT_FORCE_LINKPM_ACCEPT 30 | ||
78 | |||
79 | /* | ||
59 | * Hub Status and Hub Change results | 80 | * Hub Status and Hub Change results |
60 | * See USB 2.0 spec Table 11-19 and Table 11-20 | 81 | * See USB 2.0 spec Table 11-19 and Table 11-20 |
61 | */ | 82 | */ |
@@ -84,6 +105,32 @@ struct usb_port_status { | |||
84 | #define USB_PORT_STAT_SUPER_SPEED 0x8000 /* Linux-internal */ | 105 | #define USB_PORT_STAT_SUPER_SPEED 0x8000 /* Linux-internal */ |
85 | 106 | ||
86 | /* | 107 | /* |
108 | * Additions to wPortStatus bit field from USB 3.0 | ||
109 | * See USB 3.0 spec Table 10-10 | ||
110 | */ | ||
111 | #define USB_PORT_STAT_LINK_STATE 0x01e0 | ||
112 | #define USB_SS_PORT_STAT_POWER 0x0200 | ||
113 | #define USB_PORT_STAT_SPEED_5GBPS 0x0000 | ||
114 | /* Valid only if port is enabled */ | ||
115 | |||
116 | /* | ||
117 | * Definitions for PORT_LINK_STATE values | ||
118 | * (bits 5-8) in wPortStatus | ||
119 | */ | ||
120 | #define USB_SS_PORT_LS_U0 0x0000 | ||
121 | #define USB_SS_PORT_LS_U1 0x0020 | ||
122 | #define USB_SS_PORT_LS_U2 0x0040 | ||
123 | #define USB_SS_PORT_LS_U3 0x0060 | ||
124 | #define USB_SS_PORT_LS_SS_DISABLED 0x0080 | ||
125 | #define USB_SS_PORT_LS_RX_DETECT 0x00a0 | ||
126 | #define USB_SS_PORT_LS_SS_INACTIVE 0x00c0 | ||
127 | #define USB_SS_PORT_LS_POLLING 0x00e0 | ||
128 | #define USB_SS_PORT_LS_RECOVERY 0x0100 | ||
129 | #define USB_SS_PORT_LS_HOT_RESET 0x0120 | ||
130 | #define USB_SS_PORT_LS_COMP_MOD 0x0140 | ||
131 | #define USB_SS_PORT_LS_LOOPBACK 0x0160 | ||
132 | |||
133 | /* | ||
87 | * wPortChange bit field | 134 | * wPortChange bit field |
88 | * See USB 2.0 spec Table 11-22 | 135 | * See USB 2.0 spec Table 11-22 |
89 | * Bits 0 to 4 shown, bits 5 to 15 are reserved | 136 | * Bits 0 to 4 shown, bits 5 to 15 are reserved |
diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h index 0b6e751ea0b1..dd6ee49a0844 100644 --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h | |||
@@ -471,6 +471,10 @@ extern void usb_ep0_reinit(struct usb_device *); | |||
471 | 471 | ||
472 | /*-------------------------------------------------------------------------*/ | 472 | /*-------------------------------------------------------------------------*/ |
473 | 473 | ||
474 | /* class requests from USB 3.0 hub spec, table 10-5 */ | ||
475 | #define SetHubDepth (0x3000 | HUB_SET_DEPTH) | ||
476 | #define GetPortErrorCount (0x8000 | HUB_GET_PORT_ERR_COUNT) | ||
477 | |||
474 | /* | 478 | /* |
475 | * Generic bandwidth allocation constants/support | 479 | * Generic bandwidth allocation constants/support |
476 | */ | 480 | */ |