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 * Current Wireless USB host hardware (Intel i1480 for example) allows
21 * limit. Because the arrays need to add a bit for hub status data, we
26 /* See USB 3.1 spec Table 10-5 */
30 * Hub request types
37 * Port status type for GetPortStatus requests added in USB 3.1
38 * See USB 3.1 spec Table 10-12
45 * Hub class requests
46 * See USB 2.0 spec Table 11-16
54 * Hub class additional requests defined by USB 3.0 spec
55 * See USB 3.0 spec Table 10-6
61 * Hub Class feature numbers
62 * See USB 2.0 spec Table 11-17
69 * See USB 2.0 spec Table 11-17
89 * Port feature selectors added by USB 3.0 spec.
90 * See USB 3.0 spec Table 10-7
104 /* USB 3.0 hub remote wake mask bits, see table 10-14 */
110 * Hub Status and Hub Change results
111 * See USB 2.0 spec Table 11-19 and Table 11-20
112 * USB 3.1 extends the port status request and may return 4 additional bytes.
113 * See USB 3.1 spec section 10.16.2.6 Table 10-12 and 10-15
123 * See USB 2.0 spec Table 11-21
140 * Additions to wPortStatus bit field from USB 3.0
141 * See USB 3.0 spec Table 10-10
148 /* Bits that are the same from USB 2.0 */
156 * (bits 5-8) in wPortStatus
173 * See USB 2.0 spec Table 11-22 and USB 2.0 LPM ECN Table-4.10
183 * USB 3.0 wPortChange bit fields
184 * See USB 3.0 spec Table 10-11
191 * USB 3.1 dwExtPortStatus field masks
192 * See USB 3.1 spec 10.16.2.6.3 Table 10-15
207 * See USB 2.0 spec Table 11-13, offset 3
211 #define HUB_CHAR_INDV_PORT_LPSM 0x0001 /* per-port power control */
214 #define HUB_CHAR_COMPOUND 0x0004 /* hub is part of a compound device */
216 #define HUB_CHAR_OCPM 0x0018 /* Over-Current Protection Mode mask */
217 #define HUB_CHAR_COMMON_OCPM 0x0000 /* All ports Over-Current reporting */
218 #define HUB_CHAR_INDV_PORT_OCPM 0x0008 /* per-port Over-current reporting */
219 #define HUB_CHAR_NO_OCPM 0x0010 /* No Over-current Protection support */
222 #define HUB_CHAR_PORTIND 0x0080 /* per-port indicators (LEDs) */
230 * Hub Status & Hub Change bit masks
231 * See USB 2.0 spec Table 11-19 and Table 11-20
242 * Hub descriptor
243 * See USB 2.0 spec Table 11-13
252 * Hub Device descriptor
253 * USB Hub class device protocols
256 #define USB_HUB_PR_FS 0 /* Full speed hub */
257 #define USB_HUB_PR_HS_NO_TT 0 /* Hi-speed hub without TT */
258 #define USB_HUB_PR_HS_SINGLE_TT 1 /* Hi-speed hub with single TT */
259 #define USB_HUB_PR_HS_MULTI_TT 2 /* Hi-speed hub with multiple TT */
260 #define USB_HUB_PR_SS 3 /* Super speed hub */
273 /* add 1 bit for hub status change; round to bytes */
286 /* port indicator status selectors, tables 11-7 and 11-25 */