3 Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions
7 of the BSD License which accompanies this distribution. The
8 full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 #ifndef _EDKII_PEI_UFS_HOST_CONTROLLER_PPI_H_
17 #define _EDKII_PEI_UFS_HOST_CONTROLLER_PPI_H_
20 /// Global ID for the EDKII_UFS_HOST_CONTROLLER_PPI.
22 #define EDKII_UFS_HOST_CONTROLLER_PPI_GUID \
24 0xdc54b283, 0x1a77, 0x4cd6, { 0x83, 0xbb, 0xfd, 0xda, 0x46, 0x9a, 0x2e, 0xc6 } \
28 /// Forward declaration for the UFS_HOST_CONTROLLER_PPI.
30 typedef struct _EDKII_UFS_HOST_CONTROLLER_PPI EDKII_UFS_HOST_CONTROLLER_PPI
;
33 Get the MMIO base address of UFS host controller.
35 @param[in] This The protocol instance pointer.
36 @param[in] ControllerId The ID of the UFS host controller.
37 @param[out] MmioBar Pointer to the UFS host controller MMIO base address.
39 @retval EFI_SUCCESS The operation succeeds.
40 @retval EFI_INVALID_PARAMETER The parameters are invalid.
45 (EFIAPI
*EDKII_UFS_HC_GET_MMIO_BAR
)(
46 IN EDKII_UFS_HOST_CONTROLLER_PPI
*This
,
47 IN UINT8 ControllerId
,
52 /// This PPI contains a set of services to interact with the UFS host controller.
54 struct _EDKII_UFS_HOST_CONTROLLER_PPI
{
55 EDKII_UFS_HC_GET_MMIO_BAR GetUfsHcMmioBar
;
58 extern EFI_GUID gEdkiiPeiUfsHostControllerPpiGuid
;