2 * This file is part of the coreboot project.
4 * Copyright (C) 2011 Advanced Micro Devices, Inc.
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.
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.
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
20 #ifndef _BIOS_CALLOUT_H_
21 #define _BIOS_CALLOUT_H_
26 #define REQUIRED_CALLOUTS 12
27 #define BIOS_HEAP_START_ADDRESS 0x00010000
28 #define BIOS_HEAP_SIZE 0x20000 /* 64MB */
30 typedef struct _BIOS_HEAP_MANAGER {
31 //UINT32 AvailableSize;
32 UINT32 StartOfAllocatedNodes;
33 UINT32 StartOfFreedNodes;
36 typedef struct _BIOS_BUFFER_NODE {
39 UINT32 NextNodeOffset;
45 AGESA_STATUS GetBiosCallout (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
48 * AGESA ADVANCED CALLOUTS - CPU
50 AGESA_STATUS BiosAllocateBuffer (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
51 AGESA_STATUS BiosDeallocateBuffer (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
52 AGESA_STATUS BiosLocateBuffer (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
53 AGESA_STATUS BiosRunFuncOnAp (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
54 AGESA_STATUS BiosReset (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
55 AGESA_STATUS BiosGetIdsInitData (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
57 /* AGESA ADVANCED CALLOUTS - MEMORY */
58 AGESA_STATUS BiosReadSpd (UINT32 Func,UINT32 Data,VOID *ConfigPtr);
60 /* BIOS DEFAULT RET */
61 AGESA_STATUS BiosDefaultRet (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
63 /* Call the host environment interface to provide a user hook opportunity. */
64 AGESA_STATUS BiosHookBeforeDQSTraining (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
65 /* Call the host environment interface to provide a user hook opportunity. */
66 AGESA_STATUS BiosHookBeforeDramInit (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
67 /* Call the host environment interface to provide a user hook opportunity. */
68 AGESA_STATUS BiosHookBeforeExitSelfRefresh (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
69 #define SB_GPIO_REG02 2
70 #define SB_GPIO_REG09 9
71 #define SB_GPIO_REG10 10
72 #define SB_GPIO_REG15 15
73 #define SB_GPIO_REG17 17
74 #define SB_GPIO_REG21 21
75 #define SB_GPIO_REG25 25
76 #define SB_GPIO_REG28 28
77 #endif //_BIOS_CALLOUT_H_