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