mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-25 13:43:55 +08:00
usb: Add USB 3.1 SuperSpeedPlus device capability descriptor
USB 3.1 SuperSpeedPlus device capability descriptor is returned as part of the bos descriptor for devices that support SuperSpeedPlus protocol. The descriptor contains more detailed information about the supported speeds of the device. More details about the descriptor can be found in the USB 3.1 specification section 9.6.2.5 Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
04abb6de28
commit
90ec924780
@ -866,6 +866,35 @@ struct usb_ss_container_id_descriptor {
|
|||||||
} __attribute__((packed));
|
} __attribute__((packed));
|
||||||
|
|
||||||
#define USB_DT_USB_SS_CONTN_ID_SIZE 20
|
#define USB_DT_USB_SS_CONTN_ID_SIZE 20
|
||||||
|
|
||||||
|
/*
|
||||||
|
* SuperSpeed Plus USB Capability descriptor: Defines the set of
|
||||||
|
* SuperSpeed Plus USB specific device level capabilities
|
||||||
|
*/
|
||||||
|
#define USB_SSP_CAP_TYPE 0xa
|
||||||
|
struct usb_ssp_cap_descriptor {
|
||||||
|
__u8 bLength;
|
||||||
|
__u8 bDescriptorType;
|
||||||
|
__u8 bDevCapabilityType;
|
||||||
|
__u8 bReserved;
|
||||||
|
__le32 bmAttributes;
|
||||||
|
#define USB_SSP_SUBLINK_SPEED_ATTRIBS (0x1f << 0) /* sublink speed entries */
|
||||||
|
#define USB_SSP_SUBLINK_SPEED_IDS (0xf << 5) /* speed ID entries */
|
||||||
|
__u16 wFunctionalitySupport;
|
||||||
|
#define USB_SSP_MIN_SUBLINK_SPEED_ATTRIBUTE_ID (0xf)
|
||||||
|
#define USB_SSP_MIN_RX_LANE_COUNT (0xf << 8)
|
||||||
|
#define USB_SSP_MIN_TX_LANE_COUNT (0xf << 12)
|
||||||
|
__le16 wReserved;
|
||||||
|
__le32 bmSublinkSpeedAttr[1]; /* list of sublink speed attrib entries */
|
||||||
|
#define USB_SSP_SUBLINK_SPEED_SSID (0xf) /* sublink speed ID */
|
||||||
|
#define USB_SSP_SUBLINK_SPEED_LSE (0x3 << 4) /* Lanespeed exponent */
|
||||||
|
#define USB_SSP_SUBLINK_SPEED_ST (0x3 << 6) /* Sublink type */
|
||||||
|
#define USB_SSP_SUBLINK_SPEED_RSVD (0x3f << 8) /* Reserved */
|
||||||
|
#define USB_SSP_SUBLINK_SPEED_LP (0x3 << 14) /* Link protocol */
|
||||||
|
#define USB_SSP_SUBLINK_SPEED_LSM (0xff << 16) /* Lanespeed mantissa */
|
||||||
|
} __attribute__((packed));
|
||||||
|
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------*/
|
/*-------------------------------------------------------------------------*/
|
||||||
|
|
||||||
/* USB_DT_WIRELESS_ENDPOINT_COMP: companion descriptor associated with
|
/* USB_DT_WIRELESS_ENDPOINT_COMP: companion descriptor associated with
|
||||||
|
Loading…
Reference in New Issue
Block a user