10#ifndef __EDKII_UFS_HC_PROTOCOL_H__
11#define __EDKII_UFS_HC_PROTOCOL_H__
16#define EDKII_UFS_HOST_CONTROLLER_PROTOCOL_GUID \
18 0xebc01af5, 0x7a9, 0x489e, { 0xb7, 0xce, 0xdc, 0x8, 0x9e, 0x45, 0x9b, 0x2f } \
62 EdkiiUfsHcOperationMaximum
139 OUT VOID **HostAddress,
181 EfiUfsHcWidthUint8 = 0,
186} EDKII_UFS_HOST_CONTROLLER_PROTOCOL_WIDTH;
210 IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL_WIDTH Width,
EFI_STATUS(EFIAPI * EDKII_UFS_HC_GET_MMIO_BAR)(IN EDKII_UFS_HOST_CONTROLLER_PPI *This, IN UINT8 ControllerId, OUT UINTN *MmioBar)
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)
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)
EFI_GUID gEdkiiUfsHostControllerProtocolGuid
EDKII_UFS_HOST_CONTROLLER_OPERATION
@ EdkiiUfsHcOperationBusMasterWrite
@ EdkiiUfsHcOperationBusMasterRead
@ EdkiiUfsHcOperationBusMasterCommonBuffer
EFI_STATUS(EFIAPI * EDKII_UFS_HC_GET_MMIO_BAR)(IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL *This, OUT UINTN *MmioBar)
EFI_STATUS(EFIAPI * EDKII_UFS_HC_UNMAP)(IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL *This, IN VOID *Mapping)
EFI_STATUS(EFIAPI * EDKII_UFS_HC_FREE_BUFFER)(IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL *This, IN UINTN Pages, IN VOID *HostAddress)
EFI_STATUS(EFIAPI * EDKII_UFS_HC_FLUSH)(IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL *This)
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)
UINT64 EFI_PHYSICAL_ADDRESS