64476563dba93ed4425ab3dae02d0c875482871b
[coreboot.git] / src / include / spd.h
1 /*\r
2  * $Header: /home/cvs/BIR/ca-cpu/freebios/src/include/spd.h,v 1.1 2005/07/11 16:03:54 smagnani Exp $\r
3  *\r
4  * spd.h: Definitions for Serial Presence Detect (SPD) data\r
5  *                stored on SDRAM modules\r
6  *\r
7  * Copyright (C) 2005 Digital Design Corporation\r
8  *\r
9  * This program is free software; you can redistribute it and/or modify\r
10  * it under the terms of the GNU General Public License as published by\r
11  * the Free Software Foundation; either version 2 of the License, or\r
12  * (at your option) any later version.\r
13  *\r
14  * This program is distributed in the hope that it will be useful,\r
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
17  * GNU General Public License for more details.\r
18  *\r
19  * You should have received a copy of the GNU General Public License\r
20  * along with this program; if not, write to the Free Software\r
21  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
22  *\r
23  * $Log: spd.h,v $\r
24  * Revision 1.1  2005/07/11 16:03:54  smagnani\r
25  * Initial revision.\r
26  *\r
27  *\r
28  */\r
29 \r
30 #ifndef __SPD_H_DEFINED\r
31 #define __SPD_H_DEFINED\r
32 \r
33 // Byte numbers\r
34 #define SPD_MEMORY_TYPE                                                  2\r
35 #define SPD_NUM_ROWS                                                     3\r
36 #define SPD_NUM_COLUMNS                                                  4\r
37 #define SPD_NUM_DIMM_BANKS                                               5\r
38 #define SPD_MODULE_DATA_WIDTH_LSB                                6\r
39 #define SPD_MODULE_DATA_WIDTH_MSB                                7\r
40 #define SPD_MODULE_VOLTAGE                                               8\r
41 #define SPD_MIN_CYCLE_TIME_AT_CAS_MAX                    9\r
42 #define SPD_DIMM_CONFIG_TYPE                                    11\r
43 #define SPD_REFRESH                                                             12\r
44 #define SPD_PRIMARY_DRAM_WIDTH                                  13\r
45 #define SPD_SUPPORTED_BURST_LENGTHS                             16\r
46 #define SPD_NUM_BANKS_PER_DRAM                                  17\r
47 #define SPD_ACCEPTABLE_CAS_LATENCIES                    18\r
48 #define SPD_MODULE_ATTRIBUTES                                   21\r
49 #define SPD_MIN_CYCLE_TIME_AT_CAS_REDUCED_05    23\r
50 #define SPD_MIN_CYCLE_TIME_AT_CAS_REDUCED_10    25\r
51 #define SPD_MIN_ROW_PRECHARGE_TIME                              27\r
52 #define SPD_MIN_RAS_TO_CAS_DELAY                                29\r
53 #define SPD_MIN_ACTIVE_TO_PRECHARGE_DELAY               30\r
54 #define SPD_ADDRESS_CMD_HOLD                                    33\r
55 \r
56 \r
57 // SPD_MEMORY_TYPE values\r
58 #define MEMORY_TYPE_SDRAM_DDR   7\r
59 \r
60 // SPD_MODULE_VOLTAGE values\r
61 #define SPD_VOLTAGE_SSTL2               4\r
62 \r
63 // SPD_DIMM_CONFIG_TYPE values\r
64 #define ERROR_SCHEME_NONE               0\r
65 #define ERROR_SCHEME_PARITY             1\r
66 #define ERROR_SCHEME_ECC                2\r
67 \r
68 // SPD_ACCEPTABLE_CAS_LATENCIES values\r
69 #define SPD_CAS_LATENCY_1_0             0x01\r
70 #define SPD_CAS_LATENCY_1_5             0x02\r
71 #define SPD_CAS_LATENCY_2_0             0x04\r
72 #define SPD_CAS_LATENCY_2_5             0x08\r
73 #define SPD_CAS_LATENCY_3_0             0x10\r
74 #define SPD_CAS_LATENCY_3_5             0x20\r
75 #define SPD_CAS_LATENCY_4_0             0x40\r
76 \r
77 // SPD_SUPPORTED_BURST_LENGTHS values\r
78 #define SPD_BURST_LENGTH_1              1\r
79 #define SPD_BURST_LENGTH_2              2\r
80 #define SPD_BURST_LENGTH_4              4\r
81 #define SPD_BURST_LENGTH_8              8\r
82 #define SPD_BURST_LENGTH_PAGE   (1<<7)\r
83 \r
84 \r
85 // SPD_MODULE_ATTRIBUTES values\r
86 #define MODULE_BUFFERED                 1\r
87 #define MODULE_REGISTERED               2\r
88 \r
89 #endif  // __SPD_H_DEFINED\r