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