blob: 3abd4c0a0186724e7b83e4129b044b8588ca4029 [file] [log] [blame]
Patrick Georgi02363b52020-05-05 20:48:50 +02001/* This file is part of the coreboot project. */
Vladimir Serbinenkoc6f6be02013-11-12 22:32:08 +01002/*
Vladimir Serbinenkoc6f6be02013-11-12 22:32:08 +01003 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
Vladimir Serbinenkoc6f6be02013-11-12 22:32:08 +010013 */
14
Angel Pons18a55cd2019-08-14 20:46:00 +020015#include "raminit_tables.h"
16
Vladimir Serbinenkoc6f6be02013-11-12 22:32:08 +010017/* [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 {
Angel Pons18a55cd2019-08-14 20:46:00 +0200620 {0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
621 {0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
622 {0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
623 {0x08, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00},
Vladimir Serbinenkoc6f6be02013-11-12 22:32:08 +0100624 },
625 {
Angel Pons18a55cd2019-08-14 20:46:00 +0200626 {0x04, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00},
627 {0x05, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00},
628 {0x07, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00},
629 {0x08, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00},
Vladimir Serbinenkoc6f6be02013-11-12 22:32:08 +0100630 }
631 },
632 {
633 {
Angel Pons18a55cd2019-08-14 20:46:00 +0200634 {0x06, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00},
635 {0x08, 0x00, 0x00, 0x0a, 0x0a, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00},
636 {0x0a, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00},
637 {0x0c, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00},
Vladimir Serbinenkoc6f6be02013-11-12 22:32:08 +0100638 },
639 {
Angel Pons18a55cd2019-08-14 20:46:00 +0200640 {0x06, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00},
641 {0x08, 0x00, 0x00, 0x0a, 0x0a, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00},
642 {0x0a, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00},
643 {0x0c, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74}
Vladimir Serbinenkoc6f6be02013-11-12 22:32:08 +0100644 }
645 }
646};
647
648const u8 u8_FFFD17E0[2][5][4][4] = {
649 {
650 {
651 {0x00, 0x0c, 0x00, 0x00},
652 {0x00, 0x00, 0x00, 0x00},
653 {0x23, 0x19, 0x0f, 0x05},
654 {0x23, 0x19, 0x0f, 0x05},
655 },
656 {
657 {0x00, 0x0c, 0x00, 0x00},
658 {0x00, 0x00, 0x00, 0x00},
659 {0x23, 0x19, 0x0f, 0x05},
660 {0x23, 0x19, 0x0f, 0x05},
661 },
662 {
663 {0x00, 0x00, 0x00, 0x00},
664 {0x00, 0x00, 0x00, 0x00},
665 {0x44, 0x45, 0x47, 0x05},
666 {0x44, 0x45, 0x47, 0x05},
667 },
668 {
669 {0x00, 0x00, 0x00, 0x00},
670 {0x00, 0x00, 0x00, 0x00},
671 {0x44, 0x45, 0x46, 0x44},
672 {0x44, 0x45, 0x46, 0x44},
673 },
674 {
675 {0x00, 0x00, 0x00, 0x00},
676 {0x00, 0x00, 0x00, 0x00},
677 {0x2a, 0x24, 0x1e, 0x16},
678 {0x2a, 0x24, 0x1e, 0x16},
679 },
680 },
681 {
682 {
683 {0x00, 0x08, 0x00, 0x00},
684 {0x00, 0x00, 0x00, 0x00},
685 {0x27, 0x1e, 0x16, 0x0d},
686 {0x27, 0x1e, 0x16, 0x0d},
687 },
688 {
689 {0x00, 0x08, 0x00, 0x00},
690 {0x00, 0x00, 0x00, 0x00},
691 {0x27, 0x1e, 0x16, 0x0d},
692 {0x27, 0x1e, 0x16, 0x0d},
693 },
694 {
695 {0x00, 0x00, 0x00, 0x00},
696 {0x00, 0x00, 0x00, 0x00},
697 {0x44, 0x45, 0x47, 0x05},
698 {0x44, 0x45, 0x47, 0x05},
699 },
700 {
701 {0x00, 0x00, 0x00, 0x00},
702 {0x00, 0x00, 0x00, 0x00},
703 {0x43, 0x44, 0x45, 0x43},
704 {0x43, 0x44, 0x45, 0x43},
705 },
706 {
707 {0x00, 0x00, 0x00, 0x00},
708 {0x00, 0x00, 0x00, 0x00},
709 {0x2a, 0x24, 0x1e, 0x16},
710 {0x2a, 0x24, 0x1e, 0x16},
711 },
712 },
713};
714
715const u8 u8_FFFD0C78[2][5][4][2][2][4] = {
716 {
717 {
718 {
719 {
720 {0x00, 0x00, 0x03, 0x04},
721 {0x00, 0x00, 0x03, 0x04},
722 },
723 {
724 {0x00, 0x00, 0x03, 0x04},
725 {0x00, 0x00, 0x03, 0x04},
726 },
727 },
728 {
729 {
730 {0x00, 0x02, 0x0d, 0x0f},
731 {0x00, 0x02, 0x0d, 0x0f},
732 },
733 {
734 {0x00, 0x02, 0x0d, 0x0f},
735 {0x00, 0x02, 0x0d, 0x0f},
736 },
737 },
738 {
739 {
740 {0x00, 0x00, 0x00, 0x00},
741 {0x00, 0x00, 0x00, 0x00},
742 },
743 {
744 {0x00, 0x00, 0x00, 0x00},
745 {0x00, 0x00, 0x00, 0x00},
746 },
747 },
748 {
749 {
750 {0x00, 0x00, 0x00, 0x00},
751 {0x00, 0x00, 0x00, 0x00},
752 },
753 {
754 {0x00, 0x00, 0x00, 0x00},
755 {0x00, 0x00, 0x00, 0x00},
756 },
757 },
758 },
759 {
760 {
761 {
762 {0x00, 0x00, 0x03, 0x04},
763 {0x00, 0x00, 0x03, 0x04},
764 },
765 {
766 {0x00, 0x00, 0x03, 0x04},
767 {0x00, 0x00, 0x03, 0x04},
768 },
769 },
770 {
771 {
772 {0x00, 0x02, 0x0d, 0x0f},
773 {0x00, 0x02, 0x0d, 0x0f},
774 },
775 {
776 {0x00, 0x02, 0x0d, 0x0f},
777 {0x00, 0x02, 0x0d, 0x0f},
778 },
779 },
780 {
781 {
782 {0x00, 0x00, 0x00, 0x00},
783 {0x00, 0x00, 0x00, 0x00},
784 },
785 {
786 {0x00, 0x00, 0x00, 0x00},
787 {0x00, 0x00, 0x00, 0x00},
788 },
789 },
790 {
791 {
792 {0x00, 0x00, 0x00, 0x00},
793 {0x00, 0x00, 0x00, 0x00},
794 },
795 {
796 {0x00, 0x00, 0x00, 0x00},
797 {0x00, 0x00, 0x00, 0x00},
798 },
799 },
800 },
801 {
802 {
803 {
804 {0x04, 0x05, 0x07, 0x08},
805 {0x04, 0x05, 0x07, 0x08},
806 },
807 {
808 {0x04, 0x05, 0x07, 0x08},
809 {0x04, 0x05, 0x07, 0x08},
810 },
811 },
812 {
813 {
814 {0x04, 0x05, 0x07, 0x08},
815 {0x04, 0x05, 0x07, 0x08},
816 },
817 {
818 {0x04, 0x05, 0x07, 0x08},
819 {0x04, 0x05, 0x07, 0x08},
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 {
845 {
846 {0x06, 0x07, 0x09, 0x0b},
847 {0x06, 0x07, 0x09, 0x0b},
848 },
849 {
850 {0x06, 0x07, 0x09, 0x0b},
851 {0x06, 0x07, 0x09, 0x0b},
852 },
853 },
854 {
855 {
856 {0x06, 0x07, 0x09, 0x0b},
857 {0x06, 0x07, 0x09, 0x0b},
858 },
859 {
860 {0x06, 0x07, 0x09, 0x0b},
861 {0x06, 0x07, 0x09, 0x0b},
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 {
887 {
888 {0x00, 0x00, 0x00, 0x00},
889 {0x00, 0x00, 0x00, 0x00},
890 },
891 {
892 {0x00, 0x00, 0x00, 0x00},
893 {0x00, 0x00, 0x00, 0x00},
894 },
895 },
896 {
897 {
898 {0x04, 0x06, 0x08, 0x0a},
899 {0x04, 0x06, 0x08, 0x0a},
900 },
901 {
902 {0x04, 0x06, 0x08, 0x0a},
903 {0x04, 0x06, 0x08, 0x0a},
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 {0x00, 0x00, 0x00, 0x00},
919 {0x00, 0x00, 0x00, 0x00},
920 },
921 {
922 {0x00, 0x00, 0x00, 0x00},
923 {0x00, 0x00, 0x00, 0x00},
924 },
925 },
926 },
927 },
928 {
929 {
930 {
931 {
932 {0x00, 0x00, 0x03, 0x04},
933 {0x00, 0x00, 0x03, 0x04},
934 },
935 {
936 {0x00, 0x00, 0x03, 0x04},
937 {0x00, 0x00, 0x03, 0x04},
938 },
939 },
940 {
941 {
942 {0x00, 0x06, 0x0d, 0x0f},
943 {0x00, 0x06, 0x0d, 0x0f},
944 },
945 {
946 {0x00, 0x06, 0x0d, 0x0f},
947 {0x00, 0x06, 0x0d, 0x0f},
948 },
949 },
950 {
951 {
952 {0x00, 0x00, 0x00, 0x00},
953 {0x00, 0x00, 0x00, 0x00},
954 },
955 {
956 {0x00, 0x00, 0x00, 0x00},
957 {0x00, 0x00, 0x00, 0x00},
958 },
959 },
960 {
961 {
962 {0x00, 0x00, 0x00, 0x00},
963 {0x00, 0x00, 0x00, 0x00},
964 },
965 {
966 {0x00, 0x00, 0x00, 0x00},
967 {0x00, 0x00, 0x00, 0x00},
968 },
969 },
970 },
971 {
972 {
973 {
974 {0x00, 0x00, 0x03, 0x04},
975 {0x00, 0x00, 0x03, 0x04},
976 },
977 {
978 {0x00, 0x00, 0x03, 0x04},
979 {0x00, 0x00, 0x03, 0x04},
980 },
981 },
982 {
983 {
984 {0x00, 0x06, 0x13, 0x17},
985 {0x00, 0x06, 0x13, 0x17},
986 },
987 {
988 {0x00, 0x06, 0x13, 0x17},
989 {0x00, 0x06, 0x13, 0x17},
990 },
991 },
992 {
993 {
994 {0x00, 0x00, 0x00, 0x00},
995 {0x00, 0x00, 0x00, 0x00},
996 },
997 {
998 {0x00, 0x00, 0x00, 0x00},
999 {0x00, 0x00, 0x00, 0x00},
1000 },
1001 },
1002 {
1003 {
1004 {0x00, 0x00, 0x00, 0x00},
1005 {0x00, 0x00, 0x00, 0x00},
1006 },
1007 {
1008 {0x00, 0x00, 0x00, 0x00},
1009 {0x00, 0x00, 0x00, 0x00},
1010 },
1011 },
1012 },
1013 {
1014 {
1015 {
1016 {0x04, 0x05, 0x07, 0x08},
1017 {0x04, 0x05, 0x07, 0x08},
1018 },
1019 {
1020 {0x04, 0x05, 0x07, 0x08},
1021 {0x04, 0x05, 0x07, 0x08},
1022 },
1023 },
1024 {
1025 {
1026 {0x04, 0x05, 0x07, 0x08},
1027 {0x04, 0x05, 0x07, 0x08},
1028 },
1029 {
1030 {0x04, 0x05, 0x07, 0x08},
1031 {0x04, 0x05, 0x07, 0x08},
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 {
1057 {
1058 {0x06, 0x07, 0x09, 0x0b},
1059 {0x06, 0x07, 0x09, 0x0b},
1060 },
1061 {
1062 {0x06, 0x07, 0x09, 0x0b},
1063 {0x06, 0x07, 0x09, 0x0b},
1064 },
1065 },
1066 {
1067 {
1068 {0x06, 0x07, 0x09, 0x0b},
1069 {0x06, 0x07, 0x09, 0x0b},
1070 },
1071 {
1072 {0x06, 0x07, 0x09, 0x0b},
1073 {0x06, 0x07, 0x09, 0x0b},
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 {
1099 {
1100 {0x00, 0x00, 0x03, 0x04},
1101 {0x00, 0x00, 0x03, 0x04},
1102 },
1103 {
1104 {0x00, 0x00, 0x03, 0x04},
1105 {0x00, 0x00, 0x03, 0x04},
1106 },
1107 },
1108 {
1109 {
1110 {0x04, 0x06, 0x08, 0x0a},
1111 {0x00, 0x06, 0x0d, 0x0f},
1112 },
1113 {
1114 {0x00, 0x06, 0x0d, 0x0f},
1115 {0x00, 0x06, 0x0d, 0x0f},
1116 },
1117 },
1118 {
1119 {
1120 {0x00, 0x00, 0x00, 0x00},
1121 {0x00, 0x00, 0x00, 0x00},
1122 },
1123 {
1124 {0x00, 0x00, 0x00, 0x00},
1125 {0x00, 0x00, 0x00, 0x00},
1126 },
1127 },
1128 {
1129 {
1130 {0x00, 0x00, 0x00, 0x00},
1131 {0x00, 0x00, 0x00, 0x00},
1132 },
1133 {
1134 {0x00, 0x00, 0x00, 0x00},
1135 {0x00, 0x00, 0x00, 0x00},
1136 },
1137 },
1138 },
1139 },
1140};
1141
1142const u16 u16_fffd0c68[3] = { 0x04c3, 0x064d, 0x068b };
1143
1144const u16 u16_fffd0c70[2][2] = {
1145 {0x06c0, 0x06c9},
1146 {0x06a4, 0x06ad}
1147};
1148
1149const u16 u16_fffd0c50[3][2][2] = {
1150 {
1151 {0x04b9, 0x04af},
1152 {0x04a5, 0x049b}
1153 },
1154 {
1155 {0x0625, 0x062f},
1156 {0x0639, 0x0643},
1157 },
1158 {
1159 {0x0663, 0x066d},
1160 {0x0677, 0x0681}
1161 }
1162};
1163
1164/* [CLOCK_INDEX] */
1165const u16 min_cycletime[4] = { 0x09c4, 0x0753, 0x05dc, 0x0000 };
1166
1167/* [CLOCK_INDEX] */
1168const u16 min_cas_latency_time[4] = { 0x30d4, 0x2bf2, 0x2904, 0x0000 };
1169
1170/* [CHANNEL][EXT_SILICON_REVISION][?][CLOCK_INDEX] */
1171/* On other mobos may also depend on slot and rank. */
1172const u8 u8_FFFD0EF8[2][5][4][4] = {
1173 {
1174 {
1175 {0x00, 0x00, 0x03, 0x04,},
1176 {0x00, 0x02, 0x0d, 0x0f,},
1177 {0x00, 0x00, 0x00, 0x00,},
1178 {0x00, 0x00, 0x00, 0x00,},
1179 },
1180 {
1181 {0x00, 0x00, 0x03, 0x04,},
1182 {0x00, 0x02, 0x0d, 0x0f,},
1183 {0x00, 0x00, 0x00, 0x00,},
1184 {0x00, 0x00, 0x00, 0x00,},
1185 },
1186 {
1187 {0x09, 0x0c, 0x0f, 0x12,},
1188 {0x09, 0x0c, 0x0f, 0x12,},
1189 {0x09, 0x0c, 0x0f, 0x12,},
1190 {0x09, 0x0c, 0x0f, 0x12,},
1191 },
1192 {
1193 {0x06, 0x08, 0x0a, 0x0c,},
1194 {0x06, 0x08, 0x0a, 0x0c,},
1195 {0x06, 0x08, 0x0a, 0x0c,},
1196 {0x06, 0x08, 0x0a, 0x0c,},
1197 },
1198 {
1199 {0x00, 0x00, 0x00, 0x00,},
1200 {0x07, 0x0a, 0x0d, 0x10,},
1201 {0x04, 0x06, 0x08, 0x0a,},
1202 {0x04, 0x06, 0x08, 0x0a,},
1203 },
1204 },
1205 {
1206 {
1207 {0x00, 0x00, 0x03, 0x04,},
1208 {0x00, 0x06, 0x0d, 0x0f,},
1209 {0x00, 0x00, 0x00, 0x00,},
1210 {0x00, 0x00, 0x00, 0x00,},
1211 },
1212 {
1213 {0x00, 0x00, 0x03, 0x04,},
1214 {0x00, 0x06, 0x13, 0x17,},
1215 {0x00, 0x00, 0x00, 0x00,},
1216 {0x00, 0x00, 0x00, 0x00,},
1217 },
1218 {
1219 {0x09, 0x0c, 0x0f, 0x12,},
1220 {0x09, 0x0c, 0x0f, 0x12,},
1221 {0x09, 0x0c, 0x0f, 0x12,},
1222 {0x09, 0x0c, 0x0f, 0x12,},
1223 },
1224 {
1225 {0x09, 0x0c, 0x10, 0x13,},
1226 {0x09, 0x0c, 0x10, 0x13,},
1227 {0x09, 0x0c, 0x10, 0x13,},
1228 {0x09, 0x0c, 0x10, 0x13,},
1229 },
1230 {
1231 {0x00, 0x00, 0x00, 0x00,},
1232 {0x07, 0x0a, 0x0d, 0x10,},
1233 {0x04, 0x06, 0x08, 0x0a,},
1234 {0x04, 0x06, 0x08, 0x0a,},
1235 },
1236 },
1237};
1238
1239/* [CLOCK_SPEED] */
1240const u8 u8_FFFD1218[4] = {
1241 0x15, 0x15, 0x15, 0x12
1242};
1243
1244const u8 reg178_min[] = { 1, 3, 4, 7 };
1245const u8 reg178_max[] = { 62, 60, 59, 56 };
1246const u8 reg178_step[] = { 5, 4, 3, 2 };
1247
1248const u16 u16_ffd1178[2][4] = {
1249 {0xfffb, 0xfffa, 0xfff8, 0xfff7},
1250 {0xfffb, 0xfffa, 0xfff8, 0xfff7},
1251};
1252
1253const u16 u16_fe0eb8[2][4] = {
1254 {0x0000, 0x0000, 0x0000, 0x0000},
1255 {0x0000, 0x0000, 0x0000, 0x0000}
1256};
1257
1258const u8 lut16[4] = { 14, 13, 14, 14 };