diff options
| author | Tatyana Brokhman <tlinder@codeaurora.org> | 2010-11-01 12:18:24 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-11-11 09:19:35 -0500 |
| commit | 0eadcc09203349b11ca477ec367079b23d32ab91 (patch) | |
| tree | f358154b9722736a9bc867c8b681796173ffcc39 /include/linux | |
| parent | b73af61e3283068f680e58e091ceafcb88d74b22 (diff) | |
usb: USB3.0 ch11 definitions
Adding hub SuperSpeed usb definitions as defined by ch10 of the USB3.0
spec.
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux')
| -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 | */ |
