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.
Unified · Split
| @@ -36,6 +36,15 @@ · 35 unmodified lines | ||
| 36 | 36 | #include <linux/device.h> |
| 37 | 37 | #include <uapi/linux/usb/ch9.h> |
| 38 | 38 | |
| 39 | +/* USB 3.2 SuperSpeed Plus phy signaling rate generation and lane count */ | |
| 40 | + | |
| 41 | +enum usb_ssp_rate { | |
| 42 | + USB_SSP_GEN_UNKNOWN = 0, | |
| 43 | + USB_SSP_GEN_2x1, | |
| 44 | + USB_SSP_GEN_1x2, | |
| 45 | + USB_SSP_GEN_2x2, | |
| 46 | +}; | |
| 47 | + | |
| 39 | 48 | /** |
| 40 | 49 | * usb_ep_type_string() - Returns human readable-name of the endpoint type. |
| 41 | 50 | * @ep_type: The endpoint type to return human-readable name for. If it's not |
| @@ -968,9 +968,22 @@ struct usb_ssp_cap_descriptor { · 967 unmodified lines | ||
| 968 | 968 | __le32 bmSublinkSpeedAttr[1]; /* list of sublink speed attrib entries */ |
| 969 | 969 | #define USB_SSP_SUBLINK_SPEED_SSID (0xf) /* sublink speed ID */ |
| 970 | 970 | #define USB_SSP_SUBLINK_SPEED_LSE (0x3 << 4) /* Lanespeed exponent */ |
| 971 | +#define USB_SSP_SUBLINK_SPEED_LSE_BPS 0 | |
| 972 | +#define USB_SSP_SUBLINK_SPEED_LSE_KBPS 1 | |
| 973 | +#define USB_SSP_SUBLINK_SPEED_LSE_MBPS 2 | |
| 974 | +#define USB_SSP_SUBLINK_SPEED_LSE_GBPS 3 | |
| 975 | + | |
| 971 | 976 | #define USB_SSP_SUBLINK_SPEED_ST (0x3 << 6) /* Sublink type */ |
| 977 | +#define USB_SSP_SUBLINK_SPEED_ST_SYM_RX 0 | |
| 978 | +#define USB_SSP_SUBLINK_SPEED_ST_ASYM_RX 1 | |
| 979 | +#define USB_SSP_SUBLINK_SPEED_ST_SYM_TX 2 | |
| 980 | +#define USB_SSP_SUBLINK_SPEED_ST_ASYM_TX 3 | |
| 981 | + | |
| 972 | 982 | #define USB_SSP_SUBLINK_SPEED_RSVD (0x3f << 8) /* Reserved */ |
| 973 | 983 | #define USB_SSP_SUBLINK_SPEED_LP (0x3 << 14) /* Link protocol */ |
| 984 | +#define USB_SSP_SUBLINK_SPEED_LP_SS 0 | |
| 985 | +#define USB_SSP_SUBLINK_SPEED_LP_SSP 1 | |
| 986 | + | |
| 974 | 987 | #define USB_SSP_SUBLINK_SPEED_LSM (0xff << 16) /* Lanespeed mantissa */ |
| 975 | 988 | } __attribute__((packed)); |
| 976 | 989 | |