blob: 5c5d46f54af150b956a5854766a3ff8bcd4d3f93 [file] [log] [blame]
Vladimir Serbinenkoc6f6be02013-11-12 22:32:08 +01001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2013 Vladimir Serbinenko.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
Vladimir Serbinenkoc6f6be02013-11-12 22:32:08 +010015 */
16
17/* [CHANNEL][EXT_REVISON][LANE][2*SLOT+RANK][CLOCK_SPEED] */
18const u8 u8_FFFD1240[2][5][9][4][4] = {
19 {
20 {
21 {
22 {0x3b, 0x53, 0x57, 0x5c},
23 {0x3b, 0x52, 0x57, 0x5c},
24 {0x3b, 0x4d, 0x51, 0x54},
25 {0x3b, 0x4d, 0x51, 0x54}
26 },
27 {
28 {0x46, 0x63, 0x6b, 0x74},
29 {0x46, 0x62, 0x6b, 0x73},
30 {0x46, 0x5d, 0x65, 0x6c},
31 {0x46, 0x5d, 0x65, 0x6c}
32 },
33 {
34 {0x51, 0x71, 0x7e, 0x8a},
35 {0x51, 0x71, 0x7d, 0x8a},
36 {0x51, 0x6c, 0x77, 0x82},
37 {0x51, 0x6c, 0x77, 0x82}
38 },
39 {
40 {0x5c, 0x7b, 0x8a, 0x99},
41 {0x5c, 0x7b, 0x89, 0x98},
42 {0x5c, 0x75, 0x83, 0x90},
43 {0x5c, 0x75, 0x83, 0x90}
44 },
45 {
46 {0x65, 0x81, 0x91, 0xa2},
47 {0x65, 0x81, 0x91, 0xa1},
48 {0x65, 0x7c, 0x8b, 0x9a},
49 {0x65, 0x7c, 0x8b, 0x9a}
50 },
51 {
52 {0x70, 0x8b, 0x9e, 0xb1},
53 {0x70, 0x8b, 0x9d, 0xb0},
54 {0x70, 0x86, 0x97, 0xa9},
55 {0x70, 0x86, 0x97, 0xa9}
56 },
57 {
58 {0x73, 0x8f, 0xa3, 0xb7},
59 {0x73, 0x8f, 0xa3, 0xb6},
60 {0x73, 0x8a, 0x9d, 0xaf},
61 {0x73, 0x8a, 0x9d, 0xaf},
62 },
63 {
64 {0x78, 0x99, 0xaf, 0xc5},
65 {0x78, 0x98, 0xae, 0xc4},
66 {0x78, 0x93, 0xa8, 0xbd},
67 {0x78, 0x93, 0xa8, 0xbd},
68 },
69 {
70 {0x5c, 0x79, 0x87, 0x94},
71 {0x5c, 0x79, 0x87, 0x94},
72 {0x5c, 0x79, 0x87, 0x94},
73 {0x5c, 0x79, 0x87, 0x94}
74 },
75 },
76 {
77 {
78 {0x3b, 0x53, 0x57, 0x5c},
79 {0x3b, 0x52, 0x57, 0x5c},
80 {0x3b, 0x4d, 0x51, 0x54},
81 {0x3b, 0x4d, 0x51, 0x54}
82 },
83 {
84 {0x46, 0x63, 0x6b, 0x74},
85 {0x46, 0x62, 0x6b, 0x73},
86 {0x46, 0x5d, 0x65, 0x6c},
87 {0x46, 0x5d, 0x65, 0x6c}
88 },
89 {
90 {0x51, 0x71, 0x7e, 0x8a},
91 {0x51, 0x71, 0x7d, 0x8a},
92 {0x51, 0x6c, 0x77, 0x82},
93 {0x51, 0x6c, 0x77, 0x82}
94 },
95 {
96 {0x5c, 0x7b, 0x8a, 0x99},
97 {0x5c, 0x7b, 0x89, 0x98},
98 {0x5c, 0x75, 0x83, 0x90},
99 {0x5c, 0x75, 0x83, 0x90}
100 },
101 {
102 {0x65, 0x81, 0x91, 0xa2},
103 {0x65, 0x81, 0x91, 0xa1},
104 {0x65, 0x7c, 0x8b, 0x9a},
105 {0x65, 0x7c, 0x8b, 0x9a}
106 },
107 {
108 {0x70, 0x8b, 0x9e, 0xb1},
109 {0x70, 0x8b, 0x9d, 0xb0},
110 {0x70, 0x86, 0x97, 0xa9},
111 {0x70, 0x86, 0x97, 0xa9}
112 },
113 {
114 {0x73, 0x8f, 0xa3, 0xb7},
115 {0x73, 0x8f, 0xa3, 0xb6},
116 {0x73, 0x8a, 0x9d, 0xaf},
117 {0x73, 0x8a, 0x9d, 0xaf}
118 },
119 {
120 {0x78, 0x99, 0xaf, 0xc5},
121 {0x78, 0x98, 0xae, 0xc4},
122 {0x78, 0x93, 0xa8, 0xbd},
123 {0x78, 0x93, 0xa8, 0xbd}
124 },
125 {
126 {0x5c, 0x79, 0x87, 0x94},
127 {0x5c, 0x79, 0x87, 0x94},
128 {0x5c, 0x79, 0x87, 0x94},
129 {0x5c, 0x79, 0x87, 0x94}
130 },
131 },
132 {
133 {
134 {0x57, 0x5e, 0x66, 0x6e},
135 {0x57, 0x5e, 0x66, 0x6e},
136 {0x57, 0x5e, 0x66, 0x6e},
137 {0x57, 0x5e, 0x66, 0x6e}
138 },
139 {
140 {0x57, 0x5e, 0x66, 0x6e},
141 {0x57, 0x5e, 0x66, 0x6e},
142 {0x57, 0x5e, 0x66, 0x6e},
143 {0x57, 0x5e, 0x66, 0x6e}
144 },
145 {
146 {0x5e, 0x69, 0x73, 0x7d},
147 {0x5e, 0x69, 0x73, 0x7d},
148 {0x5e, 0x69, 0x73, 0x7d},
149 {0x5e, 0x69, 0x73, 0x7d}
150 },
151 {
152 {0x5e, 0x69, 0x73, 0x7d},
153 {0x5e, 0x69, 0x73, 0x7d},
154 {0x5e, 0x69, 0x73, 0x7d},
155 {0x5e, 0x69, 0x73, 0x7d}
156 },
157 {
158 {0x69, 0x77, 0x85, 0x92},
159 {0x69, 0x77, 0x85, 0x92},
160 {0x69, 0x77, 0x85, 0x92},
161 {0x69, 0x77, 0x85, 0x92}
162 },
163 {
164 {0x69, 0x77, 0x85, 0x92},
165 {0x69, 0x77, 0x85, 0x92},
166 {0x69, 0x77, 0x85, 0x92},
167 {0x69, 0x77, 0x85, 0x92}
168 },
169 {
170 {0x70, 0x80, 0x91, 0xa1},
171 {0x70, 0x80, 0x91, 0xa1},
172 {0x70, 0x80, 0x91, 0xa1},
173 {0x70, 0x80, 0x91, 0xa1}
174 },
175 {
176 {0x70, 0x80, 0x91, 0xa1},
177 {0x70, 0x80, 0x91, 0xa1},
178 {0x70, 0x80, 0x91, 0xa1},
179 {0x70, 0x80, 0x91, 0xa1}
180 },
181 {
182 {0x5c, 0x79, 0x87, 0x94},
183 {0x5c, 0x79, 0x87, 0x94},
184 {0x5c, 0x79, 0x87, 0x94},
185 {0x5c, 0x79, 0x87, 0x94}
186 },
187 },
188 {
189 {
190 {0x55, 0x5b, 0x62, 0x61},
191 {0x55, 0x5b, 0x62, 0x61},
192 {0x57, 0x5e, 0x66, 0x6e},
193 {0x57, 0x5e, 0x66, 0x6e}
194 },
195 {
196 {0x55, 0x5b, 0x62, 0x61},
197 {0x55, 0x5b, 0x62, 0x61},
198 {0x57, 0x5e, 0x66, 0x6e},
199 {0x57, 0x5e, 0x66, 0x6e}
200 },
201 {
202 {0x5d, 0x67, 0x71, 0x73},
203 {0x5d, 0x67, 0x71, 0x73},
204 {0x5e, 0x69, 0x73, 0x7d},
205 {0x5e, 0x69, 0x73, 0x7d}
206 },
207 {
208 {0x5d, 0x67, 0x71, 0x73},
209 {0x5d, 0x67, 0x71, 0x73},
210 {0x5e, 0x69, 0x73, 0x7d},
211 {0x5e, 0x69, 0x73, 0x7d}
212 },
213 {
214 {0x6b, 0x7a, 0x88, 0x8f},
215 {0x6b, 0x7a, 0x88, 0x8f},
216 {0x69, 0x77, 0x85, 0x92},
217 {0x69, 0x77, 0x85, 0x92}
218 },
219 {
220 {0x6b, 0x7a, 0x88, 0x8f},
221 {0x6b, 0x7a, 0x88, 0x8f},
222 {0x69, 0x77, 0x85, 0x92},
223 {0x69, 0x77, 0x85, 0x92}
224 },
225 {
226 {0x75, 0x87, 0x98, 0xa2},
227 {0x75, 0x87, 0x98, 0xa2},
228 {0x70, 0x80, 0x91, 0xa1},
229 {0x70, 0x80, 0x91, 0xa1}
230 },
231 {
232 {0x75, 0x87, 0x98, 0xa2},
233 {0x75, 0x87, 0x98, 0xa2},
234 {0x70, 0x80, 0x91, 0xa1},
235 {0x70, 0x80, 0x91, 0xa1}
236 },
237 {
238 {0x5c, 0x79, 0x87, 0x94},
239 {0x5c, 0x79, 0x87, 0x94},
240 {0x5c, 0x79, 0x87, 0x94},
241 {0x5c, 0x79, 0x87, 0x94}
242 },
243 },
244 {
245 {
246 {0x57, 0x5e, 0x66, 0x6e},
247 {0x57, 0x5e, 0x66, 0x6e},
248 {0x57, 0x5e, 0x66, 0x6e},
249 {0x57, 0x5e, 0x66, 0x6e}
250 },
251 {
252 {0x57, 0x5e, 0x66, 0x6e},
253 {0x57, 0x5e, 0x66, 0x6e},
254 {0x57, 0x5e, 0x66, 0x6e},
255 {0x57, 0x5e, 0x66, 0x6e}
256 },
257 {
258 {0x5e, 0x69, 0x73, 0x7d},
259 {0x5e, 0x69, 0x73, 0x7d},
260 {0x5e, 0x69, 0x73, 0x7d},
261 {0x5e, 0x69, 0x73, 0x7d}
262 },
263 {
264 {0x5e, 0x69, 0x73, 0x7d},
265 {0x5e, 0x69, 0x73, 0x7d},
266 {0x5e, 0x69, 0x73, 0x7d},
267 {0x5e, 0x69, 0x73, 0x7d}
268 },
269 {
270 {0x69, 0x77, 0x85, 0x92},
271 {0x69, 0x77, 0x85, 0x92},
272 {0x69, 0x77, 0x85, 0x92},
273 {0x69, 0x77, 0x85, 0x92}
274 },
275 {
276 {0x69, 0x77, 0x85, 0x92},
277 {0x69, 0x77, 0x85, 0x92},
278 {0x69, 0x77, 0x85, 0x92},
279 {0x69, 0x77, 0x85, 0x92}
280 },
281 {
282 {0x70, 0x80, 0x91, 0xa1},
283 {0x70, 0x80, 0x91, 0xa1},
284 {0x70, 0x80, 0x91, 0xa1},
285 {0x70, 0x80, 0x91, 0xa1}
286 },
287 {
288 {0x70, 0x80, 0x91, 0xa1},
289 {0x70, 0x80, 0x91, 0xa1},
290 {0x70, 0x80, 0x91, 0xa1},
291 {0x70, 0x80, 0x91, 0xa1}
292 },
293 {
294 {0x5c, 0x79, 0x87, 0x94},
295 {0x5c, 0x79, 0x87, 0x94},
296 {0x5c, 0x79, 0x87, 0x94},
297 {0x5c, 0x79, 0x87, 0x94}
298 },
299 },
300 },
301 {
302 {
303 {
304 {0x41, 0x59, 0x5f, 0x65},
305 {0x41, 0x59, 0x5f, 0x65},
306 {0x41, 0x53, 0x58, 0x5d},
307 {0x41, 0x53, 0x58, 0x5d}
308 },
309 {
310 {0x4b, 0x69, 0x73, 0x7d},
311 {0x4b, 0x69, 0x73, 0x7d},
312 {0x4b, 0x63, 0x6c, 0x75},
313 {0x4b, 0x63, 0x6c, 0x75},
314 },
315 {
316 {0x54, 0x72, 0x7f, 0x8b},
317 {0x54, 0x72, 0x7f, 0x8b},
318 {0x54, 0x6c, 0x78, 0x83},
319 {0x54, 0x6c, 0x78, 0x83},
320 },
321 {
322 {0x61, 0x81, 0x91, 0xa2},
323 {0x61, 0x81, 0x91, 0xa2},
324 {0x61, 0x7b, 0x8a, 0x99},
325 {0x61, 0x7b, 0x8a, 0x99},
326 },
327 {
328 {0x6a, 0x87, 0x99, 0xab},
329 {0x6a, 0x87, 0x99, 0xab},
330 {0x6a, 0x82, 0x92, 0xa3},
331 {0x6a, 0x82, 0x92, 0xa3},
332 },
333 {
334 {0x71, 0x8b, 0x9e, 0xb1},
335 {0x71, 0x8b, 0x9e, 0xb1},
336 {0x71, 0x86, 0x98, 0xa9},
337 {0x71, 0x86, 0x98, 0xa9},
338 },
339 {
340 {0x75, 0x95, 0xab, 0xc0},
341 {0x75, 0x95, 0xab, 0xc0},
342 {0x75, 0x90, 0xa4, 0xb8},
343 {0x75, 0x90, 0xa4, 0xb8},
344 },
345 {
346 {0x7d, 0x9f, 0xb6, 0xce},
347 {0x7d, 0x9f, 0xb6, 0xce},
348 {0x7d, 0x99, 0xb0, 0xc6},
349 {0x7d, 0x99, 0xb0, 0xc6},
350 },
351 {
352 {0x61, 0x7e, 0x80, 0x9f},
353 {0x61, 0x7e, 0x95, 0x9f},
354 {0x61, 0x7e, 0x80, 0x9f},
355 {0x61, 0x7e, 0x80, 0x9f},
356 },
357 },
358 {
359 {
360 {0x41, 0x59, 0x5f, 0x65},
361 {0x41, 0x59, 0x5f, 0x65},
362 {0x41, 0x53, 0x58, 0x5d},
363 {0x41, 0x53, 0x58, 0x5d},
364 },
365 {
366 {0x4b, 0x69, 0x73, 0x7d},
367 {0x4b, 0x69, 0x73, 0x7d},
368 {0x4b, 0x63, 0x6c, 0x75},
369 {0x4b, 0x63, 0x6c, 0x75},
370 },
371 {
372 {0x54, 0x72, 0x7f, 0x8b},
373 {0x54, 0x72, 0x7f, 0x8b},
374 {0x54, 0x6c, 0x78, 0x83},
375 {0x54, 0x6c, 0x78, 0x83},
376 },
377 {
378 {0x61, 0x81, 0x91, 0xa2},
379 {0x61, 0x81, 0x91, 0xa2},
380 {0x61, 0x7b, 0x8a, 0x99},
381 {0x61, 0x7b, 0x8a, 0x99},
382 },
383 {
384 {0x6a, 0x87, 0x99, 0xab},
385 {0x6a, 0x87, 0x99, 0xab},
386 {0x6a, 0x82, 0x92, 0xa3},
387 {0x6a, 0x82, 0x92, 0xa3},
388 },
389 {
390 {0x71, 0x8b, 0x9e, 0xb1},
391 {0x71, 0x8b, 0x9e, 0xb1},
392 {0x71, 0x86, 0x98, 0xa9},
393 {0x71, 0x86, 0x98, 0xa9},
394 },
395 {
396 {0x75, 0x95, 0xab, 0xc0},
397 {0x75, 0x95, 0xab, 0xc0},
398 {0x75, 0x90, 0xa4, 0xb8},
399 {0x75, 0x90, 0xa4, 0xb8},
400 },
401 {
402 {0x7d, 0x9f, 0xb6, 0xce},
403 {0x7d, 0x9f, 0xb6, 0xce},
404 {0x7d, 0x99, 0xb0, 0xc6},
405 {0x7d, 0x99, 0xb0, 0xc6},
406 },
407 {
408 {0x61, 0x7e, 0x80, 0x9f},
409 {0x61, 0x7e, 0x80, 0x9f},
410 {0x61, 0x7e, 0x80, 0x9f},
411 {0x61, 0x7e, 0x80, 0x9f},
412 },
413 },
414 {
415 {
416 {0x57, 0x5e, 0x66, 0x6e},
417 {0x57, 0x5e, 0x66, 0x6e},
418 {0x57, 0x5e, 0x66, 0x6e},
419 {0x57, 0x5e, 0x66, 0x6e},
420 },
421 {
422 {0x57, 0x5e, 0x66, 0x6e},
423 {0x57, 0x5e, 0x66, 0x6e},
424 {0x57, 0x5e, 0x66, 0x6e},
425 {0x57, 0x5e, 0x66, 0x6e},
426 },
427 {
428 {0x5e, 0x69, 0x73, 0x7d},
429 {0x5e, 0x69, 0x73, 0x7d},
430 {0x5e, 0x69, 0x73, 0x7d},
431 {0x5e, 0x69, 0x73, 0x7d},
432 },
433 {
434 {0x5e, 0x69, 0x73, 0x7d},
435 {0x5e, 0x69, 0x73, 0x7d},
436 {0x5e, 0x69, 0x73, 0x7d},
437 {0x5e, 0x69, 0x73, 0x7d},
438 },
439 {
440 {0x69, 0x77, 0x85, 0x92},
441 {0x69, 0x77, 0x85, 0x92},
442 {0x69, 0x77, 0x85, 0x92},
443 {0x69, 0x77, 0x85, 0x92},
444 },
445 {
446 {0x69, 0x77, 0x85, 0x92},
447 {0x69, 0x77, 0x85, 0x92},
448 {0x69, 0x77, 0x85, 0x92},
449 {0x69, 0x77, 0x85, 0x92},
450 },
451 {
452 {0x70, 0x80, 0x91, 0xa1},
453 {0x70, 0x80, 0x91, 0xa1},
454 {0x70, 0x80, 0x91, 0xa1},
455 {0x70, 0x80, 0x91, 0xa1},
456 },
457 {
458 {0x70, 0x80, 0x91, 0xa1},
459 {0x70, 0x80, 0x91, 0xa1},
460 {0x70, 0x80, 0x91, 0xa1},
461 {0x70, 0x80, 0x91, 0xa1},
462 },
463 {
464 {0x5c, 0x79, 0x87, 0x94},
465 {0x5c, 0x79, 0x87, 0x94},
466 {0x5c, 0x79, 0x87, 0x94},
467 {0x5c, 0x79, 0x87, 0x94},
468 },
469 },
470 {
471 {
472 {0x56, 0x5d, 0x65, 0x64},
473 {0x56, 0x5d, 0x65, 0x64},
474 {0x57, 0x5e, 0x66, 0x6e},
475 {0x57, 0x5e, 0x66, 0x6e},
476 },
477 {
478 {0x56, 0x5d, 0x65, 0x64},
479 {0x56, 0x5d, 0x65, 0x64},
480 {0x57, 0x5e, 0x66, 0x6e},
481 {0x57, 0x5e, 0x66, 0x6e},
482 },
483 {
484 {0x5e, 0x68, 0x72, 0x74},
485 {0x5e, 0x68, 0x72, 0x74},
486 {0x5e, 0x69, 0x73, 0x7d},
487 {0x5e, 0x69, 0x73, 0x7d},
488 },
489 {
490 {0x5e, 0x68, 0x72, 0x74},
491 {0x5e, 0x68, 0x72, 0x74},
492 {0x5e, 0x69, 0x73, 0x7d},
493 {0x5e, 0x69, 0x73, 0x7d},
494 },
495 {
496 {0x68, 0x76, 0x83, 0x89},
497 {0x68, 0x76, 0x83, 0x89},
498 {0x69, 0x77, 0x85, 0x92},
499 {0x69, 0x77, 0x85, 0x92},
500 },
501 {
502 {0x68, 0x76, 0x83, 0x89},
503 {0x68, 0x76, 0x83, 0x89},
504 {0x69, 0x77, 0x85, 0x92},
505 {0x69, 0x77, 0x85, 0x92},
506 },
507 {
508 {0x70, 0x80, 0x90, 0x98},
509 {0x70, 0x80, 0x90, 0x98},
510 {0x70, 0x80, 0x91, 0xa1},
511 {0x70, 0x80, 0x91, 0xa1},
512 },
513 {
514 {0x70, 0x80, 0x90, 0x98},
515 {0x70, 0x80, 0x90, 0x98},
516 {0x70, 0x80, 0x91, 0xa1},
517 {0x70, 0x80, 0x91, 0xa1},
518 },
519 {
520 {0x5c, 0x79, 0x87, 0x94},
521 {0x5c, 0x79, 0x87, 0x94},
522 {0x5c, 0x79, 0x87, 0x94},
523 {0x5c, 0x79, 0x87, 0x94},
524 },
525 },
526 {
527 {
528 {0x57, 0x5e, 0x66, 0x6e},
529 {0x57, 0x5e, 0x66, 0x6e},
530 {0x57, 0x5e, 0x66, 0x6e},
531 {0x57, 0x5e, 0x66, 0x6e},
532 },
533 {
534 {0x57, 0x5e, 0x66, 0x6e},
535 {0x57, 0x5e, 0x66, 0x6e},
536 {0x57, 0x5e, 0x66, 0x6e},
537 {0x57, 0x5e, 0x66, 0x6e},
538 },
539 {
540 {0x5e, 0x69, 0x73, 0x7d},
541 {0x5e, 0x69, 0x73, 0x7d},
542 {0x5e, 0x69, 0x73, 0x7d},
543 {0x5e, 0x69, 0x73, 0x7d},
544 },
545 {
546 {0x5e, 0x69, 0x73, 0x7d},
547 {0x5e, 0x69, 0x73, 0x7d},
548 {0x5e, 0x69, 0x73, 0x7d},
549 {0x5e, 0x69, 0x73, 0x7d},
550 },
551 {
552 {0x69, 0x77, 0x85, 0x92},
553 {0x69, 0x77, 0x85, 0x92},
554 {0x69, 0x77, 0x85, 0x92},
555 {0x69, 0x77, 0x85, 0x92},
556 },
557 {
558 {0x69, 0x77, 0x85, 0x92},
559 {0x69, 0x77, 0x85, 0x92},
560 {0x69, 0x77, 0x85, 0x92},
561 {0x69, 0x77, 0x85, 0x92},
562 },
563 {
564 {0x70, 0x80, 0x91, 0xa1},
565 {0x70, 0x80, 0x91, 0xa1},
566 {0x70, 0x80, 0x91, 0xa1},
567 {0x70, 0x80, 0x91, 0xa1},
568 },
569 {
570 {0x70, 0x80, 0x91, 0xa1},
571 {0x70, 0x80, 0x91, 0xa1},
572 {0x70, 0x80, 0x91, 0xa1},
573 {0x70, 0x80, 0x91, 0xa1},
574 },
575 {
576 {0x5c, 0x79, 0x87, 0x94},
577 {0x5c, 0x79, 0x87, 0x94},
578 {0x5c, 0x79, 0x87, 0x94},
579 {0x5c, 0x79, 0x87, 0x94},
580 }
581 }
582 }
583};
584
585const u16 u16_FFFE0EB8[2][4] = {
586 {0x0000, 0x0000, 0x0000, 0x0000},
587 {0x0000, 0x0000, 0x0000, 0x0000}
588};
589
590/* [CARD][LANE][CLOCK_SPEED] */
591const u16 u16_ffd1188[2][9][4] = {
592 {
593 {0xfff9, 0xfff7, 0xfff5, 0xfff2},
594 {0xfff9, 0xfff7, 0xfff5, 0xfff2},
595 {0xfffb, 0xfff9, 0xfff7, 0xfff6},
596 {0xfffb, 0xfff9, 0xfff7, 0xfff6},
597 {0xfffc, 0xfffb, 0xfffa, 0xfff8},
598 {0xfffc, 0xfffb, 0xfffa, 0xfff8},
599 {0xfffd, 0xfffc, 0xfffb, 0xfffa},
600 {0xfffd, 0xfffc, 0xfffb, 0xfffa},
601 {0x0000, 0x0000, 0x0000, 0x0000}
602 },
603 {
604 {0x0001, 0x0001, 0x0001, 0x0002},
605 {0xfffa, 0xfff8, 0xfff6, 0xfff4},
606 {0x0001, 0x0002, 0x0002, 0x0003},
607 {0xffe2, 0xffd8, 0xffce, 0xffc4},
608 {0x0021, 0x002d, 0x0038, 0x0043},
609 {0x0004, 0x0005, 0x0006, 0x0007},
610 {0x000e, 0x0013, 0x0018, 0x001d},
611 {0x0009, 0x000c, 0x000f, 0x0012},
612 {0x0000, 0x0000, 0x0000, 0x0000}
613 }
614};
615
616/* [REVISION][CHANNEL][CLOCK_INDEX][?] */
617const u8 u8_FFFD1891[2][2][4][12] = {
618 {
619 {
620 {0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
621 0x00},
622 {0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
623 0x00},
624 {0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
625 0x00},
626 {0x08, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
627 0x00},
628 },
629 {
630 {0x04, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
631 0x00},
632 {0x05, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
633 0x00},
634 {0x07, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
635 0x00},
636 {0x08, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
637 0x00},
638 }
639 },
640 {
641 {
642 {0x06, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
643 0x00},
644 {0x08, 0x00, 0x00, 0x0a, 0x0a, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00,
645 0x00},
646 {0x0a, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00,
647 0x00},
648 {0x0c, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
649 0x00},
650 },
651 {
652 {0x06, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
653 0x00},
654 {0x08, 0x00, 0x00, 0x0a, 0x0a, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00,
655 0x00},
656 {0x0a, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00,
657 0x00},
658 {0x0c, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
659 0x74}
660 }
661 }
662};
663
664const u8 u8_FFFD17E0[2][5][4][4] = {
665 {
666 {
667 {0x00, 0x0c, 0x00, 0x00},
668 {0x00, 0x00, 0x00, 0x00},
669 {0x23, 0x19, 0x0f, 0x05},
670 {0x23, 0x19, 0x0f, 0x05},
671 },
672 {
673 {0x00, 0x0c, 0x00, 0x00},
674 {0x00, 0x00, 0x00, 0x00},
675 {0x23, 0x19, 0x0f, 0x05},
676 {0x23, 0x19, 0x0f, 0x05},
677 },
678 {
679 {0x00, 0x00, 0x00, 0x00},
680 {0x00, 0x00, 0x00, 0x00},
681 {0x44, 0x45, 0x47, 0x05},
682 {0x44, 0x45, 0x47, 0x05},
683 },
684 {
685 {0x00, 0x00, 0x00, 0x00},
686 {0x00, 0x00, 0x00, 0x00},
687 {0x44, 0x45, 0x46, 0x44},
688 {0x44, 0x45, 0x46, 0x44},
689 },
690 {
691 {0x00, 0x00, 0x00, 0x00},
692 {0x00, 0x00, 0x00, 0x00},
693 {0x2a, 0x24, 0x1e, 0x16},
694 {0x2a, 0x24, 0x1e, 0x16},
695 },
696 },
697 {
698 {
699 {0x00, 0x08, 0x00, 0x00},
700 {0x00, 0x00, 0x00, 0x00},
701 {0x27, 0x1e, 0x16, 0x0d},
702 {0x27, 0x1e, 0x16, 0x0d},
703 },
704 {
705 {0x00, 0x08, 0x00, 0x00},
706 {0x00, 0x00, 0x00, 0x00},
707 {0x27, 0x1e, 0x16, 0x0d},
708 {0x27, 0x1e, 0x16, 0x0d},
709 },
710 {
711 {0x00, 0x00, 0x00, 0x00},
712 {0x00, 0x00, 0x00, 0x00},
713 {0x44, 0x45, 0x47, 0x05},
714 {0x44, 0x45, 0x47, 0x05},
715 },
716 {
717 {0x00, 0x00, 0x00, 0x00},
718 {0x00, 0x00, 0x00, 0x00},
719 {0x43, 0x44, 0x45, 0x43},
720 {0x43, 0x44, 0x45, 0x43},
721 },
722 {
723 {0x00, 0x00, 0x00, 0x00},
724 {0x00, 0x00, 0x00, 0x00},
725 {0x2a, 0x24, 0x1e, 0x16},
726 {0x2a, 0x24, 0x1e, 0x16},
727 },
728 },
729};
730
731const u8 u8_FFFD0C78[2][5][4][2][2][4] = {
732 {
733 {
734 {
735 {
736 {0x00, 0x00, 0x03, 0x04},
737 {0x00, 0x00, 0x03, 0x04},
738 },
739 {
740 {0x00, 0x00, 0x03, 0x04},
741 {0x00, 0x00, 0x03, 0x04},
742 },
743 },
744 {
745 {
746 {0x00, 0x02, 0x0d, 0x0f},
747 {0x00, 0x02, 0x0d, 0x0f},
748 },
749 {
750 {0x00, 0x02, 0x0d, 0x0f},
751 {0x00, 0x02, 0x0d, 0x0f},
752 },
753 },
754 {
755 {
756 {0x00, 0x00, 0x00, 0x00},
757 {0x00, 0x00, 0x00, 0x00},
758 },
759 {
760 {0x00, 0x00, 0x00, 0x00},
761 {0x00, 0x00, 0x00, 0x00},
762 },
763 },
764 {
765 {
766 {0x00, 0x00, 0x00, 0x00},
767 {0x00, 0x00, 0x00, 0x00},
768 },
769 {
770 {0x00, 0x00, 0x00, 0x00},
771 {0x00, 0x00, 0x00, 0x00},
772 },
773 },
774 },
775 {
776 {
777 {
778 {0x00, 0x00, 0x03, 0x04},
779 {0x00, 0x00, 0x03, 0x04},
780 },
781 {
782 {0x00, 0x00, 0x03, 0x04},
783 {0x00, 0x00, 0x03, 0x04},
784 },
785 },
786 {
787 {
788 {0x00, 0x02, 0x0d, 0x0f},
789 {0x00, 0x02, 0x0d, 0x0f},
790 },
791 {
792 {0x00, 0x02, 0x0d, 0x0f},
793 {0x00, 0x02, 0x0d, 0x0f},
794 },
795 },
796 {
797 {
798 {0x00, 0x00, 0x00, 0x00},
799 {0x00, 0x00, 0x00, 0x00},
800 },
801 {
802 {0x00, 0x00, 0x00, 0x00},
803 {0x00, 0x00, 0x00, 0x00},
804 },
805 },
806 {
807 {
808 {0x00, 0x00, 0x00, 0x00},
809 {0x00, 0x00, 0x00, 0x00},
810 },
811 {
812 {0x00, 0x00, 0x00, 0x00},
813 {0x00, 0x00, 0x00, 0x00},
814 },
815 },
816 },
817 {
818 {
819 {
820 {0x04, 0x05, 0x07, 0x08},
821 {0x04, 0x05, 0x07, 0x08},
822 },
823 {
824 {0x04, 0x05, 0x07, 0x08},
825 {0x04, 0x05, 0x07, 0x08},
826 },
827 },
828 {
829 {
830 {0x04, 0x05, 0x07, 0x08},
831 {0x04, 0x05, 0x07, 0x08},
832 },
833 {
834 {0x04, 0x05, 0x07, 0x08},
835 {0x04, 0x05, 0x07, 0x08},
836 },
837 },
838 {
839 {
840 {0x04, 0x05, 0x07, 0x08},
841 {0x04, 0x05, 0x07, 0x08},
842 },
843 {
844 {0x04, 0x05, 0x07, 0x08},
845 {0x04, 0x05, 0x07, 0x08},
846 },
847 },
848 {
849 {
850 {0x04, 0x05, 0x07, 0x08},
851 {0x04, 0x05, 0x07, 0x08},
852 },
853 {
854 {0x04, 0x05, 0x07, 0x08},
855 {0x04, 0x05, 0x07, 0x08},
856 },
857 },
858 },
859 {
860 {
861 {
862 {0x06, 0x07, 0x09, 0x0b},
863 {0x06, 0x07, 0x09, 0x0b},
864 },
865 {
866 {0x06, 0x07, 0x09, 0x0b},
867 {0x06, 0x07, 0x09, 0x0b},
868 },
869 },
870 {
871 {
872 {0x06, 0x07, 0x09, 0x0b},
873 {0x06, 0x07, 0x09, 0x0b},
874 },
875 {
876 {0x06, 0x07, 0x09, 0x0b},
877 {0x06, 0x07, 0x09, 0x0b},
878 },
879 },
880 {
881 {
882 {0x06, 0x07, 0x09, 0x0b},
883 {0x06, 0x07, 0x09, 0x0b},
884 },
885 {
886 {0x06, 0x07, 0x09, 0x0b},
887 {0x06, 0x07, 0x09, 0x0b},
888 },
889 },
890 {
891 {
892 {0x06, 0x07, 0x09, 0x0b},
893 {0x06, 0x07, 0x09, 0x0b},
894 },
895 {
896 {0x06, 0x07, 0x09, 0x0b},
897 {0x06, 0x07, 0x09, 0x0b},
898 },
899 },
900 },
901 {
902 {
903 {
904 {0x00, 0x00, 0x00, 0x00},
905 {0x00, 0x00, 0x00, 0x00},
906 },
907 {
908 {0x00, 0x00, 0x00, 0x00},
909 {0x00, 0x00, 0x00, 0x00},
910 },
911 },
912 {
913 {
914 {0x04, 0x06, 0x08, 0x0a},
915 {0x04, 0x06, 0x08, 0x0a},
916 },
917 {
918 {0x04, 0x06, 0x08, 0x0a},
919 {0x04, 0x06, 0x08, 0x0a},
920 },
921 },
922 {
923 {
924 {0x00, 0x00, 0x00, 0x00},
925 {0x00, 0x00, 0x00, 0x00},
926 },
927 {
928 {0x00, 0x00, 0x00, 0x00},
929 {0x00, 0x00, 0x00, 0x00},
930 },
931 },
932 {
933 {
934 {0x00, 0x00, 0x00, 0x00},
935 {0x00, 0x00, 0x00, 0x00},
936 },
937 {
938 {0x00, 0x00, 0x00, 0x00},
939 {0x00, 0x00, 0x00, 0x00},
940 },
941 },
942 },
943 },
944 {
945 {
946 {
947 {
948 {0x00, 0x00, 0x03, 0x04},
949 {0x00, 0x00, 0x03, 0x04},
950 },
951 {
952 {0x00, 0x00, 0x03, 0x04},
953 {0x00, 0x00, 0x03, 0x04},
954 },
955 },
956 {
957 {
958 {0x00, 0x06, 0x0d, 0x0f},
959 {0x00, 0x06, 0x0d, 0x0f},
960 },
961 {
962 {0x00, 0x06, 0x0d, 0x0f},
963 {0x00, 0x06, 0x0d, 0x0f},
964 },
965 },
966 {
967 {
968 {0x00, 0x00, 0x00, 0x00},
969 {0x00, 0x00, 0x00, 0x00},
970 },
971 {
972 {0x00, 0x00, 0x00, 0x00},
973 {0x00, 0x00, 0x00, 0x00},
974 },
975 },
976 {
977 {
978 {0x00, 0x00, 0x00, 0x00},
979 {0x00, 0x00, 0x00, 0x00},
980 },
981 {
982 {0x00, 0x00, 0x00, 0x00},
983 {0x00, 0x00, 0x00, 0x00},
984 },
985 },
986 },
987 {
988 {
989 {
990 {0x00, 0x00, 0x03, 0x04},
991 {0x00, 0x00, 0x03, 0x04},
992 },
993 {
994 {0x00, 0x00, 0x03, 0x04},
995 {0x00, 0x00, 0x03, 0x04},
996 },
997 },
998 {
999 {
1000 {0x00, 0x06, 0x13, 0x17},
1001 {0x00, 0x06, 0x13, 0x17},
1002 },
1003 {
1004 {0x00, 0x06, 0x13, 0x17},
1005 {0x00, 0x06, 0x13, 0x17},
1006 },
1007 },
1008 {
1009 {
1010 {0x00, 0x00, 0x00, 0x00},
1011 {0x00, 0x00, 0x00, 0x00},
1012 },
1013 {
1014 {0x00, 0x00, 0x00, 0x00},
1015 {0x00, 0x00, 0x00, 0x00},
1016 },
1017 },
1018 {
1019 {
1020 {0x00, 0x00, 0x00, 0x00},
1021 {0x00, 0x00, 0x00, 0x00},
1022 },
1023 {
1024 {0x00, 0x00, 0x00, 0x00},
1025 {0x00, 0x00, 0x00, 0x00},
1026 },
1027 },
1028 },
1029 {
1030 {
1031 {
1032 {0x04, 0x05, 0x07, 0x08},
1033 {0x04, 0x05, 0x07, 0x08},
1034 },
1035 {
1036 {0x04, 0x05, 0x07, 0x08},
1037 {0x04, 0x05, 0x07, 0x08},
1038 },
1039 },
1040 {
1041 {
1042 {0x04, 0x05, 0x07, 0x08},
1043 {0x04, 0x05, 0x07, 0x08},
1044 },
1045 {
1046 {0x04, 0x05, 0x07, 0x08},
1047 {0x04, 0x05, 0x07, 0x08},
1048 },
1049 },
1050 {
1051 {
1052 {0x04, 0x05, 0x07, 0x08},
1053 {0x04, 0x05, 0x07, 0x08},
1054 },
1055 {
1056 {0x04, 0x05, 0x07, 0x08},
1057 {0x04, 0x05, 0x07, 0x08},
1058 },
1059 },
1060 {
1061 {
1062 {0x04, 0x05, 0x07, 0x08},
1063 {0x04, 0x05, 0x07, 0x08},
1064 },
1065 {
1066 {0x04, 0x05, 0x07, 0x08},
1067 {0x04, 0x05, 0x07, 0x08},
1068 },
1069 },
1070 },
1071 {
1072 {
1073 {
1074 {0x06, 0x07, 0x09, 0x0b},
1075 {0x06, 0x07, 0x09, 0x0b},
1076 },
1077 {
1078 {0x06, 0x07, 0x09, 0x0b},
1079 {0x06, 0x07, 0x09, 0x0b},
1080 },
1081 },
1082 {
1083 {
1084 {0x06, 0x07, 0x09, 0x0b},
1085 {0x06, 0x07, 0x09, 0x0b},
1086 },
1087 {
1088 {0x06, 0x07, 0x09, 0x0b},
1089 {0x06, 0x07, 0x09, 0x0b},
1090 },
1091 },
1092 {
1093 {
1094 {0x06, 0x07, 0x09, 0x0b},
1095 {0x06, 0x07, 0x09, 0x0b},
1096 },
1097 {
1098 {0x06, 0x07, 0x09, 0x0b},
1099 {0x06, 0x07, 0x09, 0x0b},
1100 },
1101 },
1102 {
1103 {
1104 {0x06, 0x07, 0x09, 0x0b},
1105 {0x06, 0x07, 0x09, 0x0b},
1106 },
1107 {
1108 {0x06, 0x07, 0x09, 0x0b},
1109 {0x06, 0x07, 0x09, 0x0b},
1110 },
1111 },
1112 },
1113 {
1114 {
1115 {
1116 {0x00, 0x00, 0x03, 0x04},
1117 {0x00, 0x00, 0x03, 0x04},
1118 },
1119 {
1120 {0x00, 0x00, 0x03, 0x04},
1121 {0x00, 0x00, 0x03, 0x04},
1122 },
1123 },
1124 {
1125 {
1126 {0x04, 0x06, 0x08, 0x0a},
1127 {0x00, 0x06, 0x0d, 0x0f},
1128 },
1129 {
1130 {0x00, 0x06, 0x0d, 0x0f},
1131 {0x00, 0x06, 0x0d, 0x0f},
1132 },
1133 },
1134 {
1135 {
1136 {0x00, 0x00, 0x00, 0x00},
1137 {0x00, 0x00, 0x00, 0x00},
1138 },
1139 {
1140 {0x00, 0x00, 0x00, 0x00},
1141 {0x00, 0x00, 0x00, 0x00},
1142 },
1143 },
1144 {
1145 {
1146 {0x00, 0x00, 0x00, 0x00},
1147 {0x00, 0x00, 0x00, 0x00},
1148 },
1149 {
1150 {0x00, 0x00, 0x00, 0x00},
1151 {0x00, 0x00, 0x00, 0x00},
1152 },
1153 },
1154 },
1155 },
1156};
1157
1158const u16 u16_fffd0c68[3] = { 0x04c3, 0x064d, 0x068b };
1159
1160const u16 u16_fffd0c70[2][2] = {
1161 {0x06c0, 0x06c9},
1162 {0x06a4, 0x06ad}
1163};
1164
1165const u16 u16_fffd0c50[3][2][2] = {
1166 {
1167 {0x04b9, 0x04af},
1168 {0x04a5, 0x049b}
1169 },
1170 {
1171 {0x0625, 0x062f},
1172 {0x0639, 0x0643},
1173 },
1174 {
1175 {0x0663, 0x066d},
1176 {0x0677, 0x0681}
1177 }
1178};
1179
1180/* [CLOCK_INDEX] */
1181const u16 min_cycletime[4] = { 0x09c4, 0x0753, 0x05dc, 0x0000 };
1182
1183/* [CLOCK_INDEX] */
1184const u16 min_cas_latency_time[4] = { 0x30d4, 0x2bf2, 0x2904, 0x0000 };
1185
1186/* [CHANNEL][EXT_SILICON_REVISION][?][CLOCK_INDEX] */
1187/* On other mobos may also depend on slot and rank. */
1188const u8 u8_FFFD0EF8[2][5][4][4] = {
1189 {
1190 {
1191 {0x00, 0x00, 0x03, 0x04,},
1192 {0x00, 0x02, 0x0d, 0x0f,},
1193 {0x00, 0x00, 0x00, 0x00,},
1194 {0x00, 0x00, 0x00, 0x00,},
1195 },
1196 {
1197 {0x00, 0x00, 0x03, 0x04,},
1198 {0x00, 0x02, 0x0d, 0x0f,},
1199 {0x00, 0x00, 0x00, 0x00,},
1200 {0x00, 0x00, 0x00, 0x00,},
1201 },
1202 {
1203 {0x09, 0x0c, 0x0f, 0x12,},
1204 {0x09, 0x0c, 0x0f, 0x12,},
1205 {0x09, 0x0c, 0x0f, 0x12,},
1206 {0x09, 0x0c, 0x0f, 0x12,},
1207 },
1208 {
1209 {0x06, 0x08, 0x0a, 0x0c,},
1210 {0x06, 0x08, 0x0a, 0x0c,},
1211 {0x06, 0x08, 0x0a, 0x0c,},
1212 {0x06, 0x08, 0x0a, 0x0c,},
1213 },
1214 {
1215 {0x00, 0x00, 0x00, 0x00,},
1216 {0x07, 0x0a, 0x0d, 0x10,},
1217 {0x04, 0x06, 0x08, 0x0a,},
1218 {0x04, 0x06, 0x08, 0x0a,},
1219 },
1220 },
1221 {
1222 {
1223 {0x00, 0x00, 0x03, 0x04,},
1224 {0x00, 0x06, 0x0d, 0x0f,},
1225 {0x00, 0x00, 0x00, 0x00,},
1226 {0x00, 0x00, 0x00, 0x00,},
1227 },
1228 {
1229 {0x00, 0x00, 0x03, 0x04,},
1230 {0x00, 0x06, 0x13, 0x17,},
1231 {0x00, 0x00, 0x00, 0x00,},
1232 {0x00, 0x00, 0x00, 0x00,},
1233 },
1234 {
1235 {0x09, 0x0c, 0x0f, 0x12,},
1236 {0x09, 0x0c, 0x0f, 0x12,},
1237 {0x09, 0x0c, 0x0f, 0x12,},
1238 {0x09, 0x0c, 0x0f, 0x12,},
1239 },
1240 {
1241 {0x09, 0x0c, 0x10, 0x13,},
1242 {0x09, 0x0c, 0x10, 0x13,},
1243 {0x09, 0x0c, 0x10, 0x13,},
1244 {0x09, 0x0c, 0x10, 0x13,},
1245 },
1246 {
1247 {0x00, 0x00, 0x00, 0x00,},
1248 {0x07, 0x0a, 0x0d, 0x10,},
1249 {0x04, 0x06, 0x08, 0x0a,},
1250 {0x04, 0x06, 0x08, 0x0a,},
1251 },
1252 },
1253};
1254
1255/* [CLOCK_SPEED] */
1256const u8 u8_FFFD1218[4] = {
1257 0x15, 0x15, 0x15, 0x12
1258};
1259
1260const u8 reg178_min[] = { 1, 3, 4, 7 };
1261const u8 reg178_max[] = { 62, 60, 59, 56 };
1262const u8 reg178_step[] = { 5, 4, 3, 2 };
1263
1264const u16 u16_ffd1178[2][4] = {
1265 {0xfffb, 0xfffa, 0xfff8, 0xfff7},
1266 {0xfffb, 0xfffa, 0xfff8, 0xfff7},
1267};
1268
1269const u16 u16_fe0eb8[2][4] = {
1270 {0x0000, 0x0000, 0x0000, 0x0000},
1271 {0x0000, 0x0000, 0x0000, 0x0000}
1272};
1273
1274const u8 lut16[4] = { 14, 13, 14, 14 };