blob: b89066a0319524a9e6987f279b9745f8e337a572 [file] [log] [blame]
Pankaj Guptac518de42020-12-09 14:02:39 +05301/*
2 * Copyright 2021 NXP
3 * SPDX-License-Identifier: BSD-3-Clause
4 *
5 */
6
7#ifndef PIE_H
8#define PIE_H
9
10struct pie {
11 uint32_t addr;
12 uint16_t data;
13};
14
15static const struct pie pie_udimm[] = {
16 {0x90000, 0x10},
17 {0x90001, 0x400},
18 {0x90002, 0x10e},
19 {0x90003, 0x0},
20 {0x90004, 0x0},
21 {0x90005, 0x8},
22 {0x90029, 0xb},
23 {0x9002a, 0x480},
24 {0x9002b, 0x109},
25 {0x9002c, 0x8},
26 {0x9002d, 0x448},
27 {0x9002e, 0x139},
28 {0x9002f, 0x8},
29 {0x90030, 0x478},
30 {0x90031, 0x109},
31 {0x90032, 0x2},
32 {0x90033, 0x10},
33 {0x90034, 0x139},
34 {0x90035, 0xb},
35 {0x90036, 0x7c0},
36 {0x90037, 0x139},
37 {0x90038, 0x44},
38 {0x90039, 0x633},
39 {0x9003a, 0x159},
40 {0x9003b, 0x14f},
41 {0x9003c, 0x630},
42 {0x9003d, 0x159},
43 {0x9003e, 0x47},
44 {0x9003f, 0x633},
45 {0x90040, 0x149},
46 {0x90041, 0x4f},
47 {0x90042, 0x633},
48 {0x90043, 0x179},
49 {0x90044, 0x8},
50 {0x90045, 0xe0},
51 {0x90046, 0x109},
52 {0x90047, 0x0},
53 {0x90048, 0x7c8},
54 {0x90049, 0x109},
55 {0x9004a, 0x0},
56 {0x9004b, 0x1},
57 {0x9004c, 0x8},
58 {0x9004d, 0x0},
59 {0x9004e, 0x45a},
60 {0x9004f, 0x9},
61 {0x90050, 0x0},
62 {0x90051, 0x448},
63 {0x90052, 0x109},
64 {0x90053, 0x40},
65 {0x90054, 0x633},
66 {0x90055, 0x179},
67 {0x90056, 0x1},
68 {0x90057, 0x618},
69 {0x90058, 0x109},
70 {0x90059, 0x40c0},
71 {0x9005a, 0x633},
72 {0x9005b, 0x149},
73 {0x9005c, 0x8},
74 {0x9005d, 0x4},
75 {0x9005e, 0x48},
76 {0x9005f, 0x4040},
77 {0x90060, 0x633},
78 {0x90061, 0x149},
79 {0x90062, 0x0},
80 {0x90063, 0x4},
81 {0x90064, 0x48},
82 {0x90065, 0x40},
83 {0x90066, 0x633},
84 {0x90067, 0x149},
85 {0x90068, 0x10},
86 {0x90069, 0x4},
87 {0x9006a, 0x18},
88 {0x9006b, 0x0},
89 {0x9006c, 0x4},
90 {0x9006d, 0x78},
91 {0x9006e, 0x549},
92 {0x9006f, 0x633},
93 {0x90070, 0x159},
94 {0x90071, 0xd49},
95 {0x90072, 0x633},
96 {0x90073, 0x159},
97 {0x90074, 0x94a},
98 {0x90075, 0x633},
99 {0x90076, 0x159},
100 {0x90077, 0x441},
101 {0x90078, 0x633},
102 {0x90079, 0x149},
103 {0x9007a, 0x42},
104 {0x9007b, 0x633},
105 {0x9007c, 0x149},
106 {0x9007d, 0x1},
107 {0x9007e, 0x633},
108 {0x9007f, 0x149},
109 {0x90080, 0x0},
110 {0x90081, 0xe0},
111 {0x90082, 0x109},
112 {0x90083, 0xa},
113 {0x90084, 0x10},
114 {0x90085, 0x109},
115 {0x90086, 0x9},
116 {0x90087, 0x3c0},
117 {0x90088, 0x149},
118 {0x90089, 0x9},
119 {0x9008a, 0x3c0},
120 {0x9008b, 0x159},
121 {0x9008c, 0x18},
122 {0x9008d, 0x10},
123 {0x9008e, 0x109},
124 {0x9008f, 0x0},
125 {0x90090, 0x3c0},
126 {0x90091, 0x109},
127 {0x90092, 0x18},
128 {0x90093, 0x4},
129 {0x90094, 0x48},
130 {0x90095, 0x18},
131 {0x90096, 0x4},
132 {0x90097, 0x58},
133 {0x90098, 0xb},
134 {0x90099, 0x10},
135 {0x9009a, 0x109},
136 {0x9009b, 0x1},
137 {0x9009c, 0x10},
138 {0x9009d, 0x109},
139 {0x9009e, 0x5},
140 {0x9009f, 0x7c0},
141 {0x900a0, 0x109},
142 {0x900a1, 0x0},
143 {0x900a2, 0x8140},
144 {0x900a3, 0x10c},
145 {0x900a4, 0x10},
146 {0x900a5, 0x8138},
147 {0x900a6, 0x10c},
148 {0x900a7, 0x8},
149 {0x900a8, 0x7c8},
150 {0x900a9, 0x101},
151 {0x900aa, 0x8},
152 {0x900ab, 0x448},
153 {0x900ac, 0x109},
154 {0x900ad, 0xf},
155 {0x900ae, 0x7c0},
156 {0x900af, 0x109},
157 {0x900b0, 0x47},
158 {0x900b1, 0x630},
159 {0x900b2, 0x109},
160 {0x900b3, 0x8},
161 {0x900b4, 0x618},
162 {0x900b5, 0x109},
163 {0x900b6, 0x8},
164 {0x900b7, 0xe0},
165 {0x900b8, 0x109},
166 {0x900b9, 0x0},
167 {0x900ba, 0x7c8},
168 {0x900bb, 0x109},
169 {0x900bc, 0x8},
170 {0x900bd, 0x8140},
171 {0x900be, 0x10c},
172 {0x900bf, 0x0},
173 {0x900c0, 0x478},
174 {0x900c1, 0x109},
175 {0x900c2, 0x0},
176 {0x900c3, 0x1},
177 {0x900c4, 0x8},
178 {0x900c5, 0x8},
179 {0x900c6, 0x4},
180 {0x900c7, 0x8},
181 {0x900c8, 0x8},
182 {0x900c9, 0x7c8},
183 {0x900ca, 0x101},
184 {0x90006, 0x0},
185 {0x90007, 0x0},
186 {0x90008, 0x8},
187 {0x90009, 0x0},
188 {0x9000a, 0x0},
189 {0x9000b, 0x0},
190 {0xd00e7, 0x400},
191 {0x90017, 0x0},
192 {0x90026, 0x2b},
193};
194
195static const struct pie pie_rdimm[] = {
196 {0x90000, 0x10},
197 {0x90001, 0x400},
198 {0x90002, 0x10e},
199 {0x90003, 0x0},
200 {0x90004, 0x0},
201 {0x90005, 0x8},
202 {0x40000, 0x10},
203 {0x40020, 0x0},
204 {0x40040, 0x0},
205 {0x40060, 0x0},
206 {0x40001, 0x70a},
207 {0x40021, 0x7005},
208 {0x40041, 0x0},
209 {0x40061, 0x2001},
210 {0x40002, 0x4010},
211 {0x40022, 0x0},
212 {0x40042, 0x0},
213 {0x40062, 0x0},
214 {0x90029, 0x10},
215 {0x9002a, 0x400},
216 {0x9002b, 0x16e},
217 {0x9002c, 0x8},
218 {0x9002d, 0x370},
219 {0x9002e, 0x169},
220 {0x9002f, 0x8},
221 {0x90030, 0x7aa},
222 {0x90031, 0x6a},
223 {0x90032, 0x10},
224 {0x90033, 0x7b2},
225 {0x90034, 0x6a},
226 {0x90035, 0x0},
227 {0x90036, 0x48a},
228 {0x90037, 0x6a},
229 {0x90038, 0x9},
230 {0x90039, 0x480},
231 {0x9003a, 0x16a},
232 {0x9003b, 0x4},
233 {0x9003c, 0x790},
234 {0x9003d, 0x16a},
235 {0x9003e, 0xc},
236 {0x9003f, 0x408},
237 {0x90040, 0x169},
238 {0x90041, 0xa},
239 {0x90042, 0x0},
240 {0x90043, 0x68},
241 {0x90044, 0x0},
242 {0x90045, 0x408},
243 {0x90046, 0x169},
244 {0x90047, 0x1},
245 {0x90048, 0x480},
246 {0x90049, 0x16a},
247 {0x9004a, 0xb},
248 {0x9004b, 0x480},
249 {0x9004c, 0x109},
250 {0x9004d, 0x8},
251 {0x9004e, 0x448},
252 {0x9004f, 0x139},
253 {0x90050, 0x78},
254 {0x90051, 0x8},
255 {0x90052, 0x139},
256 {0x90053, 0x2},
257 {0x90054, 0x10},
258 {0x90055, 0x139},
259 {0x90056, 0xb},
260 {0x90057, 0x7c0},
261 {0x90058, 0x139},
262 {0x90059, 0x44},
263 {0x9005a, 0x633},
264 {0x9005b, 0x159},
265 {0x9005c, 0x14f},
266 {0x9005d, 0x630},
267 {0x9005e, 0x159},
268 {0x9005f, 0x47},
269 {0x90060, 0x633},
270 {0x90061, 0x149},
271 {0x90062, 0x4f},
272 {0x90063, 0x633},
273 {0x90064, 0x179},
274 {0x90065, 0x8},
275 {0x90066, 0xe0},
276 {0x90067, 0x109},
277 {0x90068, 0x0},
278 {0x90069, 0x7c8},
279 {0x9006a, 0x109},
280 {0x9006b, 0x0},
281 {0x9006c, 0x1},
282 {0x9006d, 0x8},
283 {0x9006e, 0x0},
284 {0x9006f, 0x45a},
285 {0x90070, 0x9},
286 {0x90071, 0x0},
287 {0x90072, 0x448},
288 {0x90073, 0x109},
289 {0x90074, 0x40},
290 {0x90075, 0x633},
291 {0x90076, 0x179},
292 {0x90077, 0x1},
293 {0x90078, 0x618},
294 {0x90079, 0x109},
295 {0x9007a, 0x40c0},
296 {0x9007b, 0x633},
297 {0x9007c, 0x149},
298 {0x9007d, 0x8},
299 {0x9007e, 0x4},
300 {0x9007f, 0x48},
301 {0x90080, 0x4040},
302 {0x90081, 0x633},
303 {0x90082, 0x149},
304 {0x90083, 0x0},
305 {0x90084, 0x4},
306 {0x90085, 0x48},
307 {0x90086, 0x40},
308 {0x90087, 0x633},
309 {0x90088, 0x149},
310 {0x90089, 0x10},
311 {0x9008a, 0x4},
312 {0x9008b, 0x18},
313 {0x9008c, 0x0},
314 {0x9008d, 0x4},
315 {0x9008e, 0x78},
316 {0x9008f, 0x549},
317 {0x90090, 0x633},
318 {0x90091, 0x159},
319 {0x90092, 0xd49},
320 {0x90093, 0x633},
321 {0x90094, 0x159},
322 {0x90095, 0x94a},
323 {0x90096, 0x633},
324 {0x90097, 0x159},
325 {0x90098, 0x441},
326 {0x90099, 0x633},
327 {0x9009a, 0x149},
328 {0x9009b, 0x42},
329 {0x9009c, 0x633},
330 {0x9009d, 0x149},
331 {0x9009e, 0x1},
332 {0x9009f, 0x633},
333 {0x900a0, 0x149},
334 {0x900a1, 0x0},
335 {0x900a2, 0xe0},
336 {0x900a3, 0x109},
337 {0x900a4, 0xa},
338 {0x900a5, 0x10},
339 {0x900a6, 0x109},
340 {0x900a7, 0x9},
341 {0x900a8, 0x3c0},
342 {0x900a9, 0x149},
343 {0x900aa, 0x9},
344 {0x900ab, 0x3c0},
345 {0x900ac, 0x159},
346 {0x900ad, 0x18},
347 {0x900ae, 0x10},
348 {0x900af, 0x109},
349 {0x900b0, 0x0},
350 {0x900b1, 0x3c0},
351 {0x900b2, 0x109},
352 {0x900b3, 0x18},
353 {0x900b4, 0x4},
354 {0x900b5, 0x48},
355 {0x900b6, 0x18},
356 {0x900b7, 0x4},
357 {0x900b8, 0x58},
358 {0x900b9, 0xb},
359 {0x900ba, 0x10},
360 {0x900bb, 0x109},
361 {0x900bc, 0x1},
362 {0x900bd, 0x10},
363 {0x900be, 0x109},
364 {0x900bf, 0x5},
365 {0x900c0, 0x7c0},
366 {0x900c1, 0x109},
367 {0x900c2, 0x3},
368 {0x900c3, 0x370},
369 {0x900c4, 0x169},
370 {0x900c5, 0x3},
371 {0x900c6, 0x8},
372 {0x900c7, 0x139},
373 {0x900c8, 0x0},
374 {0x900c9, 0x400},
375 {0x900ca, 0x16e},
376 {0x900cb, 0x8},
377 {0x900cc, 0x478},
378 {0x900cd, 0x109},
379 {0x900ce, 0x0},
380 {0x900cf, 0x8140},
381 {0x900d0, 0x10c},
382 {0x900d1, 0x10},
383 {0x900d2, 0x8138},
384 {0x900d3, 0x10c},
385 {0x900d4, 0x8},
386 {0x900d5, 0x7c8},
387 {0x900d6, 0x101},
388 {0x900d7, 0x7a},
389 {0x900d8, 0x8},
390 {0x900d9, 0x109},
391 {0x900da, 0x8},
392 {0x900db, 0x448},
393 {0x900dc, 0x109},
394 {0x900dd, 0xf},
395 {0x900de, 0x7c0},
396 {0x900df, 0x109},
397 {0x900e0, 0x47},
398 {0x900e1, 0x630},
399 {0x900e2, 0x109},
400 {0x900e3, 0x8},
401 {0x900e4, 0x618},
402 {0x900e5, 0x109},
403 {0x900e6, 0x8},
404 {0x900e7, 0xe0},
405 {0x900e8, 0x109},
406 {0x900e9, 0x0},
407 {0x900ea, 0x8},
408 {0x900eb, 0x109},
409 {0x900ec, 0x0},
410 {0x900ed, 0x7c8},
411 {0x900ee, 0x109},
412 {0x900ef, 0x8},
413 {0x900f0, 0x8140},
414 {0x900f1, 0x10c},
415 {0x900f2, 0x0},
416 {0x900f3, 0x478},
417 {0x900f4, 0x109},
418 {0x900f5, 0x0},
419 {0x900f6, 0x1},
420 {0x900f7, 0x8},
421 {0x900f8, 0x8},
422 {0x900f9, 0x4},
423 {0x900fa, 0x8},
424 {0x900fb, 0x8},
425 {0x900fc, 0x7c8},
426 {0x900fd, 0x101},
427 {0x90006, 0x0},
428 {0x90007, 0x0},
429 {0x90008, 0x8},
430 {0x90009, 0x0},
431 {0x9000a, 0x0},
432 {0x9000b, 0x0},
433 {0xd00e7, 0x400},
434 {0x90017, 0x0},
435 {0x90026, 0x3a},
436};
437
438static const struct pie pie_lrdimm[] = {
439 {0x90000, 0x10},
440 {0x90001, 0x400},
441 {0x90002, 0x10e},
442 {0x90003, 0x0},
443 {0x90004, 0x0},
444 {0x90005, 0x8},
445 {0x90029, 0xb},
446 {0x9002a, 0x480},
447 {0x9002b, 0x109},
448 {0x9002c, 0x8},
449 {0x9002d, 0x448},
450 {0x9002e, 0x139},
451 {0x9002f, 0x78},
452 {0x90030, 0x8},
453 {0x90031, 0x139},
454 {0x90032, 0x2},
455 {0x90033, 0x10},
456 {0x90034, 0x139},
457 {0x90035, 0xb},
458 {0x90036, 0x7c0},
459 {0x90037, 0x139},
460 {0x90038, 0x44},
461 {0x90039, 0x633},
462 {0x9003a, 0x159},
463 {0x9003b, 0x14f},
464 {0x9003c, 0x630},
465 {0x9003d, 0x159},
466 {0x9003e, 0x47},
467 {0x9003f, 0x633},
468 {0x90040, 0x149},
469 {0x90041, 0x4f},
470 {0x90042, 0x633},
471 {0x90043, 0x179},
472 {0x90044, 0x8},
473 {0x90045, 0xe0},
474 {0x90046, 0x109},
475 {0x90047, 0x0},
476 {0x90048, 0x7c8},
477 {0x90049, 0x109},
478 {0x9004a, 0x0},
479 {0x9004b, 0x1},
480 {0x9004c, 0x8},
481 {0x9004d, 0x0},
482 {0x9004e, 0x45a},
483 {0x9004f, 0x9},
484 {0x90050, 0x0},
485 {0x90051, 0x448},
486 {0x90052, 0x109},
487 {0x90053, 0x40},
488 {0x90054, 0x633},
489 {0x90055, 0x179},
490 {0x90056, 0x1},
491 {0x90057, 0x618},
492 {0x90058, 0x109},
493 {0x90059, 0x40c0},
494 {0x9005a, 0x633},
495 {0x9005b, 0x149},
496 {0x9005c, 0x8},
497 {0x9005d, 0x4},
498 {0x9005e, 0x48},
499 {0x9005f, 0x4040},
500 {0x90060, 0x633},
501 {0x90061, 0x149},
502 {0x90062, 0x0},
503 {0x90063, 0x4},
504 {0x90064, 0x48},
505 {0x90065, 0x40},
506 {0x90066, 0x633},
507 {0x90067, 0x149},
508 {0x90068, 0x10},
509 {0x90069, 0x4},
510 {0x9006a, 0x18},
511 {0x9006b, 0x0},
512 {0x9006c, 0x4},
513 {0x9006d, 0x78},
514 {0x9006e, 0x549},
515 {0x9006f, 0x633},
516 {0x90070, 0x159},
517 {0x90071, 0xd49},
518 {0x90072, 0x633},
519 {0x90073, 0x159},
520 {0x90074, 0x94a},
521 {0x90075, 0x633},
522 {0x90076, 0x159},
523 {0x90077, 0x441},
524 {0x90078, 0x633},
525 {0x90079, 0x149},
526 {0x9007a, 0x42},
527 {0x9007b, 0x633},
528 {0x9007c, 0x149},
529 {0x9007d, 0x1},
530 {0x9007e, 0x633},
531 {0x9007f, 0x149},
532 {0x90080, 0x0},
533 {0x90081, 0xe0},
534 {0x90082, 0x109},
535 {0x90083, 0xa},
536 {0x90084, 0x10},
537 {0x90085, 0x109},
538 {0x90086, 0x9},
539 {0x90087, 0x3c0},
540 {0x90088, 0x149},
541 {0x90089, 0x9},
542 {0x9008a, 0x3c0},
543 {0x9008b, 0x159},
544 {0x9008c, 0x18},
545 {0x9008d, 0x10},
546 {0x9008e, 0x109},
547 {0x9008f, 0x0},
548 {0x90090, 0x3c0},
549 {0x90091, 0x109},
550 {0x90092, 0x18},
551 {0x90093, 0x4},
552 {0x90094, 0x48},
553 {0x90095, 0x18},
554 {0x90096, 0x4},
555 {0x90097, 0x58},
556 {0x90098, 0xb},
557 {0x90099, 0x10},
558 {0x9009a, 0x109},
559 {0x9009b, 0x1},
560 {0x9009c, 0x10},
561 {0x9009d, 0x109},
562 {0x9009e, 0x5},
563 {0x9009f, 0x7c0},
564 {0x900a0, 0x109},
565 {0x900a1, 0x3},
566 {0x900a2, 0x8},
567 {0x900a3, 0x139},
568 {0x900a4, 0x0},
569 {0x900a5, 0x400},
570 {0x900a6, 0x16e},
571 {0x900a7, 0x8},
572 {0x900a8, 0x478},
573 {0x900a9, 0x109},
574 {0x900aa, 0x0},
575 {0x900ab, 0x8140},
576 {0x900ac, 0x10c},
577 {0x900ad, 0x10},
578 {0x900ae, 0x8138},
579 {0x900af, 0x10c},
580 {0x900b0, 0x8},
581 {0x900b1, 0x7c8},
582 {0x900b2, 0x101},
583 {0x900b3, 0x7a},
584 {0x900b4, 0x8},
585 {0x900b5, 0x109},
586 {0x900b6, 0x8},
587 {0x900b7, 0x448},
588 {0x900b8, 0x109},
589 {0x900b9, 0xf},
590 {0x900ba, 0x7c0},
591 {0x900bb, 0x109},
592 {0x900bc, 0x47},
593 {0x900bd, 0x630},
594 {0x900be, 0x109},
595 {0x900bf, 0x8},
596 {0x900c0, 0x618},
597 {0x900c1, 0x109},
598 {0x900c2, 0x8},
599 {0x900c3, 0xe0},
600 {0x900c4, 0x109},
601 {0x900c5, 0x0},
602 {0x900c6, 0x8},
603 {0x900c7, 0x109},
604 {0x900c8, 0x0},
605 {0x900c9, 0x7c8},
606 {0x900ca, 0x109},
607 {0x900cb, 0x8},
608 {0x900cc, 0x8140},
609 {0x900cd, 0x10c},
610 {0x900ce, 0x0},
611 {0x900cf, 0x478},
612 {0x900d0, 0x109},
613 {0x900d1, 0x0},
614 {0x900d2, 0x1},
615 {0x900d3, 0x8},
616 {0x900d4, 0x8},
617 {0x900d5, 0x4},
618 {0x900d6, 0x8},
619 {0x900d7, 0x8},
620 {0x900d8, 0x7c8},
621 {0x900d9, 0x101},
622 {0x90006, 0x0},
623 {0x90007, 0x0},
624 {0x90008, 0x8},
625 {0x90009, 0x0},
626 {0x9000a, 0x0},
627 {0x9000b, 0x0},
628 {0xd00e7, 0x400},
629 {0x90017, 0x0},
630 {0x90026, 0x2e},
631};
632#endif