diff options
author | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
---|---|---|
committer | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
commit | b7c51c9cf4864df6aabb99a1ae843becd577237c (patch) | |
tree | eebe9b0d0ca03062955223097e57da84dd618b9a /ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/Source/Include/MrcMcConfiguration.h | |
download | zprj-master.tar.xz |
Diffstat (limited to 'ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/Source/Include/MrcMcConfiguration.h')
-rw-r--r-- | ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/Source/Include/MrcMcConfiguration.h | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/Source/Include/MrcMcConfiguration.h b/ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/Source/Include/MrcMcConfiguration.h new file mode 100644 index 0000000..6a094d1 --- /dev/null +++ b/ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/Source/Include/MrcMcConfiguration.h @@ -0,0 +1,114 @@ +/** @file + Non training specific memory controller configuration definitions. + +@copyright + Copyright (c) 1999 - 2012 Intel Corporation. All rights reserved. + This software and associated documentation (if any) is furnished + under a license and may only be used or copied in accordance + with the terms of the license. Except as permitted by such + license, no part of this software or documentation may be + reproduced, stored in a retrieval system, or transmitted in any + form or by any means without the express written consent of + Intel Corporation. + + This file contains an 'Intel Peripheral Driver' and uniquely + identified as "Intel Reference Module" and is + licensed for Intel CPUs and chipsets under the terms of your + license agreement with Intel or your vendor. This file may + be modified by the user, subject to additional terms of the + license agreement. +**/ +#ifndef __MrcMcConfiguration_h__ +#define __MrcMcConfiguration_h__ + +#include "MrcTypes.h" +#include "MrcApi.h" +#include "McAddress.h" +#include "MrcAddressDecodeConfiguration.h" +#include "MrcCommandTraining.h" +#include "MrcCommon.h" +#include "MrcGeneral.h" +#include "MrcGlobal.h" +#include "MrcOem.h" +#include "MrcOemIo.h" +#include "MrcRefreshConfiguration.h" +#include "MrcSchedulerParameters.h" +#include "MrcTimingConfiguration.h" + +#define DISABLE_ODT_STATIC (0) ///< May change in the future +#define CDIEVSSHI (2000) ///< Constant CdieVssHi = 2000 (value in pF) +#define RCMDREF (100) ///< Constant RcmdRef = 100 (value in ohm) + +/** +@brief + This function calculates the two numbers that get you closest to the slope. + + @param[in] Slope - targeted slope (multiplied by 100 for int match) + + @retval Returns the Slope Index to be programmed for VtSlope. +**/ +extern +U8 +MrcCalcVtSlopeCode ( + const U16 Slope + ); + +/** +@brief + This function performs the memory controller configuration non training sequence. + + @param[in, out] MrcData - Include all MRC global data. + + @retval MrcStatus - mrcSuccess if successful or an error status +**/ +extern +MrcStatus +MrcMcConfiguration ( + MrcParameters *const MrcData + ); + +/** +@brief + This function init all the necessary registers for the training. + + @param[in] MrcData - Include all MRC global data. + + @retval mrcSuccess +**/ +extern +MrcStatus +MrcPreTraining ( + MrcParameters *const MrcData + ); + +/** +@brief + This function initializes all the necessary registers after main training steps but before LCT. + + @param[in] MrcData - Include all MRC global data. + + @retval mrcSuccess +**/ +extern +MrcStatus +MrcPostTraining ( + MrcParameters *const MrcData + ); + +/** +@brief + Program PCU_CR_DDR_VOLTAGE register. + + @param[in] MrcData - Include all MRC global data. + @param[in] VddVoltage - Current DDR voltage. + + @retval none +**/ +extern +void +MrcSetPcuDdrVoltage ( + IN OUT MrcParameters *MrcData, + IN MrcVddSelect VddVoltage + ); + +#endif // __MrcMcConfiguration_h__ |