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