soc/intel/cannonlake: Add debugging of a number of FSPM parameters
This implements soc_display_fspm_upd_params for soc/intel/cannonlake Some parameters are available only on Coffee Lake FSP or Comet Lake FSP Tested on System76 galp3-c (Coffee Lake FSP) and System76 galp4 (Comet Lake FSP)
This commit is contained in:
parent
d4e111ff97
commit
954d813a61
@ -141,3 +141,316 @@ void mainboard_romstage_entry(void)
|
||||
if (!s3wake)
|
||||
save_dimm_info();
|
||||
}
|
||||
|
||||
void soc_display_fspm_upd_params(const FSPM_UPD *fspm_old_upd,
|
||||
const FSPM_UPD *fspm_new_upd)
|
||||
{
|
||||
const FSP_M_CONFIG *new;
|
||||
const FSP_M_CONFIG *old;
|
||||
|
||||
old = &fspm_old_upd->FspmConfig;
|
||||
new = &fspm_new_upd->FspmConfig;
|
||||
|
||||
/* Display the parameters for MemoryInit */
|
||||
printk(BIOS_SPEW, "UPD values for MemoryInit:\n");
|
||||
|
||||
//TODO: Add more Comet Lake values
|
||||
fsp_display_upd_value("PlatformMemorySize", 8,
|
||||
old->PlatformMemorySize, new->PlatformMemorySize);
|
||||
fsp_display_upd_value("MemorySpdPtr00", 4, old->MemorySpdPtr00,
|
||||
new->MemorySpdPtr00);
|
||||
fsp_display_upd_value("MemorySpdPtr01", 4, old->MemorySpdPtr01,
|
||||
new->MemorySpdPtr01);
|
||||
fsp_display_upd_value("MemorySpdPtr10", 4, old->MemorySpdPtr10,
|
||||
new->MemorySpdPtr10);
|
||||
fsp_display_upd_value("MemorySpdPtr11", 4, old->MemorySpdPtr11,
|
||||
new->MemorySpdPtr11);
|
||||
fsp_display_upd_value("MemorySpdDataLen", 2, old->MemorySpdDataLen,
|
||||
new->MemorySpdDataLen);
|
||||
fsp_display_upd_value("DqByteMapCh0[0]", 1, old->DqByteMapCh0[0],
|
||||
new->DqByteMapCh0[0]);
|
||||
fsp_display_upd_value("DqByteMapCh0[1]", 1, old->DqByteMapCh0[1],
|
||||
new->DqByteMapCh0[1]);
|
||||
fsp_display_upd_value("DqByteMapCh0[2]", 1, old->DqByteMapCh0[2],
|
||||
new->DqByteMapCh0[2]);
|
||||
fsp_display_upd_value("DqByteMapCh0[3]", 1, old->DqByteMapCh0[3],
|
||||
new->DqByteMapCh0[3]);
|
||||
fsp_display_upd_value("DqByteMapCh0[4]", 1, old->DqByteMapCh0[4],
|
||||
new->DqByteMapCh0[4]);
|
||||
fsp_display_upd_value("DqByteMapCh0[5]", 1, old->DqByteMapCh0[5],
|
||||
new->DqByteMapCh0[5]);
|
||||
fsp_display_upd_value("DqByteMapCh0[6]", 1, old->DqByteMapCh0[6],
|
||||
new->DqByteMapCh0[6]);
|
||||
fsp_display_upd_value("DqByteMapCh0[7]", 1, old->DqByteMapCh0[7],
|
||||
new->DqByteMapCh0[7]);
|
||||
fsp_display_upd_value("DqByteMapCh0[8]", 1, old->DqByteMapCh0[8],
|
||||
new->DqByteMapCh0[8]);
|
||||
fsp_display_upd_value("DqByteMapCh0[9]", 1, old->DqByteMapCh0[9],
|
||||
new->DqByteMapCh0[9]);
|
||||
fsp_display_upd_value("DqByteMapCh0[10]", 1, old->DqByteMapCh0[10],
|
||||
new->DqByteMapCh0[10]);
|
||||
fsp_display_upd_value("DqByteMapCh0[11]", 1, old->DqByteMapCh0[11],
|
||||
new->DqByteMapCh0[11]);
|
||||
fsp_display_upd_value("DqByteMapCh1[0]", 1, old->DqByteMapCh1[0],
|
||||
new->DqByteMapCh1[0]);
|
||||
fsp_display_upd_value("DqByteMapCh1[1]", 1, old->DqByteMapCh1[1],
|
||||
new->DqByteMapCh1[1]);
|
||||
fsp_display_upd_value("DqByteMapCh1[2]", 1, old->DqByteMapCh1[2],
|
||||
new->DqByteMapCh1[2]);
|
||||
fsp_display_upd_value("DqByteMapCh1[3]", 1, old->DqByteMapCh1[3],
|
||||
new->DqByteMapCh1[3]);
|
||||
fsp_display_upd_value("DqByteMapCh1[4]", 1, old->DqByteMapCh1[4],
|
||||
new->DqByteMapCh1[4]);
|
||||
fsp_display_upd_value("DqByteMapCh1[5]", 1, old->DqByteMapCh1[5],
|
||||
new->DqByteMapCh1[5]);
|
||||
fsp_display_upd_value("DqByteMapCh1[6]", 1, old->DqByteMapCh1[6],
|
||||
new->DqByteMapCh1[6]);
|
||||
fsp_display_upd_value("DqByteMapCh1[7]", 1, old->DqByteMapCh1[7],
|
||||
new->DqByteMapCh1[7]);
|
||||
fsp_display_upd_value("DqByteMapCh1[8]", 1, old->DqByteMapCh1[8],
|
||||
new->DqByteMapCh1[8]);
|
||||
fsp_display_upd_value("DqByteMapCh1[9]", 1, old->DqByteMapCh1[9],
|
||||
new->DqByteMapCh1[9]);
|
||||
fsp_display_upd_value("DqByteMapCh1[10]", 1, old->DqByteMapCh1[10],
|
||||
new->DqByteMapCh1[10]);
|
||||
fsp_display_upd_value("DqByteMapCh1[11]", 1, old->DqByteMapCh1[11],
|
||||
new->DqByteMapCh1[11]);
|
||||
fsp_display_upd_value("DqsMapCpu2DramCh0[0]", 1,
|
||||
old->DqsMapCpu2DramCh0[0], new->DqsMapCpu2DramCh0[0]);
|
||||
fsp_display_upd_value("DqsMapCpu2DramCh0[1]", 1,
|
||||
old->DqsMapCpu2DramCh0[1], new->DqsMapCpu2DramCh0[1]);
|
||||
fsp_display_upd_value("DqsMapCpu2DramCh0[2]", 1,
|
||||
old->DqsMapCpu2DramCh0[2], new->DqsMapCpu2DramCh0[2]);
|
||||
fsp_display_upd_value("DqsMapCpu2DramCh0[3]", 1,
|
||||
old->DqsMapCpu2DramCh0[3], new->DqsMapCpu2DramCh0[3]);
|
||||
fsp_display_upd_value("DqsMapCpu2DramCh0[4]", 1,
|
||||
old->DqsMapCpu2DramCh0[4], new->DqsMapCpu2DramCh0[4]);
|
||||
fsp_display_upd_value("DqsMapCpu2DramCh0[5]", 1,
|
||||
old->DqsMapCpu2DramCh0[5], new->DqsMapCpu2DramCh0[5]);
|
||||
fsp_display_upd_value("DqsMapCpu2DramCh0[6]", 1,
|
||||
old->DqsMapCpu2DramCh0[6], new->DqsMapCpu2DramCh0[6]);
|
||||
fsp_display_upd_value("DqsMapCpu2DramCh0[7]", 1,
|
||||
old->DqsMapCpu2DramCh0[7], new->DqsMapCpu2DramCh0[7]);
|
||||
fsp_display_upd_value("DqsMapCpu2DramCh1[0]", 1,
|
||||
old->DqsMapCpu2DramCh1[0], new->DqsMapCpu2DramCh1[0]);
|
||||
fsp_display_upd_value("DqsMapCpu2DramCh1[1]", 1,
|
||||
old->DqsMapCpu2DramCh1[1], new->DqsMapCpu2DramCh1[1]);
|
||||
fsp_display_upd_value("DqsMapCpu2DramCh1[2]", 1,
|
||||
old->DqsMapCpu2DramCh1[2], new->DqsMapCpu2DramCh1[2]);
|
||||
fsp_display_upd_value("DqsMapCpu2DramCh1[3]", 1,
|
||||
old->DqsMapCpu2DramCh1[3], new->DqsMapCpu2DramCh1[3]);
|
||||
fsp_display_upd_value("DqsMapCpu2DramCh1[4]", 1,
|
||||
old->DqsMapCpu2DramCh1[4], new->DqsMapCpu2DramCh1[4]);
|
||||
fsp_display_upd_value("DqsMapCpu2DramCh1[5]", 1,
|
||||
old->DqsMapCpu2DramCh1[5], new->DqsMapCpu2DramCh1[5]);
|
||||
fsp_display_upd_value("DqsMapCpu2DramCh1[6]", 1,
|
||||
old->DqsMapCpu2DramCh1[6], new->DqsMapCpu2DramCh1[6]);
|
||||
fsp_display_upd_value("DqsMapCpu2DramCh1[7]", 1,
|
||||
old->DqsMapCpu2DramCh1[7], new->DqsMapCpu2DramCh1[7]);
|
||||
fsp_display_upd_value("RcompResistor[0]", 2, old->RcompResistor[0],
|
||||
new->RcompResistor[0]);
|
||||
fsp_display_upd_value("RcompResistor[1]", 2, old->RcompResistor[1],
|
||||
new->RcompResistor[1]);
|
||||
fsp_display_upd_value("RcompResistor[2]", 2, old->RcompResistor[2],
|
||||
new->RcompResistor[2]);
|
||||
fsp_display_upd_value("RcompTarget[0]", 2, old->RcompTarget[0],
|
||||
new->RcompTarget[0]);
|
||||
fsp_display_upd_value("RcompTarget[1]", 2, old->RcompTarget[1],
|
||||
new->RcompTarget[1]);
|
||||
fsp_display_upd_value("RcompTarget[2]", 2, old->RcompTarget[2],
|
||||
new->RcompTarget[2]);
|
||||
fsp_display_upd_value("RcompTarget[3]", 2, old->RcompTarget[3],
|
||||
new->RcompTarget[3]);
|
||||
fsp_display_upd_value("RcompTarget[4]", 2, old->RcompTarget[4],
|
||||
new->RcompTarget[4]);
|
||||
fsp_display_upd_value("DqPinsInterleaved", 1, old->DqPinsInterleaved,
|
||||
new->DqPinsInterleaved);
|
||||
fsp_display_upd_value("CaVrefConfig", 1, old->CaVrefConfig,
|
||||
new->CaVrefConfig);
|
||||
fsp_display_upd_value("SmramMask", 1, old->SmramMask, new->SmramMask);
|
||||
#if CONFIG(SOC_INTEL_COMETLAKE)
|
||||
// Value only exists on Comet Lake
|
||||
fsp_display_upd_value("MrcTimeMeasure", 1, old->MrcTimeMeasure,
|
||||
new->MrcTimeMeasure);
|
||||
#endif
|
||||
fsp_display_upd_value("MrcFastBoot", 1, old->MrcFastBoot,
|
||||
new->MrcFastBoot);
|
||||
fsp_display_upd_value("RmtPerTask", 1, old->RmtPerTask,
|
||||
new->RmtPerTask);
|
||||
fsp_display_upd_value("TrainTrace", 1, old->TrainTrace,
|
||||
new->TrainTrace);
|
||||
fsp_display_upd_value("IedSize", 4, old->IedSize, new->IedSize);
|
||||
fsp_display_upd_value("TsegSize", 4, old->TsegSize, new->TsegSize);
|
||||
fsp_display_upd_value("MmioSize", 2, old->MmioSize, new->MmioSize);
|
||||
fsp_display_upd_value("ProbelessTrace", 1, old->ProbelessTrace,
|
||||
new->ProbelessTrace);
|
||||
fsp_display_upd_value("GdxcIotSize", 1, old->GdxcIotSize,
|
||||
new->GdxcIotSize);
|
||||
fsp_display_upd_value("GdxcMotSize", 1, old->GdxcMotSize,
|
||||
new->GdxcMotSize);
|
||||
fsp_display_upd_value("SmbusEnable", 1, old->SmbusEnable,
|
||||
new->SmbusEnable);
|
||||
fsp_display_upd_value("SpdAddressTable[0]", 1, old->SpdAddressTable[0],
|
||||
new->SpdAddressTable[0]);
|
||||
fsp_display_upd_value("SpdAddressTable[1]", 1, old->SpdAddressTable[1],
|
||||
new->SpdAddressTable[1]);
|
||||
fsp_display_upd_value("SpdAddressTable[2]", 1, old->SpdAddressTable[2],
|
||||
new->SpdAddressTable[2]);
|
||||
fsp_display_upd_value("SpdAddressTable[3]", 1, old->SpdAddressTable[3],
|
||||
new->SpdAddressTable[3]);
|
||||
fsp_display_upd_value("PlatformDebugConsent", 1,
|
||||
old->PlatformDebugConsent, new->PlatformDebugConsent);
|
||||
fsp_display_upd_value("DciUsb3TypecUfpDbg", 1, old->DciUsb3TypecUfpDbg,
|
||||
new->DciUsb3TypecUfpDbg);
|
||||
fsp_display_upd_value("PchTraceHubMode", 1, old->PchTraceHubMode,
|
||||
new->PchTraceHubMode);
|
||||
fsp_display_upd_value("PchTraceHubMemReg0Size", 1,
|
||||
old->PchTraceHubMemReg0Size, new->PchTraceHubMemReg0Size);
|
||||
fsp_display_upd_value("PchTraceHubMemReg1Size", 1,
|
||||
old->PchTraceHubMemReg1Size, new->PchTraceHubMemReg1Size);
|
||||
// Skip PchPreMemRsvd[9]
|
||||
fsp_display_upd_value("IgdDvmt50PreAlloc", 1, old->IgdDvmt50PreAlloc,
|
||||
new->IgdDvmt50PreAlloc);
|
||||
fsp_display_upd_value("InternalGfx", 1, old->InternalGfx,
|
||||
new->InternalGfx);
|
||||
fsp_display_upd_value("ApertureSize", 1, old->ApertureSize,
|
||||
new->ApertureSize);
|
||||
fsp_display_upd_value("UserBd", 1, old->UserBd,
|
||||
new->UserBd);
|
||||
fsp_display_upd_value("SaGv", 1, old->SaGv,
|
||||
new->SaGv);
|
||||
// Skip UnusedUpdSpace0
|
||||
fsp_display_upd_value("DdrFreqLimit", 2, old->DdrFreqLimit,
|
||||
new->DdrFreqLimit);
|
||||
fsp_display_upd_value("FreqSaGvLow", 2, old->FreqSaGvLow,
|
||||
new->FreqSaGvLow);
|
||||
#if ! CONFIG(SOC_INTEL_COMETLAKE)
|
||||
// Value does not exist on Comet Lake
|
||||
fsp_display_upd_value("FreqSaGvMid", 2, old->FreqSaGvMid,
|
||||
new->FreqSaGvMid);
|
||||
#endif
|
||||
fsp_display_upd_value("RMT", 1, old->RMT,
|
||||
new->RMT);
|
||||
fsp_display_upd_value("DisableDimmChannel0", 1,
|
||||
old->DisableDimmChannel0, new->DisableDimmChannel0);
|
||||
fsp_display_upd_value("DisableDimmChannel1", 1,
|
||||
old->DisableDimmChannel1, new->DisableDimmChannel1);
|
||||
fsp_display_upd_value("ScramblerSupport", 1, old->ScramblerSupport,
|
||||
new->ScramblerSupport);
|
||||
fsp_display_upd_value("SkipMpInit", 1, old->SkipMpInit,
|
||||
new->SkipMpInit);
|
||||
// Skip UnusedUpdSpace1[15]
|
||||
fsp_display_upd_value("SpdProfileSelected", 1,
|
||||
old->SpdProfileSelected, new->SpdProfileSelected);
|
||||
fsp_display_upd_value("RefClk", 1, old->RefClk,
|
||||
new->RefClk);
|
||||
fsp_display_upd_value("VddVoltage", 2, old->VddVoltage,
|
||||
new->VddVoltage);
|
||||
fsp_display_upd_value("Ratio", 1, old->Ratio,
|
||||
new->Ratio);
|
||||
fsp_display_upd_value("OddRatioMode", 1, old->OddRatioMode,
|
||||
new->OddRatioMode);
|
||||
fsp_display_upd_value("tCL", 1, old->tCL,
|
||||
new->tCL);
|
||||
fsp_display_upd_value("tCWL", 1, old->tCWL,
|
||||
new->tCWL);
|
||||
fsp_display_upd_value("tRCDtRP", 1, old->tRCDtRP,
|
||||
new->tRCDtRP);
|
||||
fsp_display_upd_value("tRRD", 1, old->tRRD,
|
||||
new->tRRD);
|
||||
fsp_display_upd_value("tFAW", 2, old->tFAW,
|
||||
new->tFAW);
|
||||
fsp_display_upd_value("tRAS", 2, old->tRAS,
|
||||
new->tRAS);
|
||||
fsp_display_upd_value("tREFI", 2, old->tREFI,
|
||||
new->tREFI);
|
||||
fsp_display_upd_value("tRFC", 2, old->tRFC,
|
||||
new->tRFC);
|
||||
fsp_display_upd_value("tRTP", 1, old->tRTP,
|
||||
new->tRTP);
|
||||
fsp_display_upd_value("tWR", 1, old->tWR,
|
||||
new->tWR);
|
||||
fsp_display_upd_value("NModeSupport", 1, old->NModeSupport,
|
||||
new->NModeSupport);
|
||||
fsp_display_upd_value("DllBwEn0", 1, old->DllBwEn0,
|
||||
new->DllBwEn0);
|
||||
fsp_display_upd_value("DllBwEn1", 1, old->DllBwEn1,
|
||||
new->DllBwEn1);
|
||||
fsp_display_upd_value("DllBwEn2", 1, old->DllBwEn2,
|
||||
new->DllBwEn2);
|
||||
fsp_display_upd_value("DllBwEn3", 1, old->DllBwEn3,
|
||||
new->DllBwEn3);
|
||||
fsp_display_upd_value("IsvtIoPort", 1, old->IsvtIoPort,
|
||||
new->IsvtIoPort);
|
||||
fsp_display_upd_value("CpuTraceHubMode", 1, old->CpuTraceHubMode,
|
||||
new->CpuTraceHubMode);
|
||||
fsp_display_upd_value("CpuTraceHubMemReg0Size", 1,
|
||||
old->CpuTraceHubMemReg0Size, new->CpuTraceHubMemReg0Size);
|
||||
fsp_display_upd_value("CpuTraceHubMemReg1Size", 1,
|
||||
old->CpuTraceHubMemReg1Size, new->CpuTraceHubMemReg1Size);
|
||||
fsp_display_upd_value("PeciC10Reset", 1, old->PeciC10Reset,
|
||||
new->PeciC10Reset);
|
||||
fsp_display_upd_value("PeciSxReset", 1, old->PeciSxReset,
|
||||
new->PeciSxReset);
|
||||
// Skip UnusedUpdSpace2[4]
|
||||
fsp_display_upd_value("PchHdaEnable", 1, old->PchHdaEnable,
|
||||
new->PchHdaEnable);
|
||||
fsp_display_upd_value("PchIshEnable", 1, old->PchIshEnable,
|
||||
new->PchIshEnable);
|
||||
fsp_display_upd_value("HeciTimeouts", 1, old->HeciTimeouts,
|
||||
new->HeciTimeouts);
|
||||
// Skip UnusedUpdSpace3
|
||||
fsp_display_upd_value("Heci1BarAddress", 4, old->Heci1BarAddress,
|
||||
new->Heci1BarAddress);
|
||||
fsp_display_upd_value("Heci2BarAddress", 4, old->Heci2BarAddress,
|
||||
new->Heci2BarAddress);
|
||||
fsp_display_upd_value("Heci3BarAddress", 4, old->Heci3BarAddress,
|
||||
new->Heci3BarAddress);
|
||||
fsp_display_upd_value("SgDelayAfterPwrEn", 2, old->SgDelayAfterPwrEn,
|
||||
new->SgDelayAfterPwrEn);
|
||||
fsp_display_upd_value("SgDelayAfterHoldReset", 2, old->SgDelayAfterHoldReset,
|
||||
new->SgDelayAfterHoldReset);
|
||||
fsp_display_upd_value("MmioSizeAdjustment", 2, old->MmioSizeAdjustment,
|
||||
new->MmioSizeAdjustment);
|
||||
fsp_display_upd_value("DmiGen3ProgramStaticEq", 1,
|
||||
old->DmiGen3ProgramStaticEq, new->DmiGen3ProgramStaticEq);
|
||||
fsp_display_upd_value("Peg0Enable", 1, old->Peg0Enable,
|
||||
new->Peg0Enable);
|
||||
fsp_display_upd_value("Peg1Enable", 1, old->Peg1Enable,
|
||||
new->Peg1Enable);
|
||||
fsp_display_upd_value("Peg2Enable", 1, old->Peg2Enable,
|
||||
new->Peg2Enable);
|
||||
fsp_display_upd_value("Peg3Enable", 1, old->Peg3Enable,
|
||||
new->Peg3Enable);
|
||||
fsp_display_upd_value("Peg0MaxLinkSpeed", 1, old->Peg0MaxLinkSpeed,
|
||||
new->Peg0MaxLinkSpeed);
|
||||
fsp_display_upd_value("Peg1MaxLinkSpeed", 1, old->Peg1MaxLinkSpeed,
|
||||
new->Peg1MaxLinkSpeed);
|
||||
fsp_display_upd_value("Peg2MaxLinkSpeed", 1, old->Peg2MaxLinkSpeed,
|
||||
new->Peg2MaxLinkSpeed);
|
||||
fsp_display_upd_value("Peg3MaxLinkSpeed", 1, old->Peg3MaxLinkSpeed,
|
||||
new->Peg3MaxLinkSpeed);
|
||||
fsp_display_upd_value("Peg0MaxLinkWidth", 1, old->Peg0MaxLinkWidth,
|
||||
new->Peg0MaxLinkWidth);
|
||||
fsp_display_upd_value("Peg1MaxLinkWidth", 1, old->Peg1MaxLinkWidth,
|
||||
new->Peg1MaxLinkWidth);
|
||||
fsp_display_upd_value("Peg2MaxLinkWidth", 1, old->Peg2MaxLinkWidth,
|
||||
new->Peg2MaxLinkWidth);
|
||||
fsp_display_upd_value("Peg3MaxLinkWidth", 1, old->Peg3MaxLinkWidth,
|
||||
new->Peg3MaxLinkWidth);
|
||||
fsp_display_upd_value("Peg0PowerDownUnusedLanes", 1,
|
||||
old->Peg0PowerDownUnusedLanes, new->Peg0PowerDownUnusedLanes);
|
||||
fsp_display_upd_value("Peg1PowerDownUnusedLanes", 1,
|
||||
old->Peg1PowerDownUnusedLanes, new->Peg1PowerDownUnusedLanes);
|
||||
fsp_display_upd_value("Peg2PowerDownUnusedLanes", 1,
|
||||
old->Peg2PowerDownUnusedLanes, new->Peg2PowerDownUnusedLanes);
|
||||
fsp_display_upd_value("Peg3PowerDownUnusedLanes", 1,
|
||||
old->Peg3PowerDownUnusedLanes, new->Peg3PowerDownUnusedLanes);
|
||||
fsp_display_upd_value("InitPcieAspmAfterOprom", 1,
|
||||
old->InitPcieAspmAfterOprom, new->InitPcieAspmAfterOprom);
|
||||
fsp_display_upd_value("PegDisableSpreadSpectrumClocking", 1,
|
||||
old->PegDisableSpreadSpectrumClocking,
|
||||
new->PegDisableSpreadSpectrumClocking);
|
||||
// Skip UnusedUpdSpace4[3]
|
||||
//TODO: Offset 0x128 and up
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user