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/McAddress.h | |
download | zprj-master.tar.xz |
Diffstat (limited to 'ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/Source/Include/McAddress.h')
-rw-r--r-- | ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/Source/Include/McAddress.h | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/Source/Include/McAddress.h b/ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/Source/Include/McAddress.h new file mode 100644 index 0000000..ddd677b --- /dev/null +++ b/ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/Source/Include/McAddress.h @@ -0,0 +1,131 @@ +/** @file + The contents of this file has all the memory controller register addresses + and register bit fields for the MRC. + +@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 __McAddress_h__ +#define __McAddress_h__ + +#include "McGdxcbar.h" +#include "McIoCkeCtl.h" +#include "McIoClk.h" +#include "McIoCmd.h" +#include "McIoComp.h" +#include "McIoData.h" +#include "McMain.h" +#include "McScramble.h" +#include "Msa.h" +#include "Pci000.h" + +/// +/// The following is a copy of M_PCU_CR_SSKPD_PCU_STRUCT, modified to add in the +/// definition of the scratch pad bit fields. +/// +typedef union { + struct { + U64 OldWM0 : 4; ///< Bits 3:0 + U64 WM1 : 8; ///< Bits 11:4 + U64 WM2 : 8; ///< Bits 19:12 + U64 WM3 : 9; ///< Bits 28:20 + U64 : 3; ///< Bits 31:29 + U64 WM4 : 9; ///< Bits 40:32 + U64 : 15; ///< Bits 55:41 + U64 NewWM0 : 8; ///< Bits 63:56 + } Bits; + U64 Data; + U32 Data32[2]; + U16 Data16[4]; + U8 Data8[8]; +} M_PCU_CR_SSKPD_PCU_STRUCT; + +/// +/// Number of microseconds for level 0 old field (0.1us granularity). +/// 00h 0 us +/// 01h 0.1 us +/// Fh 1.5 us +/// +#define PCU_CR_SSKPD_PCU_OLD_WM0_OFF (0) +#define PCU_CR_SSKPD_PCU_OLD_WM0_WID (4) +#define PCU_CR_SSKPD_PCU_OLD_WM0_MSK (0xF) +#define PCU_CR_SSKPD_PCU_OLD_WM0_MAX (0xF) +#define PCU_CR_SSKPD_PCU_OLD_WM0_DEF (0xF) + +/// +/// Number of microseconds for level 0 new field (0.1us granularity). +/// 00h 0 us +/// 01h 0.1 us +/// FFh 25.5 us +/// +#define PCU_CR_SSKPD_PCU_NEW_WM0_OFF (56) +#define PCU_CR_SSKPD_PCU_NEW_WM0_WID (8) +#define PCU_CR_SSKPD_PCU_NEW_WM0_MSK (0xFF) +#define PCU_CR_SSKPD_PCU_NEW_WM0_MAX (0xFF) +#define PCU_CR_SSKPD_PCU_NEW_WM0_DEF (0x14) +/// +/// Number of microseconds for level 1 (0.5us granularity). +/// 00h 0 us +/// 01h 0.5 us +/// FFh 127.5 us +/// +#define PCU_CR_SSKPD_PCU_WM1_OFF (4) +#define PCU_CR_SSKPD_PCU_WM1_WID (8) +#define PCU_CR_SSKPD_PCU_WM1_MSK (0xFF) +#define PCU_CR_SSKPD_PCU_WM1_MAX (0xFF) +#define PCU_CR_SSKPD_PCU_WM1_DEF (4) + +/// +/// Number of microseconds for level 2 (0.5us granularity). +/// 00h 0 us +/// 01h 0.5 us +/// FFh 127.5 us +/// +#define PCU_CR_SSKPD_PCU_WM2_OFF (12) +#define PCU_CR_SSKPD_PCU_WM2_WID (8) +#define PCU_CR_SSKPD_PCU_WM2_MSK (0xFF) +#define PCU_CR_SSKPD_PCU_WM2_MAX (0xFF) +#define PCU_CR_SSKPD_PCU_WM2_DEF (36) + +/// +/// Number of microseconds for level 3 (0.5us granularity). +/// 00h 0 us +/// 01h 0.5 us +/// 01FFh 255.5 us +/// +#define PCU_CR_SSKPD_PCU_WM3_OFF (20) +#define PCU_CR_SSKPD_PCU_WM3_WID (9) +#define PCU_CR_SSKPD_PCU_WM3_MSK (0x1FF) +#define PCU_CR_SSKPD_PCU_WM3_MAX (0x1FF) +#define PCU_CR_SSKPD_PCU_WM3_DEF (90) + +/// +/// Number of microseconds for level 4 (0.5us granularity). +/// 00h 0 us +/// 01h 0.5 us +/// 01FFh 255.5 us +/// +#define PCU_CR_SSKPD_PCU_WM4_OFF (32) +#define PCU_CR_SSKPD_PCU_WM4_WID (9) +#define PCU_CR_SSKPD_PCU_WM4_MSK (0x1FF) +#define PCU_CR_SSKPD_PCU_WM4_MAX (0x1FF) +#define PCU_CR_SSKPD_PCU_WM4_DEF (160) + + +#define NCDECS_CR_GDXCBAR_NCU_MAX (0xFFFFF000) + +#endif // __McAddress_h__ |