Home | History | Annotate | Download | only in Library
      1 /** @file
      2   Provide FSP API related function.
      3 
      4   Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>
      5   This program and the accompanying materials
      6   are licensed and made available under the terms and conditions of the BSD License
      7   which accompanies this distribution.  The full text of the license may be found at
      8   http://opensource.org/licenses/bsd-license.php.
      9 
     10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 #ifndef __FSP_API_LIB_H__
     16 #define __FSP_API_LIB_H__
     17 
     18 #include <FspApi.h>
     19 #include <FspInfoHeader.h>
     20 
     21 /**
     22   Find FSP header pointer.
     23 
     24   @param[in] FlashFvFspBase Flash address of FSP FV.
     25 
     26   @return FSP header pointer.
     27 **/
     28 FSP_INFO_HEADER *
     29 EFIAPI
     30 FspFindFspHeader (
     31   IN EFI_PHYSICAL_ADDRESS  FlashFvFspBase
     32   );
     33 
     34 /**
     35   Call FSP API - FspInit.
     36 
     37   @param[in] FspHeader     FSP header pointer.
     38   @param[in] FspInitParams Address pointer to the FSP_INIT_PARAMS structure.
     39 
     40   @return EFI status returned by FspInit API.
     41 **/
     42 EFI_STATUS
     43 EFIAPI
     44 CallFspInit (
     45   IN FSP_INFO_HEADER     *FspHeader,
     46   IN FSP_INIT_PARAMS     *FspInitParams
     47   );
     48 
     49 /**
     50   Call FSP API - FspNotifyPhase.
     51 
     52   @param[in] FspHeader         FSP header pointer.
     53   @param[in] NotifyPhaseParams Address pointer to the NOTIFY_PHASE_PARAMS structure.
     54 
     55   @return EFI status returned by FspNotifyPhase API.
     56 **/
     57 EFI_STATUS
     58 EFIAPI
     59 CallFspNotifyPhase (
     60   IN FSP_INFO_HEADER     *FspHeader,
     61   IN NOTIFY_PHASE_PARAMS *NotifyPhaseParams
     62   );
     63 
     64 /**
     65   Call FSP API - FspMemoryInit.
     66 
     67   @param[in]     FspHeader           FSP header pointer.
     68   @param[in,out] FspMemoryInitParams Address pointer to the FSP_MEMORY_INIT_PARAMS structure.
     69 
     70   @return EFI status returned by FspMemoryInit API.
     71 **/
     72 EFI_STATUS
     73 EFIAPI
     74 CallFspMemoryInit (
     75   IN FSP_INFO_HEADER            *FspHeader,
     76   IN OUT FSP_MEMORY_INIT_PARAMS *FspMemoryInitParams
     77   );
     78 
     79 /**
     80   Call FSP API - TempRamExit.
     81 
     82   @param[in]     FspHeader           FSP header pointer.
     83   @param[in,out] TempRamExitParam    Address pointer to the TempRamExit parameters structure.
     84 
     85   @return EFI status returned by TempRamExit API.
     86 **/
     87 EFI_STATUS
     88 EFIAPI
     89 CallTempRamExit (
     90   IN FSP_INFO_HEADER            *FspHeader,
     91   IN OUT VOID                   *TempRamExitParam
     92   );
     93 
     94 /**
     95   Call FSP API - FspSiliconInit.
     96 
     97   @param[in]     FspHeader           FSP header pointer.
     98   @param[in,out] FspSiliconInitParam Address pointer to the Silicon Init parameters structure.
     99 
    100   @return EFI status returned by FspSiliconInit API.
    101 **/
    102 EFI_STATUS
    103 EFIAPI
    104 CallFspSiliconInit (
    105   IN FSP_INFO_HEADER            *FspHeader,
    106   IN OUT VOID                   *FspSiliconInitParam
    107   );
    108 
    109 #endif
    110