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