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