|
TianoCore EDK2 master
|
#include "Uhci.h"Go to the source code of this file.
Functions | |
| EFI_STATUS | UhciMapUserRequest (IN USB_HC_DEV *Uhc, IN OUT VOID *Request, OUT UINT8 **MappedAddr, OUT VOID **Map) |
| EFI_STATUS | UhciMapUserData (IN USB_HC_DEV *Uhc, IN EFI_USB_DATA_DIRECTION Direction, IN VOID *Data, IN OUT UINTN *Len, OUT UINT8 *PktId, OUT UINT8 **MappedAddr, OUT VOID **Map) |
| VOID | UhciLinkTdToQh (IN USB_HC_DEV *Uhc, IN UHCI_QH_SW *Qh, IN UHCI_TD_SW *Td) |
| VOID | UhciUnlinkTdFromQh (IN UHCI_QH_SW *Qh, IN UHCI_TD_SW *Td) |
| VOID | UhciAppendTd (IN USB_HC_DEV *Uhc, IN UHCI_TD_SW *PrevTd, IN UHCI_TD_SW *ThisTd) |
| VOID | UhciDestoryTds (IN USB_HC_DEV *Uhc, IN UHCI_TD_SW *FirstTd) |
| UHCI_QH_SW * | UhciCreateQh (IN USB_HC_DEV *Uhc, IN UINTN Interval) |
| UHCI_TD_SW * | UhciCreateTd (IN USB_HC_DEV *Uhc) |
| UHCI_TD_SW * | UhciCreateSetupTd (IN USB_HC_DEV *Uhc, IN UINT8 DevAddr, IN UINT8 *Request, IN UINT8 *RequestPhy, IN BOOLEAN IsLow) |
| UHCI_TD_SW * | UhciCreateDataTd (IN USB_HC_DEV *Uhc, IN UINT8 DevAddr, IN UINT8 Endpoint, IN UINT8 *DataPtr, IN UINT8 *DataPhyPtr, IN UINTN Len, IN UINT8 PktId, IN UINT8 Toggle, IN BOOLEAN IsLow) |
| UHCI_TD_SW * | UhciCreateStatusTd (IN USB_HC_DEV *Uhc, IN UINT8 DevAddr, IN UINT8 PktId, IN BOOLEAN IsLow) |
| UHCI_TD_SW * | UhciCreateCtrlTds (IN USB_HC_DEV *Uhc, IN UINT8 DeviceAddr, IN UINT8 DataPktId, IN UINT8 *Request, IN UINT8 *RequestPhy, IN UINT8 *Data, IN UINT8 *DataPhy, IN UINTN DataLen, IN UINT8 MaxPacket, IN BOOLEAN IsLow) |
| UHCI_TD_SW * | UhciCreateBulkOrIntTds (IN USB_HC_DEV *Uhc, IN UINT8 DevAddr, IN UINT8 EndPoint, IN UINT8 PktId, IN UINT8 *Data, IN UINT8 *DataPhy, IN UINTN DataLen, IN OUT UINT8 *DataToggle, IN UINT8 MaxPacket, IN BOOLEAN IsLow) |
The UHCI register operation routines.
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file UhciQueue.c.
| VOID UhciAppendTd | ( | IN USB_HC_DEV * | Uhc, |
| IN UHCI_TD_SW * | PrevTd, | ||
| IN UHCI_TD_SW * | ThisTd | ||
| ) |
Append a new TD To the previous TD.
| Uhc | The UHCI device. |
| PrevTd | Previous UHCI_TD_SW to be linked to. |
| ThisTd | TD to link. |
Definition at line 196 of file UhciQueue.c.
| UHCI_TD_SW * UhciCreateBulkOrIntTds | ( | IN USB_HC_DEV * | Uhc, |
| IN UINT8 | DevAddr, | ||
| IN UINT8 | EndPoint, | ||
| IN UINT8 | PktId, | ||
| IN UINT8 * | Data, | ||
| IN UINT8 * | DataPhy, | ||
| IN UINTN | DataLen, | ||
| IN OUT UINT8 * | DataToggle, | ||
| IN UINT8 | MaxPacket, | ||
| IN BOOLEAN | IsLow | ||
| ) |
Create Tds list for Bulk/Interrupt Transfer.
| Uhc | USB_HC_DEV. |
| DevAddr | Address of Device. |
| EndPoint | Endpoint Number. |
| PktId | Packet Identification of Data Tds. |
| Data | A pointer to cpu memory address of user data buffer to transfer. |
| DataPhy | A pointer to pci memory address of user data buffer to transfer. |
| DataLen | Length of user data to transfer. |
| DataToggle | Data Toggle Pointer. |
| MaxPacket | Maximum packet size for Bulk/Interrupt transfer. |
| IsLow | Is Low Speed Device. |
Definition at line 610 of file UhciQueue.c.
| UHCI_TD_SW * UhciCreateCtrlTds | ( | IN USB_HC_DEV * | Uhc, |
| IN UINT8 | DeviceAddr, | ||
| IN UINT8 | DataPktId, | ||
| IN UINT8 * | Request, | ||
| IN UINT8 * | RequestPhy, | ||
| IN UINT8 * | Data, | ||
| IN UINT8 * | DataPhy, | ||
| IN UINTN | DataLen, | ||
| IN UINT8 | MaxPacket, | ||
| IN BOOLEAN | IsLow | ||
| ) |
Create Tds list for Control Transfer.
| Uhc | The UHCI device. |
| DeviceAddr | The device address. |
| DataPktId | Packet Identification of Data Tds. |
| Request | A pointer to cpu memory address of request structure buffer to transfer. |
| RequestPhy | A pointer to pci memory address of request structure buffer to transfer. |
| Data | A pointer to cpu memory address of user data buffer to transfer. |
| DataPhy | A pointer to pci memory address of user data buffer to transfer. |
| DataLen | Length of user data to transfer. |
| MaxPacket | Maximum packet size for control transfer. |
| IsLow | Full speed or low speed. |
Definition at line 475 of file UhciQueue.c.
| UHCI_TD_SW * UhciCreateDataTd | ( | IN USB_HC_DEV * | Uhc, |
| IN UINT8 | DevAddr, | ||
| IN UINT8 | Endpoint, | ||
| IN UINT8 * | DataPtr, | ||
| IN UINT8 * | DataPhyPtr, | ||
| IN UINTN | Len, | ||
| IN UINT8 | PktId, | ||
| IN UINT8 | Toggle, | ||
| IN BOOLEAN | IsLow | ||
| ) |
Create a TD for data.
| Uhc | The UHCI device. |
| DevAddr | Device address. |
| Endpoint | Endpoint number. |
| DataPtr | A pointer to cpu memory address of Data buffer. |
| DataPhyPtr | A pointer to pci memory address of Data buffer. |
| Len | Data length. |
| PktId | Packet ID. |
| Toggle | Data toggle value. |
| IsLow | Full speed or low speed. |
Definition at line 365 of file UhciQueue.c.
| UHCI_QH_SW * UhciCreateQh | ( | IN USB_HC_DEV * | Uhc, |
| IN UINTN | Interval | ||
| ) |
Create an initialize a new queue head.
| Uhc | The UHCI device. |
| Interval | The polling interval for the queue. |
Definition at line 249 of file UhciQueue.c.
| UHCI_TD_SW * UhciCreateSetupTd | ( | IN USB_HC_DEV * | Uhc, |
| IN UINT8 | DevAddr, | ||
| IN UINT8 * | Request, | ||
| IN UINT8 * | RequestPhy, | ||
| IN BOOLEAN | IsLow | ||
| ) |
Create and initialize a TD for Setup Stage of a control transfer.
| Uhc | The UHCI device. |
| DevAddr | Device address. |
| Request | A pointer to cpu memory address of Device request. |
| RequestPhy | A pointer to pci memory address of Device request. |
| IsLow | Full speed or low speed. |
Definition at line 312 of file UhciQueue.c.
| UHCI_TD_SW * UhciCreateStatusTd | ( | IN USB_HC_DEV * | Uhc, |
| IN UINT8 | DevAddr, | ||
| IN UINT8 | PktId, | ||
| IN BOOLEAN | IsLow | ||
| ) |
Create TD for the Status Stage of control transfer.
| Uhc | The UHCI device. |
| DevAddr | Device address. |
| PktId | Packet ID. |
| IsLow | Full speed or low speed. |
Definition at line 422 of file UhciQueue.c.
| UHCI_TD_SW * UhciCreateTd | ( | IN USB_HC_DEV * | Uhc | ) |
Create and intialize a TD.
| Uhc | The UHCI device. |
Definition at line 280 of file UhciQueue.c.
| VOID UhciDestoryTds | ( | IN USB_HC_DEV * | Uhc, |
| IN UHCI_TD_SW * | FirstTd | ||
| ) |
Delete a list of TDs.
| Uhc | The UHCI device. |
| FirstTd | TD link list head. |
Definition at line 222 of file UhciQueue.c.
| VOID UhciLinkTdToQh | ( | IN USB_HC_DEV * | Uhc, |
| IN UHCI_QH_SW * | Qh, | ||
| IN UHCI_TD_SW * | Td | ||
| ) |
Link the TD To QH.
| Uhc | The UHCI device. |
| Qh | The queue head for the TD to link to. |
| Td | The TD to link. |
Definition at line 152 of file UhciQueue.c.
| EFI_STATUS UhciMapUserData | ( | IN USB_HC_DEV * | Uhc, |
| IN EFI_USB_DATA_DIRECTION | Direction, | ||
| IN VOID * | Data, | ||
| IN OUT UINTN * | Len, | ||
| OUT UINT8 * | PktId, | ||
| OUT UINT8 ** | MappedAddr, | ||
| OUT VOID ** | Map | ||
| ) |
Map address of user data buffer.
| Uhc | The UHCI device. |
| Direction | Direction of the data transfer. |
| Data | The user data buffer. |
| Len | Length of the user data. |
| PktId | Packet identificaion. |
| MappedAddr | Mapped address to return. |
| Map | Identificaion of this mapping to return. |
Definition at line 69 of file UhciQueue.c.
| EFI_STATUS UhciMapUserRequest | ( | IN USB_HC_DEV * | Uhc, |
| IN OUT VOID * | Request, | ||
| OUT UINT8 ** | MappedAddr, | ||
| OUT VOID ** | Map | ||
| ) |
Map address of request structure buffer.
| Uhc | The UHCI device. |
| Request | The user request buffer. |
| MappedAddr | Mapped address of request. |
| Map | Identificaion of this mapping to return. |
Definition at line 25 of file UhciQueue.c.
| VOID UhciUnlinkTdFromQh | ( | IN UHCI_QH_SW * | Qh, |
| IN UHCI_TD_SW * | Td | ||
| ) |
Unlink TD from the QH.
| Qh | The queue head to unlink from. |
| Td | The TD to unlink. |
Definition at line 176 of file UhciQueue.c.