|
MdeModulePkg[all]
0.98
|
Data Structures | |
| struct | _EDKII_UFS_HOST_CONTROLLER_PROTOCOL |
Macros | |
| #define | EDKII_UFS_HOST_CONTROLLER_PROTOCOL_GUID |
Variables | |
| EFI_GUID | gEdkiiUfsHostControllerProtocolGuid |
EDKII Universal Flash Storage Host Controller Protocol.
Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
| #define EDKII_UFS_HOST_CONTROLLER_PROTOCOL_GUID |
| typedef EFI_STATUS(EFIAPI * EDKII_UFS_HC_ALLOCATE_BUFFER)(IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL *This, IN EFI_ALLOCATE_TYPE Type, IN EFI_MEMORY_TYPE MemoryType, IN UINTN Pages, OUT VOID **HostAddress, IN UINT64 Attributes) |
Allocates pages that are suitable for an EfiUfsHcOperationBusMasterCommonBuffer mapping.
| This | A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance. |
| Type | This parameter is not used and must be ignored. |
| MemoryType | The type of memory to allocate, EfiBootServicesData or EfiRuntimeServicesData. |
| Pages | The number of pages to allocate. |
| HostAddress | A pointer to store the base system memory address of the allocated range. |
| Attributes | The requested bit mask of attributes for the allocated range. |
| EFI_SUCCESS | The requested memory pages were allocated. |
| EFI_UNSUPPORTED | Attributes is unsupported. The only legal attribute bits are MEMORY_WRITE_COMBINE and MEMORY_CACHED. |
| EFI_INVALID_PARAMETER | One or more parameters are invalid. |
| EFI_OUT_OF_RESOURCES | The memory pages could not be allocated. |
| typedef EFI_STATUS(EFIAPI * EDKII_UFS_HC_FLUSH)(IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL *This) |
Flushes all posted write transactions from the UFS bus to attached UFS device.
| This | A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance. |
| EFI_SUCCESS | The posted write transactions were flushed from the UFS bus to attached UFS device. |
| EFI_DEVICE_ERROR | The posted write transactions were not flushed from the UFS bus to attached UFS device due to a hardware error. |
| typedef EFI_STATUS(EFIAPI * EDKII_UFS_HC_FREE_BUFFER)(IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL *This, IN UINTN Pages, IN VOID *HostAddress) |
Frees memory that was allocated with AllocateBuffer().
| This | A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance. |
| Pages | The number of pages to free. |
| HostAddress | The base system memory address of the allocated range. |
| EFI_SUCCESS | The requested memory pages were freed. |
| EFI_INVALID_PARAMETER | The memory range specified by HostAddress and Pages was not allocated with AllocateBuffer(). |
| typedef EFI_STATUS(EFIAPI * EDKII_UFS_HC_GET_MMIO_BAR)(IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL *This, OUT UINTN *MmioBar) |
Get the MMIO base address of UFS host controller.
| This | The protocol instance pointer. |
| MmioBar | Pointer to the UFS host controller MMIO base address. |
| EFI_SUCCESS | The operation succeeds. |
| EFI_INVALID_PARAMETER | The parameters are invalid. |
| typedef EFI_STATUS(EFIAPI * EDKII_UFS_HC_MAP)(IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL *This, IN EDKII_UFS_HOST_CONTROLLER_OPERATION Operation, IN VOID *HostAddress, IN OUT UINTN *NumberOfBytes, OUT EFI_PHYSICAL_ADDRESS *DeviceAddress, OUT VOID **Mapping) |
Provides the UFS controller-specific addresses needed to access system memory.
| This | A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance. |
| Operation | Indicates if the bus master is going to read or write to system memory. |
| HostAddress | The system memory address to map to the UFS controller. |
| NumberOfBytes | On input the number of bytes to map. On output the number of bytes that were mapped. |
| DeviceAddress | The resulting map address for the bus master UFS controller to use to access the hosts HostAddress. |
| Mapping | A resulting value to pass to Unmap(). |
| EFI_SUCCESS | The range was mapped for the returned NumberOfBytes. |
| EFI_UNSUPPORTED | The HostAddress cannot be mapped as a common buffer. |
| EFI_INVALID_PARAMETER | One or more parameters are invalid. |
| EFI_OUT_OF_RESOURCES | The request could not be completed due to a lack of resources. |
| EFI_DEVICE_ERROR | The system hardware could not map the requested address. |
| typedef EFI_STATUS(EFIAPI * EDKII_UFS_HC_MMIO_READ_WRITE)(IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL *This, IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL_WIDTH Width, IN UINT64 Offset, IN UINTN Count, IN OUT VOID *Buffer) |
Enable a UFS bus driver to access UFS MMIO registers in the UFS Host Controller memory space.
| This | A pointer to the EDKII_UFS_HOST_CONTROLLER_PROTOCOL instance. |
| Width | Signifies the width of the memory operations. |
| Offset | The offset within the UFS Host Controller MMIO space to start the memory operation. |
| Count | The number of memory operations to perform. |
| Buffer | For read operations, the destination buffer to store the results. For write operations, the source buffer to write data from. |
| EFI_SUCCESS | The data was read from or written to the UFS host controller. |
| EFI_UNSUPPORTED | The address range specified by Offset, Width, and Count is not valid for the UFS Host Controller memory space. |
| EFI_OUT_OF_RESOURCES | The request could not be completed due to a lack of resources. |
| EFI_INVALID_PARAMETER | One or more parameters are invalid. |
| typedef EFI_STATUS(EFIAPI * EDKII_UFS_HC_UNMAP)(IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL *This, IN VOID *Mapping) |
Completes the Map() operation and releases any corresponding resources.
| This | A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance. |
| Mapping | The mapping value returned from Map(). |
| EFI_SUCCESS | The range was unmapped. |
| EFI_DEVICE_ERROR | The data was not committed to the target system memory. |
EFI_UFS_HOST_CONTROLLER_OPERATION
| EFI_GUID gEdkiiUfsHostControllerProtocolGuid |
UFS Host Controller Protocol GUID variable.