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
|
---|