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.