blob: 160c07f646ae8cc998ce406674d1bb66b32ca082 [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301/** @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**/
28FSP_INFO_HEADER *
29EFIAPI
30FspFindFspHeader (
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**/
42EFI_STATUS
43EFIAPI
44CallFspInit (
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**/
57EFI_STATUS
58EFIAPI
59CallFspNotifyPhase (
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**/
72EFI_STATUS
73EFIAPI
74CallFspMemoryInit (
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**/
87EFI_STATUS
88EFIAPI
89CallTempRamExit (
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**/
102EFI_STATUS
103EFIAPI
104CallFspSiliconInit (
105 IN FSP_INFO_HEADER *FspHeader,
106 IN OUT VOID *FspSiliconInitParam
107 );
108
109#endif