/** @file Copyright (c) 2015, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _EDKII_PEI_SD_MMC_HOST_CONTROLLER_PPI_H_ #define _EDKII_PEI_SD_MMC_HOST_CONTROLLER_PPI_H_ /// /// Global ID for the EDKII_SD_MMC_HOST_CONTROLLER_PPI. /// #define EDKII_SD_MMC_HOST_CONTROLLER_PPI_GUID \ { \ 0xb30dfeed, 0x947f, 0x4396, { 0xb1, 0x5a, 0xdf, 0xbd, 0xb9, 0x16, 0xdc, 0x24 } \ } /// /// Forward declaration for the SD_MMC_HOST_CONTROLLER_PPI. /// typedef struct _EDKII_SD_MMC_HOST_CONTROLLER_PPI EDKII_SD_MMC_HOST_CONTROLLER_PPI; /** Get the MMIO base address of SD/MMC host controller. @param[in] This The protocol instance pointer. @param[in] ControllerId The ID of the SD/MMC host controller. @param[in,out] MmioBar The pointer to store the array of available SD/MMC host controller slot MMIO base addresses. The entry number of the array is specified by BarNum. @param[out] BarNum The pointer to store the supported bar number. @retval EFI_SUCCESS The operation succeeds. @retval EFI_INVALID_PARAMETER The parameters are invalid. **/ typedef EFI_STATUS (EFIAPI *EDKII_SD_MMC_HC_GET_MMIO_BAR)( IN EDKII_SD_MMC_HOST_CONTROLLER_PPI *This, IN UINT8 ControllerId, IN OUT UINTN **MmioBar, OUT UINT8 *BarNum ); /// /// This PPI contains a set of services to interact with the SD_MMC host controller. /// struct _EDKII_SD_MMC_HOST_CONTROLLER_PPI { EDKII_SD_MMC_HC_GET_MMIO_BAR GetSdMmcHcMmioBar; }; extern EFI_GUID gEdkiiPeiSdMmcHostControllerPpiGuid; #endif