Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932074Ab0KAPiz (ORCPT ); Mon, 1 Nov 2010 11:38:55 -0400 Received: from wolverine02.qualcomm.com ([199.106.114.251]:33276 "EHLO wolverine02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756594Ab0KAPix (ORCPT ); Mon, 1 Nov 2010 11:38:53 -0400 X-IronPort-AV: E=McAfee;i="5400,1158,6153"; a="60099797" From: Tatyana Brokhman To: linux-usb@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, Tatyana Brokhman , Greg Kroah-Hartman , Alan Stern , Sarah Sharp , Jacob Pan , linux-kernel@vger.kernel.org Subject: [PATCH v4 1/3] usb: USB3.0 ch11 definitions Date: Mon, 1 Nov 2010 17:38:04 +0200 Message-Id: <1288625887-30303-2-git-send-email-tlinder@codeaurora.org> X-Mailer: git-send-email 1.6.3.3 In-Reply-To: <1288625887-30303-1-git-send-email-tlinder@codeaurora.org> References: <1288625887-30303-1-git-send-email-tlinder@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3319 Lines: 107 Adding hub SuperSpeed usb definitions as defined by ch10 of the USB3.0 spec. Signed-off-by: tlinder --- include/linux/usb/ch11.h | 47 ++++++++++++++++++++++++++++++++++++++++++++++ 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 119194c..10ec069 100644 --- a/include/linux/usb/ch11.h +++ b/include/linux/usb/ch11.h @@ -28,6 +28,13 @@ #define HUB_STOP_TT 11 /* + * Hub class additional requests defined by USB 3.0 spec + * See USB 3.0 spec Table 10-6 + */ +#define HUB_SET_DEPTH 12 +#define HUB_GET_PORT_ERR_COUNT 13 + +/* * Hub Class feature numbers * See USB 2.0 spec Table 11-17 */ @@ -56,6 +63,20 @@ #define USB_PORT_FEAT_C_PORT_L1 23 /* + * Port feature selectors added by USB 3.0 spec. + * See USB 3.0 spec Table 10-7 + */ +#define USB_PORT_FEAT_LINK_STATE 5 +#define USB_PORT_FEAT_U1_TIMEOUT 23 +#define USB_PORT_FEAT_U2_TIMEOUT 24 +#define USB_PORT_FEAT_C_LINK_STATE 25 +#define USB_PORT_FEAT_C_CONFIG_ERR 26 +#define USB_PORT_FEAT_REMOTE_WAKE_MASK 27 +#define USB_PORT_FEAT_BH_PORT_RESET 28 +#define USB_PORT_FEAT_C_BH_PORT_RESET 29 +#define USB_PORT_FEAT_FORCE_LINKPM_ACCEPT 30 + +/* * Hub Status and Hub Change results * See USB 2.0 spec Table 11-19 and Table 11-20 */ @@ -84,6 +105,32 @@ struct usb_port_status { #define USB_PORT_STAT_SUPER_SPEED 0x8000 /* Linux-internal */ /* + * Additions to wPortStatus bit field from USB 3.0 + * See USB 3.0 spec Table 10-10 + */ +#define USB_PORT_STAT_LINK_STATE 0x01e0 +#define USB_SS_PORT_STAT_POWER 0x0200 +#define USB_PORT_STAT_SPEED_5GBPS 0x0000 +/* Valid only if port is enabled */ + +/* + * Definitions for PORT_LINK_STATE values + * (bits 5-8) in wPortStatus + */ +#define USB_SS_PORT_LS_U0 0x0000 +#define USB_SS_PORT_LS_U1 0x0020 +#define USB_SS_PORT_LS_U2 0x0040 +#define USB_SS_PORT_LS_U3 0x0060 +#define USB_SS_PORT_LS_SS_DISABLED 0x0080 +#define USB_SS_PORT_LS_RX_DETECT 0x00a0 +#define USB_SS_PORT_LS_SS_INACTIVE 0x00c0 +#define USB_SS_PORT_LS_POLLING 0x00e0 +#define USB_SS_PORT_LS_RECOVERY 0x0100 +#define USB_SS_PORT_LS_HOT_RESET 0x0120 +#define USB_SS_PORT_LS_COMP_MOD 0x0140 +#define USB_SS_PORT_LS_LOOPBACK 0x0160 + +/* * wPortChange bit field * See USB 2.0 spec Table 11-22 * 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 3b571f1..d7738de 100644 --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h @@ -469,6 +469,10 @@ extern void usb_ep0_reinit(struct usb_device *); /*-------------------------------------------------------------------------*/ +/* class requests from USB 3.0 hub spec, table 10-5 */ +#define SetHubDepth (0x3000 | HUB_SET_DEPTH) +#define GetPortErrorCount (0x8000 | HUB_GET_PORT_ERR_COUNT) + /* * Generic bandwidth allocation constants/support */ -- 1.6.3.3 -- Sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/