TianoCore EDK2 master
Loading...
Searching...
No Matches
PeiUsbLib.h File Reference

Go to the source code of this file.

Macros

#define USB_DEV_GET_STATUS   0x00
 
#define USB_DEV_GET_STATUS_REQ_TYPE_D   0x80
 
#define USB_DEV_GET_STATUS_REQ_TYPE_I   0x81
 
#define USB_DEV_GET_STATUS_REQ_TYPE_E   0x82
 
#define USB_DEV_CLEAR_FEATURE   0x01
 
#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_D   0x00
 
#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_I   0x01
 
#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_E   0x02
 
#define USB_DEV_SET_FEATURE   0x03
 
#define USB_DEV_SET_FEATURE_REQ_TYPE_D   0x00
 
#define USB_DEV_SET_FEATURE_REQ_TYPE_I   0x01
 
#define USB_DEV_SET_FEATURE_REQ_TYPE_E   0x02
 
#define USB_DEV_SET_ADDRESS   0x05
 
#define USB_DEV_SET_ADDRESS_REQ_TYPE   0x00
 
#define USB_DEV_GET_DESCRIPTOR   0x06
 
#define USB_DEV_GET_DESCRIPTOR_REQ_TYPE   0x80
 
#define USB_DEV_SET_DESCRIPTOR   0x07
 
#define USB_DEV_SET_DESCRIPTOR_REQ_TYPE   0x00
 
#define USB_DEV_GET_CONFIGURATION   0x08
 
#define USB_DEV_GET_CONFIGURATION_REQ_TYPE   0x80
 
#define USB_DEV_SET_CONFIGURATION   0x09
 
#define USB_DEV_SET_CONFIGURATION_REQ_TYPE   0x00
 
#define USB_DEV_GET_INTERFACE   0x0A
 
#define USB_DEV_GET_INTERFACE_REQ_TYPE   0x81
 
#define USB_DEV_SET_INTERFACE   0x0B
 
#define USB_DEV_SET_INTERFACE_REQ_TYPE   0x01
 
#define USB_DEV_SYNCH_FRAME   0x0C
 
#define USB_DEV_SYNCH_FRAME_REQ_TYPE   0x82
 
#define USB_DT_DEVICE   0x01
 
#define USB_DT_CONFIG   0x02
 
#define USB_DT_STRING   0x03
 
#define USB_DT_INTERFACE   0x04
 
#define USB_DT_ENDPOINT   0x05
 
#define USB_DT_HUB   0x29
 
#define USB_DT_HID   0x21
 
#define USB_TYPE_STANDARD   (0x00 << 5)
 
#define USB_TYPE_CLASS   (0x01 << 5)
 
#define USB_TYPE_VENDOR   (0x02 << 5)
 
#define USB_TYPE_RESERVED   (0x03 << 5)
 
#define USB_RECIP_DEVICE   0x00
 
#define USB_RECIP_INTERFACE   0x01
 
#define USB_RECIP_ENDPOINT   0x02
 
#define USB_RECIP_OTHER   0x03
 

Enumerations

enum  EFI_USB_STANDARD_FEATURE_SELECTOR { EfiUsbEndpointHalt , EfiUsbDeviceRemoteWakeup , EfiUsbEndpointHalt , EfiUsbDeviceRemoteWakeup }
 
enum  EFI_USB_RECIPIENT {
  EfiUsbDevice , EfiUsbInterface , EfiUsbEndpoint , EfiUsbDevice ,
  EfiUsbInterface , EfiUsbEndpoint
}
 

Functions

EFI_STATUS PeiUsbClearDeviceFeature (IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *UsbIoPpi, IN EFI_USB_RECIPIENT Recipient, IN UINT16 Value, IN UINT16 Target)
 
EFI_STATUS PeiUsbClearEndpointHalt (IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *UsbIoPpi, IN UINT8 EndpointAddress)
 

Detailed Description

Common Library for PEI USB.

Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file PeiUsbLib.h.

Macro Definition Documentation

◆ USB_DEV_CLEAR_FEATURE

#define USB_DEV_CLEAR_FEATURE   0x01

Definition at line 21 of file PeiUsbLib.h.

◆ USB_DEV_CLEAR_FEATURE_REQ_TYPE_D

#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_D   0x00

Definition at line 22 of file PeiUsbLib.h.

◆ USB_DEV_CLEAR_FEATURE_REQ_TYPE_E

#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_E   0x02

Definition at line 24 of file PeiUsbLib.h.

◆ USB_DEV_CLEAR_FEATURE_REQ_TYPE_I

#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_I   0x01

Definition at line 23 of file PeiUsbLib.h.

◆ USB_DEV_GET_CONFIGURATION

#define USB_DEV_GET_CONFIGURATION   0x08

Definition at line 40 of file PeiUsbLib.h.

◆ USB_DEV_GET_CONFIGURATION_REQ_TYPE

#define USB_DEV_GET_CONFIGURATION_REQ_TYPE   0x80

Definition at line 41 of file PeiUsbLib.h.

◆ USB_DEV_GET_DESCRIPTOR

#define USB_DEV_GET_DESCRIPTOR   0x06

Definition at line 34 of file PeiUsbLib.h.

◆ USB_DEV_GET_DESCRIPTOR_REQ_TYPE

#define USB_DEV_GET_DESCRIPTOR_REQ_TYPE   0x80

Definition at line 35 of file PeiUsbLib.h.

◆ USB_DEV_GET_INTERFACE

#define USB_DEV_GET_INTERFACE   0x0A

Definition at line 46 of file PeiUsbLib.h.

◆ USB_DEV_GET_INTERFACE_REQ_TYPE

#define USB_DEV_GET_INTERFACE_REQ_TYPE   0x81

Definition at line 47 of file PeiUsbLib.h.

◆ USB_DEV_GET_STATUS

#define USB_DEV_GET_STATUS   0x00

Definition at line 16 of file PeiUsbLib.h.

◆ USB_DEV_GET_STATUS_REQ_TYPE_D

#define USB_DEV_GET_STATUS_REQ_TYPE_D   0x80

Definition at line 17 of file PeiUsbLib.h.

◆ USB_DEV_GET_STATUS_REQ_TYPE_E

#define USB_DEV_GET_STATUS_REQ_TYPE_E   0x82

Definition at line 19 of file PeiUsbLib.h.

◆ USB_DEV_GET_STATUS_REQ_TYPE_I

#define USB_DEV_GET_STATUS_REQ_TYPE_I   0x81

Definition at line 18 of file PeiUsbLib.h.

◆ USB_DEV_SET_ADDRESS

#define USB_DEV_SET_ADDRESS   0x05

Definition at line 31 of file PeiUsbLib.h.

◆ USB_DEV_SET_ADDRESS_REQ_TYPE

#define USB_DEV_SET_ADDRESS_REQ_TYPE   0x00

Definition at line 32 of file PeiUsbLib.h.

◆ USB_DEV_SET_CONFIGURATION

#define USB_DEV_SET_CONFIGURATION   0x09

Definition at line 43 of file PeiUsbLib.h.

◆ USB_DEV_SET_CONFIGURATION_REQ_TYPE

#define USB_DEV_SET_CONFIGURATION_REQ_TYPE   0x00

Definition at line 44 of file PeiUsbLib.h.

◆ USB_DEV_SET_DESCRIPTOR

#define USB_DEV_SET_DESCRIPTOR   0x07

Definition at line 37 of file PeiUsbLib.h.

◆ USB_DEV_SET_DESCRIPTOR_REQ_TYPE

#define USB_DEV_SET_DESCRIPTOR_REQ_TYPE   0x00

Definition at line 38 of file PeiUsbLib.h.

◆ USB_DEV_SET_FEATURE

#define USB_DEV_SET_FEATURE   0x03

Definition at line 26 of file PeiUsbLib.h.

◆ USB_DEV_SET_FEATURE_REQ_TYPE_D

#define USB_DEV_SET_FEATURE_REQ_TYPE_D   0x00

Definition at line 27 of file PeiUsbLib.h.

◆ USB_DEV_SET_FEATURE_REQ_TYPE_E

#define USB_DEV_SET_FEATURE_REQ_TYPE_E   0x02

Definition at line 29 of file PeiUsbLib.h.

◆ USB_DEV_SET_FEATURE_REQ_TYPE_I

#define USB_DEV_SET_FEATURE_REQ_TYPE_I   0x01

Definition at line 28 of file PeiUsbLib.h.

◆ USB_DEV_SET_INTERFACE

#define USB_DEV_SET_INTERFACE   0x0B

Definition at line 49 of file PeiUsbLib.h.

◆ USB_DEV_SET_INTERFACE_REQ_TYPE

#define USB_DEV_SET_INTERFACE_REQ_TYPE   0x01

Definition at line 50 of file PeiUsbLib.h.

◆ USB_DEV_SYNCH_FRAME

#define USB_DEV_SYNCH_FRAME   0x0C

Definition at line 52 of file PeiUsbLib.h.

◆ USB_DEV_SYNCH_FRAME_REQ_TYPE

#define USB_DEV_SYNCH_FRAME_REQ_TYPE   0x82

Definition at line 53 of file PeiUsbLib.h.

◆ USB_DT_CONFIG

#define USB_DT_CONFIG   0x02

Definition at line 59 of file PeiUsbLib.h.

◆ USB_DT_DEVICE

#define USB_DT_DEVICE   0x01

Definition at line 58 of file PeiUsbLib.h.

◆ USB_DT_ENDPOINT

#define USB_DT_ENDPOINT   0x05

Definition at line 62 of file PeiUsbLib.h.

◆ USB_DT_HID

#define USB_DT_HID   0x21

Definition at line 64 of file PeiUsbLib.h.

◆ USB_DT_HUB

#define USB_DT_HUB   0x29

Definition at line 63 of file PeiUsbLib.h.

◆ USB_DT_INTERFACE

#define USB_DT_INTERFACE   0x04

Definition at line 61 of file PeiUsbLib.h.

◆ USB_DT_STRING

#define USB_DT_STRING   0x03

Definition at line 60 of file PeiUsbLib.h.

◆ USB_RECIP_DEVICE

#define USB_RECIP_DEVICE   0x00

Definition at line 77 of file PeiUsbLib.h.

◆ USB_RECIP_ENDPOINT

#define USB_RECIP_ENDPOINT   0x02

Definition at line 79 of file PeiUsbLib.h.

◆ USB_RECIP_INTERFACE

#define USB_RECIP_INTERFACE   0x01

Definition at line 78 of file PeiUsbLib.h.

◆ USB_RECIP_OTHER

#define USB_RECIP_OTHER   0x03

Definition at line 80 of file PeiUsbLib.h.

◆ USB_TYPE_CLASS

#define USB_TYPE_CLASS   (0x01 << 5)

Definition at line 70 of file PeiUsbLib.h.

◆ USB_TYPE_RESERVED

#define USB_TYPE_RESERVED   (0x03 << 5)

Definition at line 72 of file PeiUsbLib.h.

◆ USB_TYPE_STANDARD

#define USB_TYPE_STANDARD   (0x00 << 5)

Definition at line 69 of file PeiUsbLib.h.

◆ USB_TYPE_VENDOR

#define USB_TYPE_VENDOR   (0x02 << 5)

Definition at line 71 of file PeiUsbLib.h.

Enumeration Type Documentation

◆ EFI_USB_RECIPIENT

enum EFI_USB_RECIPIENT

Definition at line 90 of file PeiUsbLib.h.

◆ EFI_USB_STANDARD_FEATURE_SELECTOR

enum EFI_USB_STANDARD_FEATURE_SELECTOR

Definition at line 82 of file PeiUsbLib.h.

Function Documentation

◆ PeiUsbClearDeviceFeature()

EFI_STATUS PeiUsbClearDeviceFeature ( IN EFI_PEI_SERVICES **  PeiServices,
IN PEI_USB_IO_PPI UsbIoPpi,
IN EFI_USB_RECIPIENT  Recipient,
IN UINT16  Value,
IN UINT16  Target 
)

Clear a given usb feature.

Parameters
PeiServicesGeneral-purpose services that are available to every PEIM.
UsbIoPpiIndicates the PEI_USB_IO_PPI instance.
RecipientThe recipient of ClearFeature Request, should be one of Device/Interface/Endpoint.
ValueRequest Value.
TargetRequest Index.
Return values
EFI_SUCCESSUsb feature is cleared successfully.
EFI_DEVICE_ERRORCannot clear the usb feature due to a hardware error.
OthersOther failure occurs.

Definition at line 28 of file PeiUsbLib.c.

◆ PeiUsbClearEndpointHalt()

EFI_STATUS PeiUsbClearEndpointHalt ( IN EFI_PEI_SERVICES **  PeiServices,
IN PEI_USB_IO_PPI UsbIoPpi,
IN UINT8  EndpointAddress 
)

Clear Endpoint Halt.

Parameters
PeiServicesGeneral-purpose services that are available to every PEIM.
UsbIoPpiIndicates the PEI_USB_IO_PPI instance.
EndpointAddressThe endpoint address.
Return values
EFI_SUCCESSEndpoint halt is cleared successfully.
EFI_DEVICE_ERRORCannot clear the endpoint halt status due to a hardware error.
OthersOther failure occurs.

Definition at line 83 of file PeiUsbLib.c.