10#ifndef _PEI_USB_LIB_H_
11#define _PEI_USB_LIB_H_
17#define USB_DEV_GET_STATUS 0x00
18#define USB_DEV_GET_STATUS_REQ_TYPE_D 0x80
19#define USB_DEV_GET_STATUS_REQ_TYPE_I 0x81
20#define USB_DEV_GET_STATUS_REQ_TYPE_E 0x82
22#define USB_DEV_CLEAR_FEATURE 0x01
23#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_D 0x00
24#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_I 0x01
25#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_E 0x02
27#define USB_DEV_SET_FEATURE 0x03
28#define USB_DEV_SET_FEATURE_REQ_TYPE_D 0x00
29#define USB_DEV_SET_FEATURE_REQ_TYPE_I 0x01
30#define USB_DEV_SET_FEATURE_REQ_TYPE_E 0x02
32#define USB_DEV_SET_ADDRESS 0x05
33#define USB_DEV_SET_ADDRESS_REQ_TYPE 0x00
35#define USB_DEV_GET_DESCRIPTOR 0x06
36#define USB_DEV_GET_DESCRIPTOR_REQ_TYPE 0x80
38#define USB_DEV_SET_DESCRIPTOR 0x07
39#define USB_DEV_SET_DESCRIPTOR_REQ_TYPE 0x00
41#define USB_DEV_GET_CONFIGURATION 0x08
42#define USB_DEV_GET_CONFIGURATION_REQ_TYPE 0x80
44#define USB_DEV_SET_CONFIGURATION 0x09
45#define USB_DEV_SET_CONFIGURATION_REQ_TYPE 0x00
47#define USB_DEV_GET_INTERFACE 0x0A
48#define USB_DEV_GET_INTERFACE_REQ_TYPE 0x81
50#define USB_DEV_SET_INTERFACE 0x0B
51#define USB_DEV_SET_INTERFACE_REQ_TYPE 0x01
53#define USB_DEV_SYNCH_FRAME 0x0C
54#define USB_DEV_SYNCH_FRAME_REQ_TYPE 0x82
59#define USB_DT_DEVICE 0x01
60#define USB_DT_CONFIG 0x02
61#define USB_DT_STRING 0x03
62#define USB_DT_INTERFACE 0x04
63#define USB_DT_ENDPOINT 0x05
64#define USB_DT_HUB 0x29
65#define USB_DT_SUPERSPEED_HUB 0x2A
66#define USB_DT_HID 0x21
71#define USB_TYPE_STANDARD (0x00 << 5)
72#define USB_TYPE_CLASS (0x01 << 5)
73#define USB_TYPE_VENDOR (0x02 << 5)
74#define USB_TYPE_RESERVED (0x03 << 5)
79#define USB_RECIP_DEVICE 0x00
80#define USB_RECIP_INTERFACE 0x01
81#define USB_RECIP_ENDPOINT 0x02
82#define USB_RECIP_OTHER 0x03
86 EfiUsbDeviceRemoteWakeup
87} EFI_USB_STANDARD_FEATURE_SELECTOR;
120 IN UINT16 DescriptorLength,
140 IN UINT16 AddressValue
EFI_STATUS PeiUsbSetDeviceAddress(IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *UsbIoPpi, IN UINT16 AddressValue)
EFI_STATUS PeiUsbGetDescriptor(IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *UsbIoPpi, IN UINT16 Value, IN UINT16 Index, IN UINT16 DescriptorLength, OUT VOID *Descriptor)
UINTN PeiUsbGetDeviceSpeed(IN UINT16 PortStatus)
EFI_STATUS PeiUsbSetConfiguration(IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *UsbIoPpi)
BOOLEAN IsPortConnect(IN UINT16 PortStatus)