1 /* 2 * Copyright 2021 NXP 3 * SPDX-License-Identifier: BSD-3-Clause 4 * 5 */ 6 7 #ifndef PIE_H 8 #define PIE_H 9 10 struct pie { 11 uint32_t addr; 12 uint16_t data; 13 }; 14 15 static 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 195 static 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 438 static 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 633