5 * IDS Option Install File
7 * This file generates the defaults tables for family 10h model 5 processors.
9 * @xrefitem bom "File Content Label" "Release Content"
11 * @e sub-project: Core
12 * @e \$Revision: 47940 $ @e \$Date: 2011-03-02 14:25:35 +0800 (Wed, 02 Mar 2011) $
14 /*****************************************************************************
16 * Copyright (c) 2011, Advanced Micro Devices, Inc.
17 * All rights reserved.
19 * Redistribution and use in source and binary forms, with or without
20 * modification, are permitted provided that the following conditions are met:
21 * * Redistributions of source code must retain the above copyright
22 * notice, this list of conditions and the following disclaimer.
23 * * Redistributions in binary form must reproduce the above copyright
24 * notice, this list of conditions and the following disclaimer in the
25 * documentation and/or other materials provided with the distribution.
26 * * Neither the name of Advanced Micro Devices, Inc. nor the names of
27 * its contributors may be used to endorse or promote products derived
28 * from this software without specific prior written permission.
30 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
31 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
32 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
33 * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
34 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
35 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
36 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
37 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
38 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
39 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
41 ***************************************************************************/
42 #ifndef _OPTION_IDS_INSTALL_H_
43 #define _OPTION_IDS_INSTALL_H_
47 #ifdef __IDS_EXTENDED__
48 #include OPTION_IDS_EXT_INSTALL_FILE
51 #define IDS_LATE_RUN_AP_TASK
53 #define M_HTIDS_PORT_OVERRIDE_HOOK (PF_HtIdsGetPortOverride)CommonVoid
54 #if (IDSOPT_IDS_ENABLED == TRUE)
55 #if (IDSOPT_CONTROL_ENABLED == TRUE)
56 // Check for all families which include HT Features.
57 #if (OPTION_FAMILY10H == TRUE) && (AGESA_ENTRY_INIT_POST == TRUE)
58 #undef M_HTIDS_PORT_OVERRIDE_HOOK
59 #define M_HTIDS_PORT_OVERRIDE_HOOK HtIdsGetPortOverride
62 #endif // OPTION_IDS_LEVEL
63 CONST PF_HtIdsGetPortOverride ROMDATA pf_HtIdsGetPortOverride = M_HTIDS_PORT_OVERRIDE_HOOK;
65 #if (IDSOPT_IDS_ENABLED == TRUE)
66 #if (AGESA_ENTRY_INIT_LATE == TRUE)
67 #undef IDS_LATE_RUN_AP_TASK
68 #define IDS_LATE_RUN_AP_TASK
70 #endif // OPTION_IDS_LEVEL
72 #if (IDSOPT_TRACING_ENABLED == TRUE)
73 #if (AGESA_ENTRY_INIT_POST == TRUE)
75 CONST SCRIPT_FUNCTION ROMDATA ScriptFuncList[] = {
76 { (UINT32) (UINT64) MemUWriteCachelines, "WriteCl(PhyAddrLo,BufferAddr,ClCnt)"},
77 { (UINT32) (UINT64) MemUReadCachelines, "ReadCl(BufferAddr,PhyAddrLo,ClCnt)"},
78 { (UINT32) (UINT64) MemUFlushPattern, "FlushCl(PhyAddrLo,ClCnt)"}
80 #elif (AGESA_ENTRY_INIT_RECOVERY == TRUE)
82 CONST SCRIPT_FUNCTION ROMDATA ScriptFuncList[] = {
83 { (UINT32) (UINT64) MemRecUWrite1CL, "Write1Cl(PhyAddrLo,BufferAddr)"},
84 { (UINT32) (UINT64) MemRecURead1CL, "Read1Cl(BufferAddr,PhyAddrLo)"},
85 { (UINT32) (UINT64) MemRecUFlushPattern, "Flush1Cl(PhyAddrLo)"}
88 CONST SCRIPT_FUNCTION ROMDATA ScriptFuncList[] = {
89 { (UINT32) (UINT64) CommonReturnFalse, "DefRet()"},
90 { (UINT32) (UINT64) CommonReturnFalse, "DefRet()"},
91 { (UINT32) (UINT64) CommonReturnFalse, "DefRet()"}
98 #if (IDSOPT_IDS_ENABLED == TRUE)
99 #if (IDSOPT_CONTROL_ENABLED == TRUE)
101 #ifndef OPTION_IDS_EXTEND_FEATS
102 #define OPTION_IDS_EXTEND_FEATS
105 #define OPTION_IDS_FEAT_ECCCTRL\
106 OPTION_IDS_FEAT_ECCCTRL_F10 \
107 OPTION_IDS_FEAT_ECCCTRL_F12 \
108 OPTION_IDS_FEAT_ECCCTRL_F15_OR
110 #define OPTION_IDS_FEAT_GNB_PLATFORMCFG\
111 OPTION_IDS_FEAT_GNB_PLATFORMCFGF12 \
112 OPTION_IDS_FEAT_GNB_PLATFORMCFGF14
114 #define OPTION_IDS_FEAT_CPB_CTRL\
115 OPTION_IDS_FEAT_CPB_CTRL_F12
117 #define OPTION_IDS_FEAT_HTC_CTRL\
118 OPTION_IDS_FEAT_HTC_CTRL_F15
120 #define OPTION_IDS_FEAT_MEMORY_MAPPING\
121 OPTION_IDS_FEAT_MEMORY_MAPPING_F12 \
122 OPTION_IDS_FEAT_MEMORY_MAPPING_F15_OR
123 #define OPTION_IDS_FEAT_HT_ASSIST\
124 OPTION_IDS_FEAT_HT_ASSIST_F10HY \
125 OPTION_IDS_FEAT_HT_ASSIST_F15_OR
127 #define OPTION_IDS_FEAT_ECCSYMBOLSIZE\
128 OPTION_IDS_FEAT_ECCSYMBOLSIZE_F10 \
129 OPTION_IDS_FEAT_ECCSYMBOLSIZE_F15_OR
131 /*----------------------------------------------------------------------------
132 * Family 10 feat blocks
134 *----------------------------------------------------------------------------
136 #define OPTION_IDS_FEAT_ECCSYMBOLSIZE_F10
137 #define OPTION_IDS_FEAT_ECCCTRL_F10
138 #ifdef OPTION_FAMILY10H
139 #if OPTION_FAMILY10H == TRUE
141 extern CONST IDS_FEAT_STRUCT ROMDATA IdsFeatEccSymbolSizeBlockF10;
142 #undef OPTION_IDS_FEAT_ECCSYMBOLSIZE_F10
143 #define OPTION_IDS_FEAT_ECCSYMBOLSIZE_F10 &IdsFeatEccSymbolSizeBlockF10,
146 extern CONST IDS_FEAT_STRUCT ROMDATA IdsFeatEccCtrlBlockF10;
147 #undef OPTION_IDS_FEAT_ECCCTRL_F10
148 #define OPTION_IDS_FEAT_ECCCTRL_F10 &IdsFeatEccCtrlBlockF10,
153 #define OPTION_IDS_FEAT_HT_ASSIST_F10HY
154 #ifdef OPTION_FAMILY10H_HY
155 #if OPTION_FAMILY10H_HY == TRUE
156 #undef OPTION_IDS_FEAT_HT_ASSIST_F10HY
157 extern CONST IDS_FEAT_STRUCT ROMDATA IdsFeatHtAssistBlockPlatformCfgF10Hy;
159 #define OPTION_IDS_FEAT_HT_ASSIST_F10HY \
160 &IdsFeatHtAssistBlockPlatformCfgF10Hy,
163 /*----------------------------------------------------------------------------
164 * Family 12 feat blocks
166 *----------------------------------------------------------------------------
168 #define OPTION_IDS_FEAT_GNB_PLATFORMCFGF12
169 #define OPTION_IDS_FEAT_ECCCTRL_F12
170 #define OPTION_IDS_FEAT_CPB_CTRL_F12
171 #ifdef OPTION_FAMILY12H
172 #if OPTION_FAMILY12H == TRUE
173 extern CONST IDS_FEAT_STRUCT ROMDATA IdsFeatGnbPlatformCfgBlockF12;
174 #undef OPTION_IDS_FEAT_GNB_PLATFORMCFGF12
175 #define OPTION_IDS_FEAT_GNB_PLATFORMCFGF12 &IdsFeatGnbPlatformCfgBlockF12,
178 extern CONST IDS_FEAT_STRUCT ROMDATA IdsFeatEccCtrlBlockF12;
179 #undef OPTION_IDS_FEAT_ECCCTRL_F12
180 #define OPTION_IDS_FEAT_ECCCTRL_F12 &IdsFeatEccCtrlBlockF12,
182 #undef OPTION_IDS_FEAT_CPB_CTRL_F12
183 extern CONST IDS_FEAT_STRUCT ROMDATA IdsFeatCpbCtrlBlockF12;
184 #define OPTION_IDS_FEAT_CPB_CTRL_F12 &IdsFeatCpbCtrlBlockF12,
189 /*----------------------------------------------------------------------------
190 * Family 14 feat blocks
192 *----------------------------------------------------------------------------
194 #define OPTION_IDS_FEAT_GNB_PLATFORMCFGF14
195 #ifdef OPTION_FAMILY14H
196 #if OPTION_FAMILY14H == TRUE
197 extern CONST IDS_FEAT_STRUCT ROMDATA IdsFeatGnbPlatformCfgBlockF14;
198 #undef OPTION_IDS_FEAT_GNB_PLATFORMCFGF14
199 #define OPTION_IDS_FEAT_GNB_PLATFORMCFGF14 &IdsFeatGnbPlatformCfgBlockF14,
203 /*----------------------------------------------------------------------------
204 * Family 15 OR feat blocks
206 *----------------------------------------------------------------------------
208 #define OPTION_IDS_FEAT_HTC_CTRL_F15_OR
209 #define OPTION_IDS_FEAT_MEMORY_MAPPING_F15_OR
210 #define OPTION_IDS_FEAT_HT_ASSIST_F15_OR
211 #define OPTION_IDS_FEAT_ECCCTRL_F15_OR
212 #define OPTION_IDS_FEAT_ECCSYMBOLSIZE_F15_OR
213 #ifdef OPTION_FAMILY15H_OR
214 #if OPTION_FAMILY15H_OR == TRUE
215 extern CONST IDS_FEAT_STRUCT ROMDATA IdsFeatHtcControlBlockF15Or;
216 extern CONST IDS_FEAT_STRUCT ROMDATA IdsFeatHtcControlLateBlockF15Or;
217 #undef OPTION_IDS_FEAT_HTC_CTRL_F15_OR
218 #define OPTION_IDS_FEAT_HTC_CTRL_F15_OR\
219 &IdsFeatHtcControlBlockF15Or,\
220 &IdsFeatHtcControlLateBlockF15Or,
222 extern CONST IDS_FEAT_STRUCT ROMDATA IdsFeatMemoryMappingPostBeforeBlockF15Or;
223 extern CONST IDS_FEAT_STRUCT ROMDATA IdsFeatMemoryMappingChIntlvBlockF15Or;
224 #undef OPTION_IDS_FEAT_MEMORY_MAPPING_F15_OR
225 #define OPTION_IDS_FEAT_MEMORY_MAPPING_F15_OR\
226 &IdsFeatMemoryMappingPostBeforeBlockF15Or,\
227 &IdsFeatMemoryMappingChIntlvBlockF15Or,
229 extern CONST IDS_FEAT_STRUCT ROMDATA IdsFeatHtAssistBlockPlatformCfgF15Or;
230 #undef OPTION_IDS_FEAT_HT_ASSIST_F15_OR
231 #define OPTION_IDS_FEAT_HT_ASSIST_F15_OR\
232 &IdsFeatHtAssistBlockPlatformCfgF15Or,
234 extern CONST IDS_FEAT_STRUCT ROMDATA IdsFeatEccCtrlBlockF15Or;
235 #undef OPTION_IDS_FEAT_ECCCTRL_F15_OR
236 #define OPTION_IDS_FEAT_ECCCTRL_F15_OR &IdsFeatEccCtrlBlockF15Or,
238 extern CONST IDS_FEAT_STRUCT ROMDATA IdsFeatEccSymbolSizeBlockF15Or;
239 #undef OPTION_IDS_FEAT_ECCSYMBOLSIZE_F15_OR
240 #define OPTION_IDS_FEAT_ECCSYMBOLSIZE_F15_OR &IdsFeatEccSymbolSizeBlockF15Or,
247 CONST IDS_FEAT_STRUCT ROMDATA IdsFeatUcodeBlock =
249 IDS_FEAT_UCODE_UPDATE,
256 CONST IDS_FEAT_STRUCT ROMDATA IdsFeatPowerPolicyBlock =
258 IDS_FEAT_POWER_POLICY,
260 IDS_PLATFORMCFG_OVERRIDE,
262 IdsSubPowerPolicyOverride
265 CONST IDS_FEAT_STRUCT ROMDATA IdsFeatTargetPstateBlock =
267 IDS_FEAT_TARGET_PSTATE,
274 CONST IDS_FEAT_STRUCT ROMDATA IdsFeatPostPstateBlock =
278 IDS_CPU_Early_Override,
283 //Dram controller Features
284 CONST IDS_FEAT_STRUCT ROMDATA IdsFeatDctAllMemClkBlock =
286 IDS_FEAT_DCT_ALLMEMCLK,
288 IDS_ALL_MEMORY_CLOCK,
293 CONST IDS_FEAT_STRUCT ROMDATA IdsFeatDctGangModeBlock =
295 IDS_FEAT_DCT_GANGMODE,
302 CONST IDS_FEAT_STRUCT ROMDATA IdsFeatDctBurstLengthBlock =
304 IDS_FEAT_DCT_BURSTLENGTH,
311 CONST IDS_FEAT_STRUCT ROMDATA IdsFeatDctPowerDownCtrlBlock =
313 IDS_FEAT_DCT_POWERDOWN,
315 IDS_INIT_POST_BEFORE,
320 CONST IDS_FEAT_STRUCT ROMDATA IdsFeatDctDllShutDownBlock =
322 IDS_FEAT_DCT_DLLSHUTDOWN,
330 CONST IDS_FEAT_STRUCT ROMDATA IdsFeatDctPowerDownModeBlock =
332 IDS_FEAT_DCT_POWERDOWN,
339 CONST IDS_FEAT_STRUCT ROMDATA IdsFeatHdtOutBlock =
343 IDS_INIT_EARLY_BEFORE,
348 CONST IDS_FEAT_STRUCT ROMDATA IdsFeatHtSettingBlock =
357 CONST IDS_FEAT_STRUCT* ROMDATA IdsCommonFeats[] =
360 &IdsFeatPowerPolicyBlock,
362 &IdsFeatTargetPstateBlock,
364 &IdsFeatPostPstateBlock,
366 OPTION_IDS_FEAT_ECCSYMBOLSIZE
368 OPTION_IDS_FEAT_ECCCTRL
370 &IdsFeatDctAllMemClkBlock,
372 &IdsFeatDctGangModeBlock,
374 &IdsFeatDctBurstLengthBlock,
376 &IdsFeatDctPowerDownCtrlBlock,
378 &IdsFeatDctPowerDownModeBlock,
380 &IdsFeatDctPowerDownModeBlock,
382 OPTION_IDS_FEAT_HT_ASSIST
386 &IdsFeatHtSettingBlock,
388 OPTION_IDS_FEAT_GNB_PLATFORMCFG
390 OPTION_IDS_FEAT_CPB_CTRL
392 OPTION_IDS_FEAT_HTC_CTRL
394 OPTION_IDS_FEAT_MEMORY_MAPPING
396 OPTION_IDS_EXTEND_FEATS
401 CONST IDS_FEAT_STRUCT* ROMDATA IdsCommonFeats[] =
405 #endif//IDSOPT_CONTROL_ENABLED
407 CONST IDS_FEAT_STRUCT* ROMDATA IdsCommonFeats[] =
411 #endif// IDSOPT_IDS_ENABLED