1 /* 2 * Copyright 2021 NXP 3 * SPDX-License-Identifier: BSD-3-Clause 4 * 5 */ 6 7 #ifndef MESSAGE_H 8 #define MESSAGE_H 9 10 #ifdef DEBUG 11 struct phy_msg { 12 uint32_t index; 13 const char *msg; 14 }; 15 16 const static struct phy_msg messages_1d[] = { 17 {0x00000001, 18 "PMU1:prbsGenCtl:%x\n" 19 }, 20 {0x00010000, 21 "PMU1: loading 2D acsm sequence\n" 22 }, 23 {0x00020000, 24 "PMU1: loading 1D acsm sequence\n" 25 }, 26 {0x00030002, 27 "PMU3: %d memclocks @ %d to get half of 300ns\n" 28 }, 29 {0x00040000, 30 "PMU: Error: User requested MPR read pattern for read DQS training in DDR3 Mode\n" 31 }, 32 {0x00050000, 33 "PMU3: Running 1D search for left eye edge\n" 34 }, 35 {0x00060001, 36 "PMU1: In Phase Left Edge Search cs %d\n" 37 }, 38 {0x00070001, 39 "PMU1: Out of Phase Left Edge Search cs %d\n" 40 }, 41 {0x00080000, 42 "PMU3: Running 1D search for right eye edge\n" 43 }, 44 {0x00090001, 45 "PMU1: In Phase Right Edge Search cs %d\n" 46 }, 47 {0x000a0001, 48 "PMU1: Out of Phase Right Edge Search cs %d\n" 49 }, 50 {0x000b0001, 51 "PMU1: mxRdLat training pstate %d\n" 52 }, 53 {0x000c0001, 54 "PMU1: mxRdLat search for cs %d\n" 55 }, 56 {0x000d0001, 57 "PMU0: MaxRdLat non consistent DtsmLoThldXingInd 0x%03x\n" 58 }, 59 {0x000e0003, 60 "PMU4: CS %d Dbyte %d worked with DFIMRL = %d DFICLKs\n" 61 }, 62 {0x000f0004, 63 "PMU3: MaxRdLat Read Lane err mask for csn %d, DFIMRL %2d DFIClks, dbyte %d = 0x%03x\n" 64 }, 65 {0x00100003, 66 "PMU3: MaxRdLat Read Lane err mask for csn %d DFIMRL %2d, All dbytes = 0x%03x\n" 67 }, 68 {0x00110001, 69 "PMU: Error: CS%d failed to find a DFIMRL setting that worked for all bytes during MaxRdLat training\n" 70 }, 71 {0x00120002, 72 "PMU3: Smallest passing DFIMRL for all dbytes in CS%d = %d DFIClks\n" 73 }, 74 {0x00130000, 75 "PMU: Error: No passing DFIMRL value found for any chip select during MaxRdLat training\n" 76 }, 77 {0x00140003, 78 "PMU: Error: Dbyte %d lane %d txDqDly passing region is too small (width = %d)\n" 79 }, 80 {0x00150006, 81 "PMU10: Adjusting rxclkdly db %d nib %d from %d+%d=%d->%d\n" 82 }, 83 {0x00160000, 84 "PMU4: TxDqDly Passing Regions (EyeLeft EyeRight -> EyeCenter) Units=1/32 UI\n" 85 }, 86 {0x00170005, 87 "PMU4: DB %d Lane %d: %3d %3d -> %3d\n" 88 }, 89 {0x00180002, 90 "PMU2: TXDQ delayLeft[%2d] = %3d (DISCONNECTED)\n" 91 }, 92 {0x00190004, 93 "PMU2: TXDQ delayLeft[%2d] = %3d oopScaled = %3d selectOop %d\n" 94 }, 95 {0x001a0002, 96 "PMU2: TXDQ delayRight[%2d] = %3d (DISCONNECTED)\n" 97 }, 98 {0x001b0004, 99 "PMU2: TXDQ delayRight[%2d] = %3d oopScaled = %3d selectOop %d\n" 100 }, 101 {0x001c0003, 102 "PMU: Error: Dbyte %d lane %d txDqDly passing region is too small (width = %d)\n" 103 }, 104 {0x001d0000, 105 "PMU4: TxDqDly Passing Regions (EyeLeft EyeRight -> EyeCenter) Units=1/32 UI\n" 106 }, 107 {0x001e0002, 108 "PMU4: DB %d Lane %d: (DISCONNECTED)\n" 109 }, 110 {0x001f0005, 111 "PMU4: DB %d Lane %d: %3d %3d -> %3d\n" 112 }, 113 {0x00200002, 114 "PMU3: Running 1D search csn %d for DM Right/NotLeft(%d) eye edge\n" 115 }, 116 {0x00210002, 117 "PMU3: WrDq DM byte%2d with Errcnt %d\n" 118 }, 119 {0x00220002, 120 "PMU3: WrDq DM byte%2d avgDly 0x%04x\n" 121 }, 122 {0x00230002, 123 "PMU1: WrDq DM byte%2d with Errcnt %d\n" 124 }, 125 {0x00240001, 126 "PMU: Error: Dbyte %d txDqDly DM training did not start inside the eye\n" 127 }, 128 {0x00250000, 129 "PMU4: DM TxDqDly Passing Regions (EyeLeft EyeRight -> EyeCenter) Units=1/32 UI\n" 130 }, 131 {0x00260002, 132 "PMU4: DB %d Lane %d: (DISCONNECTED)\n" 133 }, 134 {0x00270005, 135 "PMU4: DB %d Lane %d: %3d %3d -> %3d\n" 136 }, 137 {0x00280003, 138 "PMU: Error: Dbyte %d lane %d txDqDly DM passing region is too small (width = %d)\n" 139 }, 140 {0x00290004, 141 "PMU3: Errcnt for MRD/MWD search nib %2d delay = (%d, 0x%02x) = %d\n" 142 }, 143 {0x002a0000, 144 "PMU3: Precharge all open banks\n" 145 }, 146 {0x002b0002, 147 "PMU: Error: Dbyte %d nibble %d found mutliple working coarse delay setting for MRD/MWD\n" 148 }, 149 {0x002c0000, 150 "PMU4: MRD Passing Regions (coarseVal, fineLeft fineRight -> fineCenter)\n" 151 }, 152 {0x002d0000, 153 "PMU4: MWD Passing Regions (coarseVal, fineLeft fineRight -> fineCenter)\n" 154 }, 155 {0x002e0004, 156 "PMU10: Warning: DB %d nibble %d has multiple working coarse delays, %d and %d, choosing the smaller delay\n" 157 }, 158 {0x002f0003, 159 "PMU: Error: Dbyte %d nibble %d MRD/MWD passing region is too small (width = %d)\n" 160 }, 161 {0x00300006, 162 "PMU4: DB %d nibble %d: %3d, %3d %3d -> %3d\n" 163 }, 164 {0x00310002, 165 "PMU1: Start MRD/nMWD %d for csn %d\n" 166 }, 167 {0x00320002, 168 "PMU2: RXDQS delayLeft[%2d] = %3d (DISCONNECTED)\n" 169 }, 170 {0x00330006, 171 "PMU2: RXDQS delayLeft[%2d] = %3d delayOop[%2d] = %3d OopScaled %4d, selectOop %d\n" 172 }, 173 {0x00340002, 174 "PMU2: RXDQS delayRight[%2d] = %3d (DISCONNECTED)\n" 175 }, 176 {0x00350006, 177 "PMU2: RXDQS delayRight[%2d] = %3d delayOop[%2d] = %4d OopScaled %4d, selectOop %d\n" 178 }, 179 {0x00360000, 180 "PMU4: RxClkDly Passing Regions (EyeLeft EyeRight -> EyeCenter)\n" 181 }, 182 {0x00370002, 183 "PMU4: DB %d nibble %d: (DISCONNECTED)\n" 184 }, 185 {0x00380005, 186 "PMU4: DB %d nibble %d: %3d %3d -> %3d\n" 187 }, 188 {0x00390003, 189 "PMU: Error: Dbyte %d nibble %d rxClkDly passing region is too small (width = %d)\n" 190 }, 191 {0x003a0002, 192 "PMU0: goodbar = %d for RDWR_BLEN %d\n" 193 }, 194 {0x003b0001, 195 "PMU3: RxClkDly = %d\n" 196 }, 197 {0x003c0005, 198 "PMU0: db %d l %d absLane %d -> bottom %d top %d\n" 199 }, 200 {0x003d0009, 201 "PMU3: BYTE %d - %3d %3d %3d %3d %3d %3d %3d %3d\n" 202 }, 203 {0x003e0002, 204 "PMU: Error: dbyte %d lane %d's per-lane vrefDAC's had no passing region\n" 205 }, 206 {0x003f0004, 207 "PMU0: db%d l%d - %d %d\n" 208 }, 209 {0x00400002, 210 "PMU0: goodbar = %d for RDWR_BLEN %d\n" 211 }, 212 {0x00410004, 213 "PMU3: db%d l%d saw %d issues at rxClkDly %d\n" 214 }, 215 {0x00420003, 216 "PMU3: db%d l%d first saw a pass->fail edge at rxClkDly %d\n" 217 }, 218 {0x00430002, 219 "PMU3: lane %d PBD = %d\n" 220 }, 221 {0x00440003, 222 "PMU3: db%d l%d first saw a DBI pass->fail edge at rxClkDly %d\n" 223 }, 224 {0x00450003, 225 "PMU2: db%d l%d already passed rxPBD = %d\n" 226 }, 227 {0x00460003, 228 "PMU0: db%d l%d, PBD = %d\n" 229 }, 230 {0x00470002, 231 "PMU: Error: dbyte %d lane %d failed read deskew\n" 232 }, 233 {0x00480003, 234 "PMU0: db%d l%d, inc PBD = %d\n" 235 }, 236 {0x00490003, 237 "PMU1: Running lane deskew on pstate %d csn %d rdDBIEn %d\n" 238 }, 239 {0x004a0000, 240 "PMU: Error: Read deskew training has been requested, but csrMajorModeDbyte[2] is set\n" 241 }, 242 {0x004b0002, 243 "PMU1: AcsmCsMapCtrl%02d 0x%04x\n" 244 }, 245 {0x004c0002, 246 "PMU1: AcsmCsMapCtrl%02d 0x%04x\n" 247 }, 248 {0x004d0001, 249 "PMU: Error: Wrong PMU image loaded. message Block DramType = 0x%02x, but image built for D3U Type\n" 250 }, 251 {0x004e0001, 252 "PMU: Error: Wrong PMU image loaded. message Block DramType = 0x%02x, but image built for D3R Type\n" 253 }, 254 {0x004f0001, 255 "PMU: Error: Wrong PMU image loaded. message Block DramType = 0x%02x, but image built for D4U Type\n" 256 }, 257 {0x00500001, 258 "PMU: Error: Wrong PMU image loaded. message Block DramType = 0x%02x, but image built for D4R Type\n" 259 }, 260 {0x00510001, 261 "PMU: Error: Wrong PMU image loaded. message Block DramType = 0x%02x, but image built for D4LR Type\n" 262 }, 263 {0x00520000, 264 "PMU: Error: Both 2t timing mode and ddr4 geardown mode specified in the messageblock's PhyCfg and MR3 fields. Only one can be enabled\n" 265 }, 266 {0x00530003, 267 "PMU10: PHY TOTALS - NUM_DBYTES %d NUM_NIBBLES %d NUM_ANIBS %d\n" 268 }, 269 {0x00540006, 270 "PMU10: CSA=0x%02x, CSB=0x%02x, TSTAGES=0x%04x, HDTOUT=%d, MMISC=%d DRAMFreq=%dMT DramType=LPDDR3\n" 271 }, 272 {0x00550006, 273 "PMU10: CSA=0x%02x, CSB=0x%02x, TSTAGES=0x%04x, HDTOUT=%d, MMISC=%d DRAMFreq=%dMT DramType=LPDDR4\n" 274 }, 275 {0x00560008, 276 "PMU10: CS=0x%02x, TSTAGES=0x%04x, HDTOUT=%d, 2T=%d, MMISC=%d AddrMirror=%d DRAMFreq=%dMT DramType=%d\n" 277 }, 278 {0x00570004, 279 "PMU10: Pstate%d MR0=0x%04x MR1=0x%04x MR2=0x%04x\n" 280 }, 281 {0x00580008, 282 "PMU10: Pstate%d MRS MR0=0x%04x MR1=0x%04x MR2=0x%04x MR3=0x%04x MR4=0x%04x MR5=0x%04x MR6=0x%04x\n" 283 }, 284 {0x00590005, 285 "PMU10: Pstate%d MRS MR1_A0=0x%04x MR2_A0=0x%04x MR3_A0=0x%04x MR11_A0=0x%04x\n" 286 }, 287 {0x005a0000, 288 "PMU10: UseBroadcastMR set. All ranks and channels use MRXX_A0 for MR settings.\n" 289 }, 290 {0x005b0005, 291 "PMU10: Pstate%d MRS MR01_A0=0x%02x MR02_A0=0x%02x MR03_A0=0x%02x MR11_A0=0x%02x\n" 292 }, 293 {0x005c0005, 294 "PMU10: Pstate%d MRS MR12_A0=0x%02x MR13_A0=0x%02x MR14_A0=0x%02x MR22_A0=0x%02x\n" 295 }, 296 {0x005d0005, 297 "PMU10: Pstate%d MRS MR01_A1=0x%02x MR02_A1=0x%02x MR03_A1=0x%02x MR11_A1=0x%02x\n" 298 }, 299 {0x005e0005, 300 "PMU10: Pstate%d MRS MR12_A1=0x%02x MR13_A1=0x%02x MR14_A1=0x%02x MR22_A1=0x%02x\n" 301 }, 302 {0x005f0005, 303 "PMU10: Pstate%d MRS MR01_B0=0x%02x MR02_B0=0x%02x MR03_B0=0x%02x MR11_B0=0x%02x\n" 304 }, 305 {0x00600005, 306 "PMU10: Pstate%d MRS MR12_B0=0x%02x MR13_B0=0x%02x MR14_B0=0x%02x MR22_B0=0x%02x\n" 307 }, 308 {0x00610005, 309 "PMU10: Pstate%d MRS MR01_B1=0x%02x MR02_B1=0x%02x MR03_B1=0x%02x MR11_B1=0x%02x\n" 310 }, 311 {0x00620005, 312 "PMU10: Pstate%d MRS MR12_B1=0x%02x MR13_B1=0x%02x MR14_B1=0x%02x MR22_B1=0x%02x\n" 313 }, 314 {0x00630002, 315 "PMU1: AcsmOdtCtrl%02d 0x%02x\n" 316 }, 317 {0x00640002, 318 "PMU1: AcsmCsMapCtrl%02d 0x%04x\n" 319 }, 320 {0x00650002, 321 "PMU1: AcsmCsMapCtrl%02d 0x%04x\n" 322 }, 323 {0x00660000, 324 "PMU1: HwtCAMode set\n" 325 }, 326 {0x00670001, 327 "PMU3: DDR4 infinite preamble enter/exit mode %d\n" 328 }, 329 {0x00680002, 330 "PMU1: In rxenb_train() csn=%d pstate=%d\n" 331 }, 332 {0x00690000, 333 "PMU3: Finding DQS falling edge\n" 334 }, 335 {0x006a0000, 336 "PMU3: Searching for DDR3/LPDDR3/LPDDR4 read preamble\n" 337 }, 338 {0x006b0009, 339 "PMU3: dtsm fails Even Nibbles : %2x %2x %2x %2x %2x %2x %2x %2x %2x\n" 340 }, 341 {0x006c0009, 342 "PMU3: dtsm fails Odd Nibbles : %2x %2x %2x %2x %2x %2x %2x %2x %2x\n" 343 }, 344 {0x006d0002, 345 "PMU3: Preamble search pass=%d anyfail=%d\n" 346 }, 347 {0x006e0000, 348 "PMU: Error: RxEn training preamble not found\n" 349 }, 350 {0x006f0000, 351 "PMU3: Found DQS pre-amble\n" 352 }, 353 {0x00700001, 354 "PMU: Error: Dbyte %d couldn't find the rising edge of DQS during RxEn Training\n" 355 }, 356 {0x00710000, 357 "PMU3: RxEn aligning to first rising edge of burst\n" 358 }, 359 {0x00720001, 360 "PMU3: Decreasing RxEn delay by %d fine step to allow full capture of reads\n" 361 }, 362 {0x00730001, 363 "PMU3: MREP Delay = %d\n" 364 }, 365 {0x00740003, 366 "PMU3: Errcnt for MREP nib %2d delay = %2d is %d\n" 367 }, 368 {0x00750002, 369 "PMU3: MREP nibble %d sampled a 1 at data buffer delay %d\n" 370 }, 371 {0x00760002, 372 "PMU3: MREP nibble %d saw a 0 to 1 transition at data buffer delay %d\n" 373 }, 374 {0x00770000, 375 "PMU2: MREP did not find a 0 to 1 transition for all nibbles. Failing nibbles assumed to have rising edge close to fine delay 63\n" 376 }, 377 {0x00780002, 378 "PMU2: Rising edge found in alias window, setting rxDly for nibble %d = %d\n" 379 }, 380 {0x00790002, 381 "PMU: Error: Failed MREP for nib %d with %d one\n" 382 }, 383 {0x007a0003, 384 "PMU2: Rising edge not found in alias window with %d one, leaving rxDly for nibble %d = %d\n" 385 }, 386 {0x007b0002, 387 "PMU3: Training DIMM %d CSn %d\n" 388 }, 389 {0x007c0001, 390 "PMU3: exitCAtrain_lp3 cs 0x%x\n" 391 }, 392 {0x007d0001, 393 "PMU3: enterCAtrain_lp3 cs 0x%x\n" 394 }, 395 {0x007e0001, 396 "PMU3: CAtrain_switchmsb_lp3 cs 0x%x\n" 397 }, 398 {0x007f0001, 399 "PMU3: CATrain_rdwr_lp3 looking for pattern %x\n" 400 }, 401 {0x00800000, 402 "PMU3: exitCAtrain_lp4\n" 403 }, 404 {0x00810001, 405 "PMU3: DEBUG enterCAtrain_lp4 1: cs 0x%x\n" 406 }, 407 {0x00820001, 408 "PMU3: DEBUG enterCAtrain_lp4 3: Put dbyte %d in async mode\n" 409 }, 410 {0x00830000, 411 "PMU3: DEBUG enterCAtrain_lp4 5: Send MR13 to turn on CA training\n" 412 }, 413 {0x00840003, 414 "PMU3: DEBUG enterCAtrain_lp4 7: idx = %d vref = %x mr12 = %x\n" 415 }, 416 {0x00850001, 417 "PMU3: CATrain_rdwr_lp4 looking for pattern %x\n" 418 }, 419 {0x00860004, 420 "PMU3: Phase %d CAreadbackA db:%d %x xo:%x\n" 421 }, 422 {0x00870005, 423 "PMU3: DEBUG lp4SetCatrVref 1: cs=%d chan=%d mr12=%x vref=%d.%d%%\n" 424 }, 425 {0x00880003, 426 "PMU3: DEBUG lp4SetCatrVref 3: mr12 = %x send vref= %x to db=%d\n" 427 }, 428 {0x00890000, 429 "PMU10:Optimizing vref\n" 430 }, 431 {0x008a0004, 432 "PMU4:mr12:%2x cs:%d chan %d r:%4x\n" 433 }, 434 {0x008b0005, 435 "PMU3: i:%2d bstr:%2d bsto:%2d st:%d r:%d\n" 436 }, 437 {0x008c0002, 438 "Failed to find sufficient CA Vref Passing Region for CS %d ch. %d\n" 439 }, 440 {0x008d0005, 441 "PMU3:Found %d.%d%% MR12:%x for cs:%d chan %d\n" 442 }, 443 {0x008e0002, 444 "PMU3:Calculated %d for AtxImpedence from acx %d.\n" 445 }, 446 {0x008f0000, 447 "PMU3:CA Odt impedence ==0. Use default vref.\n" 448 }, 449 {0x00900003, 450 "PMU3:Calculated %d.%d%% for Vref MR12=0x%x.\n" 451 }, 452 {0x00910000, 453 "PMU3: CAtrain_lp\n" 454 }, 455 {0x00920000, 456 "PMU3: CAtrain Begins.\n" 457 }, 458 {0x00930001, 459 "PMU3: CAtrain_lp testing dly %d\n" 460 }, 461 {0x00940001, 462 "PMU5: CA bitmap dump for cs %x\n" 463 }, 464 {0x00950001, 465 "PMU5: CAA%d " 466 }, 467 {0x00960001, "%02x" 468 }, 469 {0x00970000, "\n" 470 }, 471 {0x00980001, 472 "PMU5: CAB%d " 473 }, 474 {0x00990001, "%02x" 475 }, 476 {0x009a0000, "\n" 477 }, 478 {0x009b0003, 479 "PMU3: anibi=%d, anibichan[anibi]=%d ,chan=%d\n" 480 }, 481 {0x009c0001, "%02x" 482 }, 483 {0x009d0001, "\nPMU3:Raw CA setting :%x" 484 }, 485 {0x009e0002, "\nPMU3:ATxDly setting:%x margin:%d\n" 486 }, 487 {0x009f0002, "\nPMU3:InvClk ATxDly setting:%x margin:%d\n" 488 }, 489 {0x00a00000, "\nPMU3:No Range found!\n" 490 }, 491 {0x00a10003, 492 "PMU3: 2 anibi=%d, anibichan[anibi]=%d ,chan=%d" 493 }, 494 {0x00a20002, "\nPMU3: no neg clock => CA setting anib=%d, :%d\n" 495 }, 496 {0x00a30001, 497 "PMU3:Normal margin:%d\n" 498 }, 499 {0x00a40001, 500 "PMU3:Inverted margin:%d\n" 501 }, 502 {0x00a50000, 503 "PMU3:Using Inverted clock\n" 504 }, 505 {0x00a60000, 506 "PMU3:Using normal clk\n" 507 }, 508 {0x00a70003, 509 "PMU3: 3 anibi=%d, anibichan[anibi]=%d ,chan=%d\n" 510 }, 511 {0x00a80002, 512 "PMU3: Setting ATxDly for anib %x to %x\n" 513 }, 514 {0x00a90000, 515 "PMU: Error: CA Training Failed.\n" 516 }, 517 {0x00aa0000, 518 "PMU1: Writing MRs\n" 519 }, 520 {0x00ab0000, 521 "PMU4:Using MR12 values from 1D CA VREF training.\n" 522 }, 523 {0x00ac0000, 524 "PMU3:Writing all MRs to fsp 1\n" 525 }, 526 {0x00ad0000, 527 "PMU10:Lp4Quickboot mode.\n" 528 }, 529 {0x00ae0000, 530 "PMU3: Writing MRs\n" 531 }, 532 {0x00af0001, 533 "PMU10: Setting boot clock divider to %d\n" 534 }, 535 {0x00b00000, 536 "PMU3: Resetting DRAM\n" 537 }, 538 {0x00b10000, 539 "PMU3: setup for RCD initalization\n" 540 }, 541 {0x00b20000, 542 "PMU3: pmu_exit_SR from dev_init()\n" 543 }, 544 {0x00b30000, 545 "PMU3: initializing RCD\n" 546 }, 547 {0x00b40000, 548 "PMU10: **** Executing 2D Image ****\n" 549 }, 550 {0x00b50001, 551 "PMU10: **** Start DDR4 Training. PMU Firmware Revision 0x%04x ****\n" 552 }, 553 {0x00b60001, 554 "PMU10: **** Start DDR3 Training. PMU Firmware Revision 0x%04x ****\n" 555 }, 556 {0x00b70001, 557 "PMU10: **** Start LPDDR3 Training. PMU Firmware Revision 0x%04x ****\n" 558 }, 559 {0x00b80001, 560 "PMU10: **** Start LPDDR4 Training. PMU Firmware Revision 0x%04x ****\n" 561 }, 562 {0x00b90000, 563 "PMU: Error: Mismatched internal revision between DCCM and ICCM images\n" 564 }, 565 {0x00ba0001, 566 "PMU10: **** Testchip %d Specific Firmware ****\n" 567 }, 568 {0x00bb0000, 569 "PMU1: LRDIMM with EncodedCS mode, one DIMM\n" 570 }, 571 {0x00bc0000, 572 "PMU1: LRDIMM with EncodedCS mode, two DIMMs\n" 573 }, 574 {0x00bd0000, 575 "PMU1: RDIMM with EncodedCS mode, one DIMM\n" 576 }, 577 {0x00be0000, 578 "PMU2: Starting LRDIMM MREP training for all ranks\n" 579 }, 580 {0x00bf0000, 581 "PMU199: LRDIMM MREP training for all ranks completed\n" 582 }, 583 {0x00c00000, 584 "PMU2: Starting LRDIMM DWL training for all ranks\n" 585 }, 586 {0x00c10000, 587 "PMU199: LRDIMM DWL training for all ranks completed\n" 588 }, 589 {0x00c20000, 590 "PMU2: Starting LRDIMM MRD training for all ranks\n" 591 }, 592 {0x00c30000, 593 "PMU199: LRDIMM MRD training for all ranks completed\n" 594 }, 595 {0x00c40000, 596 "PMU2: Starting RXEN training for all ranks\n" 597 }, 598 {0x00c50000, 599 "PMU2: Starting write leveling fine delay training for all ranks\n" 600 }, 601 {0x00c60000, 602 "PMU2: Starting LRDIMM MWD training for all ranks\n" 603 }, 604 {0x00c70000, 605 "PMU199: LRDIMM MWD training for all ranks completed\n" 606 }, 607 {0x00c80000, 608 "PMU2: Starting write leveling fine delay training for all ranks\n" 609 }, 610 {0x00c90000, 611 "PMU2: Starting read deskew training\n" 612 }, 613 {0x00ca0000, 614 "PMU2: Starting SI friendly 1d RdDqs training for all ranks\n" 615 }, 616 {0x00cb0000, 617 "PMU2: Starting write leveling coarse delay training for all ranks\n" 618 }, 619 {0x00cc0000, 620 "PMU2: Starting 1d WrDq training for all ranks\n" 621 }, 622 {0x00cd0000, 623 "PMU2: Running DQS2DQ Oscillator for all ranks\n" 624 }, 625 {0x00ce0000, 626 "PMU2: Starting again read deskew training but with PRBS\n" 627 }, 628 {0x00cf0000, 629 "PMU2: Starting 1d RdDqs training for all ranks\n" 630 }, 631 {0x00d00000, 632 "PMU2: Starting again 1d WrDq training for all ranks\n" 633 }, 634 {0x00d10000, 635 "PMU2: Starting MaxRdLat training\n" 636 }, 637 {0x00d20000, 638 "PMU2: Starting 2d WrDq training for all ranks\n" 639 }, 640 {0x00d30000, 641 "PMU2: Starting 2d RdDqs training for all ranks\n" 642 }, 643 {0x00d40002, 644 "PMU3:read_fifo %x %x\n" 645 }, 646 {0x00d50001, 647 "PMU: Error: Invalid PhyDrvImpedance of 0x%x specified in message block.\n" 648 }, 649 {0x00d60001, 650 "PMU: Error: Invalid PhyOdtImpedance of 0x%x specified in message block.\n" 651 }, 652 {0x00d70001, 653 "PMU: Error: Invalid BPZNResVal of 0x%x specified in message block.\n" 654 }, 655 {0x00d80005, 656 "PMU3: fixRxEnBackOff csn:%d db:%d dn:%d bo:%d dly:%x\n" 657 }, 658 {0x00d90001, 659 "PMU3: fixRxEnBackOff dly:%x\n" 660 }, 661 {0x00da0000, 662 "PMU3: Entering setupPpt\n" 663 }, 664 {0x00db0000, 665 "PMU3: Start lp4PopulateHighLowBytes\n" 666 }, 667 {0x00dc0002, 668 "PMU3:Dbyte Detect: db%d received %x\n" 669 }, 670 {0x00dd0002, 671 "PMU3:getDqs2Dq read %x from dbyte %d\n" 672 }, 673 {0x00de0002, 674 "PMU3:getDqs2Dq(2) read %x from dbyte %d\n" 675 }, 676 {0x00df0001, 677 "PMU: Error: Dbyte %d read 0 from the DQS oscillator it is connected to\n" 678 }, 679 {0x00e00002, 680 "PMU4: Dbyte %d dqs2dq = %d/32 UI\n" 681 }, 682 {0x00e10003, 683 "PMU3:getDqs2Dq set dqs2dq:%d/32 ui (%d ps) from dbyte %d\n" 684 }, 685 {0x00e20003, 686 "PMU3: Setting coarse delay in AtxDly chiplet %d from 0x%02x to 0x%02x\n" 687 }, 688 {0x00e30003, 689 "PMU3: Clearing coarse delay in AtxDly chiplet %d from 0x%02x to 0x%02x\n" 690 }, 691 {0x00e40000, 692 "PMU3: Performing DDR4 geardown sync sequence\n" 693 }, 694 {0x00e50000, 695 "PMU1: Enter self refresh\n" 696 }, 697 {0x00e60000, 698 "PMU1: Exit self refresh\n" 699 }, 700 {0x00e70000, 701 "PMU: Error: No dbiEnable with lp4\n" 702 }, 703 {0x00e80000, 704 "PMU: Error: No dbiDisable with lp4\n" 705 }, 706 {0x00e90001, 707 "PMU1: DDR4 update Rx DBI Setting disable %d\n" 708 }, 709 {0x00ea0001, 710 "PMU1: DDR4 update 2nCk WPre Setting disable %d\n" 711 }, 712 {0x00eb0005, 713 "PMU1: read_delay: db%d lane%d delays[%2d] = 0x%02x (max 0x%02x)\n" 714 }, 715 {0x00ec0004, 716 "PMU1: write_delay: db%d lane%d delays[%2d] = 0x%04x\n" 717 }, 718 {0x00ed0001, 719 "PMU5: ID=%d -- db0 db1 db2 db3 db4 db5 db6 db7 db8 db9 --\n" 720 }, 721 {0x00ee000b, 722 "PMU5: [%d]:0x %04x %04x %04x %04x %04x %04x %04x %04x %04x %04x\n" 723 }, 724 {0x00ef0003, 725 "PMU2: dump delays - pstate=%d dimm=%d csn=%d\n" 726 }, 727 {0x00f00000, 728 "PMU3: Printing Mid-Training Delay Information\n" 729 }, 730 {0x00f10001, 731 "PMU5: CS%d <<KEY>> 0 TrainingCntr <<KEY>> coarse(15:10) fine(9:0)\n" 732 }, 733 {0x00f20001, 734 "PMU5: CS%d <<KEY>> 0 RxEnDly, 1 RxClkDly <<KEY>> coarse(10:6) fine(5:0)\n" 735 }, 736 {0x00f30001, 737 "PMU5: CS%d <<KEY>> 0 TxDqsDly, 1 TxDqDly <<KEY>> coarse(9:6) fine(5:0)\n" 738 }, 739 {0x00f40001, 740 "PMU5: CS%d <<KEY>> 0 RxPBDly <<KEY>> 1 Delay Unit ~= 7ps\n" 741 }, 742 {0x00f50000, 743 "PMU5: all CS <<KEY>> 0 DFIMRL <<KEY>> Units = DFI clocks\n" 744 }, 745 {0x00f60000, 746 "PMU5: all CS <<KEY>> VrefDACs <<KEY>> DAC(6:0)\n" 747 }, 748 {0x00f70000, 749 "PMU1: Set DMD in MR13 and wrDBI in MR3 for training\n" 750 }, 751 {0x00f80000, 752 "PMU: Error: getMaxRxen() failed to find largest rxen nibble delay\n" 753 }, 754 {0x00f90003, 755 "PMU2: getMaxRxen(): maxDly %d maxTg %d maxNib %d\n" 756 }, 757 {0x00fa0003, 758 "PMU2: getRankMaxRxen(): maxDly %d Tg %d maxNib %d\n" 759 }, 760 {0x00fb0000, 761 "PMU1: skipping CDD calculation in 2D image\n" 762 }, 763 {0x00fc0001, 764 "PMU3: Calculating CDDs for pstate %d\n" 765 }, 766 {0x00fd0003, 767 "PMU3: rxFromDly[%d][%d] = %d\n" 768 }, 769 {0x00fe0003, 770 "PMU3: rxToDly [%d][%d] = %d\n" 771 }, 772 {0x00ff0003, 773 "PMU3: rxDly [%d][%d] = %d\n" 774 }, 775 {0x01000003, 776 "PMU3: txDly [%d][%d] = %d\n" 777 }, 778 {0x01010003, 779 "PMU3: allFine CDD_RR_%d_%d = %d\n" 780 }, 781 {0x01020003, 782 "PMU3: allFine CDD_WW_%d_%d = %d\n" 783 }, 784 {0x01030003, 785 "PMU3: CDD_RR_%d_%d = %d\n" 786 }, 787 {0x01040003, 788 "PMU3: CDD_WW_%d_%d = %d\n" 789 }, 790 {0x01050003, 791 "PMU3: allFine CDD_RW_%d_%d = %d\n" 792 }, 793 {0x01060003, 794 "PMU3: allFine CDD_WR_%d_%d = %d\n" 795 }, 796 {0x01070003, 797 "PMU3: CDD_RW_%d_%d = %d\n" 798 }, 799 {0x01080003, 800 "PMU3: CDD_WR_%d_%d = %d\n" 801 }, 802 {0x01090004, 803 "PMU3: F%dBC2x_B%d_D%d = 0x%02x\n" 804 }, 805 {0x010a0004, 806 "PMU3: F%dBC3x_B%d_D%d = 0x%02x\n" 807 }, 808 {0x010b0004, 809 "PMU3: F%dBC4x_B%d_D%d = 0x%02x\n" 810 }, 811 {0x010c0004, 812 "PMU3: F%dBC5x_B%d_D%d = 0x%02x\n" 813 }, 814 {0x010d0004, 815 "PMU3: F%dBC8x_B%d_D%d = 0x%02x\n" 816 }, 817 {0x010e0004, 818 "PMU3: F%dBC9x_B%d_D%d = 0x%02x\n" 819 }, 820 {0x010f0004, 821 "PMU3: F%dBCAx_B%d_D%d = 0x%02x\n" 822 }, 823 {0x01100004, 824 "PMU3: F%dBCBx_B%d_D%d = 0x%02x\n" 825 }, 826 {0x01110000, 827 "PMU10: Entering context_switch_postamble\n" 828 }, 829 {0x01120003, 830 "PMU10: context_switch_postamble is enabled for DIMM %d, RC0A=0x%x, RC3x=0x%x\n" 831 }, 832 {0x01130000, 833 "PMU10: Setting bcw fspace 0\n" 834 }, 835 {0x01140001, 836 "PMU10: Sending BC0A = 0x%x\n" 837 }, 838 {0x01150001, 839 "PMU10: Sending BC6x = 0x%x\n" 840 }, 841 {0x01160001, 842 "PMU10: Sending RC0A = 0x%x\n" 843 }, 844 {0x01170001, 845 "PMU10: Sending RC3x = 0x%x\n" 846 }, 847 {0x01180001, 848 "PMU10: Sending RC0A = 0x%x\n" 849 }, 850 {0x01190001, 851 "PMU1: enter_lp3: DEBUG: pstate = %d\n" 852 }, 853 {0x011a0001, 854 "PMU1: enter_lp3: DEBUG: dfifreqxlat_pstate = %d\n" 855 }, 856 {0x011b0001, 857 "PMU1: enter_lp3: DEBUG: pllbypass = %d\n" 858 }, 859 {0x011c0001, 860 "PMU1: enter_lp3: DEBUG: forcecal = %d\n" 861 }, 862 {0x011d0001, 863 "PMU1: enter_lp3: DEBUG: pllmaxrange = 0x%x\n" 864 }, 865 {0x011e0001, 866 "PMU1: enter_lp3: DEBUG: dacval_out = 0x%x\n" 867 }, 868 {0x011f0001, 869 "PMU1: enter_lp3: DEBUG: pllctrl3 = 0x%x\n" 870 }, 871 {0x01200000, 872 "PMU3: Loading DRAM with BIOS supplied MR values and entering self refresh prior to exiting PMU code.\n" 873 }, 874 {0x01210002, 875 "PMU3: Setting DataBuffer function space of dimmcs 0x%02x to %d\n" 876 }, 877 {0x01220002, 878 "PMU4: Setting RCW FxRC%Xx = 0x%02x\n" 879 }, 880 {0x01230002, 881 "PMU4: Setting RCW FxRC%02x = 0x%02x\n" 882 }, 883 {0x01240001, 884 "PMU1: DDR4 update Rd Pre Setting disable %d\n" 885 }, 886 {0x01250002, 887 "PMU2: Setting BCW FxBC%Xx = 0x%02x\n" 888 }, 889 {0x01260002, 890 "PMU2: Setting BCW BC%02x = 0x%02x\n" 891 }, 892 {0x01270002, 893 "PMU2: Setting BCW PBA mode FxBC%Xx = 0x%02x\n" 894 }, 895 {0x01280002, 896 "PMU2: Setting BCW PBA mode BC%02x = 0x%02x\n" 897 }, 898 {0x01290003, 899 "PMU4: BCW value for dimm %d, fspace %d, addr 0x%04x\n" 900 }, 901 {0x012a0002, 902 "PMU4: DB %d, value 0x%02x\n" 903 }, 904 {0x012b0000, 905 "PMU6: WARNING MREP underflow, set to min value -2 coarse, 0 fine\n" 906 }, 907 {0x012c0004, 908 "PMU6: LRDIMM Writing final data buffer fine delay value nib %2d, trainDly %3d, fineDly code %2d, new MREP fine %2d\n" 909 }, 910 {0x012d0003, 911 "PMU6: LRDIMM Writing final data buffer fine delay value nib %2d, trainDly %3d, fineDly code %2d\n" 912 }, 913 {0x012e0003, 914 "PMU6: LRDIMM Writing data buffer fine delay type %d nib %2d, code %2d\n" 915 }, 916 {0x012f0002, 917 "PMU6: Writing final data buffer coarse delay value dbyte %2d, coarse = 0x%02x\n" 918 }, 919 {0x01300003, 920 "PMU4: data 0x%04x at MB addr 0x%08x saved at CSR addr 0x%08x\n" 921 }, 922 {0x01310003, 923 "PMU4: data 0x%04x at MB addr 0x%08x restored from CSR addr 0x%08x\n" 924 }, 925 {0x01320003, 926 "PMU4: data 0x%04x at MB addr 0x%08x saved at CSR addr 0x%08x\n" 927 }, 928 {0x01330003, 929 "PMU4: data 0x%04x at MB addr 0x%08x restored from CSR addr 0x%08x\n" 930 }, 931 {0x01340001, 932 "PMU3: Update BC00, BC01, BC02 for rank-dimm 0x%02x\n" 933 }, 934 {0x01350000, 935 "PMU3: Writing D4 RDIMM RCD Control words F0RC00 -> F0RC0F\n" 936 }, 937 {0x01360000, 938 "PMU3: Disable parity in F0RC0E\n" 939 }, 940 {0x01370000, 941 "PMU3: Writing D4 RDIMM RCD Control words F1RC00 -> F1RC05\n" 942 }, 943 {0x01380000, 944 "PMU3: Writing D4 RDIMM RCD Control words F1RC1x -> F1RC9x\n" 945 }, 946 {0x01390000, 947 "PMU3: Writing D4 Data buffer Control words BC00 -> BC0E\n" 948 }, 949 {0x013a0002, 950 "PMU1: setAltCL Sending MR0 0x%x cl=%d\n" 951 }, 952 {0x013b0002, 953 "PMU1: restoreFromAltCL Sending MR0 0x%x cl=%d\n" 954 }, 955 {0x013c0002, 956 "PMU1: restoreAcsmFromAltCL Sending MR0 0x%x cl=%d\n" 957 }, 958 {0x013d0002, 959 "PMU2: Setting D3R RC%d = 0x%01x\n" 960 }, 961 {0x013e0000, 962 "PMU3: Writing D3 RDIMM RCD Control words RC0 -> RC11\n" 963 }, 964 {0x013f0002, 965 "PMU0: VrefDAC0/1 vddqStart %d dacToVddq %d\n" 966 }, 967 {0x01400001, 968 "PMU: Error: Messageblock phyVref=0x%x is above the limit for TSMC28's attenuated LPDDR4 receivers. Please see the pub databook\n" 969 }, 970 {0x01410001, 971 "PMU: Error: Messageblock phyVref=0x%x is above the limit for TSMC28's attenuated DDR4 receivers. Please see the pub databook\n" 972 }, 973 {0x01420001, 974 "PMU0: PHY VREF @ (%d/1000) VDDQ\n" 975 }, 976 {0x01430002, 977 "PMU0: initalizing phy vrefDacs to %d ExtVrefRange %x\n" 978 }, 979 {0x01440002, 980 "PMU0: initalizing global vref to %d range %d\n" 981 }, 982 {0x01450002, 983 "PMU4: Setting initial device vrefDQ for CS%d to MR6 = 0x%04x\n" 984 }, 985 {0x01460003, 986 "PMU1: In write_level_fine() csn=%d dimm=%d pstate=%d\n" 987 }, 988 {0x01470000, 989 "PMU3: Fine write leveling hardware search increasing TxDqsDly until full bursts are seen\n" 990 }, 991 {0x01480000, 992 "PMU4: WL normalized pos : ........................|........................\n" 993 }, 994 {0x01490007, 995 "PMU4: WL margin for nib %2d: %08x%08x%08x%08x%08x%08x\n" 996 }, 997 {0x014a0000, 998 "PMU4: WL normalized pos : ........................|........................\n" 999 }, 1000 {0x014b0000, 1001 "PMU3: Exiting write leveling mode\n" 1002 }, 1003 {0x014c0001, 1004 "PMU3: got %d for cl in load_wrlvl_acsm\n" 1005 }, 1006 {0x014d0003, 1007 "PMU1: In write_level_coarse() csn=%d dimm=%d pstate=%d\n" 1008 }, 1009 {0x014e0003, 1010 "PMU3: left eye edge search db:%d ln:%d dly:0x%x\n" 1011 }, 1012 {0x014f0003, 1013 "PMU3: right eye edge search db:%d ln:%d dly:0x%x\n" 1014 }, 1015 {0x01500004, 1016 "PMU3: eye center db:%d ln:%d dly:0x%x (maxdq:%x)\n" 1017 }, 1018 {0x01510003, 1019 "PMU3: Wrote to TxDqDly db:%d ln:%d dly:0x%x\n" 1020 }, 1021 {0x01520003, 1022 "PMU3: Wrote to TxDqDly db:%d ln:%d dly:0x%x\n" 1023 }, 1024 {0x01530002, 1025 "PMU3: Coarse write leveling dbyte%2d is still failing for TxDqsDly=0x%04x\n" 1026 }, 1027 {0x01540002, 1028 "PMU4: Coarse write leveling iteration %d saw %d data miscompares across the entire phy\n" 1029 }, 1030 {0x01550000, 1031 "PMU: Error: Failed write leveling coarse\n" 1032 }, 1033 {0x01560001, 1034 "PMU3: got %d for cl in load_wrlvl_acsm\n" 1035 }, 1036 {0x01570003, 1037 "PMU3: In write_level_coarse() csn=%d dimm=%d pstate=%d\n" 1038 }, 1039 {0x01580003, 1040 "PMU3: left eye edge search db:%d ln:%d dly:0x%x\n" 1041 }, 1042 {0x01590003, 1043 "PMU3: right eye edge search db: %d ln: %d dly: 0x%x\n" 1044 }, 1045 {0x015a0004, 1046 "PMU3: eye center db: %d ln: %d dly: 0x%x (maxdq: 0x%x)\n" 1047 }, 1048 {0x015b0003, 1049 "PMU3: Wrote to TxDqDly db: %d ln: %d dly: 0x%x\n" 1050 }, 1051 {0x015c0003, 1052 "PMU3: Wrote to TxDqDly db: %d ln: %d dly: 0x%x\n" 1053 }, 1054 {0x015d0002, 1055 "PMU3: Coarse write leveling nibble%2d is still failing for TxDqsDly=0x%04x\n" 1056 }, 1057 {0x015e0002, 1058 "PMU4: Coarse write leveling iteration %d saw %d data miscompares across the entire phy\n" 1059 }, 1060 {0x015f0000, 1061 "PMU: Error: Failed write leveling coarse\n" 1062 }, 1063 {0x01600000, 1064 "PMU4: WL normalized pos : ................................|................................\n" 1065 }, 1066 {0x01610009, 1067 "PMU4: WL margin for nib %2d: %08x%08x%08x%08x%08x%08x%08x%08x\n" 1068 }, 1069 {0x01620000, 1070 "PMU4: WL normalized pos : ................................|................................\n" 1071 }, 1072 {0x01630001, 1073 "PMU8: Adjust margin after WL coarse to be larger than %d\n" 1074 }, 1075 {0x01640001, 1076 "PMU: Error: All margin after write leveling coarse are smaller than minMargin %d\n" 1077 }, 1078 {0x01650002, 1079 "PMU8: Decrement nib %d TxDqsDly by %d fine step\n" 1080 }, 1081 {0x01660003, 1082 "PMU3: In write_level_coarse() csn=%d dimm=%d pstate=%d\n" 1083 }, 1084 {0x01670005, 1085 "PMU2: Write level: dbyte %d nib%d dq/dmbi %2d dqsfine 0x%04x dqDly 0x%04x\n" 1086 }, 1087 {0x01680002, 1088 "PMU3: Coarse write leveling nibble%2d is still failing for TxDqsDly=0x%04x\n" 1089 }, 1090 {0x01690002, 1091 "PMU4: Coarse write leveling iteration %d saw %d data miscompares across the entire phy\n" 1092 }, 1093 {0x016a0000, 1094 "PMU: Error: Failed write leveling coarse\n" 1095 }, 1096 {0x016b0001, 1097 "PMU3: DWL delay = %d\n" 1098 }, 1099 {0x016c0003, 1100 "PMU3: Errcnt for DWL nib %2d delay = %2d is %d\n" 1101 }, 1102 {0x016d0002, 1103 "PMU3: DWL nibble %d sampled a 1 at delay %d\n" 1104 }, 1105 {0x016e0003, 1106 "PMU3: DWL nibble %d passed at delay %d. Rising edge was at %d\n" 1107 }, 1108 {0x016f0000, 1109 "PMU2: DWL did nto find a rising edge of memclk for all nibbles. Failing nibbles assumed to have rising edge close to fine delay 63\n" 1110 }, 1111 {0x01700002, 1112 "PMU2: Rising edge found in alias window, setting wrlvlDly for nibble %d = %d\n" 1113 }, 1114 {0x01710002, 1115 "PMU: Error: Failed DWL for nib %d with %d one\n" 1116 }, 1117 {0x01720003, 1118 "PMU2: Rising edge not found in alias window with %d one, leaving wrlvlDly for nibble %d = %d\n" 1119 }, 1120 {0x04000000, 1121 "PMU: Error:Mailbox Buffer Overflowed.\n" 1122 }, 1123 {0x04010000, 1124 "PMU: Error:Mailbox Buffer Overflowed.\n" 1125 }, 1126 {0x04020000, 1127 "PMU: ***** Assertion Error - terminating *****\n" 1128 }, 1129 {0x04030002, 1130 "PMU1: swapByte db %d by %d\n" 1131 }, 1132 {0x04040003, 1133 "PMU3: get_cmd_dly max(%d ps, %d memclk) = %d\n" 1134 }, 1135 {0x04050002, 1136 "PMU0: Write CSR 0x%06x 0x%04x\n" 1137 }, 1138 {0x04060002, 1139 "PMU0: hwt_init_ppgc_prbs(): Polynomial: %x, Deg: %d\n" 1140 }, 1141 {0x04070001, 1142 "PMU: Error: acsm_set_cmd to non existent instruction address %d\n" 1143 }, 1144 {0x04080001, 1145 "PMU: Error: acsm_set_cmd with unknown ddr cmd 0x%x\n" 1146 }, 1147 {0x0409000c, 1148 "PMU1: acsm_addr %02x, acsm_flgs %04x, ddr_cmd %02x, cmd_dly %02x, ddr_addr %04x, ddr_bnk %02x, ddr_cs %02x, cmd_rcnt %02x, AcsmSeq0/1/2/3 %04x %04x %04x %04x\n" 1149 }, 1150 {0x040a0000, 1151 "PMU: Error: Polling on ACSM done failed to complete in acsm_poll_done()...\n" 1152 }, 1153 {0x040b0000, 1154 "PMU1: acsm RUN\n" 1155 }, 1156 {0x040c0000, 1157 "PMU1: acsm STOPPED\n" 1158 }, 1159 {0x040d0002, 1160 "PMU1: acsm_init: acsm_mode %04x mxrdlat %04x\n" 1161 }, 1162 {0x040e0002, 1163 "PMU: Error: setAcsmCLCWL: cl and cwl must be each >= 2 and 5, resp. CL=%d CWL=%d\n" 1164 }, 1165 {0x040f0002, 1166 "PMU: Error: setAcsmCLCWL: cl and cwl must be each >= 5. CL=%d CWL=%d\n" 1167 }, 1168 {0x04100002, 1169 "PMU1: setAcsmCLCWL: CASL %04d WCASL %04d\n" 1170 }, 1171 {0x04110001, 1172 "PMU: Error: Reserved value of register F0RC0F found in message block: 0x%04x\n" 1173 }, 1174 {0x04120001, 1175 "PMU3: Written MRS to CS=0x%02x\n" 1176 }, 1177 {0x04130001, 1178 "PMU3: Written MRS to CS=0x%02x\n" 1179 }, 1180 {0x04140000, 1181 "PMU3: Entering Boot Freq Mode.\n" 1182 }, 1183 {0x04150001, 1184 "PMU: Error: Boot clock divider setting of %d is too small\n" 1185 }, 1186 {0x04160000, 1187 "PMU3: Exiting Boot Freq Mode.\n" 1188 }, 1189 {0x04170002, 1190 "PMU3: Writing MR%d OP=%x\n" 1191 }, 1192 {0x04180000, 1193 "PMU: Error: Delay too large in slomo\n" 1194 }, 1195 {0x04190001, 1196 "PMU3: Written MRS to CS=0x%02x\n" 1197 }, 1198 {0x041a0000, 1199 "PMU3: Enable Channel A\n" 1200 }, 1201 {0x041b0000, 1202 "PMU3: Enable Channel B\n" 1203 }, 1204 {0x041c0000, 1205 "PMU3: Enable All Channels\n" 1206 }, 1207 {0x041d0002, 1208 "PMU2: Use PDA mode to set MR%d with value 0x%02x\n" 1209 }, 1210 {0x041e0001, 1211 "PMU3: Written Vref with PDA to CS=0x%02x\n" 1212 }, 1213 {0x041f0000, 1214 "PMU1: start_cal: DEBUG: setting CalRun to 1\n" 1215 }, 1216 {0x04200000, 1217 "PMU1: start_cal: DEBUG: setting CalRun to 0\n" 1218 }, 1219 {0x04210001, 1220 "PMU1: lock_pll_dll: DEBUG: pstate = %d\n" 1221 }, 1222 {0x04220001, 1223 "PMU1: lock_pll_dll: DEBUG: dfifreqxlat_pstate = %d\n" 1224 }, 1225 {0x04230001, 1226 "PMU1: lock_pll_dll: DEBUG: pllbypass = %d\n" 1227 }, 1228 {0x04240001, 1229 "PMU3: SaveLcdlSeed: Saving seed %d\n" 1230 }, 1231 {0x04250000, 1232 "PMU1: in phy_defaults()\n" 1233 }, 1234 {0x04260003, 1235 "PMU3: ACXConf:%d MaxNumDbytes:%d NumDfi:%d\n" 1236 }, 1237 {0x04270005, 1238 "PMU1: setAltAcsmCLCWL setting cl=%d cwl=%d\n" 1239 }, 1240 }; 1241 1242 const static struct phy_msg messages_2d[] = { 1243 {0x00000001, 1244 "PMU0: Converting %d into an MR\n" 1245 }, 1246 {0x00010003, 1247 "PMU DEBUG: vref_idx %d -= %d, range_idx = %d\n" 1248 }, 1249 {0x00020002, 1250 "PMU0: vrefIdx. Passing range %d, remaining vrefidx = %d\n" 1251 }, 1252 {0x00030002, 1253 "PMU0: VrefIdx %d -> MR[6:0] 0x%02x\n" 1254 }, 1255 {0x00040001, 1256 "PMU0: Converting MR 0x%04x to vrefIdx\n" 1257 }, 1258 {0x00050002, 1259 "PMU0: DAC %d Range %d\n" 1260 }, 1261 {0x00060003, 1262 "PMU0: Range %d, Range_idx %d, vref_idx offset %d\n" 1263 }, 1264 {0x00070002, 1265 "PMU0: MR 0x%04x -> VrefIdx %d\n" 1266 }, 1267 {0x00080001, 1268 "PMU: Error: Illegal timing group number ,%d, in getPtrVrefDq\n" 1269 }, 1270 {0x00090003, 1271 "PMU1: VrefDqR%dNib%d = %d\n" 1272 }, 1273 {0x000a0003, 1274 "PMU0: VrefDqR%dNib%d = %d\n" 1275 }, 1276 {0x000b0000, 1277 "PMU0: ----------------MARGINS-------\n" 1278 }, 1279 {0x000c0002, 1280 "PMU0: R%d_RxClkDly_Margin = %d\n" 1281 }, 1282 {0x000d0002, 1283 "PMU0: R%d_VrefDac_Margin = %d\n" 1284 }, 1285 {0x000e0002, 1286 "PMU0: R%d_TxDqDly_Margin = %d\n" 1287 }, 1288 {0x000f0002, 1289 "PMU0: R%d_DeviceVref_Margin = %d\n" 1290 }, 1291 {0x00100000, 1292 "PMU0: -----------------------\n" 1293 }, 1294 {0x00110003, 1295 "PMU0: eye %d's for all TG's is [%d ... %d]\n" 1296 }, 1297 {0x00120000, 1298 "PMU0: ------- settingWeight -----\n" 1299 }, 1300 {0x00130002, 1301 "PMU0: Weight %d @ Setting %d\n" 1302 }, 1303 {0x0014001f, 1304 "PMU4: %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d >%3d< %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d\n" 1305 }, 1306 {0x00150002, 1307 "PMU3: Voltage Range = [%d, %d]\n" 1308 }, 1309 {0x00160004, 1310 "PMU4: -- DB%d L%d -- centers: delay = %d, voltage = %d\n" 1311 }, 1312 {0x00170001, 1313 "PMU5: <<KEY>> 0 TxDqDlyTg%d <<KEY>> coarse(6:6) fine(5:0)\n" 1314 }, 1315 {0x00180001, 1316 "PMU5: <<KEY>> 0 messageBlock VrefDqR%d <<KEY>> MR6(6:0)\n" 1317 }, 1318 {0x00190001, 1319 "PMU5: <<KEY>> 0 RxClkDlyTg%d <<KEY>> fine(5:0)\n" 1320 }, 1321 {0x001a0003, 1322 "PMU0: tgToCsn: tg %d + 0x%04x -> csn %d\n" 1323 }, 1324 {0x001b0002, 1325 "PMU: Error: LP4 rank %d cannot be mapped on tg %d\n" 1326 }, 1327 {0x001c0002, 1328 "PMU3: Sending vref %d, Mr = 0X%05x, to all devices\n" 1329 }, 1330 {0x001d0004, 1331 "PMU4: -------- %dD Write Scanning TG %d (CS 0x%x) Lanes 0x%03x --------\n" 1332 }, 1333 {0x001e0002, 1334 "PMU0: training lanes 0x%03x using lanes 0x%03x\n" 1335 }, 1336 {0x001f0003, 1337 "PMU4: ------- 2D-DFE Read Scanning TG %d (CS 0x%x) Lanes 0x%03x -------\n" 1338 }, 1339 {0x00200004, 1340 "PMU4: ------- %dD Read Scanning TG %d (CS 0x%x) Lanes 0x%03x -------\n" 1341 }, 1342 {0x00210003, 1343 "PMU4: TG%d MR1[13,6,5]=0x%x MR6[13,9,8]=0x%x\n" 1344 }, 1345 {0x00220002, 1346 "PMU0: training lanes 0x%03x using lanes 0x%03x\n" 1347 }, 1348 {0x00230003, 1349 "PMU4: ------- 2D-DFE Read Scanning TG %d (CS 0x%x) Lanes 0x%03x -------\n" 1350 }, 1351 {0x00240004, 1352 "PMU4: ------- %dD Read Scanning TG %d (CS 0x%x) Lanes 0x%03x -------\n" 1353 }, 1354 {0x00250002, 1355 "PMU0: training lanes 0x%03x using lanes 0x%03x\n" 1356 }, 1357 {0x00260002, 1358 "PMU3: Sending vref %d, Mr = 0X%05x, to all devices\n" 1359 }, 1360 {0x00270004, 1361 "PMU4: -------- %dD Write Scanning TG %d (CS 0x%x) Lanes 0x%03x --------\n" 1362 }, 1363 {0x00280001, 1364 "PMU0: input %d\n" 1365 }, 1366 {0x00290002, 1367 "PMU4: Programmed Voltage Search Range [%d, %d]\n" 1368 }, 1369 {0x002a0002, 1370 "PMU3: Delay Stepsize = %d Fine, Voltage Stepsize = %d DAC\n" 1371 }, 1372 {0x002b0002, 1373 "PMU4: Delay Weight = %d, Voltage Weight = %d\n" 1374 }, 1375 {0x002c0003, 1376 "PMU0: raw 0x%x allFine %d incDec %d" 1377 }, 1378 {0x002d0008, 1379 "PMU0: db%d l%d, voltage 0x%x (u_r %d) delay 0x%x (u_r %d) - lcdl %d mask 0x%x\n" 1380 }, 1381 {0x002e0005, 1382 "PMU0: DB%d L%d, Eye %d, Seed = (0x%x, 0x%x)\n" 1383 }, 1384 {0x002f0002, 1385 "PMU3: 2D Enables : %d, 1, %d\n" 1386 }, 1387 {0x00300006, 1388 "PMU3: 2D Delay Ranges: OOPL[0x%04x,0x%04x], IP[0x%04x,0x%04x], OOPR[0x%04x,0x%04x]\n" 1389 }, 1390 {0x00310002, 1391 "PMU3: 2D Voltage Search Range : [%d, %d]\n" 1392 }, 1393 {0x00320002, 1394 "PMU4: Found Voltage Search Range [%d, %d]\n" 1395 }, 1396 {0x00330002, 1397 "PMU0: User Weight = %d, Voltage Weight = %d\n" 1398 }, 1399 {0x00340005, 1400 "PMU0: D(%d,%d) V(%d,%d | %d)\n" 1401 }, 1402 {0x00350002, 1403 "PMU0: Norm Weight = %d, Voltage Weight = %d\n" 1404 }, 1405 {0x00360002, 1406 "PMU0: seed 0 = (%d,%d) (center)\n" 1407 }, 1408 {0x00370003, 1409 "PMU0: seed 1 = (%d,%d).min edge at idx %d\n" 1410 }, 1411 {0x00380003, 1412 "PMU0: seed 2 = (%d,%d) max edge at idx %d\n" 1413 }, 1414 {0x00390003, 1415 "PMU0: Search point %d = (%d,%d)\n" 1416 }, 1417 {0x003a0005, 1418 "PMU0: YMARGIN: ^ %d, - %d, v %d. rate %d = %d\n" 1419 }, 1420 {0x003b0003, 1421 "PMU0: XMARGIN: center %d, edge %d. = %d\n" 1422 }, 1423 {0x003c0002, 1424 "PMU0: ----------- weighting (%d,%d) ----------------\n" 1425 }, 1426 {0x003d0003, 1427 "PMU0: X margin - L %d R %d - Min %d\n" 1428 }, 1429 {0x003e0003, 1430 "PMU0: Y margin - L %d R %d - Min %d\n" 1431 }, 1432 {0x003f0003, 1433 "PMU0: center (%d,%d) weight = %d\n" 1434 }, 1435 {0x00400003, 1436 "PMU4: Eye argest blob area %d from %d to %d\n" 1437 }, 1438 {0x00410002, 1439 "PMU0: Compute centroid min_x %d max_x %d\n" 1440 }, 1441 {0x00420003, 1442 "PMU0: Compute centroid sumLnDlyWidth %d sumLnVrefWidth %d sumLnWidht %d\n" 1443 }, 1444 {0x00430000, 1445 "PMU: Error: No passing region found for 1 or more lanes. Set hdtCtrl=4 to see passing regions\n" 1446 }, 1447 {0x00440003, 1448 "PMU0: Centroid ( %d, %d ) found with sumLnWidht %d\n" 1449 }, 1450 {0x00450003, 1451 "PMU0: Optimal allFine Center ( %d + %d ,%d )\n" 1452 }, 1453 {0x00460003, 1454 "PMU3: point %d starting at (%d,%d)\n" 1455 }, 1456 {0x00470002, 1457 "PMU0: picking left (%d > %d)\n" 1458 }, 1459 {0x00480002, 1460 "PMU0: picking right (%d > %d)\n" 1461 }, 1462 {0x00490002, 1463 "PMU0: picking down (%d > %d)\n" 1464 }, 1465 {0x004a0002, 1466 "PMU0: picking up (%d > %d)\n" 1467 }, 1468 {0x004b0009, 1469 "PMU3: new center @ (%3d, %3d). Moved (%2i, %2i) -- L %d, R %d, C %d, U %d, D %d\n" 1470 }, 1471 {0x004c0003, 1472 "PMU3: cordNum %d imporved %d to %d\n" 1473 }, 1474 {0x004d0000, 1475 "PMU: Error: No passing region found for 1 or more lanes. Set hdtCtrl=4 to see passing regions\n" 1476 }, 1477 {0x004e0004, 1478 "PMU0: Optimal allFine Center ( %d + %d ,%d ), found with weight %d.\n" 1479 }, 1480 {0x004f0003, 1481 "PMU0: merging lanes=%d..%d, centerMerge_t %d\n" 1482 }, 1483 {0x00500001, 1484 "PMU0: laneVal %d is disable\n" 1485 }, 1486 {0x00510002, 1487 "PMU0: checking common center %d against current center %d\n" 1488 }, 1489 {0x00520001, 1490 "PMU: Error: getCompoundEye Called on lane%d eye with non-compatible centers\n" 1491 }, 1492 {0x00530001, 1493 "PMU0: laneItr %d is disable\n" 1494 }, 1495 {0x00540005, 1496 "PMU0: lane %d, data_idx %d, offset_idx %d, = [%d..%d]\n" 1497 }, 1498 {0x00550003, 1499 "PMU0: lane %d, data_idx %d, offset_idx %d, offset_idx out of range!\n" 1500 }, 1501 {0x00560003, 1502 "PMU0: mergeData[%d] = max_v_low %d, min_v_high %d\n" 1503 }, 1504 {0x00570005, 1505 "PMU1: writing merged center (%d,%d) back to dataBlock[%d]. doDelay %d, doVoltage %d\n" 1506 }, 1507 {0x00580005, 1508 "PMU0: applying relative (%i,%i) back to dataBlock[%d]. doDelay %d, doVoltage %d\n" 1509 }, 1510 {0x00590002, 1511 "PMU0: drvstren %x is idx %d in the table\n" 1512 }, 1513 {0x005a0000, 1514 "PMU4: truncating FFE drive strength search range. Out of drive strengths to check.\n" 1515 }, 1516 {0x005b0002, 1517 "PMU5: Weak 1 changed to pull-up %5d ohms, pull-down %5d ohms\n" 1518 }, 1519 {0x005c0002, 1520 "PMU5: Weak 0 changed to pull-up %5d ohms, pull-down %5d ohms\n" 1521 }, 1522 {0x005d0003, 1523 "PMU0: dlyMargin L %02d R %02d, min %02d\n" 1524 }, 1525 {0x005e0003, 1526 "PMU0: vrefMargin T %02d B %02d, min %02d\n" 1527 }, 1528 {0x005f0002, 1529 "PMU3: new minimum VrefMargin (%d < %d) recorded\n" 1530 }, 1531 {0x00600002, 1532 "PMU3: new minimum DlyMargin (%d < %d) recorded\n" 1533 }, 1534 {0x00610000, 1535 "PMU0: RX finding the per-nibble, per-tg rxClkDly values\n" 1536 }, 1537 {0x00620003, 1538 "PMU0: Merging collected eyes [%d..%d) and analyzing for nibble %d's optimal rxClkDly\n" 1539 }, 1540 {0x00630002, 1541 "PMU0: -- centers: delay = %d, voltage = %d\n" 1542 }, 1543 {0x00640003, 1544 "PMU0: dumping optimized eye -- centers: delay = %d (%d), voltage = %d\n" 1545 }, 1546 {0x00650000, 1547 "PMU0: TX optimizing txDqDelays\n" 1548 }, 1549 {0x00660001, 1550 "PMU3: Analyzing collected eye %d for a lane's optimal TxDqDly\n" 1551 }, 1552 {0x00670001, 1553 "PMU0: eye-lane %d is disable\n" 1554 }, 1555 {0x00680000, 1556 "PMU0: TX optimizing device voltages\n" 1557 }, 1558 {0x00690002, 1559 "PMU0: Merging collected eyes [%d..%d) and analyzing for optimal device txVref\n" 1560 }, 1561 {0x006a0002, 1562 "PMU0: -- centers: delay = %d, voltage = %d\n" 1563 }, 1564 {0x006b0003, 1565 "PMU0: dumping optimized eye -- centers: delay = %d (%d), voltage = %d\n" 1566 }, 1567 {0x006c0000, 1568 "PMU4: VrefDac (compound all TG) Bottom Top -> Center\n" 1569 }, 1570 {0x006d0005, 1571 "PMU4: DB%d L%d %3d %3d -> %3d (DISCONNECTED)\n" 1572 }, 1573 {0x006e0005, 1574 "PMU4: DB%d L%d %3d %3d -> %3d\n" 1575 }, 1576 {0x006f0005, 1577 "PMU0: writing rxClkDelay for tg%d db%1d nib%1d to 0x%02x from eye[%02d] (DISCONNECTED)\n" 1578 }, 1579 {0x00700003, 1580 "PMU: Error: Dbyte %d nibble %d's optimal rxClkDly of 0x%x is out of bounds\n" 1581 }, 1582 {0x00710005, 1583 "PMU0: writing rxClkDelay for tg%d db%1d nib%1d to 0x%02x from eye[%02d]\n" 1584 }, 1585 {0x00720005, 1586 "PMU0: tx voltage for tg%2d nib%2d to %3d (%d) from eye[%02d]\n" 1587 }, 1588 {0x00730001, 1589 "PMU0: vref Sum = %d\n" 1590 }, 1591 {0x00740004, 1592 "PMU0: tx voltage total is %d/%d -> %d -> %d\n" 1593 }, 1594 {0x00750007, 1595 "PMU0: writing txDqDelay for tg%1d db%1d ln%1d to 0x%02x (%d coarse, %d fine) from eye[%02d] (DISCONNECTED)\n" 1596 }, 1597 {0x00760003, 1598 "PMU: Error: Dbyte %d lane %d's optimal txDqDly of 0x%x is out of bounds\n" 1599 }, 1600 {0x00770007, 1601 "PMU0: writing txDqDelay for tg%1d db%1d l%1d to 0x%02x (%d coarse, %d fine) from eye[%02d]\n" 1602 }, 1603 {0x00780002, 1604 "PMU0: %d (0=tx, 1=rx) TgMask for this simulation: %x\n" 1605 }, 1606 {0x00790001, 1607 "PMU0: eye-byte %d is disable\n" 1608 }, 1609 {0x007a0001, 1610 "PMU0: eye-lane %d is disable\n" 1611 }, 1612 {0x007b0003, 1613 "PMU10: Start d4_2d_lrdimm_rx_dfe dimm %d nbTap %d biasStepMode %d\n" 1614 }, 1615 {0x007c0001, 1616 "PMU10: DB DFE feature not fully supported, F2BCEx value is 0x%02x\n" 1617 }, 1618 {0x007d0001, 1619 "PMU10: DB DFE feature fully supported, F2BCEx value is 0x%02x\n" 1620 }, 1621 {0x007e0002, 1622 "PMU8: Start d4_2d_lrdimm_rx_dfe for tap %d biasStepInc %d\n" 1623 }, 1624 {0x007f0001, 1625 "PMU7: Start d4_2d_lrdimm_rx_dfe tapCoff 0x%0x\n" 1626 }, 1627 {0x00800003, 1628 "PMU6: d4_2d_lrdimm_rx_dfe db %d lane %d area %d\n" 1629 }, 1630 {0x00810004, 1631 "PMU7: d4_2d_lrdimm_rx_dfe db %d lane %d max area %d best bias 0x%0x\n" 1632 }, 1633 {0x00820001, 1634 "PMU0: eye-lane %d is disable\n" 1635 }, 1636 {0x00830003, 1637 "PMU5: Setting 0x%x improved rank weight (%4d < %4d)\n" 1638 }, 1639 {0x00840001, 1640 "PMU4: Setting 0x%x still optimal\n" 1641 }, 1642 {0x00850002, 1643 "PMU5: ---- Training CS%d MR%d DRAM Equalization ----\n" 1644 }, 1645 {0x00860001, 1646 "PMU0: eye-lane %d is disable\n" 1647 }, 1648 {0x00870003, 1649 "PMU0: eye %d weight %d allTgWeight %d\n" 1650 }, 1651 {0x00880002, 1652 "PMU5: FFE figure of merit improved from %d to %d\n" 1653 }, 1654 {0x00890002, 1655 "PMU: Error: LP4 rank %d cannot be mapped on tg %d\n" 1656 }, 1657 {0x008a0000, 1658 "PMU4: Adjusting vrefDac0 for just 1->x transitions\n" 1659 }, 1660 {0x008b0000, 1661 "PMU4: Adjusting vrefDac1 for just 0->x transitions\n" 1662 }, 1663 {0x008c0001, 1664 "PMU5: Strong 1, pull-up %d ohms\n" 1665 }, 1666 {0x008d0001, 1667 "PMU5: Strong 0, pull-down %d ohms\n" 1668 }, 1669 {0x008e0000, 1670 "PMU4: Enabling weak drive strengths (FFE)\n" 1671 }, 1672 {0x008f0000, 1673 "PMU5: Changing all weak driver strengths\n" 1674 }, 1675 {0x00900000, 1676 "PMU5: Finalizing weak drive strengths\n" 1677 }, 1678 {0x00910000, 1679 "PMU4: retraining with optimal drive strength settings\n" 1680 }, 1681 {0x00920002, 1682 "PMU0: targeting CsX = %d and CsY = %d\n" 1683 }, 1684 {0x00930001, 1685 "PMU1:prbsGenCtl:%x\n" 1686 }, 1687 {0x00940000, 1688 "PMU1: loading 2D acsm sequence\n" 1689 }, 1690 {0x00950000, 1691 "PMU1: loading 1D acsm sequence\n" 1692 }, 1693 {0x00960002, 1694 "PMU3: %d memclocks @ %d to get half of 300ns\n" 1695 }, 1696 {0x00970000, 1697 "PMU: Error: User requested MPR read pattern for read DQS training in DDR3 Mode\n" 1698 }, 1699 {0x00980000, 1700 "PMU3: Running 1D search for left eye edge\n" 1701 }, 1702 {0x00990001, 1703 "PMU1: In Phase Left Edge Search cs %d\n" 1704 }, 1705 {0x009a0001, 1706 "PMU1: Out of Phase Left Edge Search cs %d\n" 1707 }, 1708 {0x009b0000, 1709 "PMU3: Running 1D search for right eye edge\n" 1710 }, 1711 {0x009c0001, 1712 "PMU1: In Phase Right Edge Search cs %d\n" 1713 }, 1714 {0x009d0001, 1715 "PMU1: Out of Phase Right Edge Search cs %d\n" 1716 }, 1717 {0x009e0001, 1718 "PMU1: mxRdLat training pstate %d\n" 1719 }, 1720 {0x009f0001, 1721 "PMU1: mxRdLat search for cs %d\n" 1722 }, 1723 {0x00a00001, 1724 "PMU0: MaxRdLat non consistent DtsmLoThldXingInd 0x%03x\n" 1725 }, 1726 {0x00a10003, 1727 "PMU4: CS %d Dbyte %d worked with DFIMRL = %d DFICLKs\n" 1728 }, 1729 {0x00a20004, 1730 "PMU3: MaxRdLat Read Lane err mask for csn %d, DFIMRL %2d DFIClks, dbyte %d = 0x%03x\n" 1731 }, 1732 {0x00a30003, 1733 "PMU3: MaxRdLat Read Lane err mask for csn %d DFIMRL %2d, All dbytes = 0x%03x\n" 1734 }, 1735 {0x00a40001, 1736 "PMU: Error: CS%d failed to find a DFIMRL setting that worked for all bytes during MaxRdLat training\n" 1737 }, 1738 {0x00a50002, 1739 "PMU3: Smallest passing DFIMRL for all dbytes in CS%d = %d DFIClks\n" 1740 }, 1741 {0x00a60000, 1742 "PMU: Error: No passing DFIMRL value found for any chip select during MaxRdLat training\n" 1743 }, 1744 {0x00a70003, 1745 "PMU: Error: Dbyte %d lane %d txDqDly passing region is too small (width = %d)\n" 1746 }, 1747 {0x00a80006, 1748 "PMU10: Adjusting rxclkdly db %d nib %d from %d+%d=%d->%d\n" 1749 }, 1750 {0x00a90000, 1751 "PMU4: TxDqDly Passing Regions (EyeLeft EyeRight -> EyeCenter) Units=1/32 UI\n" 1752 }, 1753 {0x00aa0005, 1754 "PMU4: DB %d Lane %d: %3d %3d -> %3d\n" 1755 }, 1756 {0x00ab0002, 1757 "PMU2: TXDQ delayLeft[%2d] = %3d (DISCONNECTED)\n" 1758 }, 1759 {0x00ac0004, 1760 "PMU2: TXDQ delayLeft[%2d] = %3d oopScaled = %3d selectOop %d\n" 1761 }, 1762 {0x00ad0002, 1763 "PMU2: TXDQ delayRight[%2d] = %3d (DISCONNECTED)\n" 1764 }, 1765 {0x00ae0004, 1766 "PMU2: TXDQ delayRight[%2d] = %3d oopScaled = %3d selectOop %d\n" 1767 }, 1768 {0x00af0003, 1769 "PMU: Error: Dbyte %d lane %d txDqDly passing region is too small (width = %d)\n" 1770 }, 1771 {0x00b00000, 1772 "PMU4: TxDqDly Passing Regions (EyeLeft EyeRight -> EyeCenter) Units=1/32 UI\n" 1773 }, 1774 {0x00b10002, 1775 "PMU4: DB %d Lane %d: (DISCONNECTED)\n" 1776 }, 1777 {0x00b20005, 1778 "PMU4: DB %d Lane %d: %3d %3d -> %3d\n" 1779 }, 1780 {0x00b30002, 1781 "PMU3: Running 1D search csn %d for DM Right/NotLeft(%d) eye edge\n" 1782 }, 1783 {0x00b40002, 1784 "PMU3: WrDq DM byte%2d with Errcnt %d\n" 1785 }, 1786 {0x00b50002, 1787 "PMU3: WrDq DM byte%2d avgDly 0x%04x\n" 1788 }, 1789 {0x00b60002, 1790 "PMU1: WrDq DM byte%2d with Errcnt %d\n" 1791 }, 1792 {0x00b70001, 1793 "PMU: Error: Dbyte %d txDqDly DM training did not start inside the eye\n" 1794 }, 1795 {0x00b80000, 1796 "PMU4: DM TxDqDly Passing Regions (EyeLeft EyeRight -> EyeCenter) Units=1/32 UI\n" 1797 }, 1798 {0x00b90002, 1799 "PMU4: DB %d Lane %d: (DISCONNECTED)\n" 1800 }, 1801 {0x00ba0005, 1802 "PMU4: DB %d Lane %d: %3d %3d -> %3d\n" 1803 }, 1804 {0x00bb0003, 1805 "PMU: Error: Dbyte %d lane %d txDqDly DM passing region is too small (width = %d)\n" 1806 }, 1807 {0x00bc0004, 1808 "PMU3: Errcnt for MRD/MWD search nib %2d delay = (%d, 0x%02x) = %d\n" 1809 }, 1810 {0x00bd0000, 1811 "PMU3: Precharge all open banks\n" 1812 }, 1813 {0x00be0002, 1814 "PMU: Error: Dbyte %d nibble %d found mutliple working coarse delay setting for MRD/MWD\n" 1815 }, 1816 {0x00bf0000, 1817 "PMU4: MRD Passing Regions (coarseVal, fineLeft fineRight -> fineCenter)\n" 1818 }, 1819 {0x00c00000, 1820 "PMU4: MWD Passing Regions (coarseVal, fineLeft fineRight -> fineCenter)\n" 1821 }, 1822 {0x00c10004, 1823 "PMU10: Warning: DB %d nibble %d has multiple working coarse delays, %d and %d, choosing the smaller delay\n" 1824 }, 1825 {0x00c20003, 1826 "PMU: Error: Dbyte %d nibble %d MRD/MWD passing region is too small (width = %d)\n" 1827 }, 1828 {0x00c30006, 1829 "PMU4: DB %d nibble %d: %3d, %3d %3d -> %3d\n" 1830 }, 1831 {0x00c40002, 1832 "PMU1: Start MRD/nMWD %d for csn %d\n" 1833 }, 1834 {0x00c50002, 1835 "PMU2: RXDQS delayLeft[%2d] = %3d (DISCONNECTED)\n" 1836 }, 1837 {0x00c60006, 1838 "PMU2: RXDQS delayLeft[%2d] = %3d delayOop[%2d] = %3d OopScaled %4d, selectOop %d\n" 1839 }, 1840 {0x00c70002, 1841 "PMU2: RXDQS delayRight[%2d] = %3d (DISCONNECTED)\n" 1842 }, 1843 {0x00c80006, 1844 "PMU2: RXDQS delayRight[%2d] = %3d delayOop[%2d] = %4d OopScaled %4d, selectOop %d\n" 1845 }, 1846 {0x00c90000, 1847 "PMU4: RxClkDly Passing Regions (EyeLeft EyeRight -> EyeCenter)\n" 1848 }, 1849 {0x00ca0002, 1850 "PMU4: DB %d nibble %d: (DISCONNECTED)\n" 1851 }, 1852 {0x00cb0005, 1853 "PMU4: DB %d nibble %d: %3d %3d -> %3d\n" 1854 }, 1855 {0x00cc0003, 1856 "PMU: Error: Dbyte %d nibble %d rxClkDly passing region is too small (width = %d)\n" 1857 }, 1858 {0x00cd0002, 1859 "PMU0: goodbar = %d for RDWR_BLEN %d\n" 1860 }, 1861 {0x00ce0001, 1862 "PMU3: RxClkDly = %d\n" 1863 }, 1864 {0x00cf0005, 1865 "PMU0: db %d l %d absLane %d -> bottom %d top %d\n" 1866 }, 1867 {0x00d00009, 1868 "PMU3: BYTE %d - %3d %3d %3d %3d %3d %3d %3d %3d\n" 1869 }, 1870 {0x00d10002, 1871 "PMU: Error: dbyte %d lane %d's per-lane vrefDAC's had no passing region\n" 1872 }, 1873 {0x00d20004, 1874 "PMU0: db%d l%d - %d %d\n" 1875 }, 1876 {0x00d30002, 1877 "PMU0: goodbar = %d for RDWR_BLEN %d\n" 1878 }, 1879 {0x00d40004, 1880 "PMU3: db%d l%d saw %d issues at rxClkDly %d\n" 1881 }, 1882 {0x00d50003, 1883 "PMU3: db%d l%d first saw a pass->fail edge at rxClkDly %d\n" 1884 }, 1885 {0x00d60002, 1886 "PMU3: lane %d PBD = %d\n" 1887 }, 1888 {0x00d70003, 1889 "PMU3: db%d l%d first saw a DBI pass->fail edge at rxClkDly %d\n" 1890 }, 1891 {0x00d80003, 1892 "PMU2: db%d l%d already passed rxPBD = %d\n" 1893 }, 1894 {0x00d90003, 1895 "PMU0: db%d l%d, PBD = %d\n" 1896 }, 1897 {0x00da0002, 1898 "PMU: Error: dbyte %d lane %d failed read deskew\n" 1899 }, 1900 {0x00db0003, 1901 "PMU0: db%d l%d, inc PBD = %d\n" 1902 }, 1903 {0x00dc0003, 1904 "PMU1: Running lane deskew on pstate %d csn %d rdDBIEn %d\n" 1905 }, 1906 {0x00dd0000, 1907 "PMU: Error: Read deskew training has been requested, but csrMajorModeDbyte[2] is set\n" 1908 }, 1909 {0x00de0002, 1910 "PMU1: AcsmCsMapCtrl%02d 0x%04x\n" 1911 }, 1912 {0x00df0002, 1913 "PMU1: AcsmCsMapCtrl%02d 0x%04x\n" 1914 }, 1915 {0x00e00001, 1916 "PMU: Error: Wrong PMU image loaded. message Block DramType = 0x%02x, but image built for D3U Type\n" 1917 }, 1918 {0x00e10001, 1919 "PMU: Error: Wrong PMU image loaded. message Block DramType = 0x%02x, but image built for D3R Type\n" 1920 }, 1921 {0x00e20001, 1922 "PMU: Error: Wrong PMU image loaded. message Block DramType = 0x%02x, but image built for D4U Type\n" 1923 }, 1924 {0x00e30001, 1925 "PMU: Error: Wrong PMU image loaded. message Block DramType = 0x%02x, but image built for D4R Type\n" 1926 }, 1927 {0x00e40001, 1928 "PMU: Error: Wrong PMU image loaded. message Block DramType = 0x%02x, but image built for D4LR Type\n" 1929 }, 1930 {0x00e50000, 1931 "PMU: Error: Both 2t timing mode and ddr4 geardown mode specified in the messageblock's PhyCfg and MR3 fields. Only one can be enabled\n" 1932 }, 1933 {0x00e60003, 1934 "PMU10: PHY TOTALS - NUM_DBYTES %d NUM_NIBBLES %d NUM_ANIBS %d\n" 1935 }, 1936 {0x00e70006, 1937 "PMU10: CSA=0x%02x, CSB=0x%02x, TSTAGES=0x%04x, HDTOUT=%d, MMISC=%d DRAMFreq=%dMT DramType=LPDDR3\n" 1938 }, 1939 {0x00e80006, 1940 "PMU10: CSA=0x%02x, CSB=0x%02x, TSTAGES=0x%04x, HDTOUT=%d, MMISC=%d DRAMFreq=%dMT DramType=LPDDR4\n" 1941 }, 1942 {0x00e90008, 1943 "PMU10: CS=0x%02x, TSTAGES=0x%04x, HDTOUT=%d, 2T=%d, MMISC=%d AddrMirror=%d DRAMFreq=%dMT DramType=%d\n" 1944 }, 1945 {0x00ea0004, 1946 "PMU10: Pstate%d MR0=0x%04x MR1=0x%04x MR2=0x%04x\n" 1947 }, 1948 {0x00eb0008, 1949 "PMU10: Pstate%d MRS MR0=0x%04x MR1=0x%04x MR2=0x%04x MR3=0x%04x MR4=0x%04x MR5=0x%04x MR6=0x%04x\n" 1950 }, 1951 {0x00ec0005, 1952 "PMU10: Pstate%d MRS MR1_A0=0x%04x MR2_A0=0x%04x MR3_A0=0x%04x MR11_A0=0x%04x\n" 1953 }, 1954 {0x00ed0000, 1955 "PMU10: UseBroadcastMR set. All ranks and channels use MRXX_A0 for MR settings.\n" 1956 }, 1957 {0x00ee0005, 1958 "PMU10: Pstate%d MRS MR01_A0=0x%02x MR02_A0=0x%02x MR03_A0=0x%02x MR11_A0=0x%02x\n" 1959 }, 1960 {0x00ef0005, 1961 "PMU10: Pstate%d MRS MR12_A0=0x%02x MR13_A0=0x%02x MR14_A0=0x%02x MR22_A0=0x%02x\n" 1962 }, 1963 {0x00f00005, 1964 "PMU10: Pstate%d MRS MR01_A1=0x%02x MR02_A1=0x%02x MR03_A1=0x%02x MR11_A1=0x%02x\n" 1965 }, 1966 {0x00f10005, 1967 "PMU10: Pstate%d MRS MR12_A1=0x%02x MR13_A1=0x%02x MR14_A1=0x%02x MR22_A1=0x%02x\n" 1968 }, 1969 {0x00f20005, 1970 "PMU10: Pstate%d MRS MR01_B0=0x%02x MR02_B0=0x%02x MR03_B0=0x%02x MR11_B0=0x%02x\n" 1971 }, 1972 {0x00f30005, 1973 "PMU10: Pstate%d MRS MR12_B0=0x%02x MR13_B0=0x%02x MR14_B0=0x%02x MR22_B0=0x%02x\n" 1974 }, 1975 {0x00f40005, 1976 "PMU10: Pstate%d MRS MR01_B1=0x%02x MR02_B1=0x%02x MR03_B1=0x%02x MR11_B1=0x%02x\n" 1977 }, 1978 {0x00f50005, 1979 "PMU10: Pstate%d MRS MR12_B1=0x%02x MR13_B1=0x%02x MR14_B1=0x%02x MR22_B1=0x%02x\n" 1980 }, 1981 {0x00f60002, 1982 "PMU1: AcsmOdtCtrl%02d 0x%02x\n" 1983 }, 1984 {0x00f70002, 1985 "PMU1: AcsmCsMapCtrl%02d 0x%04x\n" 1986 }, 1987 {0x00f80002, 1988 "PMU1: AcsmCsMapCtrl%02d 0x%04x\n" 1989 }, 1990 {0x00f90000, 1991 "PMU1: HwtCAMode set\n" 1992 }, 1993 {0x00fa0001, 1994 "PMU3: DDR4 infinite preamble enter/exit mode %d\n" 1995 }, 1996 {0x00fb0002, 1997 "PMU1: In rxenb_train() csn=%d pstate=%d\n" 1998 }, 1999 {0x00fc0000, 2000 "PMU3: Finding DQS falling edge\n" 2001 }, 2002 {0x00fd0000, 2003 "PMU3: Searching for DDR3/LPDDR3/LPDDR4 read preamble\n" 2004 }, 2005 {0x00fe0009, 2006 "PMU3: dtsm fails Even Nibbles : %2x %2x %2x %2x %2x %2x %2x %2x %2x\n" 2007 }, 2008 {0x00ff0009, 2009 "PMU3: dtsm fails Odd Nibbles : %2x %2x %2x %2x %2x %2x %2x %2x %2x\n" 2010 }, 2011 {0x01000002, 2012 "PMU3: Preamble search pass=%d anyfail=%d\n" 2013 }, 2014 {0x01010000, 2015 "PMU: Error: RxEn training preamble not found\n" 2016 }, 2017 {0x01020000, 2018 "PMU3: Found DQS pre-amble\n" 2019 }, 2020 {0x01030001, 2021 "PMU: Error: Dbyte %d couldn't find the rising edge of DQS during RxEn Training\n" 2022 }, 2023 {0x01040000, 2024 "PMU3: RxEn aligning to first rising edge of burst\n" 2025 }, 2026 {0x01050001, 2027 "PMU3: Decreasing RxEn delay by %d fine step to allow full capture of reads\n" 2028 }, 2029 {0x01060001, 2030 "PMU3: MREP Delay = %d\n" 2031 }, 2032 {0x01070003, 2033 "PMU3: Errcnt for MREP nib %2d delay = %2d is %d\n" 2034 }, 2035 {0x01080002, 2036 "PMU3: MREP nibble %d sampled a 1 at data buffer delay %d\n" 2037 }, 2038 {0x01090002, 2039 "PMU3: MREP nibble %d saw a 0 to 1 transition at data buffer delay %d\n" 2040 }, 2041 {0x010a0000, 2042 "PMU2: MREP did not find a 0 to 1 transition for all nibbles. Failing nibbles assumed to have rising edge close to fine delay 63\n" 2043 }, 2044 {0x010b0002, 2045 "PMU2: Rising edge found in alias window, setting rxDly for nibble %d = %d\n" 2046 }, 2047 {0x010c0002, 2048 "PMU: Error: Failed MREP for nib %d with %d one\n" 2049 }, 2050 {0x010d0003, 2051 "PMU2: Rising edge not found in alias window with %d one, leaving rxDly for nibble %d = %d\n" 2052 }, 2053 {0x010e0002, 2054 "PMU3: Training DIMM %d CSn %d\n" 2055 }, 2056 {0x010f0001, 2057 "PMU3: exitCAtrain_lp3 cs 0x%x\n" 2058 }, 2059 {0x01100001, 2060 "PMU3: enterCAtrain_lp3 cs 0x%x\n" 2061 }, 2062 {0x01110001, 2063 "PMU3: CAtrain_switchmsb_lp3 cs 0x%x\n" 2064 }, 2065 {0x01120001, 2066 "PMU3: CATrain_rdwr_lp3 looking for pattern %x\n" 2067 }, 2068 {0x01130000, 2069 "PMU3: exitCAtrain_lp4\n" 2070 }, 2071 {0x01140001, 2072 "PMU3: DEBUG enterCAtrain_lp4 1: cs 0x%x\n" 2073 }, 2074 {0x01150001, 2075 "PMU3: DEBUG enterCAtrain_lp4 3: Put dbyte %d in async mode\n" 2076 }, 2077 {0x01160000, 2078 "PMU3: DEBUG enterCAtrain_lp4 5: Send MR13 to turn on CA training\n" 2079 }, 2080 {0x01170003, 2081 "PMU3: DEBUG enterCAtrain_lp4 7: idx = %d vref = %x mr12 = %x\n" 2082 }, 2083 {0x01180001, 2084 "PMU3: CATrain_rdwr_lp4 looking for pattern %x\n" 2085 }, 2086 {0x01190004, 2087 "PMU3: Phase %d CAreadbackA db:%d %x xo:%x\n" 2088 }, 2089 {0x011a0005, 2090 "PMU3: DEBUG lp4SetCatrVref 1: cs=%d chan=%d mr12=%x vref=%d.%d%%\n" 2091 }, 2092 {0x011b0003, 2093 "PMU3: DEBUG lp4SetCatrVref 3: mr12 = %x send vref= %x to db=%d\n" 2094 }, 2095 {0x011c0000, 2096 "PMU10:Optimizing vref\n" 2097 }, 2098 {0x011d0004, 2099 "PMU4:mr12:%2x cs:%d chan %d r:%4x\n" 2100 }, 2101 {0x011e0005, 2102 "PMU3: i:%2d bstr:%2d bsto:%2d st:%d r:%d\n" 2103 }, 2104 {0x011f0002, 2105 "Failed to find sufficient CA Vref Passing Region for CS %d ch. %d\n" 2106 }, 2107 {0x01200005, 2108 "PMU3:Found %d.%d%% MR12:%x for cs:%d chan %d\n" 2109 }, 2110 {0x01210002, 2111 "PMU3:Calculated %d for AtxImpedence from acx %d.\n" 2112 }, 2113 {0x01220000, 2114 "PMU3:CA Odt impedence ==0. Use default vref.\n" 2115 }, 2116 {0x01230003, 2117 "PMU3:Calculated %d.%d%% for Vref MR12=0x%x.\n" 2118 }, 2119 {0x01240000, 2120 "PMU3: CAtrain_lp\n" 2121 }, 2122 {0x01250000, 2123 "PMU3: CAtrain Begins.\n" 2124 }, 2125 {0x01260001, 2126 "PMU3: CAtrain_lp testing dly %d\n" 2127 }, 2128 {0x01270001, 2129 "PMU5: CA bitmap dump for cs %x\n" 2130 }, 2131 {0x01280001, 2132 "PMU5: CAA%d " 2133 }, 2134 {0x01290001, "%02x" 2135 }, 2136 {0x012a0000, "\n" 2137 }, 2138 {0x012b0001, 2139 "PMU5: CAB%d " 2140 }, 2141 {0x012c0001, "%02x" 2142 }, 2143 {0x012d0000, "\n" 2144 }, 2145 {0x012e0003, 2146 "PMU3: anibi=%d, anibichan[anibi]=%d ,chan=%d\n" 2147 }, 2148 {0x012f0001, "%02x" 2149 }, 2150 {0x01300001, "\nPMU3:Raw CA setting :%x" 2151 }, 2152 {0x01310002, "\nPMU3:ATxDly setting:%x margin:%d\n" 2153 }, 2154 {0x01320002, "\nPMU3:InvClk ATxDly setting:%x margin:%d\n" 2155 }, 2156 {0x01330000, "\nPMU3:No Range found!\n" 2157 }, 2158 {0x01340003, 2159 "PMU3: 2 anibi=%d, anibichan[anibi]=%d ,chan=%d" 2160 }, 2161 {0x01350002, "\nPMU3: no neg clock => CA setting anib=%d, :%d\n" 2162 }, 2163 {0x01360001, 2164 "PMU3:Normal margin:%d\n" 2165 }, 2166 {0x01370001, 2167 "PMU3:Inverted margin:%d\n" 2168 }, 2169 {0x01380000, 2170 "PMU3:Using Inverted clock\n" 2171 }, 2172 {0x01390000, 2173 "PMU3:Using normal clk\n" 2174 }, 2175 {0x013a0003, 2176 "PMU3: 3 anibi=%d, anibichan[anibi]=%d ,chan=%d\n" 2177 }, 2178 {0x013b0002, 2179 "PMU3: Setting ATxDly for anib %x to %x\n" 2180 }, 2181 {0x013c0000, 2182 "PMU: Error: CA Training Failed.\n" 2183 }, 2184 {0x013d0000, 2185 "PMU1: Writing MRs\n" 2186 }, 2187 {0x013e0000, 2188 "PMU4:Using MR12 values from 1D CA VREF training.\n" 2189 }, 2190 {0x013f0000, 2191 "PMU3:Writing all MRs to fsp 1\n" 2192 }, 2193 {0x01400000, 2194 "PMU10:Lp4Quickboot mode.\n" 2195 }, 2196 {0x01410000, 2197 "PMU3: Writing MRs\n" 2198 }, 2199 {0x01420001, 2200 "PMU10: Setting boot clock divider to %d\n" 2201 }, 2202 {0x01430000, 2203 "PMU3: Resetting DRAM\n" 2204 }, 2205 {0x01440000, 2206 "PMU3: setup for RCD initalization\n" 2207 }, 2208 {0x01450000, 2209 "PMU3: pmu_exit_SR from dev_init()\n" 2210 }, 2211 {0x01460000, 2212 "PMU3: initializing RCD\n" 2213 }, 2214 {0x01470000, 2215 "PMU10: **** Executing 2D Image ****\n" 2216 }, 2217 {0x01480001, 2218 "PMU10: **** Start DDR4 Training. PMU Firmware Revision 0x%04x ****\n" 2219 }, 2220 {0x01490001, 2221 "PMU10: **** Start DDR3 Training. PMU Firmware Revision 0x%04x ****\n" 2222 }, 2223 {0x014a0001, 2224 "PMU10: **** Start LPDDR3 Training. PMU Firmware Revision 0x%04x ****\n" 2225 }, 2226 {0x014b0001, 2227 "PMU10: **** Start LPDDR4 Training. PMU Firmware Revision 0x%04x ****\n" 2228 }, 2229 {0x014c0000, 2230 "PMU: Error: Mismatched internal revision between DCCM and ICCM images\n" 2231 }, 2232 {0x014d0001, 2233 "PMU10: **** Testchip %d Specific Firmware ****\n" 2234 }, 2235 {0x014e0000, 2236 "PMU1: LRDIMM with EncodedCS mode, one DIMM\n" 2237 }, 2238 {0x014f0000, 2239 "PMU1: LRDIMM with EncodedCS mode, two DIMMs\n" 2240 }, 2241 {0x01500000, 2242 "PMU1: RDIMM with EncodedCS mode, one DIMM\n" 2243 }, 2244 {0x01510000, 2245 "PMU2: Starting LRDIMM MREP training for all ranks\n" 2246 }, 2247 {0x01520000, 2248 "PMU199: LRDIMM MREP training for all ranks completed\n" 2249 }, 2250 {0x01530000, 2251 "PMU2: Starting LRDIMM DWL training for all ranks\n" 2252 }, 2253 {0x01540000, 2254 "PMU199: LRDIMM DWL training for all ranks completed\n" 2255 }, 2256 {0x01550000, 2257 "PMU2: Starting LRDIMM MRD training for all ranks\n" 2258 }, 2259 {0x01560000, 2260 "PMU199: LRDIMM MRD training for all ranks completed\n" 2261 }, 2262 {0x01570000, 2263 "PMU2: Starting RXEN training for all ranks\n" 2264 }, 2265 {0x01580000, 2266 "PMU2: Starting write leveling fine delay training for all ranks\n" 2267 }, 2268 {0x01590000, 2269 "PMU2: Starting LRDIMM MWD training for all ranks\n" 2270 }, 2271 {0x015a0000, 2272 "PMU199: LRDIMM MWD training for all ranks completed\n" 2273 }, 2274 {0x015b0000, 2275 "PMU2: Starting write leveling fine delay training for all ranks\n" 2276 }, 2277 {0x015c0000, 2278 "PMU2: Starting read deskew training\n" 2279 }, 2280 {0x015d0000, 2281 "PMU2: Starting SI friendly 1d RdDqs training for all ranks\n" 2282 }, 2283 {0x015e0000, 2284 "PMU2: Starting write leveling coarse delay training for all ranks\n" 2285 }, 2286 {0x015f0000, 2287 "PMU2: Starting 1d WrDq training for all ranks\n" 2288 }, 2289 {0x01600000, 2290 "PMU2: Running DQS2DQ Oscillator for all ranks\n" 2291 }, 2292 {0x01610000, 2293 "PMU2: Starting again read deskew training but with PRBS\n" 2294 }, 2295 {0x01620000, 2296 "PMU2: Starting 1d RdDqs training for all ranks\n" 2297 }, 2298 {0x01630000, 2299 "PMU2: Starting again 1d WrDq training for all ranks\n" 2300 }, 2301 {0x01640000, 2302 "PMU2: Starting MaxRdLat training\n" 2303 }, 2304 {0x01650000, 2305 "PMU2: Starting 2d WrDq training for all ranks\n" 2306 }, 2307 {0x01660000, 2308 "PMU2: Starting 2d RdDqs training for all ranks\n" 2309 }, 2310 {0x01670002, 2311 "PMU3:read_fifo %x %x\n" 2312 }, 2313 {0x01680001, 2314 "PMU: Error: Invalid PhyDrvImpedance of 0x%x specified in message block.\n" 2315 }, 2316 {0x01690001, 2317 "PMU: Error: Invalid PhyOdtImpedance of 0x%x specified in message block.\n" 2318 }, 2319 {0x016a0001, 2320 "PMU: Error: Invalid BPZNResVal of 0x%x specified in message block.\n" 2321 }, 2322 {0x016b0005, 2323 "PMU3: fixRxEnBackOff csn:%d db:%d dn:%d bo:%d dly:%x\n" 2324 }, 2325 {0x016c0001, 2326 "PMU3: fixRxEnBackOff dly:%x\n" 2327 }, 2328 {0x016d0000, 2329 "PMU3: Entering setupPpt\n" 2330 }, 2331 {0x016e0000, 2332 "PMU3: Start lp4PopulateHighLowBytes\n" 2333 }, 2334 {0x016f0002, 2335 "PMU3:Dbyte Detect: db%d received %x\n" 2336 }, 2337 {0x01700002, 2338 "PMU3:getDqs2Dq read %x from dbyte %d\n" 2339 }, 2340 {0x01710002, 2341 "PMU3:getDqs2Dq(2) read %x from dbyte %d\n" 2342 }, 2343 {0x01720001, 2344 "PMU: Error: Dbyte %d read 0 from the DQS oscillator it is connected to\n" 2345 }, 2346 {0x01730002, 2347 "PMU4: Dbyte %d dqs2dq = %d/32 UI\n" 2348 }, 2349 {0x01740003, 2350 "PMU3:getDqs2Dq set dqs2dq:%d/32 ui (%d ps) from dbyte %d\n" 2351 }, 2352 {0x01750003, 2353 "PMU3: Setting coarse delay in AtxDly chiplet %d from 0x%02x to 0x%02x\n" 2354 }, 2355 {0x01760003, 2356 "PMU3: Clearing coarse delay in AtxDly chiplet %d from 0x%02x to 0x%02x\n" 2357 }, 2358 {0x01770000, 2359 "PMU3: Performing DDR4 geardown sync sequence\n" 2360 }, 2361 {0x01780000, 2362 "PMU1: Enter self refresh\n" 2363 }, 2364 {0x01790000, 2365 "PMU1: Exit self refresh\n" 2366 }, 2367 {0x017a0000, 2368 "PMU: Error: No dbiEnable with lp4\n" 2369 }, 2370 {0x017b0000, 2371 "PMU: Error: No dbiDisable with lp4\n" 2372 }, 2373 {0x017c0001, 2374 "PMU1: DDR4 update Rx DBI Setting disable %d\n" 2375 }, 2376 {0x017d0001, 2377 "PMU1: DDR4 update 2nCk WPre Setting disable %d\n" 2378 }, 2379 {0x017e0005, 2380 "PMU1: read_delay: db%d lane%d delays[%2d] = 0x%02x (max 0x%02x)\n" 2381 }, 2382 {0x017f0004, 2383 "PMU1: write_delay: db%d lane%d delays[%2d] = 0x%04x\n" 2384 }, 2385 {0x01800001, 2386 "PMU5: ID=%d -- db0 db1 db2 db3 db4 db5 db6 db7 db8 db9 --\n" 2387 }, 2388 {0x0181000b, 2389 "PMU5: [%d]:0x %04x %04x %04x %04x %04x %04x %04x %04x %04x %04x\n" 2390 }, 2391 {0x01820003, 2392 "PMU2: dump delays - pstate=%d dimm=%d csn=%d\n" 2393 }, 2394 {0x01830000, 2395 "PMU3: Printing Mid-Training Delay Information\n" 2396 }, 2397 {0x01840001, 2398 "PMU5: CS%d <<KEY>> 0 TrainingCntr <<KEY>> coarse(15:10) fine(9:0)\n" 2399 }, 2400 {0x01850001, 2401 "PMU5: CS%d <<KEY>> 0 RxEnDly, 1 RxClkDly <<KEY>> coarse(10:6) fine(5:0)\n" 2402 }, 2403 {0x01860001, 2404 "PMU5: CS%d <<KEY>> 0 TxDqsDly, 1 TxDqDly <<KEY>> coarse(9:6) fine(5:0)\n" 2405 }, 2406 {0x01870001, 2407 "PMU5: CS%d <<KEY>> 0 RxPBDly <<KEY>> 1 Delay Unit ~= 7ps\n" 2408 }, 2409 {0x01880000, 2410 "PMU5: all CS <<KEY>> 0 DFIMRL <<KEY>> Units = DFI clocks\n" 2411 }, 2412 {0x01890000, 2413 "PMU5: all CS <<KEY>> VrefDACs <<KEY>> DAC(6:0)\n" 2414 }, 2415 {0x018a0000, 2416 "PMU1: Set DMD in MR13 and wrDBI in MR3 for training\n" 2417 }, 2418 {0x018b0000, 2419 "PMU: Error: getMaxRxen() failed to find largest rxen nibble delay\n" 2420 }, 2421 {0x018c0003, 2422 "PMU2: getMaxRxen(): maxDly %d maxTg %d maxNib %d\n" 2423 }, 2424 {0x018d0003, 2425 "PMU2: getRankMaxRxen(): maxDly %d Tg %d maxNib %d\n" 2426 }, 2427 {0x018e0000, 2428 "PMU1: skipping CDD calculation in 2D image\n" 2429 }, 2430 {0x018f0001, 2431 "PMU3: Calculating CDDs for pstate %d\n" 2432 }, 2433 {0x01900003, 2434 "PMU3: rxFromDly[%d][%d] = %d\n" 2435 }, 2436 {0x01910003, 2437 "PMU3: rxToDly [%d][%d] = %d\n" 2438 }, 2439 {0x01920003, 2440 "PMU3: rxDly [%d][%d] = %d\n" 2441 }, 2442 {0x01930003, 2443 "PMU3: txDly [%d][%d] = %d\n" 2444 }, 2445 {0x01940003, 2446 "PMU3: allFine CDD_RR_%d_%d = %d\n" 2447 }, 2448 {0x01950003, 2449 "PMU3: allFine CDD_WW_%d_%d = %d\n" 2450 }, 2451 {0x01960003, 2452 "PMU3: CDD_RR_%d_%d = %d\n" 2453 }, 2454 {0x01970003, 2455 "PMU3: CDD_WW_%d_%d = %d\n" 2456 }, 2457 {0x01980003, 2458 "PMU3: allFine CDD_RW_%d_%d = %d\n" 2459 }, 2460 {0x01990003, 2461 "PMU3: allFine CDD_WR_%d_%d = %d\n" 2462 }, 2463 {0x019a0003, 2464 "PMU3: CDD_RW_%d_%d = %d\n" 2465 }, 2466 {0x019b0003, 2467 "PMU3: CDD_WR_%d_%d = %d\n" 2468 }, 2469 {0x019c0004, 2470 "PMU3: F%dBC2x_B%d_D%d = 0x%02x\n" 2471 }, 2472 {0x019d0004, 2473 "PMU3: F%dBC3x_B%d_D%d = 0x%02x\n" 2474 }, 2475 {0x019e0004, 2476 "PMU3: F%dBC4x_B%d_D%d = 0x%02x\n" 2477 }, 2478 {0x019f0004, 2479 "PMU3: F%dBC5x_B%d_D%d = 0x%02x\n" 2480 }, 2481 {0x01a00004, 2482 "PMU3: F%dBC8x_B%d_D%d = 0x%02x\n" 2483 }, 2484 {0x01a10004, 2485 "PMU3: F%dBC9x_B%d_D%d = 0x%02x\n" 2486 }, 2487 {0x01a20004, 2488 "PMU3: F%dBCAx_B%d_D%d = 0x%02x\n" 2489 }, 2490 {0x01a30004, 2491 "PMU3: F%dBCBx_B%d_D%d = 0x%02x\n" 2492 }, 2493 {0x01a40000, 2494 "PMU10: Entering context_switch_postamble\n" 2495 }, 2496 {0x01a50003, 2497 "PMU10: context_switch_postamble is enabled for DIMM %d, RC0A=0x%x, RC3x=0x%x\n" 2498 }, 2499 {0x01a60000, 2500 "PMU10: Setting bcw fspace 0\n" 2501 }, 2502 {0x01a70001, 2503 "PMU10: Sending BC0A = 0x%x\n" 2504 }, 2505 {0x01a80001, 2506 "PMU10: Sending BC6x = 0x%x\n" 2507 }, 2508 {0x01a90001, 2509 "PMU10: Sending RC0A = 0x%x\n" 2510 }, 2511 {0x01aa0001, 2512 "PMU10: Sending RC3x = 0x%x\n" 2513 }, 2514 {0x01ab0001, 2515 "PMU10: Sending RC0A = 0x%x\n" 2516 }, 2517 {0x01ac0001, 2518 "PMU1: enter_lp3: DEBUG: pstate = %d\n" 2519 }, 2520 {0x01ad0001, 2521 "PMU1: enter_lp3: DEBUG: dfifreqxlat_pstate = %d\n" 2522 }, 2523 {0x01ae0001, 2524 "PMU1: enter_lp3: DEBUG: pllbypass = %d\n" 2525 }, 2526 {0x01af0001, 2527 "PMU1: enter_lp3: DEBUG: forcecal = %d\n" 2528 }, 2529 {0x01b00001, 2530 "PMU1: enter_lp3: DEBUG: pllmaxrange = 0x%x\n" 2531 }, 2532 {0x01b10001, 2533 "PMU1: enter_lp3: DEBUG: dacval_out = 0x%x\n" 2534 }, 2535 {0x01b20001, 2536 "PMU1: enter_lp3: DEBUG: pllctrl3 = 0x%x\n" 2537 }, 2538 {0x01b30000, 2539 "PMU3: Loading DRAM with BIOS supplied MR values and entering self refresh prior to exiting PMU code.\n" 2540 }, 2541 {0x01b40002, 2542 "PMU3: Setting DataBuffer function space of dimmcs 0x%02x to %d\n" 2543 }, 2544 {0x01b50002, 2545 "PMU4: Setting RCW FxRC%Xx = 0x%02x\n" 2546 }, 2547 {0x01b60002, 2548 "PMU4: Setting RCW FxRC%02x = 0x%02x\n" 2549 }, 2550 {0x01b70001, 2551 "PMU1: DDR4 update Rd Pre Setting disable %d\n" 2552 }, 2553 {0x01b80002, 2554 "PMU2: Setting BCW FxBC%Xx = 0x%02x\n" 2555 }, 2556 {0x01b90002, 2557 "PMU2: Setting BCW BC%02x = 0x%02x\n" 2558 }, 2559 {0x01ba0002, 2560 "PMU2: Setting BCW PBA mode FxBC%Xx = 0x%02x\n" 2561 }, 2562 {0x01bb0002, 2563 "PMU2: Setting BCW PBA mode BC%02x = 0x%02x\n" 2564 }, 2565 {0x01bc0003, 2566 "PMU4: BCW value for dimm %d, fspace %d, addr 0x%04x\n" 2567 }, 2568 {0x01bd0002, 2569 "PMU4: DB %d, value 0x%02x\n" 2570 }, 2571 {0x01be0000, 2572 "PMU6: WARNING MREP underflow, set to min value -2 coarse, 0 fine\n" 2573 }, 2574 {0x01bf0004, 2575 "PMU6: LRDIMM Writing final data buffer fine delay value nib %2d, trainDly %3d, fineDly code %2d, new MREP fine %2d\n" 2576 }, 2577 {0x01c00003, 2578 "PMU6: LRDIMM Writing final data buffer fine delay value nib %2d, trainDly %3d, fineDly code %2d\n" 2579 }, 2580 {0x01c10003, 2581 "PMU6: LRDIMM Writing data buffer fine delay type %d nib %2d, code %2d\n" 2582 }, 2583 {0x01c20002, 2584 "PMU6: Writing final data buffer coarse delay value dbyte %2d, coarse = 0x%02x\n" 2585 }, 2586 {0x01c30003, 2587 "PMU4: data 0x%04x at MB addr 0x%08x saved at CSR addr 0x%08x\n" 2588 }, 2589 {0x01c40003, 2590 "PMU4: data 0x%04x at MB addr 0x%08x restored from CSR addr 0x%08x\n" 2591 }, 2592 {0x01c50003, 2593 "PMU4: data 0x%04x at MB addr 0x%08x saved at CSR addr 0x%08x\n" 2594 }, 2595 {0x01c60003, 2596 "PMU4: data 0x%04x at MB addr 0x%08x restored from CSR addr 0x%08x\n" 2597 }, 2598 {0x01c70001, 2599 "PMU3: Update BC00, BC01, BC02 for rank-dimm 0x%02x\n" 2600 }, 2601 {0x01c80000, 2602 "PMU3: Writing D4 RDIMM RCD Control words F0RC00 -> F0RC0F\n" 2603 }, 2604 {0x01c90000, 2605 "PMU3: Disable parity in F0RC0E\n" 2606 }, 2607 {0x01ca0000, 2608 "PMU3: Writing D4 RDIMM RCD Control words F1RC00 -> F1RC05\n" 2609 }, 2610 {0x01cb0000, 2611 "PMU3: Writing D4 RDIMM RCD Control words F1RC1x -> F1RC9x\n" 2612 }, 2613 {0x01cc0000, 2614 "PMU3: Writing D4 Data buffer Control words BC00 -> BC0E\n" 2615 }, 2616 {0x01cd0002, 2617 "PMU1: setAltCL Sending MR0 0x%x cl=%d\n" 2618 }, 2619 {0x01ce0002, 2620 "PMU1: restoreFromAltCL Sending MR0 0x%x cl=%d\n" 2621 }, 2622 {0x01cf0002, 2623 "PMU1: restoreAcsmFromAltCL Sending MR0 0x%x cl=%d\n" 2624 }, 2625 {0x01d00002, 2626 "PMU2: Setting D3R RC%d = 0x%01x\n" 2627 }, 2628 {0x01d10000, 2629 "PMU3: Writing D3 RDIMM RCD Control words RC0 -> RC11\n" 2630 }, 2631 {0x01d20002, 2632 "PMU0: VrefDAC0/1 vddqStart %d dacToVddq %d\n" 2633 }, 2634 {0x01d30001, 2635 "PMU: Error: Messageblock phyVref=0x%x is above the limit for TSMC28's attenuated LPDDR4 receivers. Please see the pub databook\n" 2636 }, 2637 {0x01d40001, 2638 "PMU: Error: Messageblock phyVref=0x%x is above the limit for TSMC28's attenuated DDR4 receivers. Please see the pub databook\n" 2639 }, 2640 {0x01d50001, 2641 "PMU0: PHY VREF @ (%d/1000) VDDQ\n" 2642 }, 2643 {0x01d60002, 2644 "PMU0: initalizing phy vrefDacs to %d ExtVrefRange %x\n" 2645 }, 2646 {0x01d70002, 2647 "PMU0: initalizing global vref to %d range %d\n" 2648 }, 2649 {0x01d80002, 2650 "PMU4: Setting initial device vrefDQ for CS%d to MR6 = 0x%04x\n" 2651 }, 2652 {0x01d90003, 2653 "PMU1: In write_level_fine() csn=%d dimm=%d pstate=%d\n" 2654 }, 2655 {0x01da0000, 2656 "PMU3: Fine write leveling hardware search increasing TxDqsDly until full bursts are seen\n" 2657 }, 2658 {0x01db0000, 2659 "PMU4: WL normalized pos : ........................|........................\n" 2660 }, 2661 {0x01dc0007, 2662 "PMU4: WL margin for nib %2d: %08x%08x%08x%08x%08x%08x\n" 2663 }, 2664 {0x01dd0000, 2665 "PMU4: WL normalized pos : ........................|........................\n" 2666 }, 2667 {0x01de0000, 2668 "PMU3: Exiting write leveling mode\n" 2669 }, 2670 {0x01df0001, 2671 "PMU3: got %d for cl in load_wrlvl_acsm\n" 2672 }, 2673 {0x01e00003, 2674 "PMU1: In write_level_coarse() csn=%d dimm=%d pstate=%d\n" 2675 }, 2676 {0x01e10003, 2677 "PMU3: left eye edge search db:%d ln:%d dly:0x%x\n" 2678 }, 2679 {0x01e20003, 2680 "PMU3: right eye edge search db:%d ln:%d dly:0x%x\n" 2681 }, 2682 {0x01e30004, 2683 "PMU3: eye center db:%d ln:%d dly:0x%x (maxdq:%x)\n" 2684 }, 2685 {0x01e40003, 2686 "PMU3: Wrote to TxDqDly db:%d ln:%d dly:0x%x\n" 2687 }, 2688 {0x01e50003, 2689 "PMU3: Wrote to TxDqDly db:%d ln:%d dly:0x%x\n" 2690 }, 2691 {0x01e60002, 2692 "PMU3: Coarse write leveling dbyte%2d is still failing for TxDqsDly=0x%04x\n" 2693 }, 2694 {0x01e70002, 2695 "PMU4: Coarse write leveling iteration %d saw %d data miscompares across the entire phy\n" 2696 }, 2697 {0x01e80000, 2698 "PMU: Error: Failed write leveling coarse\n" 2699 }, 2700 {0x01e90001, 2701 "PMU3: got %d for cl in load_wrlvl_acsm\n" 2702 }, 2703 {0x01ea0003, 2704 "PMU3: In write_level_coarse() csn=%d dimm=%d pstate=%d\n" 2705 }, 2706 {0x01eb0003, 2707 "PMU3: left eye edge search db:%d ln:%d dly:0x%x\n" 2708 }, 2709 {0x01ec0003, 2710 "PMU3: right eye edge search db: %d ln: %d dly: 0x%x\n" 2711 }, 2712 {0x01ed0004, 2713 "PMU3: eye center db: %d ln: %d dly: 0x%x (maxdq: 0x%x)\n" 2714 }, 2715 {0x01ee0003, 2716 "PMU3: Wrote to TxDqDly db: %d ln: %d dly: 0x%x\n" 2717 }, 2718 {0x01ef0003, 2719 "PMU3: Wrote to TxDqDly db: %d ln: %d dly: 0x%x\n" 2720 }, 2721 {0x01f00002, 2722 "PMU3: Coarse write leveling nibble%2d is still failing for TxDqsDly=0x%04x\n" 2723 }, 2724 {0x01f10002, 2725 "PMU4: Coarse write leveling iteration %d saw %d data miscompares across the entire phy\n" 2726 }, 2727 {0x01f20000, 2728 "PMU: Error: Failed write leveling coarse\n" 2729 }, 2730 {0x01f30000, 2731 "PMU4: WL normalized pos : ................................|................................\n" 2732 }, 2733 {0x01f40009, 2734 "PMU4: WL margin for nib %2d: %08x%08x%08x%08x%08x%08x%08x%08x\n" 2735 }, 2736 {0x01f50000, 2737 "PMU4: WL normalized pos : ................................|................................\n" 2738 }, 2739 {0x01f60001, 2740 "PMU8: Adjust margin after WL coarse to be larger than %d\n" 2741 }, 2742 {0x01f70001, 2743 "PMU: Error: All margin after write leveling coarse are smaller than minMargin %d\n" 2744 }, 2745 {0x01f80002, 2746 "PMU8: Decrement nib %d TxDqsDly by %d fine step\n" 2747 }, 2748 {0x01f90003, 2749 "PMU3: In write_level_coarse() csn=%d dimm=%d pstate=%d\n" 2750 }, 2751 {0x01fa0005, 2752 "PMU2: Write level: dbyte %d nib%d dq/dmbi %2d dqsfine 0x%04x dqDly 0x%04x\n" 2753 }, 2754 {0x01fb0002, 2755 "PMU3: Coarse write leveling nibble%2d is still failing for TxDqsDly=0x%04x\n" 2756 }, 2757 {0x01fc0002, 2758 "PMU4: Coarse write leveling iteration %d saw %d data miscompares across the entire phy\n" 2759 }, 2760 {0x01fd0000, 2761 "PMU: Error: Failed write leveling coarse\n" 2762 }, 2763 {0x01fe0001, 2764 "PMU3: DWL delay = %d\n" 2765 }, 2766 {0x01ff0003, 2767 "PMU3: Errcnt for DWL nib %2d delay = %2d is %d\n" 2768 }, 2769 {0x02000002, 2770 "PMU3: DWL nibble %d sampled a 1 at delay %d\n" 2771 }, 2772 {0x02010003, 2773 "PMU3: DWL nibble %d passed at delay %d. Rising edge was at %d\n" 2774 }, 2775 {0x02020000, 2776 "PMU2: DWL did nto find a rising edge of memclk for all nibbles. Failing nibbles assumed to have rising edge close to fine delay 63\n" 2777 }, 2778 {0x02030002, 2779 "PMU2: Rising edge found in alias window, setting wrlvlDly for nibble %d = %d\n" 2780 }, 2781 {0x02040002, 2782 "PMU: Error: Failed DWL for nib %d with %d one\n" 2783 }, 2784 {0x02050003, 2785 "PMU2: Rising edge not found in alias window with %d one, leaving wrlvlDly for nibble %d = %d\n" 2786 }, 2787 {0x04000000, 2788 "PMU: Error:Mailbox Buffer Overflowed.\n" 2789 }, 2790 {0x04010000, 2791 "PMU: Error:Mailbox Buffer Overflowed.\n" 2792 }, 2793 {0x04020000, 2794 "PMU: ***** Assertion Error - terminating *****\n" 2795 }, 2796 {0x04030002, 2797 "PMU1: swapByte db %d by %d\n" 2798 }, 2799 {0x04040003, 2800 "PMU3: get_cmd_dly max(%d ps, %d memclk) = %d\n" 2801 }, 2802 {0x04050002, 2803 "PMU0: Write CSR 0x%06x 0x%04x\n" 2804 }, 2805 {0x04060002, 2806 "PMU0: hwt_init_ppgc_prbs(): Polynomial: %x, Deg: %d\n" 2807 }, 2808 {0x04070001, 2809 "PMU: Error: acsm_set_cmd to non existent instruction address %d\n" 2810 }, 2811 {0x04080001, 2812 "PMU: Error: acsm_set_cmd with unknown ddr cmd 0x%x\n" 2813 }, 2814 {0x0409000c, 2815 "PMU1: acsm_addr %02x, acsm_flgs %04x, ddr_cmd %02x, cmd_dly %02x, ddr_addr %04x, ddr_bnk %02x, ddr_cs %02x, cmd_rcnt %02x, AcsmSeq0/1/2/3 %04x %04x %04x %04x\n" 2816 }, 2817 {0x040a0000, 2818 "PMU: Error: Polling on ACSM done failed to complete in acsm_poll_done()...\n" 2819 }, 2820 {0x040b0000, 2821 "PMU1: acsm RUN\n" 2822 }, 2823 {0x040c0000, 2824 "PMU1: acsm STOPPED\n" 2825 }, 2826 {0x040d0002, 2827 "PMU1: acsm_init: acsm_mode %04x mxrdlat %04x\n" 2828 }, 2829 {0x040e0002, 2830 "PMU: Error: setAcsmCLCWL: cl and cwl must be each >= 2 and 5, resp. CL=%d CWL=%d\n" 2831 }, 2832 {0x040f0002, 2833 "PMU: Error: setAcsmCLCWL: cl and cwl must be each >= 5. CL=%d CWL=%d\n" 2834 }, 2835 {0x04100002, 2836 "PMU1: setAcsmCLCWL: CASL %04d WCASL %04d\n" 2837 }, 2838 {0x04110001, 2839 "PMU: Error: Reserved value of register F0RC0F found in message block: 0x%04x\n" 2840 }, 2841 {0x04120001, 2842 "PMU3: Written MRS to CS=0x%02x\n" 2843 }, 2844 {0x04130001, 2845 "PMU3: Written MRS to CS=0x%02x\n" 2846 }, 2847 {0x04140000, 2848 "PMU3: Entering Boot Freq Mode.\n" 2849 }, 2850 {0x04150001, 2851 "PMU: Error: Boot clock divider setting of %d is too small\n" 2852 }, 2853 {0x04160000, 2854 "PMU3: Exiting Boot Freq Mode.\n" 2855 }, 2856 {0x04170002, 2857 "PMU3: Writing MR%d OP=%x\n" 2858 }, 2859 {0x04180000, 2860 "PMU: Error: Delay too large in slomo\n" 2861 }, 2862 {0x04190001, 2863 "PMU3: Written MRS to CS=0x%02x\n" 2864 }, 2865 {0x041a0000, 2866 "PMU3: Enable Channel A\n" 2867 }, 2868 {0x041b0000, 2869 "PMU3: Enable Channel B\n" 2870 }, 2871 {0x041c0000, 2872 "PMU3: Enable All Channels\n" 2873 }, 2874 {0x041d0002, 2875 "PMU2: Use PDA mode to set MR%d with value 0x%02x\n" 2876 }, 2877 {0x041e0001, 2878 "PMU3: Written Vref with PDA to CS=0x%02x\n" 2879 }, 2880 {0x041f0000, 2881 "PMU1: start_cal: DEBUG: setting CalRun to 1\n" 2882 }, 2883 {0x04200000, 2884 "PMU1: start_cal: DEBUG: setting CalRun to 0\n" 2885 }, 2886 {0x04210001, 2887 "PMU1: lock_pll_dll: DEBUG: pstate = %d\n" 2888 }, 2889 {0x04220001, 2890 "PMU1: lock_pll_dll: DEBUG: dfifreqxlat_pstate = %d\n" 2891 }, 2892 {0x04230001, 2893 "PMU1: lock_pll_dll: DEBUG: pllbypass = %d\n" 2894 }, 2895 {0x04240001, 2896 "PMU3: SaveLcdlSeed: Saving seed %d\n" 2897 }, 2898 {0x04250000, 2899 "PMU1: in phy_defaults()\n" 2900 }, 2901 {0x04260003, 2902 "PMU3: ACXConf:%d MaxNumDbytes:%d NumDfi:%d\n" 2903 }, 2904 {0x04270005, 2905 "PMU1: setAltAcsmCLCWL setting cl=%d cwl=%d\n" 2906 }, 2907 }; 2908 #endif /* DEBUG */ 2909 #endif 2910