• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* $NoKeywords */
2 /**
3  * @file
4  *
5  * MemSetup.h
6  *
7  * Contains common MemSetup-related structures and defines.
8  *
9  * @xrefitem bom "File Content Label" "Release Content"
10  * @e project: FDK
11  * @e sub-project: UEFI
12  * @e version: $Revision: 317558 $ @e date: $Date: 2015-04-24 17:20:55 -0700 (Fri, 24 Apr 2015) $
13  *
14  */
15 /*****************************************************************************
16 *
17 *  Copyright 2013 - 2016 ADVANCED MICRO DEVICES, INC.  All Rights Reserved.
18 *
19 *  This program and the accompanying materials are licensed and made available
20 *  under the terms and conditions of the BSD License which accompanies this
21 *  distribution. The full text of the license may be found at
22 *  http://opensource.org/licenses/bsd-license.php
23 *
24 *  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
25 *  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR
26 *  IMPLIED.
27 *
28 ***************************************************************************/
29 
30 //#########################################################################
31 //#########################################################################
32 //#########################################################################
33 //        NOTE: This file shared between SCP and UEFI, make sure all     //
34 //              changes are reflected in both copies.                    //
35 //#########################################################################
36 //#########################################################################
37 //#########################################################################
38 
39 #ifndef MEMSETUP_H_
40 #define MEMSETUP_H_
41 
42 #ifdef __cplusplus
43   extern "C" {
44   #endif
45 
46 /*----------------------------------------------------------------------------------------
47  *                             M O D U L E S    U S E D
48  *----------------------------------------------------------------------------------------
49  */
50 
51 
52 /*----------------------------------------------------------------------------------------
53  *                  T Y P E D E F S     A N D     S T R U C T U R E S
54  *----------------------------------------------------------------------------------------
55  */
56 
57   /// Memory Set up Structure for customer visibility
58   typedef struct {
59     UINT8  MemoryClockSpeed;                   ///< Memory clock speed
60     UINT8  DDR3RttWr;                          ///< DDR3 Rtt_Wr
61     UINT8  DDR3RttNom;                         ///< DDR3 Rtt_Nom
62     UINT8  DDR4RttWr;                          ///< DDR4 Rtt_Wr
63     UINT8  DDR4RttNom;                         ///< DDR4 Rtt_Nom
64     UINT8  AddCtrlDriveStrength;               ///< Address/Control Drive Strength
65     UINT8  ClockDriveStrengt;                  ///< Clock Drive Strength
66     UINT8  DataDMDriveStrength;                ///< Data/DM Drive Strength
67     UINT8  DQSDriveStrength;                   ///< DQS Drive Strength
68     UINT8  PowerdownEnable;                    ///< Power down Enable
69     UINT16 PowerdownIdleClocks;                ///< Power down Idle Clocks
70     UINT8  LongCountMask;                      ///< Long Count Mask
71     UINT8  ECCEnable;                          ///< ECC Enable/Disable
72     UINT16  tref;                              ///< tref
73     UINT16  tselseldq;                         ///< tsel_sel_dq
74     UINT16  tselseldqs;                        ///< tsel_sel_dqs
75     UINT16  trainingProgress;                  ///< training progress
76     UINT16  trainingRestore;                   ///< restore training results
77   } MEM_SETUP_VAR;
78 
79   #ifdef __cplusplus
80   }
81 #endif
82 
83 
84 #endif /* MEMSETUP_H_ */
85