]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Usb/UsbBusDxe/UsbHub.h
Enabling usb3.0 XHCI support.
[mirror_edk2.git] / MdeModulePkg / Bus / Usb / UsbBusDxe / UsbHub.h
index 1a6ebdd6caf4ec17b54b0e6a41395c7a01e21bf0..c7ee16db468c67ea1beec4900c65c173c2553d62 100644 (file)
@@ -23,6 +23,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \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
@@ -40,6 +43,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #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
@@ -50,6 +56,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #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
@@ -59,6 +68,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #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
@@ -94,6 +114,19 @@ typedef struct {
   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