-// Used for set/clear port feature request\r
-//\r
-typedef enum {\r
- EfiUsbPortEnable = 1,\r
- EfiUsbPortSuspend = 2,\r
- EfiUsbPortReset = 4,\r
- EfiUsbPortPower = 8,\r
- EfiUsbPortOwner = 13,\r
- EfiUsbPortConnectChange = 16,\r
- EfiUsbPortEnableChange = 17,\r
- EfiUsbPortSuspendChange = 18,\r
- EfiUsbPortOverCurrentChange = 19,\r
- EfiUsbPortResetChange = 20\r
-} EFI_USB_PORT_FEATURE;\r
-\r
-#pragma pack()\r
-\r
+// Following are definitions not specified by UEFI spec.\r
+// Add new definitions below this line\r
+//\r
+enum {\r
+ //\r
+ // USB request type\r
+ //\r
+ USB_REQ_TYPE_STANDARD = (0x00 << 5),\r
+ USB_REQ_TYPE_CLASS = (0x01 << 5),\r
+ USB_REQ_TYPE_VENDOR = (0x02 << 5),\r
+\r
+ //\r
+ // Standard control transfer request type, or the value\r
+ // to fill in EFI_USB_DEVICE_REQUEST.Request\r
+ //\r
+ USB_REQ_GET_STATUS = 0x00,\r
+ USB_REQ_CLEAR_FEATURE = 0x01,\r
+ USB_REQ_SET_FEATURE = 0x03,\r
+ USB_REQ_SET_ADDRESS = 0x05,\r
+ USB_REQ_GET_DESCRIPTOR = 0x06,\r
+ USB_REQ_SET_DESCRIPTOR = 0x07,\r
+ USB_REQ_GET_CONFIG = 0x08,\r
+ USB_REQ_SET_CONFIG = 0x09,\r
+ USB_REQ_GET_INTERFACE = 0x0A,\r
+ USB_REQ_SET_INTERFACE = 0x0B,\r
+ USB_REQ_SYNCH_FRAME = 0x0C,\r
+\r
+ //\r
+ // Usb control transfer target\r
+ //\r
+ USB_TARGET_DEVICE = 0,\r
+ USB_TARGET_INTERFACE = 0x01,\r
+ USB_TARGET_ENDPOINT = 0x02,\r
+ USB_TARGET_OTHER = 0x03,\r
+\r
+ //\r
+ // USB Descriptor types\r
+ //\r
+ USB_DESC_TYPE_DEVICE = 0x01,\r
+ USB_DESC_TYPE_CONFIG = 0x02,\r
+ USB_DESC_TYPE_STRING = 0x03,\r
+ USB_DESC_TYPE_INTERFACE = 0x04,\r
+ USB_DESC_TYPE_ENDPOINT = 0x05,\r
+ USB_DESC_TYPE_HID = 0x21,\r
+\r
+ //\r
+ // Features to be cleared by CLEAR_FEATURE requests\r
+ //\r
+ USB_FEATURE_ENDPOINT_HALT = 0,\r
+\r
+ //\r
+ // USB endpoint types: 00: control, 01: isochronous, 10: bulk, 11: interrupt\r
+ //\r
+ USB_ENDPOINT_CONTROL = 0x00,\r
+ USB_ENDPOINT_ISO = 0x01,\r
+ USB_ENDPOINT_BULK = 0x02,\r
+ USB_ENDPOINT_INTERRUPT = 0x03,\r
+\r
+ USB_ENDPOINT_TYPE_MASK = 0x03,\r
+ USB_ENDPOINT_DIR_IN = 0x80,\r
+\r
+ //\r
+ //Use 200 ms to increase the error handling response time\r
+ //\r
+ EFI_USB_INTERRUPT_DELAY = 2000000,\r
+};\r