Lines Matching +full:usb +full:- +full:hub

1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
3 * This file holds Hub protocol constants and data structures that are
4 * defined in chapter 11 (Hub Specification) of the USB 2.0 specification.
6 * It is used/shared between the USB core, the HCDs and couple of other USB
16 * From USB 2.0 spec Table 11-13, offset 7, a hub can
19 * Because the arrays need to add a bit for hub status data, we
24 /* See USB 3.1 spec Table 10-5 */
28 * Hub request types
35 * Port status type for GetPortStatus requests added in USB 3.1
36 * See USB 3.1 spec Table 10-12
43 * Hub class requests
44 * See USB 2.0 spec Table 11-16
52 * Hub class additional requests defined by USB 3.0 spec
53 * See USB 3.0 spec Table 10-6
59 * Hub Class feature numbers
60 * See USB 2.0 spec Table 11-17
67 * See USB 2.0 spec Table 11-17
87 * Port feature selectors added by USB 3.0 spec.
88 * See USB 3.0 spec Table 10-7
102 /* USB 3.0 hub remote wake mask bits, see table 10-14 */
108 * Hub Status and Hub Change results
109 * See USB 2.0 spec Table 11-19 and Table 11-20
110 * USB 3.1 extends the port status request and may return 4 additional bytes.
111 * See USB 3.1 spec section 10.16.2.6 Table 10-12 and 10-15
121 * See USB 2.0 spec Table 11-21
138 * Additions to wPortStatus bit field from USB 3.0
139 * See USB 3.0 spec Table 10-10
146 /* Bits that are the same from USB 2.0 */
154 * (bits 5-8) in wPortStatus
171 * See USB 2.0 spec Table 11-22 and USB 2.0 LPM ECN Table-4.10
181 * USB 3.0 wPortChange bit fields
182 * See USB 3.0 spec Table 10-11
189 * USB 3.1 dwExtPortStatus field masks
190 * See USB 3.1 spec 10.16.2.6.3 Table 10-15
205 * See USB 2.0 spec Table 11-13, offset 3
209 #define HUB_CHAR_INDV_PORT_LPSM 0x0001 /* per-port power control */
212 #define HUB_CHAR_COMPOUND 0x0004 /* hub is part of a compound device */
214 #define HUB_CHAR_OCPM 0x0018 /* Over-Current Protection Mode mask */
215 #define HUB_CHAR_COMMON_OCPM 0x0000 /* All ports Over-Current reporting */
216 #define HUB_CHAR_INDV_PORT_OCPM 0x0008 /* per-port Over-current reporting */
217 #define HUB_CHAR_NO_OCPM 0x0010 /* No Over-current Protection support */
220 #define HUB_CHAR_PORTIND 0x0080 /* per-port indicators (LEDs) */
228 * Hub Status & Hub Change bit masks
229 * See USB 2.0 spec Table 11-19 and Table 11-20
240 * Hub descriptor
241 * See USB 2.0 spec Table 11-13
250 * Hub Device descriptor
251 * USB Hub class device protocols
254 #define USB_HUB_PR_FS 0 /* Full speed hub */
255 #define USB_HUB_PR_HS_NO_TT 0 /* Hi-speed hub without TT */
256 #define USB_HUB_PR_HS_SINGLE_TT 1 /* Hi-speed hub with single TT */
257 #define USB_HUB_PR_HS_MULTI_TT 2 /* Hi-speed hub with multiple TT */
258 #define USB_HUB_PR_SS 3 /* Super speed hub */
271 /* add 1 bit for hub status change; round to bytes */
284 /* port indicator status selectors, tables 11-7 and 11-25 */