3 Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
9 #ifndef _EDKII_PEI_SD_MMC_HOST_CONTROLLER_PPI_H_
10 #define _EDKII_PEI_SD_MMC_HOST_CONTROLLER_PPI_H_
13 /// Global ID for the EDKII_SD_MMC_HOST_CONTROLLER_PPI.
15 #define EDKII_SD_MMC_HOST_CONTROLLER_PPI_GUID \
17 0xb30dfeed, 0x947f, 0x4396, { 0xb1, 0x5a, 0xdf, 0xbd, 0xb9, 0x16, 0xdc, 0x24 } \
21 /// Forward declaration for the SD_MMC_HOST_CONTROLLER_PPI.
23 typedef struct _EDKII_SD_MMC_HOST_CONTROLLER_PPI EDKII_SD_MMC_HOST_CONTROLLER_PPI
;
26 Get the MMIO base address of SD/MMC host controller.
28 @param[in] This The protocol instance pointer.
29 @param[in] ControllerId The ID of the SD/MMC host controller.
30 @param[in,out] MmioBar The pointer to store the array of available
31 SD/MMC host controller slot MMIO base addresses.
32 The entry number of the array is specified by BarNum.
33 @param[out] BarNum The pointer to store the supported bar number.
35 @retval EFI_SUCCESS The operation succeeds.
36 @retval EFI_INVALID_PARAMETER The parameters are invalid.
41 (EFIAPI
*EDKII_SD_MMC_HC_GET_MMIO_BAR
)(
42 IN EDKII_SD_MMC_HOST_CONTROLLER_PPI
*This
,
43 IN UINT8 ControllerId
,
44 IN OUT UINTN
**MmioBar
,
49 /// This PPI contains a set of services to interact with the SD_MMC host controller.
51 struct _EDKII_SD_MMC_HOST_CONTROLLER_PPI
{
52 EDKII_SD_MMC_HC_GET_MMIO_BAR GetSdMmcHcMmioBar
;
55 extern EFI_GUID gEdkiiPeiSdMmcHostControllerPpiGuid
;