Home | History | Annotate | Download | only in Ppi
      1 /** @file
      2 
      3 Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
      4 
      5 This program and the accompanying materials
      6 are licensed and made available under the terms and conditions
      7 of the BSD License which accompanies this distribution.  The
      8 full text of the license may be found at
      9 http://opensource.org/licenses/bsd-license.php
     10 
     11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     13 
     14 **/
     15 
     16 #ifndef _EDKII_PEI_UFS_HOST_CONTROLLER_PPI_H_
     17 #define _EDKII_PEI_UFS_HOST_CONTROLLER_PPI_H_
     18 
     19 ///
     20 /// Global ID for the EDKII_UFS_HOST_CONTROLLER_PPI.
     21 ///
     22 #define EDKII_UFS_HOST_CONTROLLER_PPI_GUID \
     23   { \
     24     0xdc54b283, 0x1a77, 0x4cd6, { 0x83, 0xbb, 0xfd, 0xda, 0x46, 0x9a, 0x2e, 0xc6 } \
     25   }
     26 
     27 ///
     28 /// Forward declaration for the UFS_HOST_CONTROLLER_PPI.
     29 ///
     30 typedef struct _EDKII_UFS_HOST_CONTROLLER_PPI  EDKII_UFS_HOST_CONTROLLER_PPI;
     31 
     32 /**
     33   Get the MMIO base address of UFS host controller.
     34 
     35   @param[in]  This               The protocol instance pointer.
     36   @param[in]  ControllerId       The ID of the UFS host controller.
     37   @param[out] MmioBar            Pointer to the UFS host controller MMIO base address.
     38 
     39   @retval EFI_SUCCESS            The operation succeeds.
     40   @retval EFI_INVALID_PARAMETER  The parameters are invalid.
     41 
     42 **/
     43 typedef
     44 EFI_STATUS
     45 (EFIAPI *EDKII_UFS_HC_GET_MMIO_BAR)(
     46   IN     EDKII_UFS_HOST_CONTROLLER_PPI    *This,
     47   IN     UINT8                            ControllerId,
     48      OUT UINTN                            *MmioBar
     49   );
     50 
     51 ///
     52 /// This PPI contains a set of services to interact with the UFS host controller.
     53 ///
     54 struct _EDKII_UFS_HOST_CONTROLLER_PPI {
     55   EDKII_UFS_HC_GET_MMIO_BAR               GetUfsHcMmioBar;
     56 };
     57 
     58 extern EFI_GUID gEdkiiPeiUfsHostControllerPpiGuid;
     59 
     60 #endif
     61