Commit | Line | Data |
---|---|---|
7ceec1f1 ON |
1 | /* |
2 | * This file holds the definitions of quirks found in USB devices. | |
3 | * Only quirks that affect the whole device, not an interface, | |
4 | * belong here. | |
5 | */ | |
6 | ||
dda43a0e RD |
7 | #ifndef __LINUX_USB_QUIRKS_H |
8 | #define __LINUX_USB_QUIRKS_H | |
9 | ||
7ceec1f1 | 10 | /* string descriptors must not be fetched using a 255-byte read */ |
5cb307c4 | 11 | #define USB_QUIRK_STRING_FETCH_255 BIT(0) |
6bc6cff5 AS |
12 | |
13 | /* device can't resume correctly so reset it instead */ | |
5cb307c4 | 14 | #define USB_QUIRK_RESET_RESUME BIT(1) |
392e1d98 AS |
15 | |
16 | /* device can't handle Set-Interface requests */ | |
5cb307c4 | 17 | #define USB_QUIRK_NO_SET_INTF BIT(2) |
dda43a0e | 18 | |
1662e3a7 | 19 | /* device can't handle its Configuration or Interface strings */ |
5cb307c4 | 20 | #define USB_QUIRK_CONFIG_INTF_STRINGS BIT(3) |
1662e3a7 | 21 | |
7fda953f | 22 | /* device can't be reset(e.g morph devices), don't use reset */ |
5cb307c4 | 23 | #define USB_QUIRK_RESET BIT(4) |
5d398779 | 24 | |
317149c6 HG |
25 | /* device has more interface descriptions than the bNumInterfaces count, |
26 | and can't handle talking to these interfaces */ | |
5cb307c4 | 27 | #define USB_QUIRK_HONOR_BNUMINTERFACES BIT(5) |
317149c6 | 28 | |
93362a87 PD |
29 | /* device needs a pause during initialization, after we read the device |
30 | descriptor */ | |
5cb307c4 | 31 | #define USB_QUIRK_DELAY_INIT BIT(6) |
93362a87 | 32 | |
cd83ce9e JMI |
33 | /* |
34 | * For high speed and super speed interupt endpoints, the USB 2.0 and | |
35 | * USB 3.0 spec require the interval in microframes | |
36 | * (1 microframe = 125 microseconds) to be calculated as | |
37 | * interval = 2 ^ (bInterval-1). | |
38 | * | |
39 | * Devices with this quirk report their bInterval as the result of this | |
40 | * calculation instead of the exponent variable used in the calculation. | |
41 | */ | |
5cb307c4 | 42 | #define USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL BIT(7) |
cd83ce9e | 43 | |
2a159389 | 44 | /* device can't handle device_qualifier descriptor requests */ |
5cb307c4 | 45 | #define USB_QUIRK_DEVICE_QUALIFIER BIT(8) |
2a159389 | 46 | |
ddbe1fca | 47 | /* device generates spurious wakeup, ignore remote wakeup capability */ |
5cb307c4 | 48 | #define USB_QUIRK_IGNORE_REMOTE_WAKEUP BIT(9) |
ddbe1fca | 49 | |
dda43a0e | 50 | #endif /* __LINUX_USB_QUIRKS_H */ |