summaryrefslogtreecommitdiff
path: root/src/mainboard/bap/ode_e20XX/BAP_Q7.spd.hex
blob: fff7cc1fdaaf6df54fd053af8d05c4a592287928 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
#
# This file is part of the coreboot project.
#
# Copyright (C) 2014 Sage Electronic Engineering, LLC.
# Copyright (C) 2015 BAP - Bruhnspace Advanced Projects
# (Written by Fabian Kunkel <fabi@adv.bruhnspace.com> for BAP)
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc. 

# BAP ODE E20XX has 2GB ram soldered down on the Q7

#	0 Number of SPD Bytes used / Total SPD Size / CRC Coverage
#		bits[3:0]: 1 = 128 SPD Bytes Used
#		bits[6:4]: 1 = 256 SPD Bytes Total
#		bit7     : 0 = CRC covers bytes 0 ~ 125
92

#	1 SPD Revision -
#		0x10 = Revision 1.0
12

#	2 Key Byte / DRAM Device Type
#		bits[7:0]: 0x0b = DDR3 SDRAM
0B

#	3 Key Byte / Module Type
#		bits[3:0]: 3 = SO-DIMM
#		bits[7:4]:     reserved
03

#	4 SDRAM CHIP Density and Banks
#		bits[3:0]: 3 = 2 Gigabits Total SDRAM capacity per chip
#		bits[6:4]: 0 = 3 (8 banks)
#		bit7     :     reserved
04

#	5 SDRAM Addressing
#		bits[2:0]: 1 = 10 Column Address Bits
#		bits[5:3]: 2 = 14 Row Address Bits
#		bits[7:6]:     reserved
19

#	6 Module Nominal Voltage, VDD
#		bit0     : 0 = 1.5 V operable
#		bit1     : 0 = NOT 1.35 V operable
#		bit2     : 0 = NOT 1.25 V operable
#		bits[7:3]:     reserved
00

#	7 Module Organization
#		bits[2:0]: 2 = 16 bits
#		bits[5:3]: 0 = 1 Rank
#		bits[7:6]:     reserved
02

#	8 Module Memory Bus Width
#		bits[2:0]: 3 = Primary bus width is 64 bits
#		bits[4:3]: 0 = 0 bits (no bus width extension)
#		bits[7:5]:     reserved
08

#	9 Fine Timebase (FTB) Dividend / Divisor
#		bits[3:0]: 0x02 divisor
#		bits[7:4]: 0x05 dividend
#		5/2 = 2.5ps
52

#	10 Medium Timebase (MTB) Dividend
#	11 Medium Timebase (MTB) Divisor
#		1 / 8 = .125 ns - used for clock freq of 400 through 1066 MHz
01 08

#	12 SDRAM Minimum Cycle Time (tCKmin)
#		0x0a  = tCKmin of 1.25 ns = DDR3-1600 (800 MHz clock)
0C

#	13 Reserved
00

#	14 CAS Latencies Supported, Least Significant Byte
#	15 CAS Latencies Supported, Most Significant Byte
#		Cas Latencies of 11 - 5 are supported
7E 00

#	16 Minimum CAS Latency Time (tAAmin)
#		0x6E = 13.75ns - DDR3-1600K
69

#	17 Minimum Write Recovery Time (tWRmin)
#		0x78 = tWR of 15ns - All DDR3 speed grades
78

#	18 Minimum RAS# to CAS# Delay Time (tRCDmin)
#		0x6E = 13.75ns -  DDR3-1600K
69

#	19 Minimum Row Active to Row Active Delay Time (tRRDmin)
#		0x3C = 7.5ns
3C

#	20 Minimum Row Precharge Delay Time (tRPmin)
#		0x6E = 13.75ns -  DDR3-1600K
69

#	21 Upper Nibbles for tRAS and tRC
#		bits[3:0]: tRAS most significant nibble = 1 (see byte 22)
#		bits[7:4]: tRC most significant nibble = 1 (see byte 23)
11

#	22 Minimum Active to Precharge Delay Time (tRASmin), LSB
#		0x118 = 35ns - DDR3-1600 (see byte 21)
20

#	23 Minimum Active to Active/Refresh Delay Time (tRCmin), LSB
#		0x186 = 48.75ns - DDR3-1600K
89

#	24 Minimum Refresh Recovery Delay Time (tRFCmin), LSB
#	25 Minimum Refresh Recovery Delay Time (tRFCmin), MSB
#		0x500 = 160ns - for 2 Gigabit chips
20 08

#	26 Minimum Internal Write to Read Command Delay Time (tWTRmin)
#		0x3c = 7.5 ns - All DDR3 SDRAM speed bins
3C

#	27 Minimum Internal Read to Precharge Command Delay Time (tRTPmin)
#		0x3c =  7.5ns -  All DDR3 SDRAM speed bins
3C

#	28 Upper Nibble for tFAWmin
#	29 Minimum Four Activate Window Delay Time (tFAWmin)
#		0x0140 = 40ns -  DDR3-1600, 2 KB page size
01 68

#	30 SDRAM Optional Feature
#		bit0     : 1= RZQ/6 supported
#		bit1     : 1 = RZQ/7 supported
#		bits[6:2]:     reserved
#		bit7     : 1 = DLL Off mode supported
83

#	31 SDRAM Thermal and Refresh Options
#		bit0     : 1 = Temp up to 95c supported
#		bit1     : 0 = 85-95c uses 2x refresh rate
#		bit2     : 1 = Auto Self Refresh supported
#		bit3     : 0 = no on die thermal sensor
#		bits[6:4]:     reserved
#		bit7     : 0 = partial self refresh supported
01

#	32 Module Thermal Sensor
#		0 = Thermal sensor not incorporated onto this assembly
00

#	33 SDRAM Device Type
#		bits[1:0]: 0 = Signal Loading not specified
#		bits[3:2]:     reserved
#		bits[6:4]: 0 = Die count not specified
#		bit7     : 0 = Standard Monolithic DRAM Device
00

#	34 Fine Offset for SDRAM Minimum Cycle Time (tCKmin)
#	35 Fine Offset for Minimum CAS Latency Time (tAAmin)
#	36 Fine Offset for Minimum RAS# to CAS# Delay Time (tRCDmin)
#	37 Fine Offset for Minimum Row Precharge Delay Time (tRPmin)
#	38 Fine Offset for Minimum Active to Active/Refresh Delay (tRCmin)
00 00 00 00 00

#	39 - 59 (reserved)
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00

#	60 Raw Card Extension, Module Nominal Height
#		bits[4:0]: 0 = <= 15mm tall
#		bits[7:5]: 0 = raw card revision 0-3
0f

#	61 Module Maximum Thickness
#		bits[3:0]: 0 = thickness front <= 1mm
#		bits[7:4]: 0 = thinkness back <= 1mm
11

#	62 Reference Raw Card Used
#		bits[4:0]: 0 = Reference Raw card A used
#		bits[6:5]: 0 = revision 0
#		bit7     : 0 = Reference raw cards A through AL
22

#	63 Address Mapping from Edge Connector to DRAM
#		bit0     : 0 = standard mapping (not mirrored)
#		bits[7:1]:     reserved
00

#	64 - 116 (reserved)
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00

#	117 - 118 Module ID: Module Manufacturers JEDEC ID Code
#		0x0001 = AMD
80 AD

#	119 Module ID: Module Manufacturing Location - oem specified
#	120 Module ID: Module Manufacture Year in BCD
#		0x13 = 2013
01 00

#	121 Module ID: Module Manufacture week
#		0x12 = 12th week
00

#	122 - 125: Module Serial Number
00 00 00 00

#	126 - 127: Cyclical Redundancy Code
D4 51

# Coreboot is only interested in the first 128 values
#128 - 135
48 4d 54 34 32 35 53 36

#136 - 143
4d 46 52 36 43 2d 48 39

#144 - 151
20 20 4e 30 80 ad 00 00

#152 - 159
00 00 00 00 00 00 00 00

#160 - 167
00 00 00 00 00 00 00 00

#168 - 175
00 00 00 00 00 00 00 00

#176 - 183
00 00 00 00 00 00 00 00

#184 - 191
00 00 00 00 00 00 00 00

#192 - 199
00 00 00 00 00 00 00 00

#200 - 207
00 00 00 00 00 00 00 00

#208 - 215
00 00 00 00 00 00 00 00

#216 - 223
00 00 00 00 00 00 00 00

#224 - 231
00 00 00 00 00 00 00 00

#232 - 239
00 00 00 00 00 00 00 00

#240 - 247
00 00 00 00 00 00 00 00

#248 - 255
00 00 00 00 00 00 00 00