blob: 84fc4bd58e73097ed7e968d658dda94e36b417cd [file] [log] [blame]
zbao7d94cf92012-07-02 14:19:14 +08001/* $NoKeywords:$ */
2/**
3 * @file
4 *
5 * Install of build options for a combination of package type, processor, and features.
6 *
7 * This file generates the defaults tables for the all platform solution
8 * combinations. The documented build options are imported from a user
9 * controlled file for processing.
10 *
11 * @xrefitem bom "File Content Label" "Release Content"
12 * @e project: AGESA
13 * @e sub-project: Core
14 * @e \$Revision: 65065 $ @e \$Date: 2012-02-07 01:26:53 -0600 (Tue, 07 Feb 2012) $
15 */
16/*****************************************************************************
17 *
18 * Copyright 2008 - 2012 ADVANCED MICRO DEVICES, INC. All Rights Reserved.
19 *
20 * AMD is granting you permission to use this software (the Materials)
21 * pursuant to the terms and conditions of your Software License Agreement
22 * with AMD. This header does *NOT* give you permission to use the Materials
23 * or any rights under AMD's intellectual property. Your use of any portion
24 * of these Materials shall constitute your acceptance of those terms and
25 * conditions. If you do not agree to the terms and conditions of the Software
26 * License Agreement, please do not use any portion of these Materials.
27 *
28 * CONFIDENTIALITY: The Materials and all other information, identified as
29 * confidential and provided to you by AMD shall be kept confidential in
30 * accordance with the terms and conditions of the Software License Agreement.
31 *
32 * LIMITATION OF LIABILITY: THE MATERIALS AND ANY OTHER RELATED INFORMATION
33 * PROVIDED TO YOU BY AMD ARE PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED
34 * WARRANTY OF ANY KIND, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
35 * MERCHANTABILITY, NONINFRINGEMENT, TITLE, FITNESS FOR ANY PARTICULAR PURPOSE,
36 * OR WARRANTIES ARISING FROM CONDUCT, COURSE OF DEALING, OR USAGE OF TRADE.
37 * IN NO EVENT SHALL AMD OR ITS LICENSORS BE LIABLE FOR ANY DAMAGES WHATSOEVER
38 * (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS
39 * INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF AMD'S NEGLIGENCE,
40 * GROSS NEGLIGENCE, THE USE OF OR INABILITY TO USE THE MATERIALS OR ANY OTHER
41 * RELATED INFORMATION PROVIDED TO YOU BY AMD, EVEN IF AMD HAS BEEN ADVISED OF
42 * THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME JURISDICTIONS PROHIBIT THE
43 * EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES,
44 * THE ABOVE LIMITATION MAY NOT APPLY TO YOU.
45 *
46 * AMD does not assume any responsibility for any errors which may appear in
47 * the Materials or any other related information provided to you by AMD, or
48 * result from use of the Materials or any related information.
49 *
50 * You agree that you will not reverse engineer or decompile the Materials.
51 *
52 * NO SUPPORT OBLIGATION: AMD is not obligated to furnish, support, or make any
53 * further information, software, technical information, know-how, or show-how
54 * available to you. Additionally, AMD retains the right to modify the
55 * Materials at any time, without notice, and is not obligated to provide such
56 * modified Materials to you.
57 *
58 * U.S. GOVERNMENT RESTRICTED RIGHTS: The Materials are provided with
59 * "RESTRICTED RIGHTS." Use, duplication, or disclosure by the Government is
60 * subject to the restrictions as set forth in FAR 52.227-14 and
61 * DFAR252.227-7013, et seq., or its successor. Use of the Materials by the
62 * Government constitutes acknowledgement of AMD's proprietary rights in them.
63 *
64 * EXPORT ASSURANCE: You agree and certify that neither the Materials, nor any
65 * direct product thereof will be exported directly or indirectly, into any
66 * country prohibited by the United States Export Administration Act and the
67 * regulations thereunder, without the required authorization from the U.S.
68 * government nor will be used for any purpose prohibited by the same.
69 *
70 ***************************************************************************/
71
72/*****************************************************************************
73 *
74 * Start processing the user options: First, set default settings
75 *
76 ****************************************************************************/
77
78/* Available options for image builds.
79 *
80 * As part of the image build for each image, define the options below to select the
81 * AGESA entry points included in that image. Turn these on in your option c file, not
82 * here.
83 */
84// #define AGESA_ENTRY_INIT_RESET TRUE
85// #define AGESA_ENTRY_INIT_RECOVERY TRUE
86// #define AGESA_ENTRY_INIT_EARLY TRUE
87// #define AGESA_ENTRY_INIT_POST TRUE
88// #define AGESA_ENTRY_INIT_ENV TRUE
89// #define AGESA_ENTRY_INIT_MID TRUE
90// #define AGESA_ENTRY_INIT_LATE TRUE
91// #define AGESA_ENTRY_INIT_S3SAVE TRUE
92// #define AGESA_ENTRY_INIT_RESUME TRUE
93// #define AGESA_ENTRY_INIT_LATE_RESTORE TRUE
94// #define AGESA_ENTRY_INIT_GENERAL_SERVICES TRUE
95
96/* Defaults for private/internal build control settings */
97/* Available options for image builds.
98 *
99 * As part of the image build for each image, define the options below to select the
100 * AGESA entry points included in that image.
101 */
102
103VOLATILE AMD_MODULE_HEADER mCpuModuleID = {
104 //ModuleHeaderSignature
105 // Remove 'DOM$' as temp solution before update BinUtil.exe ,
106 Int32FromChar ('0', '0', '0', '0'),
107 //ModuleIdentifier[8]
108 AGESA_ID,
109 //ModuleVersion[12]
110 AGESA_VERSION_STRING,
111 //ModuleDispatcher
112 NULL,//(VOID *)(UINT64)((MODULE_ENTRY)AmdAgesaDispatcher),
113 //NextBlock
114 NULL
115};
116
117/* Process user desired AGESA entry points */
118#ifndef AGESA_ENTRY_INIT_RESET
119 #define AGESA_ENTRY_INIT_RESET FALSE
120#endif
121
122#ifndef AGESA_ENTRY_INIT_RECOVERY
123 #define AGESA_ENTRY_INIT_RECOVERY FALSE
124#endif
125
126#ifndef AGESA_ENTRY_INIT_EARLY
127 #define AGESA_ENTRY_INIT_EARLY FALSE
128#endif
129
130#ifndef AGESA_ENTRY_INIT_POST
131 #define AGESA_ENTRY_INIT_POST FALSE
132#endif
133
134#ifndef AGESA_ENTRY_INIT_ENV
135 #define AGESA_ENTRY_INIT_ENV FALSE
136#endif
137
138#ifndef AGESA_ENTRY_INIT_MID
139 #define AGESA_ENTRY_INIT_MID FALSE
140#endif
141
142#ifndef AGESA_ENTRY_INIT_LATE
143 #define AGESA_ENTRY_INIT_LATE FALSE
144#endif
145
146#ifndef AGESA_ENTRY_INIT_S3SAVE
147 #define AGESA_ENTRY_INIT_S3SAVE FALSE
148#endif
149
150#ifndef AGESA_ENTRY_INIT_RESUME
151 #define AGESA_ENTRY_INIT_RESUME FALSE
152#endif
153
154#ifndef AGESA_ENTRY_INIT_LATE_RESTORE
155 #define AGESA_ENTRY_INIT_LATE_RESTORE FALSE
156#endif
157
158#ifndef AGESA_ENTRY_INIT_GENERAL_SERVICES
159 #define AGESA_ENTRY_INIT_GENERAL_SERVICES FALSE
160#endif
161
162/* Default the late AP entry point to off. It can be enabled
163 by any family that may need the late AP functionality, or
164 by any feature code that may need it. The IBVs no longer
165 have control over this entry point. */
166#ifdef AGESA_ENTRY_LATE_RUN_AP_TASK
167 #undef AGESA_ENTRY_LATE_RUN_AP_TASK
168#endif
169#define AGESA_ENTRY_LATE_RUN_AP_TASK FALSE
170
171
172
173/* Process solution defined socket / family installations
174 *
175 * As part of the release package for each image, define the options below to select the
176 * AGESA processor support included in that image.
177 */
178
179/* Default sockets to off */
180#define OPTION_G34_SOCKET_SUPPORT FALSE
181#define OPTION_C32_SOCKET_SUPPORT FALSE
182#define OPTION_S1G3_SOCKET_SUPPORT FALSE
183#define OPTION_S1G4_SOCKET_SUPPORT FALSE
184#define OPTION_ASB2_SOCKET_SUPPORT FALSE
185#define OPTION_FS1_SOCKET_SUPPORT FALSE
186#define OPTION_FM1_SOCKET_SUPPORT FALSE
187#define OPTION_FM2_SOCKET_SUPPORT FALSE
188#define OPTION_FP1_SOCKET_SUPPORT FALSE
189#define OPTION_FP2_SOCKET_SUPPORT FALSE
190#define OPTION_FT1_SOCKET_SUPPORT FALSE
191#define OPTION_AM3_SOCKET_SUPPORT FALSE
192
193/* Default families to off */
194#define OPTION_FAMILY10H FALSE
195#define OPTION_FAMILY12H FALSE
196#define OPTION_FAMILY14H FALSE
197#define OPTION_FAMILY15H FALSE
198#define OPTION_FAMILY15H_MODEL_0x FALSE
199#define OPTION_FAMILY15H_MODEL_1x FALSE
200
201
202/* Enable the appropriate socket support */
203#ifdef INSTALL_G34_SOCKET_SUPPORT
204 #if INSTALL_G34_SOCKET_SUPPORT == TRUE
205 #undef OPTION_G34_SOCKET_SUPPORT
206 #define OPTION_G34_SOCKET_SUPPORT TRUE
207 #endif
208#endif
209
210#ifdef INSTALL_C32_SOCKET_SUPPORT
211 #if INSTALL_C32_SOCKET_SUPPORT == TRUE
212 #undef OPTION_C32_SOCKET_SUPPORT
213 #define OPTION_C32_SOCKET_SUPPORT TRUE
214 #endif
215#endif
216
217#ifdef INSTALL_S1G3_SOCKET_SUPPORT
218 #if INSTALL_S1G3_SOCKET_SUPPORT == TRUE
219 #undef OPTION_S1G3_SOCKET_SUPPORT
220 #define OPTION_S1G3_SOCKET_SUPPORT TRUE
221 #endif
222#endif
223
224#ifdef INSTALL_S1G4_SOCKET_SUPPORT
225 #if INSTALL_S1G4_SOCKET_SUPPORT == TRUE
226 #undef OPTION_S1G4_SOCKET_SUPPORT
227 #define OPTION_S1G4_SOCKET_SUPPORT TRUE
228 #endif
229#endif
230
231#ifdef INSTALL_ASB2_SOCKET_SUPPORT
232 #if INSTALL_ASB2_SOCKET_SUPPORT == TRUE
233 #undef OPTION_ASB2_SOCKET_SUPPORT
234 #define OPTION_ASB2_SOCKET_SUPPORT TRUE
235 #endif
236#endif
237
238#ifdef INSTALL_FS1_SOCKET_SUPPORT
239 #if INSTALL_FS1_SOCKET_SUPPORT == TRUE
240 #undef OPTION_FS1_SOCKET_SUPPORT
241 #define OPTION_FS1_SOCKET_SUPPORT TRUE
242 #endif
243#endif
244
245
246#ifdef INSTALL_FM1_SOCKET_SUPPORT
247 #if INSTALL_FM1_SOCKET_SUPPORT == TRUE
248 #undef OPTION_FM1_SOCKET_SUPPORT
249 #define OPTION_FM1_SOCKET_SUPPORT TRUE
250 #endif
251#endif
252
253#ifdef INSTALL_FM2_SOCKET_SUPPORT
254 #if INSTALL_FM2_SOCKET_SUPPORT == TRUE
255 #undef OPTION_FM2_SOCKET_SUPPORT
256 #define OPTION_FM2_SOCKET_SUPPORT TRUE
257 #endif
258#endif
259
260
261#ifdef INSTALL_FP1_SOCKET_SUPPORT
262 #if INSTALL_FP1_SOCKET_SUPPORT == TRUE
263 #undef OPTION_FP1_SOCKET_SUPPORT
264 #define OPTION_FP1_SOCKET_SUPPORT TRUE
265 #endif
266#endif
267
268#ifdef INSTALL_FP2_SOCKET_SUPPORT
269 #if INSTALL_FP2_SOCKET_SUPPORT == TRUE
270 #undef OPTION_FP2_SOCKET_SUPPORT
271 #define OPTION_FP2_SOCKET_SUPPORT TRUE
272 #endif
273#endif
274
275#ifdef INSTALL_FT1_SOCKET_SUPPORT
276 #if INSTALL_FT1_SOCKET_SUPPORT == TRUE
277 #undef OPTION_FT1_SOCKET_SUPPORT
278 #define OPTION_FT1_SOCKET_SUPPORT TRUE
279 #endif
280#endif
281
282
283#ifdef INSTALL_AM3_SOCKET_SUPPORT
284 #if INSTALL_AM3_SOCKET_SUPPORT == TRUE
285 #undef OPTION_AM3_SOCKET_SUPPORT
286 #define OPTION_AM3_SOCKET_SUPPORT TRUE
287 #endif
288#endif
289
290
291/* Enable the appropriate family support */
292// F10 is supported in G34, C32, S1g4, ASB2, S1g3, & AM3
293#ifdef INSTALL_FAMILY_10_SUPPORT
294 #if INSTALL_FAMILY_10_SUPPORT == TRUE
295 #undef OPTION_FAMILY10H
296 #define OPTION_FAMILY10H TRUE
297 #endif
298#endif
299
300// F12 is supported in FP1, FS1, & FM1
301#ifdef INSTALL_FAMILY_12_SUPPORT
302 #if INSTALL_FAMILY_12_SUPPORT == TRUE
303 #undef OPTION_FAMILY12H
304 #define OPTION_FAMILY12H TRUE
305 #endif
306#endif
307
308#ifdef INSTALL_FAMILY_14_SUPPORT
309 #if INSTALL_FAMILY_14_SUPPORT == TRUE
310 #undef OPTION_FAMILY14H
311 #define OPTION_FAMILY14H TRUE
312 #endif
313#endif
314
315// F15_0x is supported in G34, C32, & AM3
316#ifdef INSTALL_FAMILY_15_MODEL_0x_SUPPORT
317 #if INSTALL_FAMILY_15_MODEL_0x_SUPPORT == TRUE
318 #undef OPTION_FAMILY15H
319 #define OPTION_FAMILY15H TRUE
320 #undef OPTION_FAMILY15H_MODEL_0x
321 #define OPTION_FAMILY15H_MODEL_0x TRUE
322 #endif
323#endif
324
325// F15_1x is supported in FS1r2, FM2, & FP2
326#ifdef INSTALL_FAMILY_15_MODEL_1x_SUPPORT
327 #if INSTALL_FAMILY_15_MODEL_1x_SUPPORT == TRUE
328 #undef OPTION_FAMILY15H
329 #define OPTION_FAMILY15H TRUE
330 #undef OPTION_FAMILY15H_MODEL_1x
331 #define OPTION_FAMILY15H_MODEL_1x TRUE
332 #endif
333#endif
334
335
336/* Turn off families not required by socket designations */
337#if (OPTION_FAMILY10H == TRUE)
338 #if (OPTION_G34_SOCKET_SUPPORT == FALSE) && (OPTION_C32_SOCKET_SUPPORT == FALSE) && (OPTION_S1G3_SOCKET_SUPPORT == FALSE) && (OPTION_S1G4_SOCKET_SUPPORT == FALSE) && (OPTION_ASB2_SOCKET_SUPPORT == FALSE) && (OPTION_AM3_SOCKET_SUPPORT == FALSE)
339 #undef OPTION_FAMILY10H
340 #define OPTION_FAMILY10H FALSE
341 #endif
342#endif
343
344#if (OPTION_FAMILY12H == TRUE)
345 #if (OPTION_FS1_SOCKET_SUPPORT == FALSE) && (OPTION_FM1_SOCKET_SUPPORT == FALSE) && (OPTION_FP1_SOCKET_SUPPORT == FALSE)
346 #undef OPTION_FAMILY12H
347 #define OPTION_FAMILY12H FALSE
348 #endif
349#endif
350
351#if (OPTION_FAMILY14H == TRUE)
352 #if (OPTION_FT1_SOCKET_SUPPORT == FALSE)
353 #undef OPTION_FAMILY14H
354 #define OPTION_FAMILY14H FALSE
355 #endif
356#endif
357
358#if (OPTION_FAMILY15H_MODEL_0x == TRUE)
359 #if (OPTION_G34_SOCKET_SUPPORT == FALSE) && (OPTION_C32_SOCKET_SUPPORT == FALSE) && (OPTION_AM3_SOCKET_SUPPORT == FALSE)
360 #undef OPTION_FAMILY15H_MODEL_0x
361 #define OPTION_FAMILY15H_MODEL_0x FALSE
362 #endif
363#endif
364
365#if (OPTION_FAMILY15H_MODEL_1x == TRUE)
366 #if (OPTION_FS1_SOCKET_SUPPORT == FALSE) && (OPTION_FM2_SOCKET_SUPPORT == FALSE) && (OPTION_FP2_SOCKET_SUPPORT == FALSE)
367 #undef OPTION_FAMILY15H_MODEL_1x
368 #define OPTION_FAMILY15H_MODEL_1x FALSE
369 #endif
370#endif
371
372
373#if (OPTION_FAMILY15H_MODEL_0x == FALSE) && (OPTION_FAMILY15H_MODEL_1x == FALSE)
374 #undef OPTION_FAMILY15H
375 #define OPTION_FAMILY15H FALSE
376#endif
377
378
379/* Check for invalid combinations of socket/family */
380#if (OPTION_G34_SOCKET_SUPPORT == TRUE)
381 #if (OPTION_FAMILY10H == FALSE) && (OPTION_FAMILY15H_MODEL_0x == FALSE)
382 #error No G34 supported families included in the build
383 #endif
384#endif
385
386#if (OPTION_C32_SOCKET_SUPPORT == TRUE)
387 #if (OPTION_FAMILY10H == FALSE) && (OPTION_FAMILY15H_MODEL_0x == FALSE)
388 #error No C32 supported families included in the build
389 #endif
390#endif
391
392#if (OPTION_S1G3_SOCKET_SUPPORT == TRUE)
393 #if (OPTION_FAMILY10H == FALSE)
394 #error No S1G3 supported families included in the build
395 #endif
396#endif
397
398#if (OPTION_S1G4_SOCKET_SUPPORT == TRUE)
399 #if (OPTION_FAMILY10H == FALSE)
400 #error No S1G4 supported families included in the build
401 #endif
402#endif
403
404#if (OPTION_ASB2_SOCKET_SUPPORT == TRUE)
405 #if (OPTION_FAMILY10H == FALSE)
406 #error No ASB2 supported families included in the build
407 #endif
408#endif
409
410#if (OPTION_FS1_SOCKET_SUPPORT == TRUE)
411 #if (OPTION_FAMILY12H == FALSE) && (OPTION_FAMILY15H_MODEL_1x == FALSE)
412 #error No FS1 supported families included in the build
413 #endif
414#endif
415
416
417#if (OPTION_FM1_SOCKET_SUPPORT == TRUE)
418 #if (OPTION_FAMILY12H == FALSE)
419 #error No FM1 supported families included in the build
420 #endif
421#endif
422
423#if (OPTION_FM2_SOCKET_SUPPORT == TRUE)
424 #if (OPTION_FAMILY15H_MODEL_1x == FALSE)
425 #error No FM2 supported families included in the build
426 #endif
427#endif
428
429
430#if (OPTION_FP1_SOCKET_SUPPORT == TRUE)
431 #if (OPTION_FAMILY12H == FALSE)
432 #error No FP1 supported families included in the build
433 #endif
434#endif
435
436#if (OPTION_FP2_SOCKET_SUPPORT == TRUE)
437 #if (OPTION_FAMILY15H_MODEL_1x == FALSE)
438 #error No FP2 supported families included in the build
439 #endif
440#endif
441
442#if (OPTION_FT1_SOCKET_SUPPORT == TRUE)
443 #if (OPTION_FAMILY14H == FALSE)
444 #error No FT1 supported families included in the build
445 #endif
446#endif
447
448
449#if (OPTION_AM3_SOCKET_SUPPORT == TRUE)
450 #if (OPTION_FAMILY10H == FALSE) && (OPTION_FAMILY15H_MODEL_0x == FALSE)
451 #error No AM3 supported families included in the build
452 #endif
453#endif
454
455
456/* Process AGESA private data
457 *
458 * Turn on appropriate CPU models and memory controllers,
459 * as well as some other memory controls.
460 */
461
462/* Default all models to off */
463#define OPTION_FAMILY10H_BL FALSE
464#define OPTION_FAMILY10H_DA FALSE
465#define OPTION_FAMILY10H_HY FALSE
466#define OPTION_FAMILY10H_PH FALSE
467#define OPTION_FAMILY10H_RB FALSE
468#define OPTION_FAMILY12H_LN FALSE
469#define OPTION_FAMILY14H_ON FALSE
470#define OPTION_FAMILY15H_OR FALSE
471#define OPTION_FAMILY15H_TN FALSE
472#define OPTION_FAMILY15H_UNKNOWN FALSE
473
474/* Default all memory controllers to off */
475#define OPTION_MEMCTLR_DR FALSE
476#define OPTION_MEMCTLR_HY FALSE
477#define OPTION_MEMCTLR_OR FALSE
478#define OPTION_MEMCTLR_C32 FALSE
479#define OPTION_MEMCTLR_DA FALSE
480#define OPTION_MEMCTLR_LN FALSE
481#define OPTION_MEMCTLR_ON FALSE
482#define OPTION_MEMCTLR_Ni FALSE
483#define OPTION_MEMCTLR_PH FALSE
484#define OPTION_MEMCTLR_RB FALSE
485#define OPTION_MEMCTLR_TN FALSE
486
487/* Default all memory controls to off */
488#define OPTION_HW_WRITE_LEV_TRAINING FALSE
489#define OPTION_SW_WRITE_LEV_TRAINING FALSE
490#define OPTION_CONTINOUS_PATTERN_GENERATION FALSE
491#define OPTION_HW_DQS_REC_EN_TRAINING FALSE
492#define OPTION_NON_OPT_SW_DQS_REC_EN_TRAINING FALSE
493#define OPTION_OPT_SW_DQS_REC_EN_TRAINING FALSE
494#define OPTION_NON_OPT_SW_RD_WR_POS_TRAINING FALSE
495#define OPTION_OPT_SW_RD_WR_POS_TRAINING FALSE
496#define OPTION_MAX_RD_LAT_TRAINING FALSE
497#define OPTION_HW_DRAM_INIT FALSE
498#define OPTION_SW_DRAM_INIT FALSE
499#define OPTION_S3_MEM_SUPPORT FALSE
500#define OPTION_ADDR_TO_CS_TRANSLATOR FALSE
501#define OPTION_HW_DQS_REC_EN_SEED_TRAINING FALSE
502#define OPTION_PRE_MEM_INIT FALSE
503#define OPTION_POST_MEM_INIT FALSE
504
505/* Defaults for public user options */
506#define OPTION_UDIMMS FALSE
507#define OPTION_RDIMMS FALSE
508#define OPTION_SODIMMS FALSE
509#define OPTION_LRDIMMS FALSE
510#define OPTION_DDR2 FALSE
511#define OPTION_DDR3 FALSE
512#define OPTION_ECC FALSE
513#define OPTION_BANK_INTERLEAVE FALSE
514#define OPTION_DCT_INTERLEAVE FALSE
515#define OPTION_NODE_INTERLEAVE FALSE
516#define OPTION_PARALLEL_TRAINING FALSE
517#define OPTION_ONLINE_SPARE FALSE
518#define OPTION_MEM_RESTORE FALSE
519#define OPTION_DIMM_EXCLUDE FALSE
520
521/* Default all CPU controls to off */
522#define OPTION_MULTISOCKET FALSE
523#define OPTION_SRAT FALSE
524#define OPTION_SLIT FALSE
525#define OPTION_HT_ASSIST FALSE
526#define OPTION_ATM_MODE FALSE
527#define OPTION_CPU_CORELEVLING FALSE
528#define OPTION_MSG_BASED_C1E FALSE
529#define OPTION_CPU_CFOH FALSE
530#define OPTION_C6_STATE FALSE
531#define OPTION_IO_CSTATE FALSE
532#define OPTION_CPB FALSE
533#define OPTION_CPU_LOW_PWR_PSTATE_FOR_PROCHOT FALSE
534#define OPTION_CPU_PSTATE_HPC_MODE FALSE
535#define OPTION_CPU_APM FALSE
536#define OPTION_CPU_PSI FALSE
537#define OPTION_CPU_HTC FALSE
538#define OPTION_S3SCRIPT FALSE
539#define OPTION_GFX_RECOVERY FALSE
540
541/* Default FCH controls to off */
542#define FCH_SUPPORT FALSE
543
544/* Enable all private controls based on socket/family enables */
545#if (OPTION_G34_SOCKET_SUPPORT == TRUE)
546 #if (OPTION_FAMILY10H == TRUE)
547 #undef OPTION_FAMILY10H_HY
548 #define OPTION_FAMILY10H_HY TRUE
549 #undef OPTION_MEMCTLR_HY
550 #define OPTION_MEMCTLR_HY TRUE
551 #undef OPTION_HW_WRITE_LEV_TRAINING
552 #define OPTION_HW_WRITE_LEV_TRAINING TRUE
553 #undef OPTION_OPT_SW_DQS_REC_EN_TRAINING
554 #define OPTION_OPT_SW_DQS_REC_EN_TRAINING TRUE
555 #undef OPTION_OPT_SW_RD_WR_POS_TRAINING
556 #define OPTION_OPT_SW_RD_WR_POS_TRAINING TRUE
557 #undef OPTION_MAX_RD_LAT_TRAINING
558 #define OPTION_MAX_RD_LAT_TRAINING TRUE
559 #undef OPTION_SW_DRAM_INIT
560 #define OPTION_SW_DRAM_INIT TRUE
561 #undef OPTION_S3_MEM_SUPPORT
562 #define OPTION_S3_MEM_SUPPORT TRUE
563 #undef OPTION_MULTISOCKET
564 #define OPTION_MULTISOCKET TRUE
565 #undef OPTION_SRAT
566 #define OPTION_SRAT TRUE
567 #undef OPTION_SLIT
568 #define OPTION_SLIT TRUE
569 #undef OPTION_HT_ASSIST
570 #define OPTION_HT_ASSIST TRUE
571 #undef OPTION_CPU_CORELEVLING
572 #define OPTION_CPU_CORELEVLING TRUE
573 #undef OPTION_MSG_BASED_C1E
574 #define OPTION_MSG_BASED_C1E TRUE
575 #undef OPTION_CPU_CFOH
576 #define OPTION_CPU_CFOH TRUE
577 #undef OPTION_UDIMMS
578 #define OPTION_UDIMMS TRUE
579 #undef OPTION_RDIMMS
580 #define OPTION_RDIMMS TRUE
581 #undef OPTION_SODIMMS
582 #define OPTION_SODIMMS TRUE
583 #undef OPTION_DDR3
584 #define OPTION_DDR3 TRUE
585 #undef OPTION_ECC
586 #define OPTION_ECC TRUE
587 #undef OPTION_BANK_INTERLEAVE
588 #define OPTION_BANK_INTERLEAVE TRUE
589 #undef OPTION_DCT_INTERLEAVE
590 #define OPTION_DCT_INTERLEAVE TRUE
591 #undef OPTION_NODE_INTERLEAVE
592 #define OPTION_NODE_INTERLEAVE TRUE
593 #undef OPTION_PARALLEL_TRAINING
594 #define OPTION_PARALLEL_TRAINING TRUE
595 #undef OPTION_MEM_RESTORE
596 #define OPTION_MEM_RESTORE TRUE
597 #undef OPTION_ONLINE_SPARE
598 #define OPTION_ONLINE_SPARE TRUE
599 #undef OPTION_DIMM_EXCLUDE
600 #define OPTION_DIMM_EXCLUDE TRUE
601 #endif
602 #if (OPTION_FAMILY15H_MODEL_0x == TRUE)
603 #undef OPTION_FAMILY15H_OR
604 #define OPTION_FAMILY15H_OR TRUE
605 #undef OPTION_FAMILY15H_UNKNOWN
606 #define OPTION_FAMILY15H_UNKNOWN TRUE
607 #undef OPTION_MEMCTLR_OR
608 #define OPTION_MEMCTLR_OR TRUE
609 #undef OPTION_HW_WRITE_LEV_TRAINING
610 #define OPTION_HW_WRITE_LEV_TRAINING TRUE
611 #undef OPTION_CONTINOUS_PATTERN_GENERATION
612 #define OPTION_CONTINOUS_PATTERN_GENERATION TRUE
613 #undef OPTION_HW_DQS_REC_EN_TRAINING
614 #define OPTION_HW_DQS_REC_EN_TRAINING TRUE
615 #undef OPTION_HW_DQS_REC_EN_SEED_TRAINING
616 #define OPTION_HW_DQS_REC_EN_SEED_TRAINING TRUE
617 #undef OPTION_OPT_SW_DQS_REC_EN_TRAINING
618 #define OPTION_OPT_SW_DQS_REC_EN_TRAINING TRUE
619 #undef OPTION_OPT_SW_RD_WR_POS_TRAINING
620 #define OPTION_OPT_SW_RD_WR_POS_TRAINING TRUE
621 #undef OPTION_MAX_RD_LAT_TRAINING
622 #define OPTION_MAX_RD_LAT_TRAINING TRUE
623 #undef OPTION_SW_DRAM_INIT
624 #define OPTION_SW_DRAM_INIT TRUE
625 #undef OPTION_S3_MEM_SUPPORT
626 #define OPTION_S3_MEM_SUPPORT TRUE
627 #undef OPTION_MULTISOCKET
628 #define OPTION_MULTISOCKET TRUE
629 #undef OPTION_C6_STATE
630 #define OPTION_C6_STATE TRUE
631 #undef OPTION_IO_CSTATE
632 #define OPTION_IO_CSTATE TRUE
633 #undef OPTION_CPB
634 #define OPTION_CPB TRUE
635 #undef OPTION_CPU_LOW_PWR_PSTATE_FOR_PROCHOT
636 #define OPTION_CPU_LOW_PWR_PSTATE_FOR_PROCHOT TRUE
637 #undef OPTION_CPU_APM
638 #define OPTION_CPU_APM TRUE
639 #undef OPTION_SRAT
640 #define OPTION_SRAT TRUE
641 #undef OPTION_SLIT
642 #define OPTION_SLIT TRUE
643 #undef OPTION_HT_ASSIST
644 #define OPTION_HT_ASSIST TRUE
645 #undef OPTION_ATM_MODE
646 #define OPTION_ATM_MODE TRUE
647 #undef OPTION_CPU_CORELEVLING
648 #define OPTION_CPU_CORELEVLING TRUE
649 #undef OPTION_MSG_BASED_C1E
650 #define OPTION_MSG_BASED_C1E TRUE
651 #undef OPTION_CPU_CFOH
652 #define OPTION_CPU_CFOH TRUE
653 #undef OPTION_UDIMMS
654 #define OPTION_UDIMMS TRUE
655 #undef OPTION_RDIMMS
656 #define OPTION_RDIMMS TRUE
657 #undef OPTION_SODIMMS
658 #define OPTION_SODIMMS TRUE
659 #undef OPTION_LRDIMMS
660 #define OPTION_LRDIMMS TRUE
661 #undef OPTION_DDR3
662 #define OPTION_DDR3 TRUE
663 #undef OPTION_ECC
664 #define OPTION_ECC TRUE
665 #undef OPTION_BANK_INTERLEAVE
666 #define OPTION_BANK_INTERLEAVE TRUE
667 #undef OPTION_DCT_INTERLEAVE
668 #define OPTION_DCT_INTERLEAVE TRUE
669 #undef OPTION_NODE_INTERLEAVE
670 #define OPTION_NODE_INTERLEAVE TRUE
671 #undef OPTION_MEM_RESTORE
672 #define OPTION_MEM_RESTORE TRUE
673 #undef OPTION_ONLINE_SPARE
674 #define OPTION_ONLINE_SPARE TRUE
675 #undef OPTION_DIMM_EXCLUDE
676 #define OPTION_DIMM_EXCLUDE TRUE
677 #endif
678#endif
679
680#if (OPTION_C32_SOCKET_SUPPORT == TRUE)
681 #if (OPTION_FAMILY10H == TRUE)
682 #undef OPTION_FAMILY10H_HY
683 #define OPTION_FAMILY10H_HY TRUE
684 #undef OPTION_MEMCTLR_C32
685 #define OPTION_MEMCTLR_C32 TRUE
686 #undef OPTION_HW_WRITE_LEV_TRAINING
687 #define OPTION_HW_WRITE_LEV_TRAINING TRUE
688 #undef OPTION_OPT_SW_DQS_REC_EN_TRAINING
689 #define OPTION_OPT_SW_DQS_REC_EN_TRAINING TRUE
690 #undef OPTION_OPT_SW_RD_WR_POS_TRAINING
691 #define OPTION_OPT_SW_RD_WR_POS_TRAINING TRUE
692 #undef OPTION_MAX_RD_LAT_TRAINING
693 #define OPTION_MAX_RD_LAT_TRAINING TRUE
694 #undef OPTION_SW_DRAM_INIT
695 #define OPTION_SW_DRAM_INIT TRUE
696 #undef OPTION_S3_MEM_SUPPORT
697 #define OPTION_S3_MEM_SUPPORT TRUE
698 #undef OPTION_ADDR_TO_CS_TRANSLATOR
699 #define OPTION_ADDR_TO_CS_TRANSLATOR FALSE
700 #undef OPTION_MULTISOCKET
701 #define OPTION_MULTISOCKET TRUE
702 #undef OPTION_SRAT
703 #define OPTION_SRAT TRUE
704 #undef OPTION_SLIT
705 #define OPTION_SLIT TRUE
706 #undef OPTION_HT_ASSIST
707 #define OPTION_HT_ASSIST TRUE
708 #undef OPTION_CPU_CORELEVLING
709 #define OPTION_CPU_CORELEVLING TRUE
710 #undef OPTION_MSG_BASED_C1E
711 #define OPTION_MSG_BASED_C1E TRUE
712 #undef OPTION_CPU_CFOH
713 #define OPTION_CPU_CFOH TRUE
714 #undef OPTION_UDIMMS
715 #define OPTION_UDIMMS TRUE
716 #undef OPTION_RDIMMS
717 #define OPTION_RDIMMS TRUE
718 #undef OPTION_SODIMMS
719 #define OPTION_SODIMMS TRUE
720 #undef OPTION_DDR3
721 #define OPTION_DDR3 TRUE
722 #undef OPTION_ECC
723 #define OPTION_ECC TRUE
724 #undef OPTION_BANK_INTERLEAVE
725 #define OPTION_BANK_INTERLEAVE TRUE
726 #undef OPTION_DCT_INTERLEAVE
727 #define OPTION_DCT_INTERLEAVE TRUE
728 #undef OPTION_NODE_INTERLEAVE
729 #define OPTION_NODE_INTERLEAVE TRUE
730 #undef OPTION_PARALLEL_TRAINING
731 #define OPTION_PARALLEL_TRAINING TRUE
732 #undef OPTION_MEM_RESTORE
733 #define OPTION_MEM_RESTORE TRUE
734 #undef OPTION_ONLINE_SPARE
735 #define OPTION_ONLINE_SPARE TRUE
736 #undef OPTION_DIMM_EXCLUDE
737 #define OPTION_DIMM_EXCLUDE TRUE
738 #endif
739 #if (OPTION_FAMILY15H_MODEL_0x == TRUE)
740 #undef OPTION_FAMILY15H_OR
741 #define OPTION_FAMILY15H_OR TRUE
742 #undef OPTION_FAMILY15H_UNKNOWN
743 #define OPTION_FAMILY15H_UNKNOWN TRUE
744 #undef OPTION_MEMCTLR_OR
745 #define OPTION_MEMCTLR_OR TRUE
746 #undef OPTION_HW_WRITE_LEV_TRAINING
747 #define OPTION_HW_WRITE_LEV_TRAINING TRUE
748 #undef OPTION_CONTINOUS_PATTERN_GENERATION
749 #define OPTION_CONTINOUS_PATTERN_GENERATION TRUE
750 #undef OPTION_HW_DQS_REC_EN_TRAINING
751 #define OPTION_HW_DQS_REC_EN_TRAINING TRUE
752 #undef OPTION_HW_DQS_REC_EN_SEED_TRAINING
753 #define OPTION_HW_DQS_REC_EN_SEED_TRAINING TRUE
754 #undef OPTION_OPT_SW_DQS_REC_EN_TRAINING
755 #define OPTION_OPT_SW_DQS_REC_EN_TRAINING TRUE
756 #undef OPTION_OPT_SW_RD_WR_POS_TRAINING
757 #define OPTION_OPT_SW_RD_WR_POS_TRAINING TRUE
758 #undef OPTION_MAX_RD_LAT_TRAINING
759 #define OPTION_MAX_RD_LAT_TRAINING TRUE
760 #undef OPTION_SW_DRAM_INIT
761 #define OPTION_SW_DRAM_INIT TRUE
762 #undef OPTION_S3_MEM_SUPPORT
763 #define OPTION_S3_MEM_SUPPORT TRUE
764 #undef OPTION_ADDR_TO_CS_TRANSLATOR
765 #define OPTION_ADDR_TO_CS_TRANSLATOR TRUE
766 #undef OPTION_MULTISOCKET
767 #define OPTION_MULTISOCKET TRUE
768 #undef OPTION_C6_STATE
769 #define OPTION_C6_STATE TRUE
770 #undef OPTION_IO_CSTATE
771 #define OPTION_IO_CSTATE TRUE
772 #undef OPTION_CPB
773 #define OPTION_CPB TRUE
774 #undef OPTION_CPU_LOW_PWR_PSTATE_FOR_PROCHOT
775 #define OPTION_CPU_LOW_PWR_PSTATE_FOR_PROCHOT TRUE
776 #undef OPTION_CPU_APM
777 #define OPTION_CPU_APM TRUE
778 #undef OPTION_SRAT
779 #define OPTION_SRAT TRUE
780 #undef OPTION_SLIT
781 #define OPTION_SLIT TRUE
782 #undef OPTION_HT_ASSIST
783 #define OPTION_HT_ASSIST TRUE
784 #undef OPTION_ATM_MODE
785 #define OPTION_ATM_MODE TRUE
786 #undef OPTION_CPU_CORELEVLING
787 #define OPTION_CPU_CORELEVLING TRUE
788 #undef OPTION_MSG_BASED_C1E
789 #define OPTION_MSG_BASED_C1E TRUE
790 #undef OPTION_CPU_CFOH
791 #define OPTION_CPU_CFOH TRUE
792 #undef OPTION_UDIMMS
793 #define OPTION_UDIMMS TRUE
794 #undef OPTION_RDIMMS
795 #define OPTION_RDIMMS TRUE
796 #undef OPTION_SODIMMS
797 #define OPTION_SODIMMS TRUE
798 #undef OPTION_LRDIMMS
799 #define OPTION_LRDIMMS TRUE
800 #undef OPTION_DDR3
801 #define OPTION_DDR3 TRUE
802 #undef OPTION_ECC
803 #define OPTION_ECC TRUE
804 #undef OPTION_BANK_INTERLEAVE
805 #define OPTION_BANK_INTERLEAVE TRUE
806 #undef OPTION_DCT_INTERLEAVE
807 #define OPTION_DCT_INTERLEAVE TRUE
808 #undef OPTION_NODE_INTERLEAVE
809 #define OPTION_NODE_INTERLEAVE TRUE
810 #undef OPTION_MEM_RESTORE
811 #define OPTION_MEM_RESTORE TRUE
812 #undef OPTION_ONLINE_SPARE
813 #define OPTION_ONLINE_SPARE TRUE
814 #undef OPTION_DIMM_EXCLUDE
815 #define OPTION_DIMM_EXCLUDE TRUE
816 #endif
817#endif
818
819#if (OPTION_S1G3_SOCKET_SUPPORT == TRUE)
820 #if (OPTION_FAMILY10H == TRUE)
821 #undef OPTION_FAMILY10H_BL
822 #define OPTION_FAMILY10H_BL TRUE
823 #undef OPTION_FAMILY10H_DA
824 #define OPTION_FAMILY10H_DA TRUE
825 #undef OPTION_MEMCTLR_DA
826 #define OPTION_MEMCTLR_DA TRUE
827 #undef OPTION_HW_WRITE_LEV_TRAINING
828 #define OPTION_HW_WRITE_LEV_TRAINING TRUE
829 #undef OPTION_OPT_SW_DQS_REC_EN_TRAINING
830 #define OPTION_OPT_SW_DQS_REC_EN_TRAINING TRUE
831 #undef OPTION_OPT_SW_RD_WR_POS_TRAINING
832 #define OPTION_OPT_SW_RD_WR_POS_TRAINING TRUE
833 #undef OPTION_MAX_RD_LAT_TRAINING
834 #define OPTION_MAX_RD_LAT_TRAINING TRUE
835 #undef OPTION_SW_DRAM_INIT
836 #define OPTION_SW_DRAM_INIT TRUE
837 #undef OPTION_S3_MEM_SUPPORT
838 #define OPTION_S3_MEM_SUPPORT TRUE
839 #undef OPTION_CPU_CORELEVLING
840 #define OPTION_CPU_CORELEVLING TRUE
841 #undef OPTION_CPU_CFOH
842 #define OPTION_CPU_CFOH TRUE
843 #undef OPTION_UDIMMS
844 #define OPTION_UDIMMS TRUE
845 #undef OPTION_SODIMMS
846 #define OPTION_SODIMMS TRUE
847 #undef OPTION_DDR3
848 #define OPTION_DDR3 TRUE
849 #undef OPTION_ECC
850 #define OPTION_ECC TRUE
851 #undef OPTION_BANK_INTERLEAVE
852 #define OPTION_BANK_INTERLEAVE TRUE
853 #undef OPTION_DCT_INTERLEAVE
854 #define OPTION_DCT_INTERLEAVE TRUE
855 #undef OPTION_NODE_INTERLEAVE
856 #define OPTION_NODE_INTERLEAVE TRUE
857 #undef OPTION_PARALLEL_TRAINING
858 #define OPTION_PARALLEL_TRAINING TRUE
859 #undef OPTION_MEM_RESTORE
860 #define OPTION_MEM_RESTORE TRUE
861 #undef OPTION_ONLINE_SPARE
862 #define OPTION_ONLINE_SPARE TRUE
863 #undef OPTION_DIMM_EXCLUDE
864 #define OPTION_DIMM_EXCLUDE TRUE
865 #endif
866#endif
867
868#if (OPTION_S1G4_SOCKET_SUPPORT == TRUE)
869 #if (OPTION_FAMILY10H == TRUE)
870 #undef OPTION_FAMILY10H_BL
871 #define OPTION_FAMILY10H_BL TRUE
872 #undef OPTION_FAMILY10H_DA
873 #define OPTION_FAMILY10H_DA TRUE
874 #undef OPTION_MEMCTLR_DA
875 #define OPTION_MEMCTLR_DA TRUE
876 #undef OPTION_HW_WRITE_LEV_TRAINING
877 #define OPTION_HW_WRITE_LEV_TRAINING TRUE
878 #undef OPTION_OPT_SW_DQS_REC_EN_TRAINING
879 #define OPTION_OPT_SW_DQS_REC_EN_TRAINING TRUE
880 #undef OPTION_OPT_SW_RD_WR_POS_TRAINING
881 #define OPTION_OPT_SW_RD_WR_POS_TRAINING TRUE
882 #undef OPTION_MAX_RD_LAT_TRAINING
883 #define OPTION_MAX_RD_LAT_TRAINING TRUE
884 #undef OPTION_SW_DRAM_INIT
885 #define OPTION_SW_DRAM_INIT TRUE
886 #undef OPTION_S3_MEM_SUPPORT
887 #define OPTION_S3_MEM_SUPPORT TRUE
888 #undef OPTION_CPU_CORELEVLING
889 #define OPTION_CPU_CORELEVLING TRUE
890 #undef OPTION_CPU_CFOH
891 #define OPTION_CPU_CFOH TRUE
892 #undef OPTION_UDIMMS
893 #define OPTION_UDIMMS TRUE
894 #undef OPTION_SODIMMS
895 #define OPTION_SODIMMS TRUE
896 #undef OPTION_DDR3
897 #define OPTION_DDR3 TRUE
898 #undef OPTION_ECC
899 #define OPTION_ECC TRUE
900 #undef OPTION_BANK_INTERLEAVE
901 #define OPTION_BANK_INTERLEAVE TRUE
902 #undef OPTION_DCT_INTERLEAVE
903 #define OPTION_DCT_INTERLEAVE TRUE
904 #undef OPTION_NODE_INTERLEAVE
905 #define OPTION_NODE_INTERLEAVE TRUE
906 #undef OPTION_MEM_RESTORE
907 #define OPTION_MEM_RESTORE TRUE
908 #undef OPTION_DIMM_EXCLUDE
909 #define OPTION_DIMM_EXCLUDE TRUE
910 #endif
911#endif
912
913#if (OPTION_ASB2_SOCKET_SUPPORT == TRUE)
914 #if (OPTION_FAMILY10H == TRUE)
915 #undef OPTION_FAMILY10H_BL
916 #define OPTION_FAMILY10H_BL TRUE
917 #undef OPTION_FAMILY10H_DA
918 #define OPTION_FAMILY10H_DA TRUE
919 #undef OPTION_MEMCTLR_Ni
920 #define OPTION_MEMCTLR_Ni TRUE
921 #undef OPTION_HW_WRITE_LEV_TRAINING
922 #define OPTION_HW_WRITE_LEV_TRAINING TRUE
923 #undef OPTION_OPT_SW_DQS_REC_EN_TRAINING
924 #define OPTION_OPT_SW_DQS_REC_EN_TRAINING TRUE
925 #undef OPTION_OPT_SW_RD_WR_POS_TRAINING
926 #define OPTION_OPT_SW_RD_WR_POS_TRAINING TRUE
927 #undef OPTION_MAX_RD_LAT_TRAINING
928 #define OPTION_MAX_RD_LAT_TRAINING TRUE
929 #undef OPTION_SW_DRAM_INIT
930 #define OPTION_SW_DRAM_INIT TRUE
931 #undef OPTION_S3_MEM_SUPPORT
932 #define OPTION_S3_MEM_SUPPORT TRUE
933 #undef OPTION_CPU_CORELEVLING
934 #define OPTION_CPU_CORELEVLING TRUE
935 #undef OPTION_CPU_CFOH
936 #define OPTION_CPU_CFOH TRUE
937 #undef OPTION_UDIMMS
938 #define OPTION_UDIMMS TRUE
939 #undef OPTION_SODIMMS
940 #define OPTION_SODIMMS TRUE
941 #undef OPTION_DDR3
942 #define OPTION_DDR3 TRUE
943 #undef OPTION_ECC
944 #define OPTION_ECC TRUE
945 #undef OPTION_BANK_INTERLEAVE
946 #define OPTION_BANK_INTERLEAVE TRUE
947 #undef OPTION_DCT_INTERLEAVE
948 #define OPTION_DCT_INTERLEAVE TRUE
949 #undef OPTION_NODE_INTERLEAVE
950 #define OPTION_NODE_INTERLEAVE TRUE
951 #undef OPTION_MEM_RESTORE
952 #define OPTION_MEM_RESTORE TRUE
953 #undef OPTION_DIMM_EXCLUDE
954 #define OPTION_DIMM_EXCLUDE TRUE
955 #endif
956#endif
957
958#if (OPTION_FS1_SOCKET_SUPPORT == TRUE)
959 #if (OPTION_FAMILY12H == TRUE)
960 #undef OPTION_FAMILY12H_LN
961 #define OPTION_FAMILY12H_LN TRUE
962 #undef OPTION_MEMCTLR_LN
963 #define OPTION_MEMCTLR_LN TRUE
964 #undef OPTION_HW_WRITE_LEV_TRAINING
965 #define OPTION_HW_WRITE_LEV_TRAINING TRUE
966 #undef OPTION_CONTINOUS_PATTERN_GENERATION
967 #define OPTION_CONTINOUS_PATTERN_GENERATION TRUE
968 #undef OPTION_HW_DQS_REC_EN_TRAINING
969 #define OPTION_HW_DQS_REC_EN_TRAINING TRUE
970 #undef OPTION_HW_DQS_REC_EN_SEED_TRAINING
971 #define OPTION_HW_DQS_REC_EN_SEED_TRAINING TRUE
972 #undef OPTION_OPT_SW_RD_WR_POS_TRAINING
973 #define OPTION_OPT_SW_RD_WR_POS_TRAINING TRUE
974 #undef OPTION_MAX_RD_LAT_TRAINING
975 #define OPTION_MAX_RD_LAT_TRAINING TRUE
976 #undef OPTION_SW_DRAM_INIT
977 #define OPTION_SW_DRAM_INIT TRUE
978 #undef OPTION_S3_MEM_SUPPORT
979 #define OPTION_S3_MEM_SUPPORT TRUE
980 #undef OPTION_GFX_RECOVERY
981 #define OPTION_GFX_RECOVERY TRUE
982 #undef OPTION_C6_STATE
983 #define OPTION_C6_STATE TRUE
984 #undef OPTION_IO_CSTATE
985 #define OPTION_IO_CSTATE TRUE
986 #undef OPTION_CPB
987 #define OPTION_CPB TRUE
988 #undef OPTION_S3SCRIPT
989 #define OPTION_S3SCRIPT TRUE
990 #undef OPTION_UDIMMS
991 #define OPTION_UDIMMS TRUE
992 #undef OPTION_SODIMMS
993 #define OPTION_SODIMMS TRUE
994 #undef OPTION_DDR3
995 #define OPTION_DDR3 TRUE
996 #undef OPTION_BANK_INTERLEAVE
997 #define OPTION_BANK_INTERLEAVE TRUE
998 #undef OPTION_DCT_INTERLEAVE
999 #define OPTION_DCT_INTERLEAVE TRUE
1000 #undef OPTION_MEM_RESTORE
1001 #define OPTION_MEM_RESTORE TRUE
1002 #undef OPTION_DIMM_EXCLUDE
1003 #define OPTION_DIMM_EXCLUDE TRUE
1004 #endif
1005 #if (OPTION_FAMILY15H_MODEL_1x == TRUE)
1006 #undef FCH_SUPPORT
1007 #define FCH_SUPPORT TRUE
1008 #undef OPTION_FAMILY15H_TN
1009 #define OPTION_FAMILY15H_TN TRUE
1010 #undef OPTION_MEMCTLR_TN
1011 #define OPTION_MEMCTLR_TN TRUE
1012 #undef OPTION_HW_WRITE_LEV_TRAINING
1013 #define OPTION_HW_WRITE_LEV_TRAINING TRUE
1014 #undef OPTION_CONTINOUS_PATTERN_GENERATION
1015 #define OPTION_CONTINOUS_PATTERN_GENERATION TRUE
1016 #undef OPTION_HW_DQS_REC_EN_TRAINING
1017 #define OPTION_HW_DQS_REC_EN_TRAINING TRUE
1018 #undef OPTION_HW_DQS_REC_EN_SEED_TRAINING
1019 #define OPTION_HW_DQS_REC_EN_SEED_TRAINING TRUE
1020 #undef OPTION_OPT_SW_RD_WR_POS_TRAINING
1021 #define OPTION_OPT_SW_RD_WR_POS_TRAINING TRUE
1022 #undef OPTION_MAX_RD_LAT_TRAINING
1023 #define OPTION_MAX_RD_LAT_TRAINING TRUE
1024 #undef OPTION_SW_DRAM_INIT
1025 #define OPTION_SW_DRAM_INIT TRUE
1026 #undef OPTION_S3_MEM_SUPPORT
1027 #define OPTION_S3_MEM_SUPPORT TRUE
1028 #undef OPTION_GFX_RECOVERY
1029 #define OPTION_GFX_RECOVERY TRUE
1030 #undef OPTION_CPU_CORELEVLING
1031 #define OPTION_CPU_CORELEVLING TRUE
1032 #undef OPTION_C6_STATE
1033 #define OPTION_C6_STATE TRUE
1034 #undef OPTION_IO_CSTATE
1035 #define OPTION_IO_CSTATE TRUE
1036 #undef OPTION_CPB
1037 #define OPTION_CPB TRUE
1038 #undef OPTION_CPU_PSI
1039 #define OPTION_CPU_PSI TRUE
1040 #undef OPTION_CPU_HTC
1041 #define OPTION_CPU_HTC TRUE
1042 #undef OPTION_S3SCRIPT
1043 #define OPTION_S3SCRIPT TRUE
1044 #undef OPTION_CPU_CFOH
1045 #define OPTION_CPU_CFOH TRUE
1046 #undef OPTION_UDIMMS
1047 #define OPTION_UDIMMS TRUE
1048 #undef OPTION_SODIMMS
1049 #define OPTION_SODIMMS TRUE
1050 #undef OPTION_DDR3
1051 #define OPTION_DDR3 TRUE
1052 #undef OPTION_BANK_INTERLEAVE
1053 #define OPTION_BANK_INTERLEAVE TRUE
1054 #undef OPTION_DCT_INTERLEAVE
1055 #define OPTION_DCT_INTERLEAVE TRUE
1056 #undef OPTION_MEM_RESTORE
1057 #define OPTION_MEM_RESTORE TRUE
1058 #undef OPTION_DIMM_EXCLUDE
1059 #define OPTION_DIMM_EXCLUDE TRUE
1060 #endif
1061#endif
1062
1063#if (OPTION_FM1_SOCKET_SUPPORT == TRUE)
1064 #if (OPTION_FAMILY12H == TRUE)
1065 #undef OPTION_FAMILY12H_LN
1066 #define OPTION_FAMILY12H_LN TRUE
1067 #undef OPTION_MEMCTLR_LN
1068 #define OPTION_MEMCTLR_LN TRUE
1069 #undef OPTION_HW_WRITE_LEV_TRAINING
1070 #define OPTION_HW_WRITE_LEV_TRAINING TRUE
1071 #undef OPTION_CONTINOUS_PATTERN_GENERATION
1072 #define OPTION_CONTINOUS_PATTERN_GENERATION TRUE
1073 #undef OPTION_HW_DQS_REC_EN_TRAINING
1074 #define OPTION_HW_DQS_REC_EN_TRAINING TRUE
1075 #undef OPTION_HW_DQS_REC_EN_SEED_TRAINING
1076 #define OPTION_HW_DQS_REC_EN_SEED_TRAINING TRUE
1077 #undef OPTION_OPT_SW_RD_WR_POS_TRAINING
1078 #define OPTION_OPT_SW_RD_WR_POS_TRAINING TRUE
1079 #undef OPTION_MAX_RD_LAT_TRAINING
1080 #define OPTION_MAX_RD_LAT_TRAINING TRUE
1081 #undef OPTION_SW_DRAM_INIT
1082 #define OPTION_SW_DRAM_INIT TRUE
1083 #undef OPTION_S3_MEM_SUPPORT
1084 #define OPTION_S3_MEM_SUPPORT TRUE
1085 #undef OPTION_GFX_RECOVERY
1086 #define OPTION_GFX_RECOVERY TRUE
1087 #undef OPTION_C6_STATE
1088 #define OPTION_C6_STATE TRUE
1089 #undef OPTION_IO_CSTATE
1090 #define OPTION_IO_CSTATE TRUE
1091 #undef OPTION_CPB
1092 #define OPTION_CPB TRUE
1093 #undef OPTION_S3SCRIPT
1094 #define OPTION_S3SCRIPT TRUE
1095 #undef OPTION_UDIMMS
1096 #define OPTION_UDIMMS TRUE
1097 #undef OPTION_SODIMMS
1098 #define OPTION_SODIMMS TRUE
1099 #undef OPTION_DDR3
1100 #define OPTION_DDR3 TRUE
1101 #undef OPTION_BANK_INTERLEAVE
1102 #define OPTION_BANK_INTERLEAVE TRUE
1103 #undef OPTION_DCT_INTERLEAVE
1104 #define OPTION_DCT_INTERLEAVE TRUE
1105 #undef OPTION_MEM_RESTORE
1106 #define OPTION_MEM_RESTORE TRUE
1107 #undef OPTION_DIMM_EXCLUDE
1108 #define OPTION_DIMM_EXCLUDE TRUE
1109 #endif
1110#endif
1111
1112#if (OPTION_FM2_SOCKET_SUPPORT == TRUE)
1113 #if (OPTION_FAMILY15H_MODEL_1x == TRUE)
1114 #undef FCH_SUPPORT
1115 #define FCH_SUPPORT TRUE
1116 #undef OPTION_FAMILY15H_TN
1117 #define OPTION_FAMILY15H_TN TRUE
1118 #undef OPTION_MEMCTLR_TN
1119 #define OPTION_MEMCTLR_TN TRUE
1120 #undef OPTION_HW_WRITE_LEV_TRAINING
1121 #define OPTION_HW_WRITE_LEV_TRAINING TRUE
1122 #undef OPTION_CONTINOUS_PATTERN_GENERATION
1123 #define OPTION_CONTINOUS_PATTERN_GENERATION TRUE
1124 #undef OPTION_HW_DQS_REC_EN_TRAINING
1125 #define OPTION_HW_DQS_REC_EN_TRAINING TRUE
1126 #undef OPTION_HW_DQS_REC_EN_SEED_TRAINING
1127 #define OPTION_HW_DQS_REC_EN_SEED_TRAINING TRUE
1128 #undef OPTION_OPT_SW_RD_WR_POS_TRAINING
1129 #define OPTION_OPT_SW_RD_WR_POS_TRAINING TRUE
1130 #undef OPTION_MAX_RD_LAT_TRAINING
1131 #define OPTION_MAX_RD_LAT_TRAINING TRUE
1132 #undef OPTION_SW_DRAM_INIT
1133 #define OPTION_SW_DRAM_INIT TRUE
1134 #undef OPTION_S3_MEM_SUPPORT
1135 #define OPTION_S3_MEM_SUPPORT TRUE
1136 #undef OPTION_GFX_RECOVERY
1137 #define OPTION_GFX_RECOVERY TRUE
1138 #undef OPTION_CPU_HTC
1139 #define OPTION_CPU_HTC TRUE
1140 #undef OPTION_CPU_CORELEVLING
1141 #define OPTION_CPU_CORELEVLING TRUE
1142 #undef OPTION_C6_STATE
1143 #define OPTION_C6_STATE TRUE
1144 #undef OPTION_IO_CSTATE
1145 #define OPTION_IO_CSTATE TRUE
1146 #undef OPTION_CPB
1147 #define OPTION_CPB TRUE
1148 #undef OPTION_CPU_PSI
1149 #define OPTION_CPU_PSI TRUE
1150 #undef OPTION_S3SCRIPT
1151 #define OPTION_S3SCRIPT TRUE
1152 #undef OPTION_CPU_CFOH
1153 #define OPTION_CPU_CFOH TRUE
1154 #undef OPTION_UDIMMS
1155 #define OPTION_UDIMMS TRUE
1156 #undef OPTION_SODIMMS
1157 #define OPTION_SODIMMS TRUE
1158 #undef OPTION_DDR3
1159 #define OPTION_DDR3 TRUE
1160 #undef OPTION_BANK_INTERLEAVE
1161 #define OPTION_BANK_INTERLEAVE TRUE
1162 #undef OPTION_DCT_INTERLEAVE
1163 #define OPTION_DCT_INTERLEAVE TRUE
1164 #undef OPTION_MEM_RESTORE
1165 #define OPTION_MEM_RESTORE TRUE
1166 #undef OPTION_DIMM_EXCLUDE
1167 #define OPTION_DIMM_EXCLUDE TRUE
1168 #endif
1169#endif
1170
1171#if (OPTION_FP1_SOCKET_SUPPORT == TRUE)
1172 #if (OPTION_FAMILY12H == TRUE)
1173 #undef OPTION_FAMILY12H_LN
1174 #define OPTION_FAMILY12H_LN TRUE
1175 #undef OPTION_MEMCTLR_LN
1176 #define OPTION_MEMCTLR_LN TRUE
1177 #undef OPTION_HW_WRITE_LEV_TRAINING
1178 #define OPTION_HW_WRITE_LEV_TRAINING TRUE
1179 #undef OPTION_CONTINOUS_PATTERN_GENERATION
1180 #define OPTION_CONTINOUS_PATTERN_GENERATION TRUE
1181 #undef OPTION_HW_DQS_REC_EN_TRAINING
1182 #define OPTION_HW_DQS_REC_EN_TRAINING TRUE
1183 #undef OPTION_HW_DQS_REC_EN_SEED_TRAINING
1184 #define OPTION_HW_DQS_REC_EN_SEED_TRAINING TRUE
1185 #undef OPTION_OPT_SW_RD_WR_POS_TRAINING
1186 #define OPTION_OPT_SW_RD_WR_POS_TRAINING TRUE
1187 #undef OPTION_MAX_RD_LAT_TRAINING
1188 #define OPTION_MAX_RD_LAT_TRAINING TRUE
1189 #undef OPTION_SW_DRAM_INIT
1190 #define OPTION_SW_DRAM_INIT TRUE
1191 #undef OPTION_S3_MEM_SUPPORT
1192 #define OPTION_S3_MEM_SUPPORT TRUE
1193 #undef OPTION_ADDR_TO_CS_TRANSLATOR
1194 #define OPTION_ADDR_TO_CS_TRANSLATOR TRUE
1195 #undef OPTION_GFX_RECOVERY
1196 #define OPTION_GFX_RECOVERY TRUE
1197 #undef OPTION_C6_STATE
1198 #define OPTION_C6_STATE TRUE
1199 #undef OPTION_IO_CSTATE
1200 #define OPTION_IO_CSTATE TRUE
1201 #undef OPTION_CPB
1202 #define OPTION_CPB TRUE
1203 #undef OPTION_S3SCRIPT
1204 #define OPTION_S3SCRIPT TRUE
1205 #undef OPTION_UDIMMS
1206 #define OPTION_UDIMMS TRUE
1207 #undef OPTION_SODIMMS
1208 #define OPTION_SODIMMS TRUE
1209 #undef OPTION_DDR3
1210 #define OPTION_DDR3 TRUE
1211 #undef OPTION_BANK_INTERLEAVE
1212 #define OPTION_BANK_INTERLEAVE TRUE
1213 #undef OPTION_DCT_INTERLEAVE
1214 #define OPTION_DCT_INTERLEAVE TRUE
1215 #undef OPTION_MEM_RESTORE
1216 #define OPTION_MEM_RESTORE TRUE
1217 #undef OPTION_ONLINE_SPARE
1218 #define OPTION_ONLINE_SPARE TRUE
1219 #undef OPTION_DIMM_EXCLUDE
1220 #define OPTION_DIMM_EXCLUDE TRUE
1221 #endif
1222#endif
1223
1224#if (OPTION_FP2_SOCKET_SUPPORT == TRUE)
1225 #if (OPTION_FAMILY15H_MODEL_1x == TRUE)
1226 #undef FCH_SUPPORT
1227 #define FCH_SUPPORT TRUE
1228 #undef OPTION_FAMILY15H_TN
1229 #define OPTION_FAMILY15H_TN TRUE
1230 #undef OPTION_MEMCTLR_TN
1231 #define OPTION_MEMCTLR_TN TRUE
1232 #undef OPTION_HW_WRITE_LEV_TRAINING
1233 #define OPTION_HW_WRITE_LEV_TRAINING TRUE
1234 #undef OPTION_CONTINOUS_PATTERN_GENERATION
1235 #define OPTION_CONTINOUS_PATTERN_GENERATION TRUE
1236 #undef OPTION_HW_DQS_REC_EN_TRAINING
1237 #define OPTION_HW_DQS_REC_EN_TRAINING TRUE
1238 #undef OPTION_HW_DQS_REC_EN_SEED_TRAINING
1239 #define OPTION_HW_DQS_REC_EN_SEED_TRAINING TRUE
1240 #undef OPTION_OPT_SW_RD_WR_POS_TRAINING
1241 #define OPTION_OPT_SW_RD_WR_POS_TRAINING TRUE
1242 #undef OPTION_MAX_RD_LAT_TRAINING
1243 #define OPTION_MAX_RD_LAT_TRAINING TRUE
1244 #undef OPTION_SW_DRAM_INIT
1245 #define OPTION_SW_DRAM_INIT TRUE
1246 #undef OPTION_S3_MEM_SUPPORT
1247 #define OPTION_S3_MEM_SUPPORT TRUE
1248 #undef OPTION_ADDR_TO_CS_TRANSLATOR
1249 #define OPTION_ADDR_TO_CS_TRANSLATOR TRUE
1250 #undef OPTION_GFX_RECOVERY
1251 #define OPTION_GFX_RECOVERY TRUE
1252 #undef OPTION_CPU_HTC
1253 #define OPTION_CPU_HTC TRUE
1254 #undef OPTION_CPU_CORELEVLING
1255 #define OPTION_CPU_CORELEVLING TRUE
1256 #undef OPTION_C6_STATE
1257 #define OPTION_C6_STATE TRUE
1258 #undef OPTION_IO_CSTATE
1259 #define OPTION_IO_CSTATE TRUE
1260 #undef OPTION_CPB
1261 #define OPTION_CPB TRUE
1262 #undef OPTION_CPU_PSI
1263 #define OPTION_CPU_PSI TRUE
1264 #undef OPTION_S3SCRIPT
1265 #define OPTION_S3SCRIPT TRUE
1266 #undef OPTION_CPU_CFOH
1267 #define OPTION_CPU_CFOH TRUE
1268 #undef OPTION_UDIMMS
1269 #define OPTION_UDIMMS TRUE
1270 #undef OPTION_SODIMMS
1271 #define OPTION_SODIMMS TRUE
1272 #undef OPTION_DDR3
1273 #define OPTION_DDR3 TRUE
1274 #undef OPTION_BANK_INTERLEAVE
1275 #define OPTION_BANK_INTERLEAVE TRUE
1276 #undef OPTION_DCT_INTERLEAVE
1277 #define OPTION_DCT_INTERLEAVE TRUE
1278 #undef OPTION_MEM_RESTORE
1279 #define OPTION_MEM_RESTORE TRUE
1280 #undef OPTION_DIMM_EXCLUDE
1281 #define OPTION_DIMM_EXCLUDE TRUE
1282 #endif
1283#endif
1284
1285#if (OPTION_FT1_SOCKET_SUPPORT == TRUE)
1286 #if (OPTION_FT1_T_SOCKET_SUPPORT == TRUE)
1287 #undef FCH_SUPPORT
1288 #define FCH_SUPPORT TRUE
1289 #endif
1290 #if (OPTION_FAMILY14H == TRUE)
1291 #if (OPTION_FAMILY14H_FCH == TRUE)
1292 #undef FCH_SUPPORT
1293 #define FCH_SUPPORT TRUE
1294 #endif
1295 #undef OPTION_FAMILY14H_ON
1296 #define OPTION_FAMILY14H_ON TRUE
1297 #undef OPTION_MEMCTLR_ON
1298 #define OPTION_MEMCTLR_ON TRUE
1299 #undef OPTION_HW_WRITE_LEV_TRAINING
1300 #define OPTION_HW_WRITE_LEV_TRAINING TRUE
1301 #undef OPTION_CONTINOUS_PATTERN_GENERATION
1302 #define OPTION_CONTINOUS_PATTERN_GENERATION TRUE
1303 #undef OPTION_MAX_RD_LAT_TRAINING
1304 #define OPTION_MAX_RD_LAT_TRAINING TRUE
1305 #undef OPTION_HW_DQS_REC_EN_TRAINING
1306 #define OPTION_HW_DQS_REC_EN_TRAINING TRUE
1307 #undef OPTION_HW_DQS_REC_EN_SEED_TRAINING
1308 #define OPTION_HW_DQS_REC_EN_SEED_TRAINING FALSE
1309 #undef OPTION_OPT_SW_RD_WR_POS_TRAINING
1310 #define OPTION_OPT_SW_RD_WR_POS_TRAINING TRUE
1311 #undef OPTION_SW_DRAM_INIT
1312 #define OPTION_SW_DRAM_INIT TRUE
1313 #undef OPTION_S3_MEM_SUPPORT
1314 #define OPTION_S3_MEM_SUPPORT TRUE
1315 #undef OPTION_GFX_RECOVERY
1316 #define OPTION_GFX_RECOVERY TRUE
1317 #undef OPTION_C6_STATE
1318 #define OPTION_C6_STATE TRUE
1319 #undef OPTION_IO_CSTATE
1320 #define OPTION_IO_CSTATE TRUE
1321 #undef OPTION_CPB
1322 #define OPTION_CPB TRUE
1323 #undef OPTION_S3SCRIPT
1324 #define OPTION_S3SCRIPT TRUE
1325 #undef OPTION_UDIMMS
1326 #define OPTION_UDIMMS TRUE
1327 #undef OPTION_SODIMMS
1328 #define OPTION_SODIMMS TRUE
1329 #undef OPTION_DDR3
1330 #define OPTION_DDR3 TRUE
1331 #undef OPTION_BANK_INTERLEAVE
1332 #define OPTION_BANK_INTERLEAVE TRUE
1333 #undef OPTION_MEM_RESTORE
1334 #define OPTION_MEM_RESTORE TRUE
1335 #undef OPTION_DIMM_EXCLUDE
1336 #define OPTION_DIMM_EXCLUDE TRUE
1337 #endif
1338#endif
1339
1340
1341#if (OPTION_AM3_SOCKET_SUPPORT == TRUE)
1342 #if (OPTION_FAMILY10H == TRUE)
1343 #undef OPTION_FAMILY10H_BL
1344 #define OPTION_FAMILY10H_BL TRUE
1345 #undef OPTION_FAMILY10H_DA
1346 #define OPTION_FAMILY10H_DA TRUE
1347 #undef OPTION_FAMILY10H_PH
1348 #define OPTION_FAMILY10H_PH TRUE
1349 #undef OPTION_FAMILY10H_RB
1350 #define OPTION_FAMILY10H_RB TRUE
1351 #undef OPTION_MEMCTLR_RB
1352 #define OPTION_MEMCTLR_RB TRUE
1353 #undef OPTION_MEMCTLR_DA
1354 #define OPTION_MEMCTLR_DA TRUE
1355 #undef OPTION_MEMCTLR_PH
1356 #define OPTION_MEMCTLR_PH TRUE
1357 #undef OPTION_HW_WRITE_LEV_TRAINING
1358 #define OPTION_HW_WRITE_LEV_TRAINING TRUE
1359 #undef OPTION_OPT_SW_DQS_REC_EN_TRAINING
1360 #define OPTION_OPT_SW_DQS_REC_EN_TRAINING TRUE
1361 #undef OPTION_OPT_SW_RD_WR_POS_TRAINING
1362 #define OPTION_OPT_SW_RD_WR_POS_TRAINING TRUE
1363 #undef OPTION_MAX_RD_LAT_TRAINING
1364 #define OPTION_MAX_RD_LAT_TRAINING TRUE
1365 #undef OPTION_SW_DRAM_INIT
1366 #define OPTION_SW_DRAM_INIT TRUE
1367 #undef OPTION_S3_MEM_SUPPORT
1368 #define OPTION_S3_MEM_SUPPORT TRUE
1369 #undef OPTION_CPU_CORELEVLING
1370 #define OPTION_CPU_CORELEVLING TRUE
1371 #undef OPTION_CPU_CFOH
1372 #define OPTION_CPU_CFOH TRUE
1373 #undef OPTION_IO_CSTATE
1374 #define OPTION_IO_CSTATE TRUE
1375 #undef OPTION_CPB
1376 #define OPTION_CPB TRUE
1377 #undef OPTION_UDIMMS
1378 #define OPTION_UDIMMS TRUE
1379 #undef OPTION_SODIMMS
1380 #define OPTION_SODIMMS TRUE
1381 #undef OPTION_DDR3
1382 #define OPTION_DDR3 TRUE
1383 #undef OPTION_ECC
1384 #define OPTION_ECC TRUE
1385 #undef OPTION_BANK_INTERLEAVE
1386 #define OPTION_BANK_INTERLEAVE TRUE
1387 #undef OPTION_DCT_INTERLEAVE
1388 #define OPTION_DCT_INTERLEAVE TRUE
1389 #undef OPTION_NODE_INTERLEAVE
1390 #define OPTION_NODE_INTERLEAVE TRUE
1391 #undef OPTION_PARALLEL_TRAINING
1392 #define OPTION_PARALLEL_TRAINING TRUE
1393 #undef OPTION_MEM_RESTORE
1394 #define OPTION_MEM_RESTORE TRUE
1395 #undef OPTION_ONLINE_SPARE
1396 #define OPTION_ONLINE_SPARE TRUE
1397 #undef OPTION_DIMM_EXCLUDE
1398 #define OPTION_DIMM_EXCLUDE TRUE
1399 #endif
1400 #if (OPTION_FAMILY15H_MODEL_0x == TRUE)
1401 #undef OPTION_FAMILY15H_OR
1402 #define OPTION_FAMILY15H_OR TRUE
1403 #undef OPTION_FAMILY15H_UNKNOWN
1404 #define OPTION_FAMILY15H_UNKNOWN TRUE
1405 #undef OPTION_MEMCTLR_OR
1406 #define OPTION_MEMCTLR_OR TRUE
1407 #undef OPTION_HW_WRITE_LEV_TRAINING
1408 #define OPTION_HW_WRITE_LEV_TRAINING TRUE
1409 #undef OPTION_CONTINOUS_PATTERN_GENERATION
1410 #define OPTION_CONTINOUS_PATTERN_GENERATION TRUE
1411 #undef OPTION_HW_DQS_REC_EN_TRAINING
1412 #define OPTION_HW_DQS_REC_EN_TRAINING TRUE
1413 #undef OPTION_HW_DQS_REC_EN_SEED_TRAINING
1414 #define OPTION_HW_DQS_REC_EN_SEED_TRAINING TRUE
1415 #undef OPTION_OPT_SW_RD_WR_POS_TRAINING
1416 #define OPTION_OPT_SW_RD_WR_POS_TRAINING TRUE
1417 #undef OPTION_MAX_RD_LAT_TRAINING
1418 #define OPTION_MAX_RD_LAT_TRAINING TRUE
1419 #undef OPTION_SW_DRAM_INIT
1420 #define OPTION_SW_DRAM_INIT TRUE
1421 #undef OPTION_C6_STATE
1422 #define OPTION_C6_STATE TRUE
1423 #undef OPTION_IO_CSTATE
1424 #define OPTION_IO_CSTATE TRUE
1425 #undef OPTION_CPB
1426 #define OPTION_CPB TRUE
1427 #undef OPTION_CPU_APM
1428 #define OPTION_CPU_APM TRUE
1429 #undef OPTION_S3_MEM_SUPPORT
1430 #define OPTION_S3_MEM_SUPPORT TRUE
1431 #undef OPTION_ADDR_TO_CS_TRANSLATOR
1432 #define OPTION_ADDR_TO_CS_TRANSLATOR TRUE
1433 #undef OPTION_ATM_MODE
1434 #define OPTION_ATM_MODE TRUE
1435 #undef OPTION_CPU_CORELEVLING
1436 #define OPTION_CPU_CORELEVLING TRUE
1437 #undef OPTION_CPU_CFOH
1438 #define OPTION_CPU_CFOH TRUE
1439 #undef OPTION_MSG_BASED_C1E
1440 #define OPTION_MSG_BASED_C1E TRUE
1441 #undef OPTION_UDIMMS
1442 #define OPTION_UDIMMS TRUE
1443 #undef OPTION_RDIMMS
1444 #define OPTION_RDIMMS TRUE
1445 #undef OPTION_LRDIMMS
1446 #define OPTION_LRDIMMS TRUE
1447 #undef OPTION_SODIMMS
1448 #define OPTION_SODIMMS TRUE
1449 #undef OPTION_DDR3
1450 #define OPTION_DDR3 TRUE
1451 #undef OPTION_ECC
1452 #define OPTION_ECC TRUE
1453 #undef OPTION_BANK_INTERLEAVE
1454 #define OPTION_BANK_INTERLEAVE TRUE
1455 #undef OPTION_DCT_INTERLEAVE
1456 #define OPTION_DCT_INTERLEAVE TRUE
1457 #undef OPTION_NODE_INTERLEAVE
1458 #define OPTION_NODE_INTERLEAVE TRUE
1459 #undef OPTION_MEM_RESTORE
1460 #define OPTION_MEM_RESTORE TRUE
1461 #undef OPTION_ONLINE_SPARE
1462 #define OPTION_ONLINE_SPARE TRUE
1463 #undef OPTION_DIMM_EXCLUDE
1464 #define OPTION_DIMM_EXCLUDE TRUE
1465 #endif
1466#endif
1467
1468
1469
1470
1471#if (OPTION_FAMILY12H == TRUE) || (OPTION_FAMILY14H == TRUE) || (OPTION_FAMILY15H_TN == TRUE)
1472 #undef GNB_SUPPORT
1473 #define GNB_SUPPORT TRUE
1474#endif
1475
1476#define OPTION_ACPI_PSTATES TRUE
1477#define OPTION_WHEA TRUE
1478#define OPTION_DMI TRUE
1479#define OPTION_EARLY_SAMPLES FALSE
1480#define CFG_ACPI_PSTATES_PPC TRUE
1481#define CFG_ACPI_PSTATES_PCT TRUE
1482#define CFG_ACPI_PSTATES_PSD TRUE
1483#define CFG_ACPI_PSTATES_PSS TRUE
1484#define CFG_ACPI_PSTATES_XPSS TRUE
1485#define CFG_ACPI_PSTATE_PSD_INDPX FALSE
1486#define CFG_VRM_HIGH_SPEED_ENABLE FALSE
1487#define CFG_VRM_NB_HIGH_SPEED_ENABLE FALSE
1488#define OPTION_ALIB TRUE
1489/*---------------------------------------------------------------------------
1490 * Processing the options: Second, process the user's selections
1491 *--------------------------------------------------------------------------*/
1492#ifdef BLDOPT_REMOVE_DDR3_SUPPORT
1493 #if BLDOPT_REMOVE_DDR3_SUPPORT == TRUE
1494 #undef OPTION_DDR3
1495 #define OPTION_DDR3 FALSE
1496 #endif
1497#endif
1498#ifdef BLDOPT_REMOVE_MULTISOCKET_SUPPORT
1499 #if BLDOPT_REMOVE_MULTISOCKET_SUPPORT == TRUE
1500 #undef OPTION_MULTISOCKET
1501 #define OPTION_MULTISOCKET FALSE
1502 #endif
1503#endif
1504#ifdef BLDOPT_REMOVE_ECC_SUPPORT
1505 #if BLDOPT_REMOVE_ECC_SUPPORT == TRUE
1506 #undef OPTION_ECC
1507 #define OPTION_ECC FALSE
1508 #endif
1509#endif
1510#ifdef BLDOPT_REMOVE_UDIMMS_SUPPORT
1511 #if BLDOPT_REMOVE_UDIMMS_SUPPORT == TRUE
1512 #undef OPTION_UDIMMS
1513 #define OPTION_UDIMMS FALSE
1514 #endif
1515#endif
1516#ifdef BLDOPT_REMOVE_RDIMMS_SUPPORT
1517 #if BLDOPT_REMOVE_RDIMMS_SUPPORT == TRUE
1518 #undef OPTION_RDIMMS
1519 #define OPTION_RDIMMS FALSE
1520 #endif
1521#endif
1522#ifdef BLDOPT_REMOVE_SODIMMS_SUPPORT
1523 #if BLDOPT_REMOVE_SODIMMS_SUPPORT == TRUE
1524 #undef OPTION_SODIMMS
1525 #define OPTION_SODIMMS FALSE
1526 #endif
1527#endif
1528#ifdef BLDOPT_REMOVE_LRDIMMS_SUPPORT
1529 #if BLDOPT_REMOVE_LRDIMMS_SUPPORT == TRUE
1530 #undef OPTION_LRDIMMS
1531 #define OPTION_LRDIMMS FALSE
1532 #endif
1533#endif
1534#ifdef BLDOPT_REMOVE_BANK_INTERLEAVE
1535 #if BLDOPT_REMOVE_BANK_INTERLEAVE == TRUE
1536 #undef OPTION_BANK_INTERLEAVE
1537 #define OPTION_BANK_INTERLEAVE FALSE
1538 #endif
1539#endif
1540#ifdef BLDOPT_REMOVE_DCT_INTERLEAVE
1541 #if BLDOPT_REMOVE_DCT_INTERLEAVE == TRUE
1542 #undef OPTION_DCT_INTERLEAVE
1543 #define OPTION_DCT_INTERLEAVE FALSE
1544 #endif
1545#endif
1546#ifdef BLDOPT_REMOVE_NODE_INTERLEAVE
1547 #if BLDOPT_REMOVE_NODE_INTERLEAVE == TRUE
1548 #undef OPTION_NODE_INTERLEAVE
1549 #define OPTION_NODE_INTERLEAVE FALSE
1550 #endif
1551#endif
1552#ifdef BLDOPT_REMOVE_PARALLEL_TRAINING
1553 #if BLDOPT_REMOVE_PARALLEL_TRAINING == TRUE
1554 #undef OPTION_PARALLEL_TRAINING
1555 #define OPTION_PARALLEL_TRAINING FALSE
1556 #endif
1557#endif
1558#ifdef BLDOPT_REMOVE_ONLINE_SPARE_SUPPORT
1559 #if BLDOPT_REMOVE_ONLINE_SPARE_SUPPORT == TRUE
1560 #undef OPTION_ONLINE_SPARE
1561 #define OPTION_ONLINE_SPARE FALSE
1562 #endif
1563#endif
1564#ifdef BLDOPT_REMOVE_MEM_RESTORE_SUPPORT
1565 #if BLDOPT_REMOVE_MEM_RESTORE_SUPPORT == TRUE
1566 #undef OPTION_MEM_RESTORE
1567 #define OPTION_MEM_RESTORE FALSE
1568 #endif
1569#endif
1570#ifdef BLDOPT_REMOVE_HW_DQS_REC_EN_SEED_TRAINING
1571 #if BLDOPT_REMOVE_HW_DQS_REC_EN_SEED_TRAINING == TRUE
1572 #undef OPTION_HW_DQS_REC_EN_SEED_TRAINING
1573 #define OPTION_HW_DQS_REC_EN_SEED_TRAINING FALSE
1574 #endif
1575#endif
1576#ifdef BLDOPT_REMOVE_ACPI_PSTATES
1577 #if BLDOPT_REMOVE_ACPI_PSTATES == TRUE
1578 #undef OPTION_ACPI_PSTATES
1579 #define OPTION_ACPI_PSTATES FALSE
1580 #endif
1581#endif
1582#ifdef BLDOPT_REMOVE_SRAT
1583 #if BLDOPT_REMOVE_SRAT == TRUE
1584 #undef OPTION_SRAT
1585 #define OPTION_SRAT FALSE
1586 #endif
1587#endif
1588#ifdef BLDOPT_REMOVE_SLIT
1589 #if BLDOPT_REMOVE_SLIT == TRUE
1590 #undef OPTION_SLIT
1591 #define OPTION_SLIT FALSE
1592 #endif
1593#endif
1594#ifdef BLDOPT_REMOVE_WHEA
1595 #if BLDOPT_REMOVE_WHEA == TRUE
1596 #undef OPTION_WHEA
1597 #define OPTION_WHEA FALSE
1598 #endif
1599#endif
1600#ifdef BLDOPT_REMOVE_DMI
1601 #if BLDOPT_REMOVE_DMI == TRUE
1602 #undef OPTION_DMI
1603 #define OPTION_DMI FALSE
1604 #endif
1605#endif
1606#ifdef BLDOPT_REMOVE_ADDR_TO_CS_TRANSLATOR
1607 #if BLDOPT_REMOVE_ADDR_TO_CS_TRANSLATOR == TRUE
1608 #undef OPTION_ADDR_TO_CS_TRANSLATOR
1609 #define OPTION_ADDR_TO_CS_TRANSLATOR FALSE
1610 #endif
1611#endif
1612
1613#ifdef BLDOPT_REMOVE_HT_ASSIST
1614 #if BLDOPT_REMOVE_HT_ASSIST == TRUE
1615 #undef OPTION_HT_ASSIST
1616 #define OPTION_HT_ASSIST FALSE
1617 #endif
1618#endif
1619
1620#ifdef BLDOPT_REMOVE_ATM_MODE
1621 #if BLDOPT_REMOVE_ATM_MODE == TRUE
1622 #undef OPTION_ATM_MODE
1623 #define OPTION_ATM_MODE FALSE
1624 #endif
1625#endif
1626
1627#ifdef BLDOPT_REMOVE_MSG_BASED_C1E
1628 #if BLDOPT_REMOVE_MSG_BASED_C1E == TRUE
1629 #undef OPTION_MSG_BASED_C1E
1630 #define OPTION_MSG_BASED_C1E FALSE
1631 #endif
1632#endif
1633
1634#ifdef BLDOPT_REMOVE_C6_STATE
1635 #if BLDOPT_REMOVE_C6_STATE == TRUE
1636 #undef OPTION_C6_STATE
1637 #define OPTION_C6_STATE FALSE
1638 #endif
1639#endif
1640
1641#ifdef BLDOPT_REMOVE_GFX_RECOVERY
1642 #if BLDOPT_REMOVE_GFX_RECOVERY == TRUE
1643 #undef OPTION_GFX_RECOVERY
1644 #define OPTION_GFX_RECOVERY FALSE
1645 #endif
1646#endif
1647
1648
1649#ifdef BLDCFG_REMOVE_ACPI_PSTATES_PPC
1650 #if BLDCFG_REMOVE_ACPI_PSTATES_PPC == TRUE
1651 #undef CFG_ACPI_PSTATES_PPC
1652 #define CFG_ACPI_PSTATES_PPC FALSE
1653 #endif
1654#endif
1655
1656#ifdef BLDCFG_REMOVE_ACPI_PSTATES_PCT
1657 #if BLDCFG_REMOVE_ACPI_PSTATES_PCT == TRUE
1658 #undef CFG_ACPI_PSTATES_PCT
1659 #define CFG_ACPI_PSTATES_PCT FALSE
1660 #endif
1661#endif
1662
1663#ifdef BLDCFG_REMOVE_ACPI_PSTATES_PSD
1664 #if BLDCFG_REMOVE_ACPI_PSTATES_PSD == TRUE
1665 #undef CFG_ACPI_PSTATES_PSD
1666 #define CFG_ACPI_PSTATES_PSD FALSE
1667 #endif
1668#endif
1669
1670#ifdef BLDCFG_REMOVE_ACPI_PSTATES_PSS
1671 #if BLDCFG_REMOVE_ACPI_PSTATES_PSS == TRUE
1672 #undef CFG_ACPI_PSTATES_PSS
1673 #define CFG_ACPI_PSTATES_PSS FALSE
1674 #endif
1675#endif
1676
1677#ifdef BLDCFG_REMOVE_ACPI_PSTATES_XPSS
1678 #if BLDCFG_REMOVE_ACPI_PSTATES_XPSS == TRUE
1679 #undef CFG_ACPI_PSTATES_XPSS
1680 #define CFG_ACPI_PSTATES_XPSS FALSE
1681 #endif
1682#endif
1683
1684#ifdef BLDOPT_REMOVE_LOW_POWER_STATE_FOR_PROCHOT
1685 #if BLDOPT_REMOVE_LOW_POWER_STATE_FOR_PROCHOT == TRUE
1686 #undef OPTION_CPU_LOW_PWR_PSTATE_FOR_PROCHOT
1687 #define OPTION_CPU_LOW_PWR_PSTATE_FOR_PROCHOT FALSE
1688 #endif
1689#endif
1690
1691#ifdef BLDCFG_PSTATE_HPC_MODE
1692 #if BLDCFG_PSTATE_HPC_MODE == TRUE
1693 #undef OPTION_CPU_PSTATE_HPC_MODE
1694 #define OPTION_CPU_PSTATE_HPC_MODE TRUE
1695 #endif
1696#endif
1697
1698#ifdef BLDCFG_FORCE_INDEPENDENT_PSD_OBJECT
1699 #if BLDCFG_FORCE_INDEPENDENT_PSD_OBJECT == TRUE
1700 #undef CFG_ACPI_PSTATE_PSD_INDPX
1701 #define CFG_ACPI_PSTATE_PSD_INDPX TRUE
1702 #endif
1703#endif
1704
1705#ifdef BLDCFG_VRM_HIGH_SPEED_ENABLE
1706 #if BLDCFG_VRM_HIGH_SPEED_ENABLE == TRUE
1707 #undef CFG_VRM_HIGH_SPEED_ENABLE
1708 #define CFG_VRM_HIGH_SPEED_ENABLE TRUE
1709 #endif
1710#endif
1711
1712#ifdef BLDCFG_VRM_NB_HIGH_SPEED_ENABLE
1713 #if BLDCFG_VRM_NB_HIGH_SPEED_ENABLE == TRUE
1714 #undef CFG_VRM_NB_HIGH_SPEED_ENABLE
1715 #define CFG_VRM_NB_HIGH_SPEED_ENABLE TRUE
1716 #endif
1717#endif
1718
1719#ifdef BLDCFG_STARTING_BUSNUM
1720 #define CFG_STARTING_BUSNUM (BLDCFG_STARTING_BUSNUM)
1721#else
1722 #define CFG_STARTING_BUSNUM (0)
1723#endif
1724
1725#ifdef BLDCFG_AMD_PLATFORM_TYPE
1726 #define CFG_AMD_PLATFORM_TYPE BLDCFG_AMD_PLATFORM_TYPE
1727#else
1728 #define CFG_AMD_PLATFORM_TYPE 0
1729#endif
1730
1731CONST UINT32 ROMDATA AmdPlatformTypeCgf = CFG_AMD_PLATFORM_TYPE;
1732
1733#ifdef BLDCFG_MAXIMUM_BUSNUM
1734 #define CFG_MAXIMUM_BUSNUM (BLDCFG_MAXIMUM_BUSNUM)
1735#else
1736 #define CFG_MAXIMUM_BUSNUM (0xF8)
1737#endif
1738
1739#ifdef BLDCFG_ALLOCATED_BUSNUM
1740 #define CFG_ALLOCATED_BUSNUM (BLDCFG_ALLOCATED_BUSNUM)
1741#else
1742 #define CFG_ALLOCATED_BUSNUM (0x20)
1743#endif
1744
1745#ifdef BLDCFG_BUID_SWAP_LIST
1746 #define CFG_BUID_SWAP_LIST (BLDCFG_BUID_SWAP_LIST)
1747#else
1748 #define CFG_BUID_SWAP_LIST (NULL)
1749#endif
1750
1751#ifdef BLDCFG_HTDEVICE_CAPABILITIES_OVERRIDE_LIST
1752 #define CFG_HTDEVICE_CAPABILITIES_OVERRIDE_LIST (BLDCFG_HTDEVICE_CAPABILITIES_OVERRIDE_LIST)
1753#else
1754 #define CFG_HTDEVICE_CAPABILITIES_OVERRIDE_LIST (NULL)
1755#endif
1756
1757#ifdef BLDCFG_HTFABRIC_LIMITS_LIST
1758 #define CFG_HTFABRIC_LIMITS_LIST (BLDCFG_HTFABRIC_LIMITS_LIST)
1759#else
1760 #define CFG_HTFABRIC_LIMITS_LIST (NULL)
1761#endif
1762
1763#ifdef BLDCFG_HTCHAIN_LIMITS_LIST
1764 #define CFG_HTCHAIN_LIMITS_LIST (BLDCFG_HTCHAIN_LIMITS_LIST)
1765#else
1766 #define CFG_HTCHAIN_LIMITS_LIST (NULL)
1767#endif
1768
1769#ifdef BLDCFG_BUS_NUMBERS_LIST
1770 #define CFG_BUS_NUMBERS_LIST (BLDCFG_BUS_NUMBERS_LIST)
1771#else
1772 #define CFG_BUS_NUMBERS_LIST (NULL)
1773#endif
1774
1775#ifdef BLDCFG_IGNORE_LINK_LIST
1776 #define CFG_IGNORE_LINK_LIST (BLDCFG_IGNORE_LINK_LIST)
1777#else
1778 #define CFG_IGNORE_LINK_LIST (NULL)
1779#endif
1780
1781#ifdef BLDCFG_LINK_SKIP_REGANG_LIST
1782 #define CFG_LINK_SKIP_REGANG_LIST (BLDCFG_LINK_SKIP_REGANG_LIST)
1783#else
1784 #define CFG_LINK_SKIP_REGANG_LIST (NULL)
1785#endif
1786
1787#ifdef BLDCFG_SET_HTCRC_SYNC_FLOOD
1788 #define CFG_SET_HTCRC_SYNC_FLOOD (BLDCFG_SET_HTCRC_SYNC_FLOOD)
1789#else
1790 #define CFG_SET_HTCRC_SYNC_FLOOD (FALSE)
1791#endif
1792
1793#ifdef BLDCFG_USE_UNIT_ID_CLUMPING
1794 #define CFG_USE_UNIT_ID_CLUMPING (BLDCFG_USE_UNIT_ID_CLUMPING)
1795#else
1796 #define CFG_USE_UNIT_ID_CLUMPING (FALSE)
1797#endif
1798
1799#ifdef BLDCFG_ADDITIONAL_TOPOLOGIES_LIST
1800 #define CFG_ADDITIONAL_TOPOLOGIES_LIST (BLDCFG_ADDITIONAL_TOPOLOGIES_LIST)
1801#else
1802 #define CFG_ADDITIONAL_TOPOLOGIES_LIST (NULL)
1803#endif
1804
1805#ifdef BLDCFG_USE_HT_ASSIST
1806 #define CFG_USE_HT_ASSIST (BLDCFG_USE_HT_ASSIST)
1807#else
1808 #define CFG_USE_HT_ASSIST (TRUE)
1809#endif
1810
1811#ifdef BLDCFG_USE_ATM_MODE
1812 #define CFG_USE_ATM_MODE (BLDCFG_USE_ATM_MODE)
1813#else
1814 #define CFG_USE_ATM_MODE (TRUE)
1815#endif
1816
1817#ifdef BLDCFG_PLATFORM_CONTROL_FLOW_MODE
1818 #define CFG_PLATFORM_CONTROL_FLOW_MODE (BLDCFG_PLATFORM_CONTROL_FLOW_MODE)
1819#else
1820 #define CFG_PLATFORM_CONTROL_FLOW_MODE (Nfcm)
1821#endif
1822
1823#ifdef BLDCFG_PERFORMANCE_HARDWARE_PREFETCHER
1824 #define CFG_PERFORMANCE_HARDWARE_PREFETCHER (BLDCFG_PERFORMANCE_HARDWARE_PREFETCHER)
1825#else
1826 #define CFG_PERFORMANCE_HARDWARE_PREFETCHER (HARDWARE_PREFETCHER_AUTO)
1827#endif
1828
1829#ifdef BLDCFG_PERFORMANCE_SOFTWARE_PREFETCHES
1830 #define CFG_PERFORMANCE_SOFTWARE_PREFETCHES (BLDCFG_PERFORMANCE_SOFTWARE_PREFETCHES)
1831#else
1832 #define CFG_PERFORMANCE_SOFTWARE_PREFETCHES (SOFTWARE_PREFETCHES_AUTO)
1833#endif
1834
1835#ifdef BLDCFG_PERFORMANCE_DRAM_PREFETCHER
1836 #define CFG_PERFORMANCE_DRAM_PREFETCHER (BLDCFG_PERFORMANCE_DRAM_PREFETCHER)
1837#else
1838 #define CFG_PERFORMANCE_DRAM_PREFETCHER (DRAM_PREFETCHER_AUTO)
1839#endif
1840
1841#ifdef BLDCFG_PLATFORM_DEEMPHASIS_LIST
1842 #define CFG_PLATFORM_DEEMPHASIS_LIST (BLDCFG_PLATFORM_DEEMPHASIS_LIST)
1843#else
1844 #define CFG_PLATFORM_DEEMPHASIS_LIST (NULL)
1845#endif
1846
1847#ifdef BLDCFG_VRM_ADDITIONAL_DELAY
1848 #define CFG_VRM_ADDITIONAL_DELAY (BLDCFG_VRM_ADDITIONAL_DELAY)
1849#else
1850 #define CFG_VRM_ADDITIONAL_DELAY (0)
1851#endif
1852
1853#ifdef BLDCFG_VRM_CURRENT_LIMIT
1854 #define CFG_VRM_CURRENT_LIMIT BLDCFG_VRM_CURRENT_LIMIT
1855#else
1856 #define CFG_VRM_CURRENT_LIMIT 0
1857#endif
1858
1859#ifdef BLDCFG_VRM_LOW_POWER_THRESHOLD
1860 #define CFG_VRM_LOW_POWER_THRESHOLD BLDCFG_VRM_LOW_POWER_THRESHOLD
1861#else
1862 #define CFG_VRM_LOW_POWER_THRESHOLD 0
1863#endif
1864
1865#ifdef BLDCFG_VRM_SLEW_RATE
1866 #define CFG_VRM_SLEW_RATE BLDCFG_VRM_SLEW_RATE
1867#else
1868 #define CFG_VRM_SLEW_RATE DFLT_VRM_SLEW_RATE
1869#endif
1870
1871#ifdef BLDCFG_VRM_MAXIMUM_CURRENT_LIMIT
1872 #ifdef BLDCFG_VRM_INRUSH_CURRENT_LIMIT
1873 #error BLDCFG: BLDCFG_VRM_MAXIMUM_CURRENT_LIMIT is defined. Deprecated BLDCFG_VRM_INRUSH_CURRENT_LIMIT should not be defined.
1874 #endif
1875 #define CFG_VRM_MAXIMUM_CURRENT_LIMIT BLDCFG_VRM_MAXIMUM_CURRENT_LIMIT
1876#else
1877 #ifdef BLDCFG_VRM_INRUSH_CURRENT_LIMIT
1878 #define CFG_VRM_MAXIMUM_CURRENT_LIMIT BLDCFG_VRM_INRUSH_CURRENT_LIMIT
1879 #else
1880 #define CFG_VRM_MAXIMUM_CURRENT_LIMIT (0)
1881 #endif
1882#endif
1883
1884#ifdef BLDCFG_VRM_NB_MAXIMUM_CURRENT_LIMIT
1885 #ifdef BLDCFG_VRM_NB_INRUSH_CURRENT_LIMIT
1886 #error BLDCFG: BLDCFG_VRM_NB_MAXIMUM_CURRENT_LIMIT is defined. Deprecated BLDCFG_VRM_NB_INRUSH_CURRENT_LIMIT should not be defined.
1887 #endif
1888 #define CFG_VRM_NB_MAXIMUM_CURRENT_LIMIT BLDCFG_VRM_NB_MAXIMUM_CURRENT_LIMIT
1889#else
1890 #ifdef BLDCFG_VRM_NB_INRUSH_CURRENT_LIMIT
1891 #define CFG_VRM_NB_MAXIMUM_CURRENT_LIMIT BLDCFG_VRM_NB_INRUSH_CURRENT_LIMIT
1892 #else
1893 #define CFG_VRM_NB_MAXIMUM_CURRENT_LIMIT (0)
1894 #endif
1895#endif
1896
1897#ifdef BLDCFG_VRM_SVI_OCP_LEVEL
1898 #define CFG_VRM_SVI_OCP_LEVEL BLDCFG_VRM_SVI_OCP_LEVEL
1899#else
1900 #define CFG_VRM_SVI_OCP_LEVEL 0
1901#endif
1902
1903#ifdef BLDCFG_VRM_NB_SVI_OCP_LEVEL
1904 #define CFG_VRM_NB_SVI_OCP_LEVEL BLDCFG_VRM_NB_SVI_OCP_LEVEL
1905#else
1906 #define CFG_VRM_NB_SVI_OCP_LEVEL 0
1907#endif
1908
1909#ifdef BLDCFG_VRM_NB_ADDITIONAL_DELAY
1910 #define CFG_VRM_NB_ADDITIONAL_DELAY (BLDCFG_VRM_NB_ADDITIONAL_DELAY)
1911#else
1912 #define CFG_VRM_NB_ADDITIONAL_DELAY (0)
1913#endif
1914
1915#ifdef BLDCFG_VRM_NB_CURRENT_LIMIT
1916 #define CFG_VRM_NB_CURRENT_LIMIT BLDCFG_VRM_NB_CURRENT_LIMIT
1917#else
1918 #define CFG_VRM_NB_CURRENT_LIMIT (0)
1919#endif
1920
1921#ifdef BLDCFG_VRM_NB_LOW_POWER_THRESHOLD
1922 #define CFG_VRM_NB_LOW_POWER_THRESHOLD BLDCFG_VRM_NB_LOW_POWER_THRESHOLD
1923#else
1924 #define CFG_VRM_NB_LOW_POWER_THRESHOLD (0)
1925#endif
1926
1927#ifdef BLDCFG_VRM_NB_SLEW_RATE
1928 #define CFG_VRM_NB_SLEW_RATE BLDCFG_VRM_NB_SLEW_RATE
1929#else
1930 #define CFG_VRM_NB_SLEW_RATE DFLT_VRM_SLEW_RATE
1931#endif
1932
1933#ifdef BLDCFG_PLAT_NUM_IO_APICS
1934 #define CFG_PLAT_NUM_IO_APICS BLDCFG_PLAT_NUM_IO_APICS
1935#else
1936 #define CFG_PLAT_NUM_IO_APICS 0
1937#endif
1938
1939#ifdef BLDCFG_MEM_INIT_PSTATE
1940 #define CFG_MEM_INIT_PSTATE BLDCFG_MEM_INIT_PSTATE
1941#else
1942 #define CFG_MEM_INIT_PSTATE 0
1943#endif
1944
1945#ifdef BLDCFG_PLATFORM_C1E_MODE
1946 #define CFG_C1E_MODE BLDCFG_PLATFORM_C1E_MODE
1947#else
1948 #define CFG_C1E_MODE C1eModeDisabled
1949#endif
1950
1951#ifdef BLDCFG_PLATFORM_C1E_OPDATA
1952 #define CFG_C1E_OPDATA BLDCFG_PLATFORM_C1E_OPDATA
1953#else
1954 #define CFG_C1E_OPDATA 0
1955#endif
1956
1957#ifdef BLDCFG_PLATFORM_C1E_OPDATA1
1958 #define CFG_C1E_OPDATA1 BLDCFG_PLATFORM_C1E_OPDATA1
1959#else
1960 #define CFG_C1E_OPDATA1 0
1961#endif
1962
1963#ifdef BLDCFG_PLATFORM_C1E_OPDATA2
1964 #define CFG_C1E_OPDATA2 BLDCFG_PLATFORM_C1E_OPDATA2
1965#else
1966 #define CFG_C1E_OPDATA2 0
1967#endif
1968
1969#ifdef BLDCFG_PLATFORM_C1E_OPDATA3
1970 #define CFG_C1E_OPDATA3 BLDCFG_PLATFORM_C1E_OPDATA3
1971#else
1972 #define CFG_C1E_OPDATA3 0
1973#endif
1974
1975#ifdef BLDCFG_PLATFORM_CSTATE_MODE
1976 #define CFG_CSTATE_MODE BLDCFG_PLATFORM_CSTATE_MODE
1977#else
1978 #define CFG_CSTATE_MODE CStateModeC6
1979#endif
1980
1981#ifdef BLDCFG_PLATFORM_CSTATE_OPDATA
1982 #define CFG_CSTATE_OPDATA BLDCFG_PLATFORM_CSTATE_OPDATA
1983#else
1984 #define CFG_CSTATE_OPDATA 0
1985#endif
1986
1987#ifdef BLDCFG_PLATFORM_CSTATE_IO_BASE_ADDRESS
1988 #define CFG_CSTATE_IO_BASE_ADDRESS BLDCFG_PLATFORM_CSTATE_IO_BASE_ADDRESS
1989#else
1990 #define CFG_CSTATE_IO_BASE_ADDRESS 0
1991#endif
1992
1993#ifdef BLDCFG_PLATFORM_CPB_MODE
1994 #define CFG_CPB_MODE BLDCFG_PLATFORM_CPB_MODE
1995#else
1996 #define CFG_CPB_MODE CpbModeAuto
1997#endif
1998
1999#ifdef BLDCFG_CORE_LEVELING_MODE
2000 #define CFG_CORE_LEVELING_MODE BLDCFG_CORE_LEVELING_MODE
2001#else
2002 #define CFG_CORE_LEVELING_MODE 0
2003#endif
2004
2005#ifdef BLDCFG_AMD_PSTATE_CAP_VALUE
2006 #define CFG_AMD_PSTATE_CAP_VALUE BLDCFG_AMD_PSTATE_CAP_VALUE
2007#else
2008 #define CFG_AMD_PSTATE_CAP_VALUE 0
2009#endif
2010
2011#ifdef BLDCFG_HEAP_DRAM_ADDRESS
2012 #define CFG_HEAP_DRAM_ADDRESS BLDCFG_HEAP_DRAM_ADDRESS
2013#else
2014 #define CFG_HEAP_DRAM_ADDRESS AMD_HEAP_RAM_ADDRESS
2015#endif
2016
2017#ifdef BLDCFG_MEMORY_BUS_FREQUENCY_LIMIT
2018 #define CFG_MEMORY_BUS_FREQUENCY_LIMIT BLDCFG_MEMORY_BUS_FREQUENCY_LIMIT
2019#else
2020 #define CFG_MEMORY_BUS_FREQUENCY_LIMIT DDR800_FREQUENCY
2021#endif
2022
2023#ifdef BLDCFG_MEMORY_MODE_UNGANGED
2024 #define CFG_MEMORY_MODE_UNGANGED BLDCFG_MEMORY_MODE_UNGANGED
2025#else
2026 #define CFG_MEMORY_MODE_UNGANGED TRUE
2027#endif
2028
2029#ifdef BLDCFG_MEMORY_QUAD_RANK_CAPABLE
2030 #define CFG_MEMORY_QUAD_RANK_CAPABLE BLDCFG_MEMORY_QUAD_RANK_CAPABLE
2031#else
2032 #define CFG_MEMORY_QUAD_RANK_CAPABLE TRUE
2033#endif
2034
2035#ifdef BLDCFG_MEMORY_QUADRANK_TYPE
2036 #define CFG_MEMORY_QUADRANK_TYPE BLDCFG_MEMORY_QUADRANK_TYPE
2037#else
2038 #define CFG_MEMORY_QUADRANK_TYPE DFLT_MEMORY_QUADRANK_TYPE
2039#endif
2040
2041#ifdef BLDCFG_MEMORY_RDIMM_CAPABLE
2042 #define CFG_MEMORY_RDIMM_CAPABLE BLDCFG_MEMORY_RDIMM_CAPABLE
2043#else
2044 #define CFG_MEMORY_RDIMM_CAPABLE TRUE
2045#endif
2046
2047#ifdef BLDCFG_MEMORY_LRDIMM_CAPABLE
2048 #define CFG_MEMORY_LRDIMM_CAPABLE BLDCFG_MEMORY_LRDIMM_CAPABLE
2049#else
2050 #define CFG_MEMORY_LRDIMM_CAPABLE TRUE
2051#endif
2052
2053#ifdef BLDCFG_MEMORY_UDIMM_CAPABLE
2054 #define CFG_MEMORY_UDIMM_CAPABLE BLDCFG_MEMORY_UDIMM_CAPABLE
2055#else
2056 #define CFG_MEMORY_UDIMM_CAPABLE TRUE
2057#endif
2058
2059#ifdef BLDCFG_MEMORY_SODIMM_CAPABLE
2060 #define CFG_MEMORY_SODIMM_CAPABLE BLDCFG_MEMORY_SODIMM_CAPABLE
2061#else
2062 #define CFG_MEMORY_SODIMM_CAPABLE FALSE
2063#endif
2064
2065#ifdef BLDCFG_LIMIT_MEMORY_TO_BELOW_1TB
2066 #define CFG_LIMIT_MEMORY_TO_BELOW_1TB BLDCFG_LIMIT_MEMORY_TO_BELOW_1TB
2067#else
2068 #define CFG_LIMIT_MEMORY_TO_BELOW_1TB TRUE
2069#endif
2070
2071#ifdef BLDCFG_MEMORY_ENABLE_BANK_INTERLEAVING
2072 #define CFG_MEMORY_ENABLE_BANK_INTERLEAVING BLDCFG_MEMORY_ENABLE_BANK_INTERLEAVING
2073#else
2074 #define CFG_MEMORY_ENABLE_BANK_INTERLEAVING TRUE
2075#endif
2076
2077#ifdef BLDCFG_MEMORY_ENABLE_NODE_INTERLEAVING
2078 #define CFG_MEMORY_ENABLE_NODE_INTERLEAVING BLDCFG_MEMORY_ENABLE_NODE_INTERLEAVING
2079#else
2080 #define CFG_MEMORY_ENABLE_NODE_INTERLEAVING FALSE
2081#endif
2082
2083#ifdef BLDCFG_MEMORY_CHANNEL_INTERLEAVING
2084 #define CFG_MEMORY_CHANNEL_INTERLEAVING BLDCFG_MEMORY_CHANNEL_INTERLEAVING
2085#else
2086 #define CFG_MEMORY_CHANNEL_INTERLEAVING TRUE
2087#endif
2088
2089#ifdef BLDCFG_MEMORY_POWER_DOWN
2090 #define CFG_MEMORY_POWER_DOWN BLDCFG_MEMORY_POWER_DOWN
2091#else
2092 #define CFG_MEMORY_POWER_DOWN FALSE
2093#endif
2094
2095#ifdef BLDCFG_POWER_DOWN_MODE
2096 #define CFG_POWER_DOWN_MODE BLDCFG_POWER_DOWN_MODE
2097#else
2098 #define CFG_POWER_DOWN_MODE POWER_DOWN_MODE_AUTO
2099#endif
2100
2101#ifdef BLDCFG_ONLINE_SPARE
2102 #define CFG_ONLINE_SPARE BLDCFG_ONLINE_SPARE
2103#else
2104 #define CFG_ONLINE_SPARE FALSE
2105#endif
2106
2107#ifdef BLDCFG_MEMORY_PARITY_ENABLE
2108 #define CFG_MEMORY_PARITY_ENABLE BLDCFG_MEMORY_PARITY_ENABLE
2109#else
2110 #define CFG_MEMORY_PARITY_ENABLE FALSE
2111#endif
2112
2113#ifdef BLDCFG_BANK_SWIZZLE
2114 #define CFG_BANK_SWIZZLE BLDCFG_BANK_SWIZZLE
2115#else
2116 #define CFG_BANK_SWIZZLE TRUE
2117#endif
2118
2119#ifdef BLDCFG_TIMING_MODE_SELECT
2120 #define CFG_TIMING_MODE_SELECT BLDCFG_TIMING_MODE_SELECT
2121#else
2122 #define CFG_TIMING_MODE_SELECT TIMING_MODE_AUTO
2123#endif
2124
2125#ifdef BLDCFG_MEMORY_CLOCK_SELECT
2126 #define CFG_MEMORY_CLOCK_SELECT BLDCFG_MEMORY_CLOCK_SELECT
2127#else
2128 #define CFG_MEMORY_CLOCK_SELECT DDR800_FREQUENCY
2129#endif
2130
2131#ifdef BLDCFG_DQS_TRAINING_CONTROL
2132 #define CFG_DQS_TRAINING_CONTROL BLDCFG_DQS_TRAINING_CONTROL
2133#else
2134 #define CFG_DQS_TRAINING_CONTROL TRUE
2135#endif
2136
2137#ifdef BLDCFG_IGNORE_SPD_CHECKSUM
2138 #define CFG_IGNORE_SPD_CHECKSUM BLDCFG_IGNORE_SPD_CHECKSUM
2139#else
2140 #define CFG_IGNORE_SPD_CHECKSUM FALSE
2141#endif
2142
2143#ifdef BLDCFG_USE_BURST_MODE
2144 #define CFG_USE_BURST_MODE BLDCFG_USE_BURST_MODE
2145#else
2146 #define CFG_USE_BURST_MODE FALSE
2147#endif
2148
2149#ifdef BLDCFG_MEMORY_ALL_CLOCKS_ON
2150 #define CFG_MEMORY_ALL_CLOCKS_ON BLDCFG_MEMORY_ALL_CLOCKS_ON
2151#else
2152 #define CFG_MEMORY_ALL_CLOCKS_ON FALSE
2153#endif
2154
2155#ifdef BLDCFG_ENABLE_ECC_FEATURE
2156 #define CFG_ENABLE_ECC_FEATURE BLDCFG_ENABLE_ECC_FEATURE
2157#else
2158 #define CFG_ENABLE_ECC_FEATURE TRUE
2159#endif
2160
2161#ifdef BLDCFG_ECC_REDIRECTION
2162 #define CFG_ECC_REDIRECTION BLDCFG_ECC_REDIRECTION
2163#else
2164 #define CFG_ECC_REDIRECTION FALSE
2165#endif
2166
2167#ifdef BLDCFG_SCRUB_DRAM_RATE
2168 #define CFG_SCRUB_DRAM_RATE BLDCFG_SCRUB_DRAM_RATE
2169#else
2170 #define CFG_SCRUB_DRAM_RATE DFLT_SCRUB_DRAM_RATE
2171#endif
2172
2173#ifdef BLDCFG_SCRUB_L2_RATE
2174 #define CFG_SCRUB_L2_RATE BLDCFG_SCRUB_L2_RATE
2175#else
2176 #define CFG_SCRUB_L2_RATE DFLT_SCRUB_L2_RATE
2177#endif
2178
2179#ifdef BLDCFG_SCRUB_L3_RATE
2180 #define CFG_SCRUB_L3_RATE BLDCFG_SCRUB_L3_RATE
2181#else
2182 #define CFG_SCRUB_L3_RATE DFLT_SCRUB_L3_RATE
2183#endif
2184
2185#ifdef BLDCFG_SCRUB_IC_RATE
2186 #define CFG_SCRUB_IC_RATE BLDCFG_SCRUB_IC_RATE
2187#else
2188 #define CFG_SCRUB_IC_RATE DFLT_SCRUB_IC_RATE
2189#endif
2190
2191#ifdef BLDCFG_SCRUB_DC_RATE
2192 #define CFG_SCRUB_DC_RATE BLDCFG_SCRUB_DC_RATE
2193#else
2194 #define CFG_SCRUB_DC_RATE DFLT_SCRUB_DC_RATE
2195#endif
2196
2197#ifdef BLDCFG_ECC_SYNC_FLOOD
2198 #define CFG_ECC_SYNC_FLOOD BLDCFG_ECC_SYNC_FLOOD
2199#else
2200 #define CFG_ECC_SYNC_FLOOD TRUE
2201#endif
2202
2203#ifdef BLDCFG_ECC_SYMBOL_SIZE
2204 #define CFG_ECC_SYMBOL_SIZE BLDCFG_ECC_SYMBOL_SIZE
2205#else
2206 #define CFG_ECC_SYMBOL_SIZE 0
2207#endif
2208
2209#ifdef BLDCFG_1GB_ALIGN
2210 #define CFG_1GB_ALIGN BLDCFG_1GB_ALIGN
2211#else
2212 #define CFG_1GB_ALIGN FALSE
2213#endif
2214
2215#ifdef BLDCFG_UMA_ALLOCATION_MODE
2216 #define CFG_UMA_MODE BLDCFG_UMA_ALLOCATION_MODE
2217#else
2218 #define CFG_UMA_MODE UMA_AUTO
2219#endif
2220
2221#ifdef BLDCFG_FORCE_TRAINING_MODE
2222 #define CFG_FORCE_TRAIN_MODE BLDCFG_FORCE_TRAINING_MODE
2223#else
2224 #define CFG_FORCE_TRAIN_MODE FORCE_TRAIN_AUTO
2225#endif
2226
2227#ifdef BLDCFG_UMA_ALLOCATION_SIZE
2228 #define CFG_UMA_SIZE BLDCFG_UMA_ALLOCATION_SIZE
2229#else
2230 #define CFG_UMA_SIZE 0
2231#endif
2232
2233#ifdef BLDCFG_UMA_ABOVE4G_SUPPORT
2234 #define CFG_UMA_ABOVE4G BLDCFG_UMA_ABOVE4G_SUPPORT
2235#else
2236 #define CFG_UMA_ABOVE4G FALSE
2237#endif
2238
2239#ifdef BLDCFG_UMA_ALIGNMENT
2240 #define CFG_UMA_ALIGNMENT BLDCFG_UMA_ALIGNMENT
2241#else
2242 #define CFG_UMA_ALIGNMENT NO_UMA_ALIGNED
2243#endif
2244
2245#ifdef BLDCFG_PROCESSOR_SCOPE_IN_SB
2246 #define CFG_PROCESSOR_SCOPE_IN_SB BLDCFG_PROCESSOR_SCOPE_IN_SB
2247#else
2248 #define CFG_PROCESSOR_SCOPE_IN_SB FALSE
2249#endif
2250
2251#ifdef BLDCFG_S3_LATE_RESTORE
2252 #define CFG_S3_LATE_RESTORE BLDCFG_S3_LATE_RESTORE
2253#else
2254 #define CFG_S3_LATE_RESTORE TRUE
2255#endif
2256
2257#ifdef BLDCFG_USE_32_BYTE_REFRESH
2258 #define CFG_USE_32_BYTE_REFRESH (BLDCFG_USE_32_BYTE_REFRESH)
2259#else
2260 #define CFG_USE_32_BYTE_REFRESH (FALSE)
2261#endif
2262
2263#ifdef BLDCFG_USE_VARIABLE_MCT_ISOC_PRIORITY
2264 #define CFG_USE_VARIABLE_MCT_ISOC_PRIORITY (BLDCFG_USE_VARIABLE_MCT_ISOC_PRIORITY)
2265#else
2266 #define CFG_USE_VARIABLE_MCT_ISOC_PRIORITY (FALSE)
2267#endif
2268
2269#ifdef BLDCFG_PROCESSOR_SCOPE_NAME0
2270 #define CFG_PROCESSOR_SCOPE_NAME0 BLDCFG_PROCESSOR_SCOPE_NAME0
2271#else
2272 #define CFG_PROCESSOR_SCOPE_NAME0 SCOPE_NAME_VALUE
2273#endif
2274
2275#ifdef BLDCFG_PROCESSOR_SCOPE_NAME1
2276 #define CFG_PROCESSOR_SCOPE_NAME1 BLDCFG_PROCESSOR_SCOPE_NAME1
2277#else
2278 #define CFG_PROCESSOR_SCOPE_NAME1 SCOPE_NAME_VALUE1
2279#endif
2280
2281#ifdef BLDCFG_CFG_GNB_HD_AUDIO
2282 #define CFG_GNB_HD_AUDIO BLDCFG_CFG_GNB_HD_AUDIO
2283#else
2284 #define CFG_GNB_HD_AUDIO TRUE
2285#endif
2286
2287#ifdef BLDCFG_CFG_ABM_SUPPORT
2288 #define CFG_ABM_SUPPORT BLDCFG_CFG_ABM_SUPPORT
2289#else
2290 #define CFG_ABM_SUPPORT FALSE
2291#endif
2292
2293#ifdef BLDCFG_CFG_DYNAMIC_REFRESH_RATE
2294 #define CFG_DYNAMIC_REFRESH_RATE BLDCFG_CFG_DYNAMIC_REFRESH_RATE
2295#else
2296 #define CFG_DYNAMIC_REFRESH_RATE 0
2297#endif
2298
2299#ifdef BLDCFG_CFG_LCD_BACK_LIGHT_CONTROL
2300 #define CFG_LCD_BACK_LIGHT_CONTROL BLDCFG_CFG_LCD_BACK_LIGHT_CONTROL
2301#else
2302 #define CFG_LCD_BACK_LIGHT_CONTROL 0
2303#endif
2304
2305#ifdef BLDCFG_STEREO_3D_PINOUT
2306 #define CFG_GNB_STEREO_3D_PINOUT BLDCFG_STEREO_3D_PINOUT
2307#else
2308 #define CFG_GNB_STEREO_3D_PINOUT 0
2309#endif
2310
2311#ifdef BLDCFG_REMOTE_DISPLAY_SUPPORT
2312 #define CFG_GNB_REMOTE_DISPLAY_SUPPORT BLDCFG_REMOTE_DISPLAY_SUPPORT
2313#else
2314 #define CFG_GNB_REMOTE_DISPLAY_SUPPORT FALSE
2315#endif
2316
2317// Define pin configuration for SYNCFLOOD
2318// Default to FALSE (Use pin as SYNCFLOOD)
2319#ifdef BLDCFG_USE_SYNCFLOOD_AS_NMI
2320 #define CFG_GNB_SYNCFLOOD_PIN_AS_NMI BLDCFG_USE_SYNCFLOOD_AS_NMI
2321#else
2322 #define CFG_GNB_SYNCFLOOD_PIN_AS_NMI FALSE
2323#endif
2324
2325#ifdef BLDCFG_GNB_THERMAL_SENSOR_CORRECTION
2326 #define CFG_GNB_THERMAL_SENSOR_CORRECTION BLDCFG_GNB_THERMAL_SENSOR_CORRECTION
2327#else
2328 #define CFG_GNB_THERMAL_SENSOR_CORRECTION 0
2329#endif
2330
2331#ifdef BLDCFG_IGPU_SUBSYSTEM_ID
2332 #define CFG_GNB_IGPU_SSID BLDCFG_IGPU_SUBSYSTEM_ID
2333#else
2334 #define CFG_GNB_IGPU_SSID 0
2335#endif
2336
2337#ifdef BLDCFG_IGPU_HD_AUDIO_SUBSYSTEM_ID
2338 #define CFG_GNB_HDAUDIO_SSID BLDCFG_IGPU_HD_AUDIO_SUBSYSTEM_ID
2339#else
2340 #define CFG_GNB_HDAUDIO_SSID 0
2341#endif
2342
2343#ifdef BLDCFG_IGPU_ENABLE_DISABLE_POLICY
2344 #define CFG_IGPU_ENABLE_DISABLE_POLICY BLDCFG_IGPU_ENABLE_DISABLE_POLICY
2345#else
2346 #define CFG_IGPU_ENABLE_DISABLE_POLICY IGPU_DISABLE_AUTO
2347#endif
2348
2349#ifdef BLFCFG_APU_PCIE_PORTS_SUBSYSTEM_ID
2350 #define CFG_GNB_PCIE_SSID BLFCFG_APU_PCIE_PORTS_SUBSYSTEM_ID
2351#else
2352 #define CFG_GNB_PCIE_SSID 0x12341022ul
2353#endif
2354
2355#ifdef BLDCFG_GFX_LVDS_SPREAD_SPECTRUM
2356 #define CFG_GFX_LVDS_SPREAD_SPECTRUM BLDCFG_GFX_LVDS_SPREAD_SPECTRUM
2357#else
2358 #define CFG_GFX_LVDS_SPREAD_SPECTRUM 0
2359#endif
2360
2361#ifdef BLDCFG_GFX_LVDS_SPREAD_SPECTRUM_RATE
2362 #define CFG_GFX_LVDS_SPREAD_SPECTRUM_RATE BLDCFG_GFX_LVDS_SPREAD_SPECTRUM_RATE
2363#else
2364 #define CFG_GFX_LVDS_SPREAD_SPECTRUM_RATE 0
2365#endif
2366
2367#ifdef BLDCFG_PCIE_REFCLK_SPREAD_SPECTRUM
2368 #define CFG_PCIE_REFCLK_SPREAD_SPECTRUM BLDCFG_PCIE_REFCLK_SPREAD_SPECTRUM
2369#else
2370 #define CFG_PCIE_REFCLK_SPREAD_SPECTRUM 0
2371#endif
2372
2373#ifdef BLDCFG_CFG_TEMP_PCIE_MMIO_BASE_ADDRESS
2374 #define CFG_TEMP_PCIE_MMIO_BASE_ADDRESS BLDCFG_CFG_TEMP_PCIE_MMIO_BASE_ADDRESS
2375#else
2376 #define CFG_TEMP_PCIE_MMIO_BASE_ADDRESS 0xD0000000ul
2377#endif
2378
2379#ifdef BLDCFG_ENABLE_EXTERNAL_VREF_FEATURE
2380 #define CFG_ENABLE_EXTERNAL_VREF BLDCFG_ENABLE_EXTERNAL_VREF_FEATURE
2381#else
2382 #define CFG_ENABLE_EXTERNAL_VREF FALSE
2383#endif
2384
2385
2386#ifdef BLDOPT_REMOVE_ALIB
2387 #if BLDOPT_REMOVE_ALIB == TRUE
2388 #undef OPTION_ALIB
2389 #define OPTION_ALIB FALSE
2390 #else
2391 #undef OPTION_ALIB
2392 #define OPTION_ALIB TRUE
2393 #endif
2394#endif
2395
2396#ifdef BLDOPT_REMOVE_FCH_COMPONENT
2397 #if BLDOPT_REMOVE_FCH_COMPONENT == TRUE
2398 #undef FCH_SUPPORT
2399 #define FCH_SUPPORT FALSE
2400 #endif
2401#endif
2402
2403#ifdef BLDCFG_IOMMU_SUPPORT
2404 #define CFG_IOMMU_SUPPORT BLDCFG_IOMMU_SUPPORT
2405#else
2406 #define CFG_IOMMU_SUPPORT TRUE
2407#endif
2408
2409#ifdef BLDCFG_LVDS_POWER_ON_SEQ_DIGON_TO_DE
2410 #define CFG_LVDS_POWER_ON_SEQ_DIGON_TO_DE BLDCFG_LVDS_POWER_ON_SEQ_DIGON_TO_DE
2411#else
2412 #define CFG_LVDS_POWER_ON_SEQ_DIGON_TO_DE 0
2413#endif
2414
2415#ifdef BLDCFG_LVDS_POWER_ON_SEQ_DE_TO_VARY_BL
2416 #define CFG_LVDS_POWER_ON_SEQ_DE_TO_VARY_BL BLDCFG_LVDS_POWER_ON_SEQ_DE_TO_VARY_BL
2417#else
2418 #define CFG_LVDS_POWER_ON_SEQ_DE_TO_VARY_BL 0
2419#endif
2420
2421#ifdef BLDCFG_LVDS_POWER_ON_SEQ_DE_TO_DIGON
2422 #define CFG_LVDS_POWER_ON_SEQ_DE_TO_DIGON BLDCFG_LVDS_POWER_ON_SEQ_DE_TO_DIGON
2423#else
2424 #define CFG_LVDS_POWER_ON_SEQ_DE_TO_DIGON 0
2425#endif
2426
2427#ifdef BLDCFG_LVDS_POWERS_ON_SEQ_VARY_BL_TO_DE
2428 #define CFG_LVDS_POWERS_ON_SEQ_VARY_BL_TO_DE BLDCFG_LVDS_POWERS_ON_SEQ_VARY_BL_TO_DE
2429#else
2430 #define CFG_LVDS_POWERS_ON_SEQ_VARY_BL_TO_DE 0
2431#endif
2432
2433#ifdef BLDCFG_LVDS_POWER_ON_SEQ_ON_TO_OFF_DELAY
2434 #define CFG_LVDS_POWER_ON_SEQ_ON_TO_OFF_DELAY BLDCFG_LVDS_POWER_ON_SEQ_ON_TO_OFF_DELAY
2435#else
2436 #define CFG_LVDS_POWER_ON_SEQ_ON_TO_OFF_DELAY 0
2437#endif
2438
2439#ifdef BLDCFG_LVDS_POWER_ON_SEQ_VARY_BL_TO_BLON
2440 #define CFG_LVDS_POWER_ON_SEQ_VARY_BL_TO_BLON BLDCFG_LVDS_POWER_ON_SEQ_VARY_BL_TO_BLON
2441#else
2442 #define CFG_LVDS_POWER_ON_SEQ_VARY_BL_TO_BLON 0
2443#endif
2444
2445#ifdef BLDCFG_LVDS_POWER_ON_SEQ_BLON_TO_VARY_BL
2446 #define CFG_LVDS_POWER_ON_SEQ_BLON_TO_VARY_BL BLDCFG_LVDS_POWER_ON_SEQ_BLON_TO_VARY_BL
2447#else
2448 #define CFG_LVDS_POWER_ON_SEQ_BLON_TO_VARY_BL 0
2449#endif
2450
2451#ifdef BLDCFG_LVDS_MAX_PIXEL_CLOCK_FREQ
2452 #define CFG_LVDS_MAX_PIXEL_CLOCK_FREQ BLDCFG_LVDS_MAX_PIXEL_CLOCK_FREQ
2453#else
2454 #define CFG_LVDS_MAX_PIXEL_CLOCK_FREQ 0
2455#endif
2456
2457#ifdef BLDCFG_LCD_BIT_DEPTH_CONTROL_VALUE
2458 #define CFG_LCD_BIT_DEPTH_CONTROL_VALUE BLDCFG_LCD_BIT_DEPTH_CONTROL_VALUE
2459#else
2460 #define CFG_LCD_BIT_DEPTH_CONTROL_VALUE 0
2461#endif
2462
2463
2464// BLDCFG_LVDS_24BBP_PANEL_MODE
2465// This specifies the LVDS 24 BBP mode.
2466// 0 - Use LDI mode (default).
2467// 1 - Use FPDI mode.
2468#ifdef BLDCFG_LVDS_24BBP_PANEL_MODE
2469 #define CFG_LVDS_24BBP_PANEL_MODE BLDCFG_LVDS_24BBP_PANEL_MODE
2470#else
2471 #define CFG_LVDS_24BBP_PANEL_MODE 0
2472#endif
2473
2474#ifdef BLDCFG_LVDS_MISC_888_FPDI_MODE
2475 #define CFG_LVDS_MISC_888_FPDI_MODE BLDCFG_LVDS_MISC_888_FPDI_MODE
2476#else
2477 #define CFG_LVDS_MISC_888_FPDI_MODE FALSE
2478#endif
2479
2480#ifdef BLDCFG_LVDS_MISC_DL_CH_SWAP
2481 #define CFG_LVDS_MISC_DL_CH_SWAP BLDCFG_LVDS_MISC_DL_CH_SWAP
2482#else
2483 #define CFG_LVDS_MISC_DL_CH_SWAP FALSE
2484#endif
2485
2486#ifdef BLDCFG_LVDS_MISC_VSYNC_ACTIVE_LOW
2487 #define CFG_LVDS_MISC_VSYNC_ACTIVE_LOW BLDCFG_LVDS_MISC_VSYNC_ACTIVE_LOW
2488#else
2489 #define CFG_LVDS_MISC_VSYNC_ACTIVE_LOW FALSE
2490#endif
2491
2492#ifdef BLDCFG_LVDS_MISC_HSYNC_ACTIVE_LOW
2493 #define CFG_LVDS_MISC_HSYNC_ACTIVE_LOW BLDCFG_LVDS_MISC_HSYNC_ACTIVE_LOW
2494#else
2495 #define CFG_LVDS_MISC_HSYNC_ACTIVE_LOW FALSE
2496#endif
2497
2498#ifdef BLDCFG_LVDS_MISC_BLON_ACTIVE_LOW
2499 #define CFG_LVDS_MISC_BLON_ACTIVE_LOW BLDCFG_LVDS_MISC_BLON_ACTIVE_LOW
2500#else
2501 #define CFG_LVDS_MISC_BLON_ACTIVE_LOW FALSE
2502#endif
2503
2504#ifdef BLDCFG_LVDS_MISC_VOLT_OVERWRITE_ENABLE
2505 #define CFG_LVDS_MISC_VOLT_OVERWRITE_ENABLE BLDCFG_LVDS_MISC_VOLT_OVERWRITE_ENABLE
2506#else
2507 #define CFG_LVDS_MISC_VOLT_OVERWRITE_ENABLE FALSE
2508#endif
2509
2510#ifdef BLDCFG_LVDS_MISC_VOLT_ADJUSTMENT
2511 #define CFG_LVDS_MISC_VOLT_ADJUSTMENT BLDCFG_LVDS_MISC_VOLT_ADJUSTMENT
2512#else
2513 #define CFG_LVDS_MISC_VOLT_ADJUSTMENT 0
2514#endif
2515
2516#ifdef BLDCFG_DISPLAY_MISC_VBIOS_FAST_BOOT_ENABLE
2517 #define CFG_DISPLAY_MISC_VBIOS_FAST_BOOT_ENABLE BLDCFG_DISPLAY_MISC_VBIOS_FAST_BOOT_ENABLE
2518#else
2519 #define CFG_DISPLAY_MISC_VBIOS_FAST_BOOT_ENABLE FALSE
2520#endif
2521
2522/*---------------------------------------------------------------------------
2523 * Processing the options: Third, perform the option cross checks
2524 *--------------------------------------------------------------------------*/
2525// Assure that at least one type of memory support is included
2526#if OPTION_UDIMMS == FALSE
2527 #if OPTION_RDIMMS == FALSE
2528 #if OPTION_SODIMMS == FALSE
2529 #if OPTION_LRDIMMS == FALSE
2530 #error BLDOPT: No DIMM support selected. Either BLDOPT_REMOVE_UDIMMS_SUPPORT or BLDOPT_REMOVE_RDIMMS_SUPPORT or BLDOPT_REMOVE_SODIMMS_SUPPORT or BLDOPT_REMOVE_LRDIMMS_SUPPORT must be FALSE.
2531 #endif
2532 #endif
2533 #endif
2534#endif
2535// Ensure at least one dimm type is capable
2536#if CFG_MEMORY_RDIMM_CAPABLE == FALSE
2537 #if CFG_MEMORY_UDIMM_CAPABLE == FALSE
2538 #if CFG_MEMORY_SODIMM_CAPABLE == FALSE
2539 #if CFG_MEMORY_LRDIMM_CAPABLE == FALSE
2540 #error BLDCFG: No dimm type is capable
2541 #endif
2542 #endif
2543 #endif
2544#endif
2545// Check LRDIMM CODE and LRDIMM CFG item
2546#if CFG_MEMORY_LRDIMM_CAPABLE == FALSE
2547 #if BLDOPT_REMOVE_LRDIMMS_SUPPORT == TRUE
2548 #error Warning: LRDIMM capability is false, but LRIDMM support code included
2549 #endif
2550#endif
2551// Turn off multi-socket based features if only one node...
2552#if OPTION_MULTISOCKET == FALSE
2553 #undef OPTION_PARALLEL_TRAINING
2554 #define OPTION_PARALLEL_TRAINING FALSE
2555 #undef OPTION_NODE_INTERLEAVE
2556 #define OPTION_NODE_INTERLEAVE FALSE
2557#endif
2558// Ensure the frequency limit is valid
2559#if (CFG_MEMORY_BUS_FREQUENCY_LIMIT != DDR2133_FREQUENCY) && (CFG_MEMORY_BUS_FREQUENCY_LIMIT != 1066)
2560 #if (CFG_MEMORY_BUS_FREQUENCY_LIMIT != DDR1866_FREQUENCY) && (CFG_MEMORY_BUS_FREQUENCY_LIMIT != 933)
2561 #if (CFG_MEMORY_BUS_FREQUENCY_LIMIT != DDR1600_FREQUENCY) && (CFG_MEMORY_BUS_FREQUENCY_LIMIT != 800)
2562 #if (CFG_MEMORY_BUS_FREQUENCY_LIMIT != DDR1333_FREQUENCY) && (CFG_MEMORY_BUS_FREQUENCY_LIMIT != 667)
2563 #if (CFG_MEMORY_BUS_FREQUENCY_LIMIT != DDR1066_FREQUENCY) && (CFG_MEMORY_BUS_FREQUENCY_LIMIT != 533)
2564 #if (CFG_MEMORY_BUS_FREQUENCY_LIMIT != DDR800_FREQUENCY) && (CFG_MEMORY_BUS_FREQUENCY_LIMIT != 400)
2565 #if (CFG_MEMORY_BUS_FREQUENCY_LIMIT != DDR667_FREQUENCY) && (CFG_MEMORY_BUS_FREQUENCY_LIMIT != 333)
2566 #if (CFG_MEMORY_BUS_FREQUENCY_LIMIT != DDR533_FREQUENCY) && (CFG_MEMORY_BUS_FREQUENCY_LIMIT != 266)
2567 #if (CFG_MEMORY_BUS_FREQUENCY_LIMIT != DDR400_FREQUENCY) && (CFG_MEMORY_BUS_FREQUENCY_LIMIT != 200)
2568 #error BLDCFG: Unsupported memory bus frequency
2569 #endif
2570 #endif
2571 #endif
2572 #endif
2573 #endif
2574 #endif
2575 #endif
2576 #endif
2577#endif
2578// Ensure timing mode is valid
2579#if CFG_TIMING_MODE_SELECT != TIMING_MODE_SPECIFIC
2580 #if CFG_TIMING_MODE_SELECT != TIMING_MODE_LIMITED
2581 #if CFG_TIMING_MODE_SELECT != TIMING_MODE_AUTO
2582 #error BLDCFG: Invalid timing mode is set
2583 #endif
2584 #endif
2585#endif
2586// Ensure the scrub rate is valid
2587#if ((CFG_SCRUB_DRAM_RATE > 0x16) && (CFG_SCRUB_DRAM_RATE != 0xFF))
2588 #error BLDCFG: Unsupported dram scrub rate set
2589#endif
2590#if CFG_SCRUB_L2_RATE > 0x16
2591 #error BLDCFG: Unsupported L2 scrubber rate set
2592#endif
2593#if CFG_SCRUB_L3_RATE > 0x16
2594 #error BLDCFG: unsupported L3 scrubber rate set
2595#endif
2596#if CFG_SCRUB_IC_RATE > 0x16
2597 #error BLDCFG: Unsupported Instruction cache scrub rate set
2598#endif
2599#if CFG_SCRUB_DC_RATE > 0x16
2600 #error BLDCFG: Unsupported Dcache scrub rate set
2601#endif
2602// Ensure Quad rank dimm type is valid
2603#if CFG_MEMORY_QUADRANK_TYPE != QUADRANK_UNBUFFERED
2604 #if CFG_MEMORY_QUADRANK_TYPE != QUADRANK_REGISTERED
2605 #error BLDCFG: Invalid quad rank dimm type set
2606 #endif
2607#endif
2608// Ensure ECC symbol size is valid
2609#if CFG_ECC_SYMBOL_SIZE != ECCSYMBOLSIZE_USE_BKDG
2610 #if CFG_ECC_SYMBOL_SIZE != ECCSYMBOLSIZE_FORCE_X4
2611 #if CFG_ECC_SYMBOL_SIZE != ECCSYMBOLSIZE_FORCE_X8
2612 #error BLDCFG: Invalid Ecc symbol size set
2613 #endif
2614 #endif
2615#endif
2616// Ensure power down mode is valid
2617#if CFG_POWER_DOWN_MODE != POWER_DOWN_BY_CHIP_SELECT
2618 #if CFG_POWER_DOWN_MODE != POWER_DOWN_BY_CHANNEL
2619 #error BLDCFG: Invalid power down mode set
2620 #endif
2621#endif
2622
2623/*****************************************************************************
2624 *
2625 * Process the option logic, setting local control variables
2626 *
2627 ****************************************************************************/
2628#if OPTION_ACPI_PSTATES == TRUE
2629 #define OPTFCN_ACPI_TABLES CreateAcpiTablesMain
2630 #define OPTFCN_GATHER_DATA PStateGatherData
2631 #if OPTION_MULTISOCKET == TRUE
2632 #define OPTFCN_PSTATE_LEVELING PStateLeveling
2633 #else
2634 #define OPTFCN_PSTATE_LEVELING CommonReturnAgesaSuccess
2635 #endif
2636#else
2637 #define OPTFCN_ACPI_TABLES CommonReturnAgesaSuccess
2638 #define OPTFCN_GATHER_DATA CommonReturnAgesaSuccess
2639 #define OPTFCN_PSTATE_LEVELING CommonReturnAgesaSuccess
2640#endif
2641
2642
2643/*****************************************************************************
2644 *
2645 * Include the structure definitions for the defaults table structures
2646 *
2647 ****************************************************************************/
2648#include "Options.h"
2649#include "OptionCpuFamiliesInstall.h"
2650#include "OptionsHt.h"
2651#include "OptionHtInstall.h"
2652#include "OptionMemory.h"
2653#include "PlatformMemoryConfiguration.h"
2654#include "OptionMemoryInstall.h"
2655#include "OptionMemoryRecovery.h"
2656#include "OptionMemoryRecoveryInstall.h"
2657#include "OptionCpuFeaturesInstall.h"
2658#include "OptionDmi.h"
2659#include "OptionDmiInstall.h"
2660#include "OptionPstate.h"
2661#include "OptionPstateInstall.h"
2662#include "OptionWhea.h"
2663#include "OptionWheaInstall.h"
2664#include "OptionSrat.h"
2665#include "OptionSratInstall.h"
2666#include "OptionSlit.h"
2667#include "OptionSlitInstall.h"
2668#include "OptionMultiSocket.h"
2669#include "OptionMultiSocketInstall.h"
2670#include "OptionIdsInstall.h"
2671#include "OptionGfxRecovery.h"
2672#include "OptionGfxRecoveryInstall.h"
2673#include "OptionGnb.h"
2674#include "OptionGnbInstall.h"
2675#include "OptionS3ScriptInstall.h"
2676#include "OptionFchInstall.h"
2677#include "OptionMmioMapInstall.h"
2678
2679
2680/*****************************************************************************
2681 *
2682 * Generate the output structures (defaults tables)
2683 *
2684 ****************************************************************************/
2685
2686FCH_PLATFORM_POLICY FchUserOptions = {
2687 CFG_SMBUS0_BASE_ADDRESS, // CfgSmbus0BaseAddress
2688 CFG_SMBUS1_BASE_ADDRESS, // CfgSmbus1BaseAddress
2689 CFG_SIO_PME_BASE_ADDRESS, // CfgSioPmeBaseAddress
2690 CFG_ACPI_PM1_EVT_BLOCK_ADDRESS, // CfgAcpiPm1EvtBlkAddr
2691 CFG_ACPI_PM1_CNT_BLOCK_ADDRESS, // CfgAcpiPm1CntBlkAddr
2692 CFG_ACPI_PM_TMR_BLOCK_ADDRESS, // CfgAcpiPmTmrBlkAddr
2693 CFG_ACPI_CPU_CNT_BLOCK_ADDRESS, // CfgCpuControlBlkAddr
2694 CFG_ACPI_GPE0_BLOCK_ADDRESS, // CfgAcpiGpe0BlkAddr
2695 CFG_SMI_CMD_PORT_ADDRESS, // CfgSmiCmdPortAddr
2696 CFG_ACPI_PMA_CNTBLK_ADDRESS, // CfgAcpiPmaCntBlkAddr
2697 CFG_GEC_SHADOW_ROM_BASE, // CfgGecShadowRomBase
2698 CFG_WATCHDOG_TIMER_BASE, // CfgWatchDogTimerBase
2699 CFG_SPI_ROM_BASE_ADDRESS, // CfgSpiRomBaseAddress
2700 CFG_HPET_BASE_ADDRESS, // CfgHpetBaseAddress
2701 0,
2702 CFG_SMBUS_SSID, // CfgSmbusSsid
2703 CFG_IDE_SSID, // CfgIdeSsid
2704 CFG_SATA_AHCI_SSID, // CfgSataAhciSsid
2705 CFG_SATA_IDE_SSID, // CfgSataIdeSsid
2706 CFG_SATA_RAID5_SSID, // CfgSataRaid5Ssid
2707 CFG_SATA_RAID_SSID, // CfgSataRaidSsid
2708 CFG_EHCI_SSID, // CfgEhcidSsid
2709 CFG_OHCI_SSID, // CfgOhcidSsid
2710 CFG_LPC_SSID, // CfgLpcSsid
2711 CFG_SD_SSID, // CfgSdSsid
2712 CFG_XHCI_SSID, // CfgXhciSsid
2713 CFG_FCH_PORT80_BEHIND_PCIB, // CfgFchPort80BehindPcib
2714 CFG_FCH_ENABLE_ACPI_SLEEP_TRAP, // CfgFchEnableAcpiSleepTrap
2715 CFG_FCH_GPP_LINK_CONFIG, // CfgFchGppLinkConfig
2716 CFG_FCH_GPP_PORT0_PRESENT, // CfgFchGppPort0Present
2717 CFG_FCH_GPP_PORT1_PRESENT, // CfgFchGppPort1Present
2718 CFG_FCH_GPP_PORT2_PRESENT, // CfgFchGppPort2Present
2719 CFG_FCH_GPP_PORT3_PRESENT, // CfgFchGppPort3Present
2720 CFG_FCH_GPP_PORT0_HOTPLUG, // CfgFchGppPort0HotPlug
2721 CFG_FCH_GPP_PORT1_HOTPLUG, // CfgFchGppPort1HotPlug
2722 CFG_FCH_GPP_PORT2_HOTPLUG, // CfgFchGppPort2HotPlug
2723 CFG_FCH_GPP_PORT3_HOTPLUG, // CfgFchGppPort3HotPlug
2724
2725 CFG_FCH_ESATA_PORT_BITMAP, // CfgFchEsataPortBitMap
2726 CFG_FCH_IR_PIN_CONTROL, // CfgFchIrPinControl
2727 CFG_FCH_SD_CLOCK_CONTROL, // CfgFchSdClockControl
2728 CFG_FCH_SCI_MAP_LIST, // *CfgFchSciMapControl
2729 CFG_FCH_SATA_PHY_LIST, // *CfgFchSataPhyControl
2730 CFG_FCH_GPIO_CONTROL_LIST // *CfgFchGpioControl
2731};
2732
2733BUILD_OPT_CFG UserOptions = {
2734 { // AGESA version string
2735 AGESA_CODE_SIGNATURE, // code header Signature
2736 AGESA_PACKAGE_STRING, // 8 character ID
2737 AGESA_VERSION_STRING, // 12 character version string
2738 0 // null string terminator
2739 },
2740 //Build Option Area
2741 OPTION_UDIMMS, //UDIMMS
2742 OPTION_RDIMMS, //RDIMMS
2743 OPTION_LRDIMMS, //LRDIMMS
2744 OPTION_ECC, //ECC
2745 OPTION_BANK_INTERLEAVE, //BANK_INTERLEAVE
2746 OPTION_DCT_INTERLEAVE, //DCT_INTERLEAVE
2747 OPTION_NODE_INTERLEAVE, //NODE_INTERLEAVE
2748 OPTION_PARALLEL_TRAINING, //PARALLEL_TRAINING
2749 OPTION_ONLINE_SPARE, //ONLINE_SPARE
2750 OPTION_MEM_RESTORE, //MEM CONTEXT RESTORE
2751 OPTION_MULTISOCKET, //MULTISOCKET
2752 OPTION_ACPI_PSTATES, //ACPI_PSTATES
2753 OPTION_CPU_PSTATE_HPC_MODE, //High Preformace Computing (HPC) mode
2754 FALSE,
2755 FALSE,
2756 OPTION_SRAT, //SRAT
2757 OPTION_SLIT, //SLIT
2758 OPTION_WHEA, //WHEA
2759 OPTION_DMI, //DMI
2760 OPTION_EARLY_SAMPLES, //EARLY_SAMPLES
2761 OPTION_ADDR_TO_CS_TRANSLATOR, //ADDR_TO_CS_TRANSLATOR
2762
2763 //Build Configuration Area
2764 CFG_PCI_MMIO_BASE,
2765 CFG_PCI_MMIO_SIZE,
2766 {
2767 // CoreVrm
2768 {
2769 CFG_VRM_CURRENT_LIMIT, // VrmCurrentLimit
2770 CFG_VRM_LOW_POWER_THRESHOLD, // VrmLowPowerThershold
2771 CFG_VRM_SLEW_RATE, // VrmSlewRate
2772 CFG_VRM_ADDITIONAL_DELAY, // VrmAdditionalDelay
2773 CFG_VRM_HIGH_SPEED_ENABLE, // VrmHiSpeedEnable
2774 CFG_VRM_MAXIMUM_CURRENT_LIMIT, // VrmInrushCurrentLimit
2775 CFG_VRM_SVI_OCP_LEVEL // VrmSviOcpLevel
2776 },
2777 // NbVrm
2778 {
2779 CFG_VRM_NB_CURRENT_LIMIT, // VrmNbCurrentLimit
2780 CFG_VRM_NB_LOW_POWER_THRESHOLD, // VrmNbLowPowerThershold
2781 CFG_VRM_NB_SLEW_RATE, // VrmNbSlewRate
2782 CFG_VRM_NB_ADDITIONAL_DELAY, // VrmNbAdditionalDelay
2783 CFG_VRM_NB_HIGH_SPEED_ENABLE, // VrmNbHiSpeedEnable
2784 CFG_VRM_NB_MAXIMUM_CURRENT_LIMIT, // VrmNbInrushCurrentLimit
2785 CFG_VRM_NB_SVI_OCP_LEVEL // VrmNbSviOcpLevel
2786 }
2787 },
2788 CFG_PLAT_NUM_IO_APICS, //PlatformApicIoNumber
2789 CFG_MEM_INIT_PSTATE, //MemoryInitPstate
2790 CFG_C1E_MODE, //C1eMode
2791 CFG_C1E_OPDATA, //C1ePlatformData
2792 CFG_C1E_OPDATA1, //C1ePlatformData1
2793 CFG_C1E_OPDATA2, //C1ePlatformData2
2794 CFG_C1E_OPDATA3, //C1ePlatformData3
2795 CFG_CSTATE_MODE, //CStateMode
2796 CFG_CSTATE_OPDATA, //CStatePlatformData
2797 CFG_CSTATE_IO_BASE_ADDRESS, //CStateIoBaseAddress
2798 CFG_CPB_MODE, //CpbMode
2799 LOW_POWER_PSTATE_FOR_PROCHOT_AUTO, //Low power Pstate for PROCHOT, it's always set to 'AUTO'
2800 CFG_CORE_LEVELING_MODE, //CoreLevelingCofig
2801 {
2802 CFG_PLATFORM_CONTROL_FLOW_MODE, // The platform's control flow mode.
2803 CFG_USE_HT_ASSIST, // CfgUseHtAssist
2804 CFG_USE_ATM_MODE, // CfgUseAtmMode
2805 CFG_USE_32_BYTE_REFRESH, // Display Refresh uses 32 byte packets.
2806 CFG_USE_VARIABLE_MCT_ISOC_PRIORITY, // The Memory controller will be set to Variable Isoc Priority.
2807 // ADVANCED_PERFORMANCE_PROFILE
2808 {
2809 CFG_PERFORMANCE_HARDWARE_PREFETCHER, // Hardware prefetcher mode
2810 CFG_PERFORMANCE_SOFTWARE_PREFETCHES, // Software prefetcher mode
2811 CFG_PERFORMANCE_DRAM_PREFETCHER // Dram prefetcher mode
2812 },
2813 CFG_PLATFORM_POWER_POLICY_MODE // The platform's power policy mode.
2814 },
2815 (CPU_HT_DEEMPHASIS_LEVEL *)CFG_PLATFORM_DEEMPHASIS_LIST, // Deemphasis settings
2816 CFG_AMD_PLATFORM_TYPE, //AmdPlatformType
2817 CFG_AMD_PSTATE_CAP_VALUE, // Amd pstate ceiling enabling deck
2818
2819 CFG_MEMORY_BUS_FREQUENCY_LIMIT, // CfgMemoryBusFrequencyLimit
2820 CFG_MEMORY_MODE_UNGANGED, // CfgMemoryModeUnganged
2821 CFG_MEMORY_QUAD_RANK_CAPABLE, // CfgMemoryQuadRankCapable
2822 CFG_MEMORY_QUADRANK_TYPE, // CfgMemoryQuadrankType
2823 CFG_MEMORY_RDIMM_CAPABLE, // CfgMemoryRDimmCapable
2824 CFG_MEMORY_LRDIMM_CAPABLE, // CfgMemoryLRDimmCapable
2825 CFG_MEMORY_UDIMM_CAPABLE, // CfgMemoryUDimmCapable
2826 CFG_MEMORY_SODIMM_CAPABLE, // CfgMemorySodimmCapable
2827 CFG_LIMIT_MEMORY_TO_BELOW_1TB, // CfgLimitMemoryToBelow1Tb
2828 CFG_MEMORY_ENABLE_BANK_INTERLEAVING, // CfgMemoryEnableBankInterleaving
2829 CFG_MEMORY_ENABLE_NODE_INTERLEAVING, // CfgMemoryEnableNodeInterleaving
2830 CFG_MEMORY_CHANNEL_INTERLEAVING, // CfgMemoryChannelInterleaving
2831 CFG_MEMORY_POWER_DOWN, // CfgMemoryPowerDown
2832 CFG_POWER_DOWN_MODE, // CfgPowerDownMode
2833 CFG_ONLINE_SPARE, // CfgOnlineSpare
2834 CFG_MEMORY_PARITY_ENABLE, // CfgMemoryParityEnable
2835 CFG_BANK_SWIZZLE, // CfgBankSwizzle
2836 CFG_TIMING_MODE_SELECT, // CfgTimingModeSelect
2837 CFG_MEMORY_CLOCK_SELECT, // CfgMemoryClockSelect
2838 CFG_DQS_TRAINING_CONTROL, // CfgDqsTrainingControl
2839 CFG_IGNORE_SPD_CHECKSUM, // CfgIgnoreSpdChecksum
2840 CFG_USE_BURST_MODE, // CfgUseBurstMode
2841 CFG_MEMORY_ALL_CLOCKS_ON, // CfgMemoryAllClocksOn
2842 CFG_ENABLE_ECC_FEATURE, // CfgEnableEccFeature
2843 CFG_ECC_REDIRECTION, // CfgEccRedirection
2844 CFG_SCRUB_DRAM_RATE, // CfgScrubDramRate
2845 CFG_SCRUB_L2_RATE, // CfgScrubL2Rate
2846 CFG_SCRUB_L3_RATE, // CfgScrubL3Rate
2847 CFG_SCRUB_IC_RATE, // CfgScrubIcRate
2848 CFG_SCRUB_DC_RATE, // CfgScrubDcRate
2849 CFG_ECC_SYNC_FLOOD, // CfgEccSyncFlood
2850 CFG_ECC_SYMBOL_SIZE, // CfgEccSymbolSize
2851 CFG_HEAP_DRAM_ADDRESS, // CfgHeapDramAddress
2852 CFG_1GB_ALIGN, // CfgNodeMem1GBAlign
2853 CFG_S3_LATE_RESTORE, // CfgS3LateRestore
2854 CFG_ACPI_PSTATE_PSD_INDPX, // CfgAcpiPstateIndependent
2855 (AP_MTRR_SETTINGS *) CFG_AP_MTRR_SETTINGS_LIST, // CfgApMtrrSettingsList
2856 CFG_UMA_MODE, // CfgUmaMode
2857 CFG_UMA_SIZE, // CfgUmaSize
2858 CFG_UMA_ABOVE4G, // CfgUmaAbove4G
2859 CFG_UMA_ALIGNMENT, // CfgUmaAlignment
2860 CFG_PROCESSOR_SCOPE_IN_SB, // CfgProcessorScopeInSb
2861 CFG_PROCESSOR_SCOPE_NAME0, // CfgProcessorScopeName0
2862 CFG_PROCESSOR_SCOPE_NAME1, // CfgProcessorScopeName1
2863 CFG_GNB_HD_AUDIO, // CfgGnbHdAudio
2864 CFG_ABM_SUPPORT, // CfgAbmSupport
2865 CFG_DYNAMIC_REFRESH_RATE, // CfgDynamicRefreshRate
2866 CFG_LCD_BACK_LIGHT_CONTROL, // CfgLcdBackLightControl
2867 CFG_GNB_STEREO_3D_PINOUT, // CfgGnb3dStereoPinIndex
2868 CFG_TEMP_PCIE_MMIO_BASE_ADDRESS, // CfgTempPcieMmioBaseAddress
2869 CFG_GNB_IGPU_SSID, // CfgGnbIGPUSSID
2870 CFG_GNB_HDAUDIO_SSID, // CfgGnbHDAudioSSID
2871 CFG_GNB_PCIE_SSID, // CfgGnbPcieSSID
2872 CFG_GFX_LVDS_SPREAD_SPECTRUM, // CfgLvdsSpreadSpectrum
2873 CFG_GFX_LVDS_SPREAD_SPECTRUM_RATE, // CfgLvdsSpreadSpectrumRate
2874
2875 &FchUserOptions, // FchBldCfg
2876
2877 CFG_IOMMU_SUPPORT, // CfgIommuSupport
2878 CFG_LVDS_POWER_ON_SEQ_DIGON_TO_DE, // CfgLvdsPowerOnSeqDigonToDe
2879 CFG_LVDS_POWER_ON_SEQ_DE_TO_VARY_BL, // CfgLvdsPowerOnSeqDeToVaryBl
2880 CFG_LVDS_POWER_ON_SEQ_DE_TO_DIGON, // CfgLvdsPowerOnSeqDeToDigon
2881 CFG_LVDS_POWERS_ON_SEQ_VARY_BL_TO_DE, // CfgLvdsPowerOnSeqVaryBlToDe
2882 CFG_LVDS_POWER_ON_SEQ_ON_TO_OFF_DELAY,// CfgLvdsPowerOnSeqOnToOffDelay
2883 CFG_LVDS_POWER_ON_SEQ_VARY_BL_TO_BLON,// CfgLvdsPowerOnSeqVaryBlToBlon
2884 CFG_LVDS_POWER_ON_SEQ_BLON_TO_VARY_BL,// CfgLvdsPowerOnSeqBlonToVaryBl
2885 CFG_LVDS_MAX_PIXEL_CLOCK_FREQ, // CfgLvdsMaxPixelClockFreq
2886 CFG_LCD_BIT_DEPTH_CONTROL_VALUE, // CfgLcdBitDepthControlValue
2887 CFG_LVDS_24BBP_PANEL_MODE, // CfgLvds24bbpPanelMode
2888 {{
2889 CFG_LVDS_MISC_888_FPDI_MODE, // CfgLvdsMiscControl
2890 CFG_LVDS_MISC_DL_CH_SWAP, // CfgLvdsMiscControl
2891 CFG_LVDS_MISC_VSYNC_ACTIVE_LOW, // CfgLvdsMiscControl
2892 CFG_LVDS_MISC_HSYNC_ACTIVE_LOW, // CfgLvdsMiscControl
2893 CFG_LVDS_MISC_BLON_ACTIVE_LOW, // CfgLvdsMiscControl
2894 CFG_LVDS_MISC_VOLT_OVERWRITE_ENABLE, // CfgLvdsMiscControl
2895 }},
2896 CFG_PCIE_REFCLK_SPREAD_SPECTRUM, // CfgPcieRefClkSpreadSpectrum
2897 CFG_ENABLE_EXTERNAL_VREF, // CfgExternalVrefCtlFeature
2898 CFG_FORCE_TRAIN_MODE, // CfgForceTrainMode
2899 CFG_GNB_REMOTE_DISPLAY_SUPPORT, // CfgGnbRemoteDisplaySupport
2900 (IOMMU_EXCLUSION_RANGE_DESCRIPTOR *) CFG_IOMMU_EXCLUSION_RANGE_LIST, // CfgIvrsExclusionRangeList
2901 CFG_GNB_SYNCFLOOD_PIN_AS_NMI, // CfgGnbSyncFloodPinAsNmi
2902 CFG_IGPU_ENABLE_DISABLE_POLICY, // CfgIgpuEnableDisablePolicy
2903 CFG_GNB_THERMAL_SENSOR_CORRECTION, // CfgGnbSwTjOffset
2904 CFG_LVDS_MISC_VOLT_ADJUSTMENT, // CfgLvdsMiscVoltAdjustment
2905 {{
2906 0, // Reserved
2907 CFG_DISPLAY_MISC_VBIOS_FAST_BOOT_ENABLE, // CfgDisplayMiscControl.VbiosFastBootEn
2908 0, // Reserved
2909 }},
2910 0, //reserved...
2911};
2912
2913CONST FUNCTION_PARAMS_INFO ROMDATA FuncParamsInfo[] =
2914{
2915 #if AGESA_ENTRY_INIT_RESET == TRUE
2916 { AMD_INIT_RESET,
2917 sizeof (AMD_RESET_PARAMS),
2918 (PF_AGESA_FUNCTION) AmdInitResetConstructor,
2919 (PF_AGESA_DESTRUCTOR) CommonReturnAgesaSuccess,
2920 AMD_INIT_RESET_HANDLE
2921 },
2922 #endif
2923
2924 #if AGESA_ENTRY_INIT_RECOVERY == TRUE
2925 { AMD_INIT_RECOVERY,
2926 sizeof (AMD_RECOVERY_PARAMS),
2927 (PF_AGESA_FUNCTION) AmdInitRecoveryInitializer,
2928 (PF_AGESA_DESTRUCTOR) CommonReturnAgesaSuccess,
2929 AMD_INIT_POST_HANDLE
2930 },
2931 #endif
2932
2933 #if AGESA_ENTRY_INIT_EARLY == TRUE
2934 { AMD_INIT_EARLY,
2935 sizeof (AMD_EARLY_PARAMS),
2936 (PF_AGESA_FUNCTION) AmdInitEarlyInitializer,
2937 (PF_AGESA_DESTRUCTOR) CommonReturnAgesaSuccess,
2938 AMD_INIT_EARLY_HANDLE
2939 },
2940 #endif
2941
2942 #if AGESA_ENTRY_INIT_ENV == TRUE
2943 { AMD_INIT_ENV,
2944 sizeof (AMD_ENV_PARAMS),
2945 (PF_AGESA_FUNCTION) AmdInitEnvInitializer,
2946 (PF_AGESA_DESTRUCTOR) CommonReturnAgesaSuccess,
2947 AMD_INIT_ENV_HANDLE
2948 },
2949 #endif
2950
2951 #if AGESA_ENTRY_INIT_LATE == TRUE
2952 { AMD_INIT_LATE,
2953 sizeof (AMD_LATE_PARAMS),
2954 (PF_AGESA_FUNCTION) AmdInitLateInitializer,
2955 (PF_AGESA_DESTRUCTOR) AmdInitLateDestructor,
2956 AMD_INIT_LATE_HANDLE
2957 },
2958 #endif
2959
2960 #if AGESA_ENTRY_INIT_MID == TRUE
2961 { AMD_INIT_MID,
2962 sizeof (AMD_MID_PARAMS),
2963 (PF_AGESA_FUNCTION) AmdInitMidInitializer,
2964 (PF_AGESA_DESTRUCTOR) CommonReturnAgesaSuccess,
2965 AMD_INIT_MID_HANDLE
2966 },
2967 #endif
2968
2969 #if AGESA_ENTRY_INIT_POST == TRUE
2970 { AMD_INIT_POST,
2971 sizeof (AMD_POST_PARAMS),
2972 (PF_AGESA_FUNCTION) AmdInitPostInitializer,
2973 (PF_AGESA_DESTRUCTOR) AmdInitPostDestructor,
2974 AMD_INIT_POST_HANDLE
2975 },
2976 #endif
2977
2978 #if AGESA_ENTRY_INIT_RESUME == TRUE
2979 { AMD_INIT_RESUME,
2980 sizeof (AMD_RESUME_PARAMS),
2981 (PF_AGESA_FUNCTION) AmdInitResumeInitializer,
2982 (PF_AGESA_DESTRUCTOR) AmdInitResumeDestructor,
2983 AMD_INIT_RESUME_HANDLE
2984 },
2985 #endif
2986
2987 #if AGESA_ENTRY_INIT_LATE_RESTORE == TRUE
2988 { AMD_S3LATE_RESTORE,
2989 sizeof (AMD_S3LATE_PARAMS),
2990 (PF_AGESA_FUNCTION) AmdS3LateRestoreInitializer,
2991 (PF_AGESA_DESTRUCTOR) CommonReturnAgesaSuccess,
2992 AMD_S3_LATE_RESTORE_HANDLE
2993 },
2994 #endif
2995
2996 #if AGESA_ENTRY_INIT_S3SAVE == TRUE
2997 { AMD_S3_SAVE,
2998 sizeof (AMD_S3SAVE_PARAMS),
2999 (PF_AGESA_FUNCTION) AmdS3SaveInitializer,
3000 (PF_AGESA_DESTRUCTOR) AmdS3SaveDestructor,
3001 AMD_S3_SAVE_HANDLE
3002 },
3003 #endif
3004
3005 #if AGESA_ENTRY_LATE_RUN_AP_TASK == TRUE
3006 { AMD_LATE_RUN_AP_TASK,
3007 sizeof (AP_EXE_PARAMS),
3008 (PF_AGESA_FUNCTION) AmdLateRunApTaskInitializer,
3009 (PF_AGESA_DESTRUCTOR) CommonReturnAgesaSuccess,
3010 AMD_LATE_RUN_AP_TASK_HANDLE
3011 },
3012 #endif
3013 { 0, 0, NULL, NULL, 0 }
3014};
3015
3016CONST UINTN InitializerCount = ((sizeof (FuncParamsInfo)) / (sizeof (FuncParamsInfo[0])));
3017
3018CONST DISPATCH_TABLE ROMDATA DispatchTable[] =
3019{
3020 { AMD_CREATE_STRUCT, (IMAGE_ENTRY)AmdCreateStruct },
3021 { AMD_RELEASE_STRUCT, (IMAGE_ENTRY)AmdReleaseStruct },
3022
3023 #if AGESA_ENTRY_INIT_RESET == TRUE
3024 { AMD_INIT_RESET, (IMAGE_ENTRY)AmdInitReset },
3025 #endif
3026
3027 #if AGESA_ENTRY_INIT_RECOVERY == TRUE
3028 { AMD_INIT_RECOVERY, (IMAGE_ENTRY)AmdInitRecovery },
3029 #endif
3030
3031 #if AGESA_ENTRY_INIT_EARLY == TRUE
3032 { AMD_INIT_EARLY, (IMAGE_ENTRY)AmdInitEarly },
3033 #endif
3034
3035 #if AGESA_ENTRY_INIT_POST == TRUE
3036 { AMD_INIT_POST, (IMAGE_ENTRY)AmdInitPost },
3037 #endif
3038
3039 #if AGESA_ENTRY_INIT_ENV == TRUE
3040 { AMD_INIT_ENV, (IMAGE_ENTRY)AmdInitEnv },
3041 #endif
3042
3043 #if AGESA_ENTRY_INIT_MID == TRUE
3044 { AMD_INIT_MID, (IMAGE_ENTRY)AmdInitMid },
3045 #endif
3046
3047 #if AGESA_ENTRY_INIT_LATE == TRUE
3048 { AMD_INIT_LATE, (IMAGE_ENTRY)AmdInitLate },
3049 #endif
3050
3051 #if AGESA_ENTRY_INIT_S3SAVE == TRUE
3052 { AMD_S3_SAVE, (IMAGE_ENTRY)AmdS3Save },
3053 #endif
3054
3055 #if AGESA_ENTRY_INIT_RESUME == TRUE
3056 { AMD_INIT_RESUME, (IMAGE_ENTRY)AmdInitResume },
3057 #endif
3058
3059 #if AGESA_ENTRY_INIT_LATE_RESTORE == TRUE
3060 { AMD_S3LATE_RESTORE, (IMAGE_ENTRY)AmdS3LateRestore },
3061 #endif
3062
3063 #if AGESA_ENTRY_INIT_GENERAL_SERVICES == TRUE
3064 { AMD_GET_APIC_ID, (IMAGE_ENTRY)AmdGetApicId },
3065 { AMD_GET_PCI_ADDRESS, (IMAGE_ENTRY)AmdGetPciAddress },
3066 { AMD_IDENTIFY_CORE, (IMAGE_ENTRY)AmdIdentifyCore },
3067 { AMD_READ_EVENT_LOG, (IMAGE_ENTRY)AmdReadEventLog },
3068 { AMD_IDENTIFY_DIMMS, (IMAGE_ENTRY)AmdIdentifyDimm },
3069 { AMD_GET_EXECACHE_SIZE, (IMAGE_ENTRY)AmdGetAvailableExeCacheSize },
3070 #endif
3071
3072 #if AGESA_ENTRY_LATE_RUN_AP_TASK == TRUE
3073 { AMD_LATE_RUN_AP_TASK, (IMAGE_ENTRY)AmdLateRunApTask },
3074 #endif
3075 { 0, NULL }
3076};
3077
3078CONST DISPATCH_TABLE ROMDATA ApDispatchTable[] =
3079{
3080 IDS_LATE_RUN_AP_TASK
3081 // Get DMI info
3082 CPU_DMI_AP_GET_TYPE4_TYPE7
3083 // Probe filter enable
3084 L3_FEAT_AP_DISABLE_CACHE
3085 L3_FEAT_AP_ENABLE_CACHE
3086 // Cpu Late Init
3087 CPU_LATE_INIT_AP_TASK
3088 { 0, NULL }
3089};
3090
3091#if AGESA_ENTRY_INIT_EARLY == TRUE
3092 #if IDSOPT_IDS_ENABLED == TRUE
3093 #if IDSOPT_TRACING_ENABLED == TRUE
3094 #define MAKE_DBG_STR(x, y) MAKE_AS_A_STRING(x : y)
3095 CONST CHAR8 *BldOptDebugOutput[] = {
3096 #if IDS_TRACE_SHOW_BLD_OPT_CFG == TRUE
3097 //Build Option Area
3098 MAKE_DBG_STR (\nOptUDIMM, OPTION_UDIMMS)
3099 MAKE_DBG_STR (\nOptRDIMM, OPTION_RDIMMS)
3100 MAKE_DBG_STR (\nOptLRDIMM, OPTION_LRDIMMS)
3101 MAKE_DBG_STR (\nOptECC, OPTION_ECC)
3102 MAKE_DBG_STR (\nOptCsIntlv, OPTION_BANK_INTERLEAVE)
3103 MAKE_DBG_STR (\nOptDctIntlv, OPTION_DCT_INTERLEAVE)
3104 MAKE_DBG_STR (\nOptNodeIntlv, OPTION_NODE_INTERLEAVE)
3105 //MAKE_DBG_STR (\nOptParallelTraining, OPTION_PARALLEL_TRAINING)
3106 MAKE_DBG_STR (\nOptOnlineSpare, OPTION_ONLINE_SPARE)
3107 MAKE_DBG_STR (\nOptAddr2CsTranslator, OPTION_ADDR_TO_CS_TRANSLATOR)
3108 MAKE_DBG_STR (\nOptMemRestore, OPTION_MEM_RESTORE)
3109 MAKE_DBG_STR (\nOptMultiSocket, OPTION_MULTISOCKET)
3110 MAKE_DBG_STR (\nOptPstates, OPTION_ACPI_PSTATES)
3111 MAKE_DBG_STR (\nOptSRAT, OPTION_SRAT)
3112 MAKE_DBG_STR (\nOptSLIT, OPTION_SLIT)
3113 MAKE_DBG_STR (\nOptWHEA, OPTION_WHEA)
3114 MAKE_DBG_STR (\nOptDMI, OPTION_DMI)
3115 MAKE_DBG_STR (\nOptEarlySamples, OPTION_EARLY_SAMPLES),
3116
3117 //Build Configuration Area
3118 // CoreVrm
3119 MAKE_DBG_STR (\nVrmCurrentLimit , CFG_VRM_CURRENT_LIMIT)
3120 MAKE_DBG_STR (\nVrmLowPowerThreshold , CFG_VRM_LOW_POWER_THRESHOLD)
3121 MAKE_DBG_STR (\nVrmSlewRate , CFG_VRM_SLEW_RATE)
3122 MAKE_DBG_STR (\nVrmAdditionalDelay , CFG_VRM_ADDITIONAL_DELAY)
3123 MAKE_DBG_STR (\nVrmHiSpeedEnable , CFG_VRM_HIGH_SPEED_ENABLE)
3124 MAKE_DBG_STR (\nVrmInrushCurrentLimit, CFG_VRM_MAXIMUM_CURRENT_LIMIT)
3125 MAKE_DBG_STR (\nVrmSviOcpLevel, CFG_VRM_SVI_OCP_LEVEL)
3126 // NbVrm
3127 MAKE_DBG_STR (\nNbVrmCurrentLimit , CFG_VRM_NB_CURRENT_LIMIT)
3128 MAKE_DBG_STR (\nNbVrmLowPowerThreshold , CFG_VRM_NB_LOW_POWER_THRESHOLD)
3129 MAKE_DBG_STR (\nNbVrmSlewRate , CFG_VRM_NB_SLEW_RATE)
3130 MAKE_DBG_STR (\nNbVrmAdditionalDelay , CFG_VRM_NB_ADDITIONAL_DELAY)
3131 MAKE_DBG_STR (\nNbVrmHiSpeedEnable , CFG_VRM_NB_HIGH_SPEED_ENABLE)
3132 MAKE_DBG_STR (\nNbVrmInrushCurrentLimit, CFG_VRM_NB_MAXIMUM_CURRENT_LIMIT),
3133 MAKE_DBG_STR (\nNbVrmSviOcpLevel, CFG_VRM_NB_SVI_OCP_LEVEL)
3134
3135 MAKE_DBG_STR (\nNumIoApics , CFG_PLAT_NUM_IO_APICS)
3136 MAKE_DBG_STR (\nMemInitPstate , CFG_MEM_INIT_PSTATE)
3137 MAKE_DBG_STR (\nC1eMode , CFG_C1E_MODE)
3138 MAKE_DBG_STR (\nC1eOpData , CFG_C1E_OPDATA)
3139 MAKE_DBG_STR (\nC1eOpdata1 , CFG_C1E_OPDATA1)
3140 MAKE_DBG_STR (\nC1eOpdata2 , CFG_C1E_OPDATA2)
3141 MAKE_DBG_STR (\nC1eOpdata3 , CFG_C1E_OPDATA3)
3142 MAKE_DBG_STR (\nCStateMode , CFG_CSTATE_MODE)
3143 MAKE_DBG_STR (\nCStateOpData , CFG_CSTATE_OPDATA)
3144 MAKE_DBG_STR (\nCStateIoBaseAddr , CFG_CSTATE_IO_BASE_ADDRESS)
3145 MAKE_DBG_STR (\nCpbMode , CFG_CPB_MODE)
3146 MAKE_DBG_STR (\nCoreLevelingMode , CFG_CORE_LEVELING_MODE),
3147
3148 MAKE_DBG_STR (\nControlFlowMode , CFG_PLATFORM_CONTROL_FLOW_MODE)
3149 MAKE_DBG_STR (\nUseHtAssist , CFG_USE_HT_ASSIST)
3150 MAKE_DBG_STR (\nUseAtmMode , CFG_USE_ATM_MODE)
3151 MAKE_DBG_STR (\nUse32ByteRefresh , CFG_USE_32_BYTE_REFRESH)
3152 MAKE_DBG_STR (\nUseVarMctIsocPriority , CFG_USE_VARIABLE_MCT_ISOC_PRIORITY)
3153 MAKE_DBG_STR (\nPowerPolicy , CFG_PLATFORM_POWER_POLICY_MOD)
3154
3155 MAKE_DBG_STR (\nDeemphasisList , CFG_PLATFORM_DEEMPHASIS_LIST)
3156
3157 MAKE_DBG_STR (\nPciMmioAddr , CFG_PCI_MMIO_BASE)
3158 MAKE_DBG_STR (\nPciMmioSize , CFG_PCI_MMIO_SIZE)
3159 MAKE_DBG_STR (\nPlatformType , CFG_AMD_PLATFORM_TYPE)
3160 MAKE_DBG_STR (\nPstateCapValue , CFG_AMD_PSTATE_CAP_VALUE),
3161
3162 MAKE_DBG_STR (\nMemBusFreqLimit , CFG_MEMORY_BUS_FREQUENCY_LIMIT)
3163 MAKE_DBG_STR (\nTimingModeSelect , CFG_TIMING_MODE_SELECT)
3164 MAKE_DBG_STR (\nMemoryClockSelect , CFG_MEMORY_CLOCK_SELECT)
3165
3166 MAKE_DBG_STR (\nMemUnganged , CFG_MEMORY_MODE_UNGANGED)
3167 MAKE_DBG_STR (\nQRCap , CFG_MEMORY_QUAD_RANK_CAPABLE)
3168 MAKE_DBG_STR (\nQRType , CFG_MEMORY_QUADRANK_TYPE)
3169 MAKE_DBG_STR (\nRDimmCap , CFG_MEMORY_RDIMM_CAPABLE)
3170 MAKE_DBG_STR (\nLRDimmCap , CFG_MEMORY_LRDIMM_CAPABLE)
3171 MAKE_DBG_STR (\nUDimmCap , CFG_MEMORY_UDIMM_CAPABLE)
3172 MAKE_DBG_STR (\nSODimmCap , CFG_MEMORY_SODIMM_CAPABLE)
3173 MAKE_DBG_STR (\nDqsTrainingControl , CFG_DQS_TRAINING_CONTROL)
3174 MAKE_DBG_STR (\nIgnoreSpdChecksum , CFG_IGNORE_SPD_CHECKSUM)
3175 MAKE_DBG_STR (\nUseBurstMode , CFG_USE_BURST_MODE)
3176 MAKE_DBG_STR (\nAllMemClkOn , CFG_MEMORY_ALL_CLOCKS_ON),
3177
3178 MAKE_DBG_STR (\nPowerDownEn , CFG_MEMORY_POWER_DOWN)
3179 MAKE_DBG_STR (\nPowerDownMode , CFG_POWER_DOWN_MODE)
3180 MAKE_DBG_STR (\nOnlineSpare , CFG_ONLINE_SPARE)
3181 MAKE_DBG_STR (\nAddrParityEn , CFG_MEMORY_PARITY_ENABLE)
3182 MAKE_DBG_STR (\nBankSwizzle , CFG_BANK_SWIZZLE)
3183 MAKE_DBG_STR (\nLimitBelow1TB , CFG_LIMIT_MEMORY_TO_BELOW_1TB)
3184 MAKE_DBG_STR (\nCsIntlvEn , CFG_MEMORY_ENABLE_BANK_INTERLEAVING)
3185 MAKE_DBG_STR (\nNodeIntlvEn , CFG_MEMORY_ENABLE_NODE_INTERLEAVING)
3186 MAKE_DBG_STR (\nDctIntlvEn , CFG_MEMORY_CHANNEL_INTERLEAVING),
3187
3188 MAKE_DBG_STR (\nUmaMode , CFG_UMA_MODE)
3189 MAKE_DBG_STR (\nUmaSize , CFG_UMA_SIZE)
3190 MAKE_DBG_STR (\nUmaAbove4G , CFG_UMA_ABOVE4G)
3191 MAKE_DBG_STR (\nUmaAlignment , CFG_UMA_ALIGNMENT)
3192
3193 MAKE_DBG_STR (\nEccEn , CFG_ENABLE_ECC_FEATURE)
3194 MAKE_DBG_STR (\nEccRedirect , CFG_ECC_REDIRECTION)
3195 MAKE_DBG_STR (\nScrubDramRate , CFG_SCRUB_DRAM_RATE)
3196 MAKE_DBG_STR (\nScrubL2Rate , CFG_SCRUB_L2_RATE)
3197 MAKE_DBG_STR (\nScrubL3Rate , CFG_SCRUB_L3_RATE)
3198 MAKE_DBG_STR (\nScrubIcRate , CFG_SCRUB_IC_RATE)
3199 MAKE_DBG_STR (\nScrubDcRate , CFG_SCRUB_DC_RATE)
3200 MAKE_DBG_STR (\nEccSyncFlood , CFG_ECC_SYNC_FLOOD)
3201 MAKE_DBG_STR (\nEccSymbolSize , CFG_ECC_SYMBOL_SIZE)
3202 MAKE_DBG_STR (\nHeapDramAddress , CFG_HEAP_DRAM_ADDRESS)
3203 MAKE_DBG_STR (\nNodeMem1GBAlign , CFG_1GB_ALIGN),
3204
3205 MAKE_DBG_STR (\nS3LateRestore , CFG_S3_LATE_RESTORE)
3206 MAKE_DBG_STR (\nAcpiPstateIndependent , CFG_ACPI_PSTATE_PSD_INDPX)
3207
3208 MAKE_DBG_STR (\nApMtrrSettingsList , CFG_AP_MTRR_SETTINGS_LIST)
3209
3210 MAKE_DBG_STR (\nProcessorScopeInSb , CFG_PROCESSOR_SCOPE_IN_SB)
3211 MAKE_DBG_STR (\nProcessorScopeName0 , CFG_PROCESSOR_SCOPE_NAME0)
3212 MAKE_DBG_STR (\nProcessorScopeName1 , CFG_PROCESSOR_SCOPE_NAME1)
3213 MAKE_DBG_STR (\nGnbHdAudio , CFG_GNB_HD_AUDIO)
3214 MAKE_DBG_STR (\nAbmSupport , CFG_ABM_SUPPORT)
3215 MAKE_DBG_STR (\nDynamicRefreshRate , CFG_DYNAMIC_REFRESH_RATE)
3216 MAKE_DBG_STR (\nLcdBackLightControl , CFG_LCD_BACK_LIGHT_CONTROL)
3217 MAKE_DBG_STR (\nGnb3dStereoPinIndex , CFG_GNB_STEREO_3D_PINOUT)
3218 MAKE_DBG_STR (\nTempPcieMmioBaseAddress, CFG_TEMP_PCIE_MMIO_BASE_ADDRESS),
3219 MAKE_DBG_STR (\nCfgGnbIGPUSSID , CFG_GNB_IGPU_SSID)
3220 MAKE_DBG_STR (\nCfgGnbHDAudioSSID , CFG_GNB_HDAUDIO_SSID)
3221 MAKE_DBG_STR (\nCfgGnbPcieSSID , CFG_GNB_PCIE_SSID)
3222 MAKE_DBG_STR (\nCfgIommuSupport , CFG_IOMMU_SUPPORT)
3223 MAKE_DBG_STR (\nCfgLvdsSpreadSpectrum , CFG_GFX_LVDS_SPREAD_SPECTRUM)
3224 MAKE_DBG_STR (\nCfgLvdsSpreadSpectrumRate , CFG_GFX_LVDS_SPREAD_SPECTRUM_RATE)
3225 MAKE_DBG_STR (\nCfgLvdsPowerOnSeqDigonToDe , CFG_LVDS_POWER_ON_SEQ_DIGON_TO_DE)
3226 MAKE_DBG_STR (\nCfgLvdsPowerOnSeqDeToVaryBl , CFG_LVDS_POWER_ON_SEQ_DE_TO_VARY_BL)
3227 MAKE_DBG_STR (\nCfgLvdsPowerOnSeqDeToDigon , CFG_LVDS_POWER_ON_SEQ_DE_TO_DIGON)
3228 MAKE_DBG_STR (\nCfgLvdsPowerOnSeqVaryBlToDe , CFG_LVDS_POWERS_ON_SEQ_VARY_BL_TO_DE)
3229 MAKE_DBG_STR (\nCfgLvdsPowerOnSeqOnToOffDelay , CFG_LVDS_POWER_ON_SEQ_ON_TO_OFF_DELAY)
3230 MAKE_DBG_STR (\nCfgLvdsPowerOnSeqVaryBlToBlon , CFG_LVDS_POWER_ON_SEQ_VARY_BL_TO_BLON)
3231 MAKE_DBG_STR (\nCfgLvdsPowerOnSeqBlonToVaryBl , CFG_LVDS_POWER_ON_SEQ_BLON_TO_VARY_BL)
3232 MAKE_DBG_STR (\nCfgLvdsMaxPixelClockFreq , CFG_LVDS_MAX_PIXEL_CLOCK_FREQ)
3233 MAKE_DBG_STR (\nCfgLcdBitDepthControlValue , CFG_LCD_BIT_DEPTH_CONTROL_VALUE)
3234 MAKE_DBG_STR (\nCfgLvds24bbpPanelMode , CFG_LVDS_24BBP_PANEL_MODE),
3235 MAKE_DBG_STR (\nCfgLvdsMiscControl.FpdiMode , CFG_LVDS_MISC_888_FPDI_MODE),
3236 MAKE_DBG_STR (\nCfgLvdsMiscControl.DlChSwap , CFG_LVDS_MISC_DL_CH_SWAP),
3237 MAKE_DBG_STR (\nCfgLvdsMiscControl.VsyncActiveLow , CFG_LVDS_MISC_VSYNC_ACTIVE_LOW),
3238 MAKE_DBG_STR (\nCfgLvdsMiscControl.HsyncActiveLow , CFG_LVDS_MISC_HSYNC_ACTIVE_LOW),
3239 MAKE_DBG_STR (\nCfgLvdsMiscControl.BLONActiveLow , CFG_LVDS_MISC_BLON_ACTIVE_LOW),
3240 MAKE_DBG_STR (\nCfgPcieRefClkSpreadSpectrum , CFG_PCIE_REFCLK_SPREAD_SPECTRUM),
3241 MAKE_DBG_STR (\nCfgExtVref , CFG_ENABLE_EXTERNAL_VREF),
3242 MAKE_DBG_STR (\nCfgForceTrainMode , CFG_FORCE_TRAIN_MODE),
3243 MAKE_DBG_STR (\nCfgGnbRemoteDisplaySupport , CFG_GNB_REMOTE_DISPLAY_CONFIG),
3244 MAKE_DBG_STR (\nCfgIvrsExclusionRangeList , CFG_IOMMU_EXCLUSION_RANGE_LIST),
3245 MAKE_DBG_STR (\nCfgGnbSyncFloodPinAsNmi , CFG_GNB_SYNCFLOOD_PIN_AS_NMI),
3246 MAKE_DBG_STR (\nCfgIgpuEnableDisablePolicy , CFG_IGPU_ENABLE_DISABLE_POLICY),
3247 MAKE_DBG_STR (\nCfgGnbSwTjOffset , CFG_GNB_THERMAL_SENSOR_CORRECTION),
3248 MAKE_DBG_STR (\nCfgDisplayMiscControl.VbiosFastBootEn , CFG_DISPLAY_MISC_VBIOS_FAST_BOOT_ENABLE),
3249 #endif
3250 NULL
3251 };
3252 #endif
3253 #endif
3254#endif