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_SUPERSPEED_HUB   0x2A
 
#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 PeiUsbGetDescriptor (IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *UsbIoPpi, IN UINT16 Value, IN UINT16 Index, IN UINT16 DescriptorLength, OUT VOID *Descriptor)
 
EFI_STATUS PeiUsbSetDeviceAddress (IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *UsbIoPpi, IN UINT16 AddressValue)
 
EFI_STATUS PeiUsbSetConfiguration (IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *UsbIoPpi)
 
BOOLEAN IsPortConnect (IN UINT16 PortStatus)
 
UINTN PeiUsbGetDeviceSpeed (IN UINT16 PortStatus)
 

Detailed Description

Common Library for PEI USB

Copyright (c) 2006 - 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 22 of file PeiUsbLib.h.

◆ USB_DEV_CLEAR_FEATURE_REQ_TYPE_D

#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_D   0x00

Definition at line 23 of file PeiUsbLib.h.

◆ USB_DEV_CLEAR_FEATURE_REQ_TYPE_E

#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_E   0x02

Definition at line 25 of file PeiUsbLib.h.

◆ USB_DEV_CLEAR_FEATURE_REQ_TYPE_I

#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_I   0x01

Definition at line 24 of file PeiUsbLib.h.

◆ USB_DEV_GET_CONFIGURATION

#define USB_DEV_GET_CONFIGURATION   0x08

Definition at line 41 of file PeiUsbLib.h.

◆ USB_DEV_GET_CONFIGURATION_REQ_TYPE

#define USB_DEV_GET_CONFIGURATION_REQ_TYPE   0x80

Definition at line 42 of file PeiUsbLib.h.

◆ USB_DEV_GET_DESCRIPTOR

#define USB_DEV_GET_DESCRIPTOR   0x06

Definition at line 35 of file PeiUsbLib.h.

◆ USB_DEV_GET_DESCRIPTOR_REQ_TYPE

#define USB_DEV_GET_DESCRIPTOR_REQ_TYPE   0x80

Definition at line 36 of file PeiUsbLib.h.

◆ USB_DEV_GET_INTERFACE

#define USB_DEV_GET_INTERFACE   0x0A

Definition at line 47 of file PeiUsbLib.h.

◆ USB_DEV_GET_INTERFACE_REQ_TYPE

#define USB_DEV_GET_INTERFACE_REQ_TYPE   0x81

Definition at line 48 of file PeiUsbLib.h.

◆ USB_DEV_GET_STATUS

#define USB_DEV_GET_STATUS   0x00

Definition at line 17 of file PeiUsbLib.h.

◆ USB_DEV_GET_STATUS_REQ_TYPE_D

#define USB_DEV_GET_STATUS_REQ_TYPE_D   0x80

Definition at line 18 of file PeiUsbLib.h.

◆ USB_DEV_GET_STATUS_REQ_TYPE_E

#define USB_DEV_GET_STATUS_REQ_TYPE_E   0x82

Definition at line 20 of file PeiUsbLib.h.

◆ USB_DEV_GET_STATUS_REQ_TYPE_I

#define USB_DEV_GET_STATUS_REQ_TYPE_I   0x81

Definition at line 19 of file PeiUsbLib.h.

◆ USB_DEV_SET_ADDRESS

#define USB_DEV_SET_ADDRESS   0x05

Definition at line 32 of file PeiUsbLib.h.

◆ USB_DEV_SET_ADDRESS_REQ_TYPE

#define USB_DEV_SET_ADDRESS_REQ_TYPE   0x00

Definition at line 33 of file PeiUsbLib.h.

◆ USB_DEV_SET_CONFIGURATION

#define USB_DEV_SET_CONFIGURATION   0x09

Definition at line 44 of file PeiUsbLib.h.

◆ USB_DEV_SET_CONFIGURATION_REQ_TYPE

#define USB_DEV_SET_CONFIGURATION_REQ_TYPE   0x00

Definition at line 45 of file PeiUsbLib.h.

◆ USB_DEV_SET_DESCRIPTOR

#define USB_DEV_SET_DESCRIPTOR   0x07

Definition at line 38 of file PeiUsbLib.h.

◆ USB_DEV_SET_DESCRIPTOR_REQ_TYPE

#define USB_DEV_SET_DESCRIPTOR_REQ_TYPE   0x00

Definition at line 39 of file PeiUsbLib.h.

◆ USB_DEV_SET_FEATURE

#define USB_DEV_SET_FEATURE   0x03

Definition at line 27 of file PeiUsbLib.h.

◆ USB_DEV_SET_FEATURE_REQ_TYPE_D

#define USB_DEV_SET_FEATURE_REQ_TYPE_D   0x00

Definition at line 28 of file PeiUsbLib.h.

◆ USB_DEV_SET_FEATURE_REQ_TYPE_E

#define USB_DEV_SET_FEATURE_REQ_TYPE_E   0x02

Definition at line 30 of file PeiUsbLib.h.

◆ USB_DEV_SET_FEATURE_REQ_TYPE_I

#define USB_DEV_SET_FEATURE_REQ_TYPE_I   0x01

Definition at line 29 of file PeiUsbLib.h.

◆ USB_DEV_SET_INTERFACE

#define USB_DEV_SET_INTERFACE   0x0B

Definition at line 50 of file PeiUsbLib.h.

◆ USB_DEV_SET_INTERFACE_REQ_TYPE

#define USB_DEV_SET_INTERFACE_REQ_TYPE   0x01

Definition at line 51 of file PeiUsbLib.h.

◆ USB_DEV_SYNCH_FRAME

#define USB_DEV_SYNCH_FRAME   0x0C

Definition at line 53 of file PeiUsbLib.h.

◆ USB_DEV_SYNCH_FRAME_REQ_TYPE

#define USB_DEV_SYNCH_FRAME_REQ_TYPE   0x82

Definition at line 54 of file PeiUsbLib.h.

◆ USB_DT_CONFIG

#define USB_DT_CONFIG   0x02

Definition at line 60 of file PeiUsbLib.h.

◆ USB_DT_DEVICE

#define USB_DT_DEVICE   0x01

Definition at line 59 of file PeiUsbLib.h.

◆ USB_DT_ENDPOINT

#define USB_DT_ENDPOINT   0x05

Definition at line 63 of file PeiUsbLib.h.

◆ USB_DT_HID

#define USB_DT_HID   0x21

Definition at line 66 of file PeiUsbLib.h.

◆ USB_DT_HUB

#define USB_DT_HUB   0x29

Definition at line 64 of file PeiUsbLib.h.

◆ USB_DT_INTERFACE

#define USB_DT_INTERFACE   0x04

Definition at line 62 of file PeiUsbLib.h.

◆ USB_DT_STRING

#define USB_DT_STRING   0x03

Definition at line 61 of file PeiUsbLib.h.

◆ USB_DT_SUPERSPEED_HUB

#define USB_DT_SUPERSPEED_HUB   0x2A

Definition at line 65 of file PeiUsbLib.h.

◆ USB_RECIP_DEVICE

#define USB_RECIP_DEVICE   0x00

Definition at line 79 of file PeiUsbLib.h.

◆ USB_RECIP_ENDPOINT

#define USB_RECIP_ENDPOINT   0x02

Definition at line 81 of file PeiUsbLib.h.

◆ USB_RECIP_INTERFACE

#define USB_RECIP_INTERFACE   0x01

Definition at line 80 of file PeiUsbLib.h.

◆ USB_RECIP_OTHER

#define USB_RECIP_OTHER   0x03

Definition at line 82 of file PeiUsbLib.h.

◆ USB_TYPE_CLASS

#define USB_TYPE_CLASS   (0x01 << 5)

Definition at line 72 of file PeiUsbLib.h.

◆ USB_TYPE_RESERVED

#define USB_TYPE_RESERVED   (0x03 << 5)

Definition at line 74 of file PeiUsbLib.h.

◆ USB_TYPE_STANDARD

#define USB_TYPE_STANDARD   (0x00 << 5)

Definition at line 71 of file PeiUsbLib.h.

◆ USB_TYPE_VENDOR

#define USB_TYPE_VENDOR   (0x02 << 5)

Definition at line 73 of file PeiUsbLib.h.

Enumeration Type Documentation

◆ EFI_USB_RECIPIENT

enum EFI_USB_RECIPIENT

Definition at line 92 of file PeiUsbLib.h.

◆ EFI_USB_STANDARD_FEATURE_SELECTOR

enum EFI_USB_STANDARD_FEATURE_SELECTOR

Definition at line 84 of file PeiUsbLib.h.

Function Documentation

◆ IsPortConnect()

BOOLEAN IsPortConnect ( IN UINT16  PortStatus)

Judge if the port is connected with a usb device or not.

Parameters
PortStatusThe usb port status gotten.
Return values
TRUEA usb device is connected with the port.
FALSENo usb device is connected with the port.

Definition at line 146 of file PeiUsbLib.c.

◆ PeiUsbGetDescriptor()

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 
)

Get a given usb descriptor.

Parameters
PeiServicesGeneral-purpose services that are available to every PEIM.
UsbIoPpiIndicates the PEI_USB_IO_PPI instance.
ValueRequest Value.
IndexRequest Index.
DescriptorLengthRequest descriptor Length.
DescriptorRequest descriptor.
Return values
EFI_SUCCESSUsb descriptor is obtained successfully.
EFI_DEVICE_ERRORCannot get the usb descriptor due to a hardware error.
OthersOther failure occurs.

Definition at line 30 of file PeiUsbLib.c.

◆ PeiUsbGetDeviceSpeed()

UINTN PeiUsbGetDeviceSpeed ( IN UINT16  PortStatus)

Get device speed according to port status.

Parameters
PortStatusThe usb port status gotten.
Returns
Device speed value.

Definition at line 169 of file PeiUsbLib.c.

◆ PeiUsbSetConfiguration()

EFI_STATUS PeiUsbSetConfiguration ( IN EFI_PEI_SERVICES **  PeiServices,
IN PEI_USB_IO_PPI UsbIoPpi 
)

Configure a usb device to Configuration 1.

Parameters
PeiServicesGeneral-purpose services that are available to every PEIM.
UsbIoPpiIndicates the PEI_USB_IO_PPI instance.
Return values
EFI_SUCCESSUsb device is set to use Configuration 1 successfully.
EFI_DEVICE_ERRORCannot set the usb device due to a hardware error.
OthersOther failure occurs.

Definition at line 112 of file PeiUsbLib.c.

◆ PeiUsbSetDeviceAddress()

EFI_STATUS PeiUsbSetDeviceAddress ( IN EFI_PEI_SERVICES **  PeiServices,
IN PEI_USB_IO_PPI UsbIoPpi,
IN UINT16  AddressValue 
)

Set a usb device with a specified address.

Parameters
PeiServicesGeneral-purpose services that are available to every PEIM.
UsbIoPpiIndicates the PEI_USB_IO_PPI instance.
AddressValueThe address to assign.
Return values
EFI_SUCCESSUsb device address is set successfully.
EFI_DEVICE_ERRORCannot set the usb address due to a hardware error.
OthersOther failure occurs.

Definition at line 73 of file PeiUsbLib.c.