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