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