]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/IndustryStandard/SdramSpd.h
MdePkg ACPI: Correct processor struct of PPTT
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / SdramSpd.h
CommitLineData
42eedea9 1/** @file\r
568eb0cb 2 This file contains definitions for the SPD fields on an SDRAM.\r
568eb0cb 3\r
6a82ceb6
LG
4 Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>\r
5 This program and the accompanying materials\r
6 are licensed and made available under the terms and conditions of the BSD License\r
7 which accompanies this distribution. The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
568eb0cb 12**/\r
13\r
42eedea9 14#ifndef _SDRAM_SPD_H_\r
15#define _SDRAM_SPD_H_\r
568eb0cb 16\r
6a82ceb6
LG
17#include <IndustryStandard/SdramSpdDdr3.h>\r
18#include <IndustryStandard/SdramSpdDdr4.h>\r
19#include <IndustryStandard/SdramSpdLpDdr.h>\r
20\r
568eb0cb 21//\r
22// SDRAM SPD field definitions\r
23//\r
24#define SPD_MEMORY_TYPE 2\r
25#define SPD_SDRAM_ROW_ADDR 3\r
26#define SPD_SDRAM_COL_ADDR 4\r
27#define SPD_SDRAM_MODULE_ROWS 5\r
28#define SPD_SDRAM_MODULE_DATA_WIDTH_LSB 6\r
29#define SPD_SDRAM_MODULE_DATA_WIDTH_MSB 7\r
30#define SPD_SDRAM_ECC_SUPPORT 11\r
31#define SPD_SDRAM_REFRESH 12\r
32#define SPD_SDRAM_WIDTH 13\r
33#define SPD_SDRAM_ERROR_WIDTH 14\r
34#define SPD_SDRAM_BURST_LENGTH 16\r
35#define SPD_SDRAM_NO_OF_BANKS 17\r
36#define SPD_SDRAM_CAS_LATENCY 18\r
37#define SPD_SDRAM_MODULE_ATTR 21\r
38\r
4135253b 39#define SPD_SDRAM_TCLK1_PULSE 9 ///< cycle time for highest cas latency\r
40#define SPD_SDRAM_TAC1_PULSE 10 ///< access time for highest cas latency\r
41#define SPD_SDRAM_TCLK2_PULSE 23 ///< cycle time for 2nd highest cas latency\r
42#define SPD_SDRAM_TAC2_PULSE 24 ///< access time for 2nd highest cas latency\r
43#define SPD_SDRAM_TCLK3_PULSE 25 ///< cycle time for 3rd highest cas latency\r
44#define SPD_SDRAM_TAC3_PULSE 26 ///< access time for 3rd highest cas latency\r
568eb0cb 45#define SPD_SDRAM_MIN_PRECHARGE 27\r
46#define SPD_SDRAM_ACTIVE_MIN 28\r
47#define SPD_SDRAM_RAS_CAS 29\r
48#define SPD_SDRAM_RAS_PULSE 30\r
49#define SPD_SDRAM_DENSITY 31\r
50\r
51//\r
52// Memory Type Definitions\r
53//\r
6a82ceb6
LG
54#define SPD_VAL_SDR_TYPE 4 ///< SDR SDRAM memory\r
55#define SPD_VAL_DDR_TYPE 7 ///< DDR SDRAM memory\r
56#define SPD_VAL_DDR2_TYPE 8 ///< DDR2 SDRAM memory\r
57#define SPD_VAL_DDR3_TYPE 11 ///< DDR3 SDRAM memory\r
58#define SPD_VAL_DDR4_TYPE 12 ///< DDR4 SDRAM memory\r
59#define SPD_VAL_LPDDR3_TYPE 15 ///< LPDDR3 SDRAM memory\r
60#define SPD_VAL_LPDDR4_TYPE 16 ///< LPDDR4 SDRAM memory\r
61\r
568eb0cb 62//\r
63// ECC Type Definitions\r
64//\r
4135253b 65#define SPD_ECC_TYPE_NONE 0x00 ///< No error checking\r
66#define SPD_ECC_TYPE_PARITY 0x01 ///< No error checking\r
67#define SPD_ECC_TYPE_ECC 0x02 ///< Error checking only\r
568eb0cb 68//\r
69// Module Attributes (Bit positions)\r
70//\r
71#define SPD_BUFFERED 0x01\r
72#define SPD_REGISTERED 0x02\r
73\r
74#endif\r