43c7d10d90b8cdf1c6be49765be2bf88c4bb6ec7
[coreboot.git] / src / mainboard / supermicro / h8qgi / agesawrapper.h
1 /*
2  * This file is part of the coreboot project.
3  *
4  * Copyright (C) 2011 Advanced Micro Devices, Inc.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; version 2 of the License.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
18  */
19
20 /*----------------------------------------------------------------------------------------
21  *                             M O D U L E S    U S E D
22  *----------------------------------------------------------------------------------------
23  */
24
25
26 #ifndef _AGESAWRAPPER_H_
27 #define _AGESAWRAPPER_H_
28
29 #include <stdint.h>
30 #include "Porting.h"
31 #include "AGESA.h"
32
33 /*----------------------------------------------------------------------------------------
34  *                   D E F I N I T I O N S    A N D    M A C R O S
35  *----------------------------------------------------------------------------------------
36  */
37 #define PCIE_BASE_ADDRESS   CONFIG_MMCONF_BASE_ADDRESS
38
39 enum {
40         PICK_DMI,       /* DMI Interface */
41         PICK_PSTATE,    /* Acpi Pstate SSDT Table */
42         PICK_SRAT,      /* SRAT Table */
43         PICK_SLIT,      /* SLIT Table */
44         PICK_WHEA_MCE,  /* WHEA MCE table */
45         PICK_WHEA_CMC,  /* WHEA CMV table */
46         PICK_ALIB,      /* SACPI SSDT table with ALIB implementation */
47 };
48
49
50
51 /*----------------------------------------------------------------------------------------
52  *                  T Y P E D E F S     A N D     S T R U C T U  R E S
53  *----------------------------------------------------------------------------------------
54  */
55
56 typedef struct {
57         UINT32 CalloutName;
58         AGESA_STATUS (*CalloutPtr)(UINT32 Func, UINT32 Data, VOID* ConfigPtr);
59 } BIOS_CALLOUT_STRUCT;
60
61 /*----------------------------------------------------------------------------------------
62  *           P R O T O T Y P E S     O F     L O C A L     F U  N C T I O N S
63  *----------------------------------------------------------------------------------------
64  */
65
66 /*----------------------------------------------------------------------------------------
67  *                          E X P O R T E D    F U N C T I O N S
68  *----------------------------------------------------------------------------------------
69  */
70
71 /*---------------------------------------------------------------------------------------
72  *                          L O C A L    F U N C T I O N S
73  *---------------------------------------------------------------------------------------
74  */
75
76 UINT32 agesawrapper_amdinitreset (void);
77 UINT32 agesawrapper_amdinitearly (void);
78 UINT32 agesawrapper_amdinitenv (void);
79 UINT32 agesawrapper_amdinitlate (void);
80 UINT32 agesawrapper_amdinitpost (void);
81 UINT32 agesawrapper_amdinitmid (void);
82 UINT32 agesawrapper_amdreadeventlog (UINT8 HeapStatus);
83 UINT32 agesawrapper_amdinitmmio (void);
84 void *agesawrapper_getlateinitptr (int pick);
85 UINT32 agesawrapper_amdlaterunaptask(UINT32 Data, VOID *ConfigPtr);
86
87 #endif