usb: ch9: Add USB 3.2 SSP attributes
In preparation for USB 3.2 dual-lane support, add sublink speed attribute macros and enum usb_ssp_rate. A USB device that operates in SuperSpeed Plus may operate at different speed and lane count. These additional macros and enum values help specifying that. Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> Link: https://lore.kernel.org/r/ae9293ebd63a29f2a2035054753534d9eb123d74.1610592135.git.Thinh.Nguyen@synopsys.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
7766cafea0
commit
f2fc9ff28d
|
@ -36,6 +36,15 @@
|
|||
#include <linux/device.h>
|
||||
#include <uapi/linux/usb/ch9.h>
|
||||
|
||||
/* USB 3.2 SuperSpeed Plus phy signaling rate generation and lane count */
|
||||
|
||||
enum usb_ssp_rate {
|
||||
USB_SSP_GEN_UNKNOWN = 0,
|
||||
USB_SSP_GEN_2x1,
|
||||
USB_SSP_GEN_1x2,
|
||||
USB_SSP_GEN_2x2,
|
||||
};
|
||||
|
||||
/**
|
||||
* usb_ep_type_string() - Returns human readable-name of the endpoint type.
|
||||
* @ep_type: The endpoint type to return human-readable name for. If it's not
|
||||
|
|
|
@ -968,9 +968,22 @@ struct usb_ssp_cap_descriptor {
|
|||
__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_LSE_BPS 0
|
||||
#define USB_SSP_SUBLINK_SPEED_LSE_KBPS 1
|
||||
#define USB_SSP_SUBLINK_SPEED_LSE_MBPS 2
|
||||
#define USB_SSP_SUBLINK_SPEED_LSE_GBPS 3
|
||||
|
||||
#define USB_SSP_SUBLINK_SPEED_ST (0x3 << 6) /* Sublink type */
|
||||
#define USB_SSP_SUBLINK_SPEED_ST_SYM_RX 0
|
||||
#define USB_SSP_SUBLINK_SPEED_ST_ASYM_RX 1
|
||||
#define USB_SSP_SUBLINK_SPEED_ST_SYM_TX 2
|
||||
#define USB_SSP_SUBLINK_SPEED_ST_ASYM_TX 3
|
||||
|
||||
#define USB_SSP_SUBLINK_SPEED_RSVD (0x3f << 8) /* Reserved */
|
||||
#define USB_SSP_SUBLINK_SPEED_LP (0x3 << 14) /* Link protocol */
|
||||
#define USB_SSP_SUBLINK_SPEED_LP_SS 0
|
||||
#define USB_SSP_SUBLINK_SPEED_LP_SSP 1
|
||||
|
||||
#define USB_SSP_SUBLINK_SPEED_LSM (0xff << 16) /* Lanespeed mantissa */
|
||||
} __attribute__((packed));
|
||||
|
||||
|
|
Loading…
Reference in New Issue