diff options
Diffstat (limited to 'ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/MemInfoHob.h')
-rw-r--r-- | ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/MemInfoHob.h | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/MemInfoHob.h b/ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/MemInfoHob.h new file mode 100644 index 0000000..0ce1f90 --- /dev/null +++ b/ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/MemInfoHob.h @@ -0,0 +1,103 @@ +/** @file + This file contains definitions required for creation of + Memory Info hob. + +@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. +**/ + +/// +/// @todo: Delete #define's and use definitions from SaCommonDefitions.h +/// +#ifndef _MEM_HOB_H_ +#define _MEM_HOB_H_ +#pragma pack (push, 1) + +#include "MrcGlobal.h" + +#define EFI_MEMORY_RESTORE_DATA_GUID \ + {0x87f22dcb,0x7304,0x4105,0xbb,0x7c,0x31,0x71,0x43,0xcc,0xc2,0x3b } + +#define MAX_NODE 1 +#define MAX_CH 2 +#define MAX_DIMM 2 + +#define DDR3_FREQ_AUTO 0 +#define DDR3_FREQ_800 1 +#define DDR3_FREQ_1000 2 +#define DDR3_FREQ_1067 3 +#define DDR3_FREQ_1200 4 +#define DDR3_FREQ_1333 5 +#define DDR3_FREQ_1400 6 +#define DDR3_FREQ_1600 7 +#define DDR3_FREQ_1800 8 +#define DDR3_FREQ_1867 9 +#define DDR3_FREQ_2000 10 +#define DDR3_FREQ_2133 11 +#define DDR3_FREQ_2200 12 +#define DDR3_FREQ_2400 13 +#define DDR3_FREQ_2600 14 +#define DDR3_FREQ_2667 15 + +/// +/// Host reset states from MRC. +/// +#define WARM_BOOT 2 + +#define MCPciD4F0RegBase PCIEX_BASE_ADDRESS + (UINT32) (((PCIEX_LENGTH >> 20) - 1) << 20) + (UINT32) (4 << 15) + (UINT32) (0 << 12) +#define MCPciD5F0RegBase PCIEX_BASE_ADDRESS + (UINT32) (((PCIEX_LENGTH >> 20) - 1) << 20) + (UINT32) (5 << 15) + (UINT32) (0 << 12) + +#define R_MC_CHNL_RANK_PRESENT 0x7C +#define B_RANK0_PRS BIT0 +#define B_RANK1_PRS BIT1 +#define B_RANK2_PRS BIT4 +#define B_RANK3_PRS BIT5 + +#ifndef _PEI_HOB_H_ +#ifndef __HOB__H__ +typedef struct _EFI_HOB_GENERIC_HEADER { + UINT16 HobType; + UINT16 HobLength; + UINT32 Reserved; +} EFI_HOB_GENERIC_HEADER; + +typedef struct _EFI_HOB_GUID_TYPE { + EFI_HOB_GENERIC_HEADER Header; + EFI_GUID Name; + /// + /// Guid specific data goes here + /// +} EFI_HOB_GUID_TYPE; +#endif +#endif +/// +/// HOB to save MRC Output data and Memory S3_RestoreData +/// +#define MRC_HOB_SIZE_TOTAL (63 * 1024) +#if ((defined SSA_FLAG) || (defined MRC_DEBUG_PRINT)) +#define MRC_HOB_SIZE_BUFFER (MRC_HOB_SIZE_TOTAL - sizeof (EFI_HOB_GUID_TYPE) - sizeof (MrcParameters)) +#else +#define MRC_HOB_SIZE_BUFFER (1) +#endif +typedef struct { + EFI_HOB_GUID_TYPE EfiHobGuidType; + MrcParameters MrcData; + UINT8 Buffer[MRC_HOB_SIZE_BUFFER]; +} HOB_SAVE_MEMORY_DATA; + +#pragma pack (pop) +#endif
\ No newline at end of file |