Commit | Line | Data |
---|---|---|
42eedea9 | 1 | /** @file\r |
568eb0cb | 2 | This file contains definitions for the SPD fields on an SDRAM.\r |
568eb0cb | 3 | \r |
6a82ceb6 | 4 | Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>\r |
9344f092 | 5 | SPDX-License-Identifier: BSD-2-Clause-Patent\r |
568eb0cb | 6 | **/\r |
7 | \r | |
42eedea9 | 8 | #ifndef _SDRAM_SPD_H_\r |
9 | #define _SDRAM_SPD_H_\r | |
568eb0cb | 10 | \r |
6a82ceb6 LG |
11 | #include <IndustryStandard/SdramSpdDdr3.h>\r |
12 | #include <IndustryStandard/SdramSpdDdr4.h>\r | |
13 | #include <IndustryStandard/SdramSpdLpDdr.h>\r | |
14 | \r | |
568eb0cb | 15 | //\r |
16 | // SDRAM SPD field definitions\r | |
17 | //\r | |
2f88bd3a MK |
18 | #define SPD_MEMORY_TYPE 2\r |
19 | #define SPD_SDRAM_ROW_ADDR 3\r | |
20 | #define SPD_SDRAM_COL_ADDR 4\r | |
21 | #define SPD_SDRAM_MODULE_ROWS 5\r | |
22 | #define SPD_SDRAM_MODULE_DATA_WIDTH_LSB 6\r | |
23 | #define SPD_SDRAM_MODULE_DATA_WIDTH_MSB 7\r | |
24 | #define SPD_SDRAM_ECC_SUPPORT 11\r | |
25 | #define SPD_SDRAM_REFRESH 12\r | |
26 | #define SPD_SDRAM_WIDTH 13\r | |
27 | #define SPD_SDRAM_ERROR_WIDTH 14\r | |
28 | #define SPD_SDRAM_BURST_LENGTH 16\r | |
29 | #define SPD_SDRAM_NO_OF_BANKS 17\r | |
30 | #define SPD_SDRAM_CAS_LATENCY 18\r | |
31 | #define SPD_SDRAM_MODULE_ATTR 21\r | |
568eb0cb | 32 | \r |
2f88bd3a MK |
33 | #define SPD_SDRAM_TCLK1_PULSE 9 ///< cycle time for highest cas latency\r |
34 | #define SPD_SDRAM_TAC1_PULSE 10 ///< access time for highest cas latency\r | |
35 | #define SPD_SDRAM_TCLK2_PULSE 23 ///< cycle time for 2nd highest cas latency\r | |
36 | #define SPD_SDRAM_TAC2_PULSE 24 ///< access time for 2nd highest cas latency\r | |
37 | #define SPD_SDRAM_TCLK3_PULSE 25 ///< cycle time for 3rd highest cas latency\r | |
38 | #define SPD_SDRAM_TAC3_PULSE 26 ///< access time for 3rd highest cas latency\r | |
39 | #define SPD_SDRAM_MIN_PRECHARGE 27\r | |
40 | #define SPD_SDRAM_ACTIVE_MIN 28\r | |
41 | #define SPD_SDRAM_RAS_CAS 29\r | |
42 | #define SPD_SDRAM_RAS_PULSE 30\r | |
43 | #define SPD_SDRAM_DENSITY 31\r | |
568eb0cb | 44 | \r |
45 | //\r | |
46 | // Memory Type Definitions\r | |
47 | //\r | |
2f88bd3a MK |
48 | #define SPD_VAL_SDR_TYPE 4 ///< SDR SDRAM memory\r |
49 | #define SPD_VAL_DDR_TYPE 7 ///< DDR SDRAM memory\r | |
50 | #define SPD_VAL_DDR2_TYPE 8 ///< DDR2 SDRAM memory\r | |
51 | #define SPD_VAL_DDR3_TYPE 11 ///< DDR3 SDRAM memory\r | |
52 | #define SPD_VAL_DDR4_TYPE 12 ///< DDR4 SDRAM memory\r | |
53 | #define SPD_VAL_LPDDR3_TYPE 15 ///< LPDDR3 SDRAM memory\r | |
54 | #define SPD_VAL_LPDDR4_TYPE 16 ///< LPDDR4 SDRAM memory\r | |
6a82ceb6 | 55 | \r |
568eb0cb | 56 | //\r |
57 | // ECC Type Definitions\r | |
58 | //\r | |
2f88bd3a MK |
59 | #define SPD_ECC_TYPE_NONE 0x00 ///< No error checking\r |
60 | #define SPD_ECC_TYPE_PARITY 0x01 ///< No error checking\r | |
61 | #define SPD_ECC_TYPE_ECC 0x02 ///< Error checking only\r | |
568eb0cb | 62 | //\r |
63 | // Module Attributes (Bit positions)\r | |
64 | //\r | |
65 | #define SPD_BUFFERED 0x01\r | |
66 | #define SPD_REGISTERED 0x02\r | |
67 | \r | |
68 | #endif\r |