aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorTatyana Brokhman <tlinder@codeaurora.org>2010-11-01 12:18:24 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-11-11 09:19:35 -0500
commit0eadcc09203349b11ca477ec367079b23d32ab91 (patch)
treef358154b9722736a9bc867c8b681796173ffcc39 /include/linux
parentb73af61e3283068f680e58e091ceafcb88d74b22 (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.h47
-rw-r--r--include/linux/usb/hcd.h4
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 */