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