]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Include/Ppi/UfsHostController.h
MdeModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdeModulePkg / Include / Ppi / UfsHostController.h
1 /** @file
2
3 Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
4
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9 #ifndef _EDKII_PEI_UFS_HOST_CONTROLLER_PPI_H_
10 #define _EDKII_PEI_UFS_HOST_CONTROLLER_PPI_H_
11
12 ///
13 /// Global ID for the EDKII_UFS_HOST_CONTROLLER_PPI.
14 ///
15 #define EDKII_UFS_HOST_CONTROLLER_PPI_GUID \
16 { \
17 0xdc54b283, 0x1a77, 0x4cd6, { 0x83, 0xbb, 0xfd, 0xda, 0x46, 0x9a, 0x2e, 0xc6 } \
18 }
19
20 ///
21 /// Forward declaration for the UFS_HOST_CONTROLLER_PPI.
22 ///
23 typedef struct _EDKII_UFS_HOST_CONTROLLER_PPI EDKII_UFS_HOST_CONTROLLER_PPI;
24
25 /**
26 Get the MMIO base address of UFS host controller.
27
28 @param[in] This The protocol instance pointer.
29 @param[in] ControllerId The ID of the UFS host controller.
30 @param[out] MmioBar Pointer to the UFS host controller MMIO base address.
31
32 @retval EFI_SUCCESS The operation succeeds.
33 @retval EFI_INVALID_PARAMETER The parameters are invalid.
34
35 **/
36 typedef
37 EFI_STATUS
38 (EFIAPI *EDKII_UFS_HC_GET_MMIO_BAR)(
39 IN EDKII_UFS_HOST_CONTROLLER_PPI *This,
40 IN UINT8 ControllerId,
41 OUT UINTN *MmioBar
42 );
43
44 ///
45 /// This PPI contains a set of services to interact with the UFS host controller.
46 ///
47 struct _EDKII_UFS_HOST_CONTROLLER_PPI {
48 EDKII_UFS_HC_GET_MMIO_BAR GetUfsHcMmioBar;
49 };
50
51 extern EFI_GUID gEdkiiPeiUfsHostControllerPpiGuid;
52
53 #endif