\r
\r
#define USB_DESC_TYPE_HUB 0x29\r
+\r
+#define USB_DESC_TYPE_HUB_SUPER_SPEED 0x2a\r
+\r
//\r
// Hub class control transfer target\r
//\r
#define USB_HUB_REQ_RESET_TT 9\r
#define USB_HUB_REQ_GET_TT_STATE 10\r
#define USB_HUB_REQ_STOP_TT 11\r
+\r
+#define USB_HUB_REQ_SET_DEPTH 12\r
+\r
//\r
// USB hub class feature selector\r
//\r
#define USB_HUB_PORT_SUSPEND 2\r
#define USB_HUB_PORT_OVER_CURRENT 3\r
#define USB_HUB_PORT_RESET 4\r
+\r
+#define USB_HUB_PORT_LINK_STATE 5\r
+\r
#define USB_HUB_PORT_POWER 8\r
#define USB_HUB_PORT_LOW_SPEED 9\r
#define USB_HUB_C_PORT_CONNECT 16\r
#define USB_HUB_C_PORT_RESET 20\r
#define USB_HUB_PORT_TEST 21\r
#define USB_HUB_PORT_INDICATOR 22\r
+\r
+#define USB_HUB_C_PORT_LINK_STATE 25\r
+#define USB_HUB_PORT_REMOTE_WAKE_MASK 27\r
+#define USB_HUB_BH_PORT_RESET 28\r
+#define USB_HUB_C_BH_PORT_RESET 29\r
+\r
+//\r
+// Constant value for Port Status & Port Change Status of SuperSpeed port\r
+//\r
+#define USB_SS_PORT_STAT_C_BH_RESET 0x0020\r
+#define USB_SS_PORT_STAT_C_PORT_LINK_STATE 0x0040\r
//\r
// USB hub power control method. In gang power control\r
//\r
UINT8 HubContrCurrent;\r
UINT8 Filler[16];\r
} EFI_USB_HUB_DESCRIPTOR;\r
+\r
+typedef struct {\r
+ UINT8 Length;\r
+ UINT8 DescType;\r
+ UINT8 NumPorts;\r
+ UINT16 HubCharacter;\r
+ UINT8 PwrOn2PwrGood;\r
+ UINT8 HubContrCurrent;\r
+ UINT8 HubHdrDecLat;\r
+ UINT8 HubDelay;\r
+ UINT8 DeviceRemovable;\r
+} EFI_USB_SUPER_SPEED_HUB_DESCRIPTOR;\r
+\r
#pragma pack()\r
\r
\r