blob: 43c7d10d90b8cdf1c6be49765be2bf88c4bb6ec7 [file] [log] [blame]
Siyuan Wang8ff97b22012-10-28 18:19:38 +08001/*
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
39enum {
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
56typedef 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
76UINT32 agesawrapper_amdinitreset (void);
77UINT32 agesawrapper_amdinitearly (void);
78UINT32 agesawrapper_amdinitenv (void);
79UINT32 agesawrapper_amdinitlate (void);
80UINT32 agesawrapper_amdinitpost (void);
81UINT32 agesawrapper_amdinitmid (void);
82UINT32 agesawrapper_amdreadeventlog (UINT8 HeapStatus);
83UINT32 agesawrapper_amdinitmmio (void);
84void *agesawrapper_getlateinitptr (int pick);
85UINT32 agesawrapper_amdlaterunaptask(UINT32 Data, VOID *ConfigPtr);
86
87#endif