]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Bus/Pci/UfsPciHcPei/UfsPciHcPei.h
MdeModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdeModulePkg / Bus / Pci / UfsPciHcPei / UfsPciHcPei.h
CommitLineData
0591696e
FT
1/** @file\r
2 Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>\r
9d510e61 3 SPDX-License-Identifier: BSD-2-Clause-Patent\r
0591696e
FT
4\r
5**/\r
6\r
7#ifndef _UFS_PCI_HOST_CONTROLLER_PEI_H_\r
8#define _UFS_PCI_HOST_CONTROLLER_PEI_H_\r
9\r
10#include <PiPei.h>\r
11\r
12#include <Ppi/MasterBootMode.h>\r
13#include <Ppi/UfsHostController.h>\r
14\r
15#include <IndustryStandard/Pci.h>\r
16\r
17#include <Library/DebugLib.h>\r
18#include <Library/BaseLib.h>\r
19#include <Library/BaseMemoryLib.h>\r
20#include <Library/PciLib.h>\r
21#include <Library/PeiServicesLib.h>\r
22#include <Library/MemoryAllocationLib.h>\r
23\r
24#define UFS_HC_PEI_SIGNATURE SIGNATURE_32 ('U', 'F', 'S', 'P')\r
25#define MAX_UFS_HCS 8\r
26\r
27typedef struct {\r
28 UINTN Signature;\r
29 EDKII_UFS_HOST_CONTROLLER_PPI UfsHostControllerPpi;\r
30 EFI_PEI_PPI_DESCRIPTOR PpiList;\r
31 UINTN TotalUfsHcs;\r
32 UINTN UfsHcPciAddr[MAX_UFS_HCS];\r
33} UFS_HC_PEI_PRIVATE_DATA;\r
34\r
35#define UFS_HC_PEI_PRIVATE_DATA_FROM_THIS(a) CR (a, UFS_HC_PEI_PRIVATE_DATA, UfsHostControllerPpi, UFS_HC_PEI_SIGNATURE)\r
36\r
37/**\r
38 Get the MMIO base address of UFS host controller.\r
39\r
40 @param[in] This The protocol instance pointer.\r
41 @param[in] ControllerId The ID of the UFS host controller.\r
42 @param[out] MmioBar Pointer to the UFS host controller MMIO base address.\r
43\r
44 @retval EFI_SUCCESS The operation succeeds.\r
45 @retval EFI_INVALID_PARAMETER The parameters are invalid.\r
46\r
47**/\r
48EFI_STATUS\r
49EFIAPI\r
50GetUfsHcMmioBar (\r
51 IN EDKII_UFS_HOST_CONTROLLER_PPI *This,\r
52 IN UINT8 ControllerId,\r
53 OUT UINTN *MmioBar\r
54 );\r
55\r
56#endif\r