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