18#ifndef _USB2_HOSTCONTROLLER_H_
19#define _USB2_HOSTCONTROLLER_H_
23#define EFI_USB2_HC_PROTOCOL_GUID \
25 0x3e745226, 0x9818, 0x45b6, {0xa2, 0xac, 0xd7, 0xcd, 0xe, 0x8b, 0xa2, 0xbc } \
42#define USB_PORT_STAT_CONNECTION 0x0001
43#define USB_PORT_STAT_ENABLE 0x0002
44#define USB_PORT_STAT_SUSPEND 0x0004
45#define USB_PORT_STAT_OVERCURRENT 0x0008
46#define USB_PORT_STAT_RESET 0x0010
47#define USB_PORT_STAT_POWER 0x0100
48#define USB_PORT_STAT_LOW_SPEED 0x0200
49#define USB_PORT_STAT_HIGH_SPEED 0x0400
50#define USB_PORT_STAT_SUPER_SPEED 0x0800
51#define USB_PORT_STAT_OWNER 0x2000
56#define USB_PORT_STAT_C_CONNECTION 0x0001
57#define USB_PORT_STAT_C_ENABLE 0x0002
58#define USB_PORT_STAT_C_SUSPEND 0x0004
59#define USB_PORT_STAT_C_OVERCURRENT 0x0008
60#define USB_PORT_STAT_C_RESET 0x0010
81#define EFI_USB_SPEED_FULL 0x0000
82#define EFI_USB_SPEED_LOW 0x0001
83#define EFI_USB_SPEED_HIGH 0x0002
84#define EFI_USB_SPEED_SUPER 0x0003
119#define EFI_USB_HC_RESET_GLOBAL 0x0001
120#define EFI_USB_HC_RESET_HOST_CONTROLLER 0x0002
121#define EFI_USB_HC_RESET_GLOBAL_WITH_DEBUG 0x0004
122#define EFI_USB_HC_RESET_HOST_WITH_DEBUG 0x0008
267#define EFI_USB_MAX_BULK_BUFFER_NUM 10
410#define EFI_USB_MAX_ISO_BUFFER_NUM 7
411#define EFI_USB_MAX_ISO_BUFFER_NUM1 2
UINT64 UINTN
Definition ProcessorBind.h:118
#define EFIAPI
Definition ProcessorBind.h:172
unsigned int UINT32
Definition ProcessorBind.h:102
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
#define OPTIONAL
Definition Base.h:358
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
EFI_STATUS(EFIAPI * EFI_USB2_HC_PROTOCOL_ASYNC_INTERRUPT_TRANSFER)(IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN UINT8 DeviceSpeed, IN UINTN MaxiumPacketLength, IN BOOLEAN IsNewTransfer, IN OUT UINT8 *DataToggle, IN UINTN PollingInterval OPTIONAL, IN UINTN DataLength OPTIONAL, IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator OPTIONAL, IN EFI_ASYNC_USB_TRANSFER_CALLBACK CallBackFunction OPTIONAL, IN VOID *Context OPTIONAL)
Definition Usb2HostController.h:349
EFI_STATUS(EFIAPI * EFI_USB2_HC_PROTOCOL_SYNC_INTERRUPT_TRANSFER)(IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN UINT8 DeviceSpeed, IN UINTN MaximumPacketLength, IN OUT VOID *Data, IN OUT UINTN *DataLength, IN OUT UINT8 *DataToggle, IN UINTN TimeOut, IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator, OUT UINT32 *TransferResult)
Definition Usb2HostController.h:396
EFI_STATUS(EFIAPI * EFI_USB2_HC_PROTOCOL_GET_CAPABILITY)(IN EFI_USB2_HC_PROTOCOL *This, OUT UINT8 *MaxSpeed, OUT UINT8 *PortNumber, OUT UINT8 *Is64BitCapable)
Definition Usb2HostController.h:112
EFI_GUID gEfiUsb2HcProtocolGuid
EFI_STATUS(EFIAPI * EFI_USB2_HC_PROTOCOL_ASYNC_ISOCHRONOUS_TRANSFER)(IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN UINT8 DeviceSpeed, IN UINTN MaximumPacketLength, IN UINT8 DataBuffersNumber, IN OUT VOID *Data[EFI_USB_MAX_ISO_BUFFER_NUM], IN UINTN DataLength, IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator, IN EFI_ASYNC_USB_TRANSFER_CALLBACK IsochronousCallBack, IN VOID *Context OPTIONAL)
Definition Usb2HostController.h:547
EFI_USB_PORT_FEATURE
Definition Usb2HostController.h:68
@ EfiUsbPortPower
Definition Usb2HostController.h:72
@ EfiUsbPortOverCurrentChange
Definition Usb2HostController.h:77
@ EfiUsbPortSuspendChange
Definition Usb2HostController.h:76
@ EfiUsbPortSuspend
Definition Usb2HostController.h:70
@ EfiUsbPortReset
Definition Usb2HostController.h:71
@ EfiUsbPortResetChange
Definition Usb2HostController.h:78
@ EfiUsbPortEnableChange
Definition Usb2HostController.h:75
@ EfiUsbPortEnable
Definition Usb2HostController.h:69
@ EfiUsbPortConnectChange
Definition Usb2HostController.h:74
@ EfiUsbPortOwner
Definition Usb2HostController.h:73
EFI_STATUS(EFIAPI * EFI_USB2_HC_PROTOCOL_GET_ROOTHUB_PORT_STATUS)(IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 PortNumber, OUT EFI_USB_PORT_STATUS *PortStatus)
Definition Usb2HostController.h:576
EFI_STATUS(EFIAPI * EFI_USB2_HC_PROTOCOL_RESET)(IN EFI_USB2_HC_PROTOCOL *This, IN UINT16 Attributes)
Definition Usb2HostController.h:143
#define EFI_USB_MAX_ISO_BUFFER_NUM
Definition Usb2HostController.h:410
#define EFI_USB_MAX_BULK_BUFFER_NUM
Definition Usb2HostController.h:267
EFI_STATUS(EFIAPI * EFI_USB2_HC_PROTOCOL_CLEAR_ROOTHUB_PORT_FEATURE)(IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 PortNumber, IN EFI_USB_PORT_FEATURE PortFeature)
Definition Usb2HostController.h:618
EFI_STATUS(EFIAPI * EFI_USB2_HC_PROTOCOL_SET_STATE)(IN EFI_USB2_HC_PROTOCOL *This, IN EFI_USB_HC_STATE State)
Definition Usb2HostController.h:217
EFI_STATUS(EFIAPI * EFI_USB2_HC_PROTOCOL_BULK_TRANSFER)(IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN UINT8 DeviceSpeed, IN UINTN MaximumPacketLength, IN UINT8 DataBuffersNumber, IN OUT VOID *Data[EFI_USB_MAX_BULK_BUFFER_NUM], IN OUT UINTN *DataLength, IN OUT UINT8 *DataToggle, IN UINTN TimeOut, IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator, OUT UINT32 *TransferResult)
Definition Usb2HostController.h:300
EFI_STATUS(EFIAPI * EFI_USB2_HC_PROTOCOL_CONTROL_TRANSFER)(IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 DeviceSpeed, IN UINTN MaximumPacketLength, IN EFI_USB_DEVICE_REQUEST *Request, IN EFI_USB_DATA_DIRECTION TransferDirection, IN OUT VOID *Data OPTIONAL, IN OUT UINTN *DataLength OPTIONAL, IN UINTN TimeOut, IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator, OUT UINT32 *TransferResult)
Definition Usb2HostController.h:253
EFI_USB_HC_STATE
Definition Usb2HostController.h:151
@ EfiUsbHcStateHalt
Definition Usb2HostController.h:152
@ EfiUsbHcStateOperational
Definition Usb2HostController.h:162
@ EfiUsbHcStateSuspend
Definition Usb2HostController.h:170
@ EfiUsbHcStateMaximum
Maximum value for enumration value of HC status.
Definition Usb2HostController.h:180
EFI_STATUS(EFIAPI * EFI_USB2_HC_PROTOCOL_ISOCHRONOUS_TRANSFER)(IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN UINT8 DeviceSpeed, IN UINTN MaximumPacketLength, IN UINT8 DataBuffersNumber, IN OUT VOID *Data[EFI_USB_MAX_ISO_BUFFER_NUM], IN UINTN DataLength, IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator, OUT UINT32 *TransferResult)
Definition Usb2HostController.h:472
EFI_STATUS(EFIAPI * EFI_USB2_HC_PROTOCOL_GET_STATE)(IN EFI_USB2_HC_PROTOCOL *This, OUT EFI_USB_HC_STATE *State)
Definition Usb2HostController.h:198
EFI_STATUS(EFIAPI * EFI_USB2_HC_PROTOCOL_SET_ROOTHUB_PORT_FEATURE)(IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 PortNumber, IN EFI_USB_PORT_FEATURE PortFeature)
Definition Usb2HostController.h:597
EFI_USB_DATA_DIRECTION
Definition UsbIo.h:50
EFI_STATUS(EFIAPI * EFI_ASYNC_USB_TRANSFER_CALLBACK)(IN VOID *Data, IN UINTN DataLength, IN VOID *Context, IN UINT32 Status)
Definition UsbIo.h:86
#define VOID
Definition acefi.h:190
UINT32 void * Context
Definition acevents.h:322
unsigned short UINT16
Definition actypes.h:237
unsigned char BOOLEAN
Definition actypes.h:235
unsigned char UINT8
Definition actypes.h:236
Definition Usb2HostController.h:86
UINT8 TranslatorHubAddress
device address
Definition Usb2HostController.h:87
UINT8 TranslatorPortNumber
the port number of the hub that device is connected to.
Definition Usb2HostController.h:88
Definition Usb2HostController.h:34
UINT16 PortChangeStatus
Contains current port status change bitmap.
Definition Usb2HostController.h:36
UINT16 PortStatus
Contains current port status bitmap.
Definition Usb2HostController.h:35
Definition Usb2HostController.h:632
EFI_USB2_HC_PROTOCOL_GET_ROOTHUB_PORT_STATUS GetRootHubPortStatus
Definition Usb2HostController.h:643
EFI_USB2_HC_PROTOCOL_SET_STATE SetState
Definition Usb2HostController.h:636
EFI_USB2_HC_PROTOCOL_SET_ROOTHUB_PORT_FEATURE SetRootHubPortFeature
Definition Usb2HostController.h:644
EFI_USB2_HC_PROTOCOL_SYNC_INTERRUPT_TRANSFER SyncInterruptTransfer
Definition Usb2HostController.h:640
EFI_USB2_HC_PROTOCOL_ASYNC_INTERRUPT_TRANSFER AsyncInterruptTransfer
Definition Usb2HostController.h:639
EFI_USB2_HC_PROTOCOL_ISOCHRONOUS_TRANSFER IsochronousTransfer
Definition Usb2HostController.h:641
UINT16 MinorRevision
Definition Usb2HostController.h:659
EFI_USB2_HC_PROTOCOL_ASYNC_ISOCHRONOUS_TRANSFER AsyncIsochronousTransfer
Definition Usb2HostController.h:642
EFI_USB2_HC_PROTOCOL_GET_STATE GetState
Definition Usb2HostController.h:635
EFI_USB2_HC_PROTOCOL_CLEAR_ROOTHUB_PORT_FEATURE ClearRootHubPortFeature
Definition Usb2HostController.h:645
UINT16 MajorRevision
Definition Usb2HostController.h:652
EFI_USB2_HC_PROTOCOL_GET_CAPABILITY GetCapability
Definition Usb2HostController.h:633
EFI_USB2_HC_PROTOCOL_RESET Reset
Definition Usb2HostController.h:634
EFI_USB2_HC_PROTOCOL_CONTROL_TRANSFER ControlTransfer
Definition Usb2HostController.h:637
EFI_USB2_HC_PROTOCOL_BULK_TRANSFER BulkTransfer
Definition Usb2HostController.h:638