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