diff options
author | Srinidhi N Kaushik <srinidhi.n.kaushik@intel.com> | 2021-05-21 16:16:05 -0700 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2021-05-28 18:25:26 +0000 |
commit | eab9290b5f77880bfefd0215ffb7e9844c76b5a2 (patch) | |
tree | eade09511983ecf8364b765f83fa375d6828f3bc /src/vendorcode/intel | |
parent | 05b6b37a7c8703416d6ebfaaa860f3b2dad33fa0 (diff) |
vendorcode/intel/fsp: Update to include post PRQ UPDs for Tiger Lake
Update FSP headers for Tiger Lake platform generated based on FSP
version 4133 to include post PRQ UPDs.
BUG=b:188452018
BRANCH=none
TEST=build voxel
Signed-off-by: Srinidhi N Kaushik <srinidhi.n.kaushik@intel.com>
Change-Id: I493391294391c1222a1aa5fdb86baad968abf7a6
Reviewed-on: https://review.coreboot.org/c/coreboot/+/54811
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/vendorcode/intel')
-rw-r--r-- | src/vendorcode/intel/fsp/fsp2_0/tigerlake/FspmUpd.h | 1184 | ||||
-rw-r--r-- | src/vendorcode/intel/fsp/fsp2_0/tigerlake/FspsUpd.h | 1155 |
2 files changed, 2138 insertions, 201 deletions
diff --git a/src/vendorcode/intel/fsp/fsp2_0/tigerlake/FspmUpd.h b/src/vendorcode/intel/fsp/fsp2_0/tigerlake/FspmUpd.h index e84b34f49d..6210f3c5cb 100644 --- a/src/vendorcode/intel/fsp/fsp2_0/tigerlake/FspmUpd.h +++ b/src/vendorcode/intel/fsp/fsp2_0/tigerlake/FspmUpd.h @@ -248,9 +248,9 @@ typedef struct { **/ UINT8 TrainTrace; -/** Offset 0x012D - Reserved +/** Offset 0x012D **/ - UINT8 Reserved0[3]; + UINT8 UnusedUpdSpace0[3]; /** Offset 0x0130 - Intel Enhanced Debug <b>@deprecated</b> - Not used and has no effect @@ -346,9 +346,17 @@ typedef struct { **/ UINT8 PchTraceHubMemReg1Size; -/** Offset 0x0154 - Reserved +/** Offset 0x0154 - HD Audio DMIC Link Clock Select + Determines DMIC<N> Clock Source. 0: Both, 1: ClkA, 2: ClkB + 0: Both, 1: ClkA, 2: ClkB **/ - UINT8 Reserved1[7]; + UINT8 PchHdaAudioLinkDmicClockSelect[2]; + +/** Offset 0x0156 - PchPreMemRsvd + Reserved for PCH Pre-Mem Reserved + $EN_DIS +**/ + UINT8 PchPreMemRsvd[5]; /** Offset 0x015B - State of X2APIC_OPT_OUT bit in the DMAR table 0=Disable/Clear, 1=Enable/Set @@ -362,9 +370,9 @@ typedef struct { **/ UINT8 DmaControlGuarantee; -/** Offset 0x015D - Reserved +/** Offset 0x015D **/ - UINT8 Reserved2[3]; + UINT8 UnusedUpdSpace1[3]; /** Offset 0x0160 - Base addresses for VT-d function MMIO access Base addresses for VT-d MMIO access per VT-d engine @@ -432,9 +440,9 @@ typedef struct { **/ UINT8 UserBd; -/** Offset 0x018D - Reserved +/** Offset 0x018D **/ - UINT8 Reserved3; + UINT8 UnusedUpdSpace2; /** Offset 0x018E - DDR Frequency Limit Maximum Memory Frequency Selections in Mhz. Options are 1067, 1333, 1600, 1867, @@ -519,9 +527,9 @@ typedef struct { **/ UINT8 RefClk; -/** Offset 0x019F - Reserved +/** Offset 0x019F **/ - UINT8 Reserved4; + UINT8 UnusedUpdSpace3; /** Offset 0x01A0 - Memory Voltage DRAM voltage (Vdd) (supply voltage for input buffers and core logic of the DRAM @@ -550,9 +558,9 @@ typedef struct { **/ UINT8 tCWL; -/** Offset 0x01A5 - Reserved +/** Offset 0x01A5 **/ - UINT8 Reserved5; + UINT8 UnusedUpdSpace4; /** Offset 0x01A6 - tFAW Min Four Activate Window Delay Time, 0: AUTO, max: 63. Only used if FspmUpd->FspmConfig.SpdProfileSelected @@ -572,9 +580,9 @@ typedef struct { **/ UINT8 tRCDtRP; -/** Offset 0x01AB - Reserved +/** Offset 0x01AB **/ - UINT8 Reserved6; + UINT8 UnusedUpdSpace5; /** Offset 0x01AC - tREFI Refresh Interval, 0: AUTO, max: 65535. Only used if FspmUpd->FspmConfig.SpdProfileSelected @@ -653,9 +661,20 @@ typedef struct { **/ UINT8 CpuTraceHubMemReg1Size; -/** Offset 0x01BA - Reserved +/** Offset 0x01BA - SAGV Gear Ratio + Gear Selection for SAGV points. 0 - Auto, 1-1 Gear 1, 2-Gear 2 +**/ + UINT8 SaGvGear[4]; + +/** Offset 0x01BE - SAGV Frequency + SAGV Frequency per point in Mhz. 0 for Auto and a ratio of 133/100MHz: 1333/1300. +**/ + UINT16 SaGvFreq[4]; + +/** Offset 0x01C6 - SAGV Disabled Gear Ratio + Gear Selection for SAGV Disabled. 0 - Auto, 1-1 Gear 1, 2-Gear 2 **/ - UINT8 Reserved7[13]; + UINT8 GearRatio; /** Offset 0x01C7 - HECI Timeouts 0: Disable, 1: Enable (Default) timeout check for HECI @@ -716,9 +735,9 @@ typedef struct { **/ UINT8 PsmiRegionSize; -/** Offset 0x01DD - Reserved +/** Offset 0x01DD **/ - UINT8 Reserved8[3]; + UINT8 UnusedUpdSpace6[3]; /** Offset 0x01E0 - Temporary MMIO address for GMADR Obsolete field now and it has been extended to 64 bit address, used GmAdr64 @@ -739,9 +758,14 @@ typedef struct { **/ UINT16 GttSize; -/** Offset 0x01EA - Reserved +/** Offset 0x01EA **/ - UINT8 Reserved9[98]; + UINT8 UnusedUpdSpace7[2]; + +/** Offset 0x01EC - Hybrid Graphics GPIO information for PEG 0 + Hybrid Graphics GPIO information for PEG 0, for Reset, power and wake GPIOs +**/ + UINT32 CpuPcie0Rtd3Gpio[24]; /** Offset 0x024C - Enable/Disable MRC TXT dependency When enabled MRC execution will wait for TXT initialization to be done first. Disabled(0x0)(Default): @@ -824,9 +848,9 @@ typedef struct { **/ UINT8 ImguClkOutEn[6]; -/** Offset 0x0263 - Reserved +/** Offset 0x0263 **/ - UINT8 Reserved10; + UINT8 UnusedUpdSpace8; /** Offset 0x0264 - Enable PCIE RP Mask Enable/disable PCIE Root Ports. 0: disable, 1: enable. One bit for each port, bit0 @@ -834,9 +858,12 @@ typedef struct { **/ UINT32 CpuPcieRpEnableMask; -/** Offset 0x0268 - Reserved +/** Offset 0x0268 - Assertion on Link Down GPIOs + GPIO Assertion on Link Down. Disabled(0x0)(Default): Disable assertion on Link Down + GPIOs, Enabled(0x1): Enable assertion on Link Down GPIOs + 0:Disable, 1:Enable **/ - UINT8 Reserved11; + UINT8 CpuPcieRpLinkDownGpios; /** Offset 0x0269 - RpClockReqMsgEnable **/ @@ -852,9 +879,17 @@ typedef struct { **/ UINT8 GtPsmiSupport; -/** Offset 0x026F - Reserved +/** Offset 0x026F - Selection of DiSM Region Size + DiSM Size to be allocated for 2LM Sku Default is 0 + 0:0GB, 1:1GB, 2:2GB, 3:3GB, 4:4GB, 5:5GB, 6:6GB, 7:7GB +**/ + UINT8 DismSize; + +/** Offset 0x0270 - Enable Display memory map programming for DFD Restore + 0(Default)=Disable, 1=Enable + $EN_DIS **/ - UINT8 Reserved12[2]; + UINT8 DfdRestoreEnable; /** Offset 0x0271 - Program GPIOs for LFP on DDI port-A device 0=Disabled,1(Default)=eDP, 2=MIPI DSI @@ -952,9 +987,80 @@ typedef struct { **/ UINT8 DdiPort4Ddc; -/** Offset 0x0281 - Reserved +/** Offset 0x0281 - Enable Gt CLOS + 0(Default)=Disable, 1=Enable + $EN_DIS +**/ + UINT8 GtClosEnable; + +/** Offset 0x0282 +**/ + UINT8 UnusedUpdSpace9[6]; + +/** Offset 0x0288 - Temporary MMIO address for GMADR + The reference code will use this as Temporary MMIO address space to access GMADR + Registers.Platform should provide conflict free Temporary MMIO Range: GmAdr to + (GmAdr + ApertureSize). Default is (PciExpressBaseAddress - ApertureSize) to (PciExpressBaseAddress + - 0x1) (Where ApertureSize = 256MB, 512MB, 1024MB and 2048MB) +**/ + UINT64 GmAdr64; + +/** Offset 0x0290 - Hybrid Graphics Slot Selection + PEG or PCH Slot Selection for Hybrid Graphics +**/ + UINT8 HgSlot; + +/** Offset 0x0291 - DMI ASPM Configuration:{Combo + Set ASPM Configuration + 0:Disabled, 1:L0s, 2:L1, 3:L1L0s +**/ + UINT8 DmiAspm; + +/** Offset 0x0292 - DMI ASPM Control Configuration:{Combo + Set ASPM Control configuration + 0:Disabled, 1:L0s, 2:L1, 3:L1L0s **/ - UINT8 Reserved13[121]; + UINT8 DmiAspmCtrl; + +/** Offset 0x0293 - DMI ASPM L1 exit Latency + Range: 0-7, 4 is default L1 exit Latency +**/ + UINT8 DmiAspmL1ExitLatency; + +/** Offset 0x0294 - Per-core HT Disable + Defines the per-core HT disable mask where: 1 - Disable selected logical core HT, + 0 - is ignored. Input is in HEX and each bit maps to a logical core. Ex. A value + of '1F' would disable HT for cores 4,3,2,1 and 0. Default is 0, all cores have + HT enabled. Range is 0 - 0x7F for max 8 cores. You can only disable up to MAX_CORE_COUNT - 1. +**/ + UINT16 PerCoreHtDisable; + +/** Offset 0x0296 - DEKEL CDR Relock + Enable/Disable CDR Relock. 0: Disable(Default); 1: Enable +**/ + UINT8 CpuPcieRpCdrRelock[4]; + +/** Offset 0x029A - Realtime Memory OverClock + Disable/Enables Realtime Memory OverClock + $EN_DIS +**/ + UINT8 RealtimeMemoryOC; + +/** Offset 0x029B - Xl1el + Enable/Disable NewFom for DEKEL Programming. 0: Disable(Default); 1: Enable +**/ + UINT8 CpuPcieNewFom[4]; + +/** Offset 0x029F - Xl1el + Enable/Disable NewFomDisable. 0: Disable(Default); 1: Enable +**/ + UINT8 CpuPcieIotgMode[4]; + +/** Offset 0x02A3 - SaPreMemProductionRsvd + Reserved for SA Pre-Mem Production + $EN_DIS +**/ + UINT8 SaPreMemProductionRsvd[87]; /** Offset 0x02FA - DMI Max Link Speed Auto (0x0): Maximum possible link speed, Gen1(0x1): Limit Link to Gen1 Speed, Gen2(0x2): @@ -1203,9 +1309,15 @@ typedef struct { **/ UINT8 CpuCrashLogEnable; -/** Offset 0x0340 - Reserved +/** Offset 0x0340 - ElixirSpringsPatchAddr + DEPRECATED **/ - UINT8 Reserved14[8]; + UINT32 ElixirSpringsPatchAddr; + +/** Offset 0x0344 - ElixirSpringsPatchSize + DEPRECATED +**/ + UINT32 ElixirSpringsPatchSize; /** Offset 0x0348 - CPU Run Control Enable, Disable or Do not configure CPU Run Control; 0: Disable; 1: Enable ; <b>2: @@ -1242,9 +1354,9 @@ typedef struct { **/ UINT8 Txt; -/** Offset 0x034E - Reserved +/** Offset 0x034E **/ - UINT8 Reserved15[2]; + UINT8 UnusedUpdSpace10[2]; /** Offset 0x0350 - PrmrrSize Enable/Disable. 0: Disable, define default value of PrmrrSize , 1: enable @@ -1312,9 +1424,11 @@ typedef struct { **/ UINT8 ConfigTdpLevel; -/** Offset 0x038A - Reserved +/** Offset 0x038A - ReservedSecurityPreMem + Reserved for Security Pre-Mem + $EN_DIS **/ - UINT8 Reserved16[5]; + UINT8 ReservedSecurityPreMem[5]; /** Offset 0x038F - Enable PCH HSIO PCIE Rx Set Ctle Enable PCH PCIe Gen 3 Set CTLE Value. @@ -1499,9 +1613,9 @@ typedef struct { **/ UINT8 PchNumRsvdSmbusAddresses; -/** Offset 0x0573 - Reserved +/** Offset 0x0573 **/ - UINT8 Reserved17; + UINT8 UnusedUpdSpace11; /** Offset 0x0574 - SMBUS Base Address SMBUS Base Address (IO space). @@ -1525,9 +1639,14 @@ typedef struct { **/ UINT8 PcieClkSrcClkReq[16]; -/** Offset 0x0597 - Reserved +/** Offset 0x0597 **/ - UINT8 Reserved18[5]; + UINT8 UnusedUpdSpace12; + +/** Offset 0x0598 - Point of RsvdSmbusAddressTable + Array of addresses reserved for non-ARP-capable SMBus devices. +**/ + UINT32 RsvdSmbusAddressTablePtr; /** Offset 0x059C - Enable PCIE RP Mask Enable/disable PCIE Root Ports. 0: disable, 1: enable. One bit for each port, bit0 @@ -1554,9 +1673,9 @@ typedef struct { **/ UINT8 SerialIoUartDebugAutoFlow; -/** Offset 0x05A3 - Reserved +/** Offset 0x05A3 **/ - UINT8 Reserved19; + UINT8 UnusedUpdSpace13; /** Offset 0x05A4 - Serial Io Uart Debug BaudRate Set default BaudRate Supported from 0 - default to 6000000. Recommended values 9600, @@ -1582,9 +1701,15 @@ typedef struct { **/ UINT8 SerialIoUartDebugDataBits; -/** Offset 0x05AB - Reserved +/** Offset 0x05AB +**/ + UINT8 UnusedUpdSpace14; + +/** Offset 0x05AC - Serial Io Uart Debug Mmio Base + Select SerialIo Uart default MMIO resource in SEC/PEI phase when PcdSerialIoUartMode + = SerialIoUartPci. **/ - UINT8 Reserved20[5]; + UINT32 SerialIoUartDebugMmioBase; /** Offset 0x05B0 - ISA Serial Base selection Select ISA Serial Base address. Default is 0x3F8. @@ -1871,9 +1996,43 @@ typedef struct { **/ UINT8 EccSupport; -/** Offset 0x05E0 - Reserved +/** Offset 0x05E0 - Ibecc + In-Band ECC Support + $EN_DIS **/ - UINT8 Reserved21[44]; + UINT8 Ibecc; + +/** Offset 0x05E1 - IbeccParity + In-Band ECC Parity Control + $EN_DIS +**/ + UINT8 IbeccParity; + +/** Offset 0x05E2 - IbeccOperationMode + In-Band ECC Operation Mode + 0:Protect base on address range, 1: Non-protected, 2: All protected +**/ + UINT8 IbeccOperationMode; + +/** Offset 0x05E3 - IbeccProtectedRegionEnable + In-Band ECC Protected Region Enable + $EN_DIS +**/ + UINT8 IbeccProtectedRegionEnable[8]; + +/** Offset 0x05EB +**/ + UINT8 UnusedUpdSpace15[1]; + +/** Offset 0x05EC - IbeccProtectedRegionBases + IBECC Protected Region Bases +**/ + UINT16 IbeccProtectedRegionBase[8]; + +/** Offset 0x05FC - IbeccProtectedRegionMasks + IBECC Protected Region Masks +**/ + UINT16 IbeccProtectedRegionMask[8]; /** Offset 0x060C - Memory Remap Enables/Disable Memory Remap @@ -1948,9 +2107,17 @@ typedef struct { **/ UINT8 ExitOnFailure; -/** Offset 0x0618 - Reserved +/** Offset 0x0618 - New Features 1 - MRC + New Feature Enabling 1, <b>0:Disable</b>, 1:Enable + 0:Disable, 1:Enable +**/ + UINT8 NewFeatureEnable1; + +/** Offset 0x0619 - New Features 2 - MRC + New Feature Enabling 2, <b>0:Disable</b>, 1:Enable + 0:Disable, 1:Enable **/ - UINT8 Reserved22[2]; + UINT8 NewFeatureEnable2; /** Offset 0x061A - Duty Cycle Correction Training Enable/Disable Duty Cycle Correction Training @@ -2000,9 +2167,35 @@ typedef struct { **/ UINT8 TXTCODQS; -/** Offset 0x0622 - Reserved +/** Offset 0x0622 - CMD/CTL Drive Strength Up/Dn 2D + Enable/Disable CMD/CTL Drive Strength Up/Dn 2D + $EN_DIS +**/ + UINT8 CMDDRUD; + +/** Offset 0x0623 - VccDLL Bypass Training + Enable/Disable VccDLL Bypass Training + $EN_DIS +**/ + UINT8 VCCDLLBP; + +/** Offset 0x0624 - PanicVttDnLp Training + Enable/Disable PanicVttDnLp Training + $EN_DIS +**/ + UINT8 PVTTDNLP; + +/** Offset 0x0625 - Read Vref Decap Training* + Enable/Disable Read Vref Decap Training* + $EN_DIS **/ - UINT8 Reserved23[5]; + UINT8 RDVREFDC; + +/** Offset 0x0626 - Vddq Training + Enable/Disable Vddq Training + $EN_DIS +**/ + UINT8 VDDQT; /** Offset 0x0627 - Rank Margin Tool Per Bit Enable/Disable Rank Margin Tool Per Bit @@ -2010,9 +2203,15 @@ typedef struct { **/ UINT8 RMTBIT; -/** Offset 0x0628 - Reserved +/** Offset 0x0628 - Override Performance Downgrade for Mixed Memory + Disable/Enables Override Performance Downgrade for Mixed Memory + $EN_DIS **/ - UINT8 Reserved24[2]; + UINT8 OverrideDowngradeForMixedMemory; + +/** Offset 0x0629 +**/ + UINT8 Reserved2[1]; /** Offset 0x062A - Select if CLK0 is shared between Rank0 and Rank1 in DDR4 DDP Select if CLK0 is shared between Rank0 and Rank1 in DDR4 DDP @@ -2033,9 +2232,9 @@ typedef struct { **/ UINT8 ChHashInterleaveBit; -/** Offset 0x062D - Reserved +/** Offset 0x062D **/ - UINT8 Reserved25; + UINT8 UnusedUpdSpace16; /** Offset 0x062E - Ch Hash Mask Set the BIT(s) to be included in the XOR function. NOTE BIT mask corresponds to @@ -2066,9 +2265,205 @@ typedef struct { **/ UINT8 RhActProbability; -/** Offset 0x0639 - Reserved +/** Offset 0x0639 - Idle Energy Mc0Ch0Dimm0 + Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def) +**/ + UINT8 IdleEnergyMc0Ch0Dimm0; + +/** Offset 0x063A - Idle Energy Mc0Ch0Dimm1 + Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def) **/ - UINT8 Reserved26[40]; + UINT8 IdleEnergyMc0Ch0Dimm1; + +/** Offset 0x063B - Idle Energy Mc0Ch1Dimm0 + Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def) +**/ + UINT8 IdleEnergyMc0Ch1Dimm0; + +/** Offset 0x063C - Idle Energy Mc0Ch1Dimm1 + Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def) +**/ + UINT8 IdleEnergyMc0Ch1Dimm1; + +/** Offset 0x063D - Idle Energy Mc1Ch0Dimm0 + Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def) +**/ + UINT8 IdleEnergyMc1Ch0Dimm0; + +/** Offset 0x063E - Idle Energy Mc1Ch0Dimm1 + Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def) +**/ + UINT8 IdleEnergyMc1Ch0Dimm1; + +/** Offset 0x063F - Idle Energy Mc1Ch1Dimm0 + Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def) +**/ + UINT8 IdleEnergyMc1Ch1Dimm0; + +/** Offset 0x0640 - Idle Energy Mc1Ch1Dimm1 + Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def) +**/ + UINT8 IdleEnergyMc1Ch1Dimm1; + +/** Offset 0x0641 - PowerDown Energy Mc0Ch0Dimm0 + PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def) +**/ + UINT8 PdEnergyMc0Ch0Dimm0; + +/** Offset 0x0642 - PowerDown Energy Mc0Ch0Dimm1 + PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def) +**/ + UINT8 PdEnergyMc0Ch0Dimm1; + +/** Offset 0x0643 - PowerDown Energy Mc0Ch1Dimm0 + PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def) +**/ + UINT8 PdEnergyMc0Ch1Dimm0; + +/** Offset 0x0644 - PowerDown Energy Mc0Ch1Dimm1 + PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def) +**/ + UINT8 PdEnergyMc0Ch1Dimm1; + +/** Offset 0x0645 - PowerDown Energy Mc1Ch0Dimm0 + PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def) +**/ + UINT8 PdEnergyMc1Ch0Dimm0; + +/** Offset 0x0646 - PowerDown Energy Mc1Ch0Dimm1 + PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def) +**/ + UINT8 PdEnergyMc1Ch0Dimm1; + +/** Offset 0x0647 - PowerDown Energy Mc1Ch1Dimm0 + PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def) +**/ + UINT8 PdEnergyMc1Ch1Dimm0; + +/** Offset 0x0648 - PowerDown Energy Mc1Ch1Dimm1 + PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def) +**/ + UINT8 PdEnergyMc1Ch1Dimm1; + +/** Offset 0x0649 - Activate Energy Mc0Ch0Dimm0 + Activate Energy Contribution, range[255;0],(172= Def) +**/ + UINT8 ActEnergyMc0Ch0Dimm0; + +/** Offset 0x064A - Activate Energy Mc0Ch0Dimm1 + Activate Energy Contribution, range[255;0],(172= Def) +**/ + UINT8 ActEnergyMc0Ch0Dimm1; + +/** Offset 0x064B - Activate Energy Mc0Ch1Dimm0 + Activate Energy Contribution, range[255;0],(172= Def) +**/ + UINT8 ActEnergyMc0Ch1Dimm0; + +/** Offset 0x064C - Activate Energy Mc0Ch1Dimm1 + Activate Energy Contribution, range[255;0],(172= Def) +**/ + UINT8 ActEnergyMc0Ch1Dimm1; + +/** Offset 0x064D - Activate Energy Mc1Ch0Dimm0 + Activate Energy Contribution, range[255;0],(172= Def) +**/ + UINT8 ActEnergyMc1Ch0Dimm0; + +/** Offset 0x064E - Activate Energy Mc1Ch0Dimm1 + Activate Energy Contribution, range[255;0],(172= Def) +**/ + UINT8 ActEnergyMc1Ch0Dimm1; + +/** Offset 0x064F - Activate Energy Mc1Ch1Dimm0 + Activate Energy Contribution, range[255;0],(172= Def) +**/ + UINT8 ActEnergyMc1Ch1Dimm0; + +/** Offset 0x0650 - Activate Energy Mc1Ch1Dimm1 + Activate Energy Contribution, range[255;0],(172= Def) +**/ + UINT8 ActEnergyMc1Ch1Dimm1; + +/** Offset 0x0651 - Read Energy Mc0Ch0Dimm0 + Read Energy Contribution, range[255;0],(212= Def) +**/ + UINT8 RdEnergyMc0Ch0Dimm0; + +/** Offset 0x0652 - Read Energy Mc0Ch0Dimm1 + Read Energy Contribution, range[255;0],(212= Def) +**/ + UINT8 RdEnergyMc0Ch0Dimm1; + +/** Offset 0x0653 - Read Energy Mc0Ch1Dimm0 + Read Energy Contribution, range[255;0],(212= Def) +**/ + UINT8 RdEnergyMc0Ch1Dimm0; + +/** Offset 0x0654 - Read Energy Mc0Ch1Dimm1 + Read Energy Contribution, range[255;0],(212= Def) +**/ + UINT8 RdEnergyMc0Ch1Dimm1; + +/** Offset 0x0655 - Read Energy Mc1Ch0Dimm0 + Read Energy Contribution, range[255;0],(212= Def) +**/ + UINT8 RdEnergyMc1Ch0Dimm0; + +/** Offset 0x0656 - Read Energy Mc1Ch0Dimm1 + Read Energy Contribution, range[255;0],(212= Def) +**/ + UINT8 RdEnergyMc1Ch0Dimm1; + +/** Offset 0x0657 - Read Energy Mc1Ch1Dimm0 + Read Energy Contribution, range[255;0],(212= Def) +**/ + UINT8 RdEnergyMc1Ch1Dimm0; + +/** Offset 0x0658 - Read Energy Mc1Ch1Dimm1 + Read Energy Contribution, range[255;0],(212= Def) +**/ + UINT8 RdEnergyMc1Ch1Dimm1; + +/** Offset 0x0659 - Write Energy Mc0Ch0Dimm0 + Write Energy Contribution, range[255;0],(221= Def) +**/ + UINT8 WrEnergyMc0Ch0Dimm0; + +/** Offset 0x065A - Write Energy Mc0Ch0Dimm1 + Write Energy Contribution, range[255;0],(221= Def) +**/ + UINT8 WrEnergyMc0Ch0Dimm1; + +/** Offset 0x065B - Write Energy Mc0Ch1Dimm0 + Write Energy Contribution, range[255;0],(221= Def) +**/ + UINT8 WrEnergyMc0Ch1Dimm0; + +/** Offset 0x065C - Write Energy Mc0Ch1Dimm1 + Write Energy Contribution, range[255;0],(221= Def) +**/ + UINT8 WrEnergyMc0Ch1Dimm1; + +/** Offset 0x065D - Write Energy Mc1Ch0Dimm0 + Write Energy Contribution, range[255;0],(221= Def) +**/ + UINT8 WrEnergyMc1Ch0Dimm0; + +/** Offset 0x065E - Write Energy Mc1Ch0Dimm1 + Write Energy Contribution, range[255;0],(221= Def) +**/ + UINT8 WrEnergyMc1Ch0Dimm1; + +/** Offset 0x065F - Write Energy Mc1Ch1Dimm0 + Write Energy Contribution, range[255;0],(221= Def) +**/ + UINT8 WrEnergyMc1Ch1Dimm0; + +/** Offset 0x0660 - Write Energy Mc1Ch1Dimm1 + Write Energy Contribution, range[255;0],(221= Def) +**/ + UINT8 WrEnergyMc1Ch1Dimm1; /** Offset 0x0661 - Throttler CKEMin Timer Timer value for CKEMin, range[255;0]. Req'd min of SC_ROUND_T + BYTE_LENGTH (4). @@ -2124,9 +2519,11 @@ typedef struct { **/ UINT8 UserBudgetEnable; -/** Offset 0x066A - Reserved +/** Offset 0x066A - Power Down Mode + This option controls command bus tristating during idle periods + 0x0:No Power Down, 0x1:APD, 0x6:PPD DLL OFF, 0xFF:Auto **/ - UINT8 Reserved27; + UINT8 PowerDownMode; /** Offset 0x066B - Pwr Down Idle Timer The minimum value should = to the worst case Roundtrip delay + Burst_Length. 0 means @@ -2134,9 +2531,11 @@ typedef struct { **/ UINT8 PwdwnIdleCounter; -/** Offset 0x066C - Reserved +/** Offset 0x066C - Page Close Idle Timeout + This option controls Page Close Idle Timeout + 0:Enabled, 1:Disabled **/ - UINT8 Reserved28; + UINT8 DisPgCloseIdleTimeout; /** Offset 0x066D - Bitmask of ranks that have CA bus terminated Offset 225 LPDDR4: Bitmask of ranks that have CA bus terminated. <b>0x01=Default, @@ -2188,9 +2587,9 @@ typedef struct { **/ UINT8 UsbTcPortEnPreMem; -/** Offset 0x0675 - Reserved +/** Offset 0x0675 **/ - UINT8 Reserved29; + UINT8 UnusedUpdSpace17; /** Offset 0x0676 - Post Code Output Port This option configures Post Code Output Port @@ -2208,9 +2607,22 @@ typedef struct { **/ UINT8 CridEnable; -/** Offset 0x067A - Reserved +/** Offset 0x067A - WRC Feature + Enable/Disable WRC (Write Cache) feature of IOP. When feature is enabled, supports + IO devices allocating onto the ring and into LLC. WRC is fused on by default. + $EN_DIS **/ - UINT8 Reserved30[18]; + UINT8 WrcFeatureEnable; + +/** Offset 0x067B +**/ + UINT8 UnusedUpdSpace18[1]; + +/** Offset 0x067C - BCLK RFI Frequency + Bclk RFI Frequency for each SAGV point in Hz units. 98000000Hz = 98MHz <b>0 - No + RFI Tuning</b>. Range is 98Mhz-100Mhz. +**/ + UINT32 BclkRfiFreq[4]; /** Offset 0x068C - Size of PCIe IMR. Size of PCIe IMR in megabytes @@ -2223,9 +2635,18 @@ typedef struct { **/ UINT8 PcieImrEnabled; -/** Offset 0x068F - Reserved +/** Offset 0x068F - Enable PCIe IMR + 1: PCH PCIE, 2: SA PCIE. If PCIeImrEnabled is TRUE then this will use to select + the Root port location from PCH PCIe or SA PCIe + $EN_DIS +**/ + UINT8 PcieImrRpLocation; + +/** Offset 0x0690 - Root port number for IMR. + Root port number for IMR.If PCieImrRpLocation is PCH PCIe then select root port + from 0 to 23 and if it is SA PCIe then select root port from 0 to 3 **/ - UINT8 Reserved31[2]; + UINT8 PcieImrRpSelection; /** Offset 0x0691 - SerialDebugMrcLevel MRC Serial Debug Message Level. 0:Disable, 1:Error Only, 2:Error & Warnings, 3:Load, @@ -2236,9 +2657,95 @@ typedef struct { **/ UINT8 SerialDebugMrcLevel; -/** Offset 0x0692 - Reserved +/** Offset 0x0692 - Mem Boot Mode + 0: BOOT_MODE_1LM(Default), 1: BOOT_MODE_2LM, 2: BOOT_MODE_PROVISION + 0: BOOT_MODE_1LM, 1: BOOT_MODE_2LM, 2: BOOT_MODE_PROVISION +**/ + UINT8 MemBootMode; + +/** Offset 0x0693 - PCIe ASPM programming will happen in relation to the Oprom + This option is specifically needed for ASPM configuration in 2LM feature + 0:Disabled, 1:L0, 2:L1, 3:L0L1, 4:Auto +**/ + UINT8 Peg3Aspm; + +/** Offset 0x0694 - MFVC WRR VC Arbitration + 0: DEFAULT_PHASES(Default), 1: PROGRAM_128PHASES + 0: DEFAULT_PHASES, 1: PROGRAM_128PHASES +**/ + UINT8 MfvcWrrArb; + +/** Offset 0x0695 - BZM Support + 1: enable, 0: disable(Default), Enable/disable setting for Boot-time Zero Memory support + $EN_DIS +**/ + UINT8 BzmSupport; + +/** Offset 0x0696 - VcId_7_0 values + Select VC ID for arbitration +**/ + UINT8 VcId_7_0[16]; + +/** Offset 0x06A6 - Set Hw Parameters enable/disable + 1: enable, 0: disable, Enable/disable setting of HW parameters + $EN_DIS +**/ + UINT8 SetHwParameters; + +/** Offset 0x06A7 +**/ + UINT8 UnusedUpdSpace19; + +/** Offset 0x06A8 - LTR L1.2 Threshold Value + LTR L1.2 Threshold Value +**/ + UINT16 Ltr_L1D2_ThVal; + +/** Offset 0x06AA - LTR L1.2 Threshold Scale + LTR L1.2 Threshold Scale +**/ + UINT8 Ltr_L1D2_ThScale; + +/** Offset 0x06AB - system power state + system power state indicates the platform power state +**/ + UINT8 SysPwrState; + +/** Offset 0x06AC - Media Death Notification Enable/Disable + 1: enable, 0: disable, Enable/disable for Media Death Notification + $EN_DIS +**/ + UINT8 MediaDeathNotification; + +/** Offset 0x06AD - Health Log Notification Enable/Disable + 1: enable, 0: disable, Enable/disable for Health Log Notification + $EN_DIS +**/ + UINT8 HealthLogNotification; + +/** Offset 0x06AE - Temp crosses below TempThrottle Notification Enable/Disable + 1: enable, 0: disable, Enable/disable for Temp crosses below TempThrottle Notification + $EN_DIS +**/ + UINT8 TempBelowThrottleNotification; + +/** Offset 0x06AF - Temp crosses above TempThrottle Notification Enable/Disable + 1: enable, 0: disable, Enable/disable for Temp crosses above TempThrottle Notification + $EN_DIS +**/ + UINT8 TempAboveThrottleNotification; + +/** Offset 0x06B0 - Missing Commit Bit Notification Enable/Disable + 1: enable, 0: disable, Enable/disable for Missing Commit Bit Notification + $EN_DIS +**/ + UINT8 MissingCommitBitNotification; + +/** Offset 0x06B1 - NVMeHoldDisableBit + 1: enable, 0: disable, Enable/disable for NVMeHoldDisableBit + $EN_DIS **/ - UINT8 Reserved32[32]; + UINT8 NVMeHoldDisableBit; /** Offset 0x06B2 - Ddr4OneDpc DDR4 1DPC performance feature for 2R DIMMs. Can be enabled on DIMM0 or DIMM1 only, @@ -2247,9 +2754,42 @@ typedef struct { **/ UINT8 Ddr4OneDpc; -/** Offset 0x06B3 - Reserved +/** Offset 0x06B3 - Ch Hash Override POR settings + Enable/Disable Override Channel Hash Support POR values + $EN_DIS +**/ + UINT8 ChHashOverride; + +/** Offset 0x06B4 - PDA Enumeration + Enables/Disable PDA Enumeration + $EN_DIS +**/ + UINT8 PDA; + +/** Offset 0x06B5 - DPin Policy + Set DPin Policy. Internal Only:All display ports are for internal only. External + First:All display ports are for external only, if there is no External DP-In presence + presents then IOM will use all ports internal only + 0: Internal Only, 1: External First **/ - UINT8 Reserved33[9]; + UINT8 DpInExternalEn; + +/** Offset 0x06B6 - DPin External Ports Number + Total number of External Gfx DpIn Port present on Board. Currently hardware wise + max 0x04 DpIn port supported, however DpIn module can handle upto 0x08 DpIn ports +**/ + UINT8 NumberOfDpInPort; + +/** Offset 0x06B7 - DPin External Port Connect Map + Indicate which Dp-In port connection detected. Each BIT stand for one Dp-In port. +**/ + UINT8 DpInPortConnectMap; + +/** Offset 0x06B8 - Command Pins Mapping + BitMask where bits [3:0] are Controller 0 Channel [3:0] and bits [7:4] are Controller + 1 Channel [3:0]. 0 = CCC pin mapping is Ascending, 1 = CCC pin mapping is Descending. +**/ + UINT8 Lp5CccConfig[4]; /** Offset 0x06BC - Command Pins Mirrored BitMask where bits [3:0] are Controller 0 Channel [3:0] and bits [7:4] are Controller @@ -2257,9 +2797,28 @@ typedef struct { **/ UINT32 CmdMirror[1]; -/** Offset 0x06C0 - Reserved +/** Offset 0x06C0 - CPU BCLK SSC Enable + Enable/Disable CPU BCLK Spread Spectrum. Default is Enabled. + $EN_DIS +**/ + UINT8 CpuBclkSpread; + +/** Offset 0x06C1 - McParity + CMI/MC Parity Control + $EN_DIS +**/ + UINT8 McParity; + +/** Offset 0x06C2 - Vddq Voltage Override + # is multiple of 1mV where 0 means Auto. **/ - UINT8 Reserved34[5]; + UINT16 VddqVoltageOverride; + +/** Offset 0x06C4 - Extended Bank Hashing + Eanble/Disable ExtendedBankHashing + $EN_DIS +**/ + UINT8 ExtendedBankHashing; /** Offset 0x06C5 - Skip external display device scanning Enable: Do not scan for external display device, Disable (Default): Scan external @@ -2287,9 +2846,13 @@ typedef struct { **/ UINT8 LockPTMregs; -/** Offset 0x06C9 - Reserved +/** Offset 0x06C9 - Rsvd + Disable(0x0)(Default): Normal Operation - RxCTLE adaptive behavior enabled, Enable(0x1): + Override RxCTLE - Disable RxCTLE adaptive behavior to keep the configured RxCTLE + peak values unmodified + $EN_DIS **/ - UINT8 Reserved35; + UINT8 PegGen3Rsvd; /** Offset 0x06CA - Panel Power Enable Control for enabling/disabling VDD force bit (Required only for early enabling of @@ -2304,9 +2867,153 @@ typedef struct { **/ UINT8 BdatTestType; -/** Offset 0x06CC - Reserved +/** Offset 0x06CC - PMR Size + Size of PMR memory buffer. 0x400000 for normal boot and 0x200000 for S3 boot +**/ + UINT32 DmaBufferSize; + +/** Offset 0x06D0 - VT-d/IOMMU Boot Policy + BIT0: Enable IOMMU during boot, BIT1: Enable IOMMU when transfer control to OS +**/ + UINT8 PreBootDmaMask; + +/** Offset 0x06D1 - Enable/Disable DMI GEN3 Hardware Eq + Enable/Disable DMI GEN3 Hardware Eq. Disabled(0x0): Disable Hardware Eq, Enabled(0x1)(Default): + Enable EQ Phase1 Static Presets Programming + $EN_DIS +**/ + UINT8 DmiHweq; + +/** Offset 0x06D2 - Enable/Disable CPU DMI GEN3 Phase 23 Bypass + CPU DMI GEN3 Phase 23 Bypass. Disabled(0x0)(Default): Disable Phase 23 Bypass, Enabled(0x1): + Enable Phase 23 Bypass + $EN_DIS +**/ + UINT8 Gen3EqPhase23Bypass; + +/** Offset 0x06D3 - Enable/Disable CPU DMI GEN3 Phase 3 Bypass + CPU DMI GEN3 Phase 3 Bypass. Disabled(0x0)(Default): Disable Phase 3 Bypass, Enabled(0x1): + Enable Phase 3 Bypass + $EN_DIS +**/ + UINT8 Gen3EqPhase3Bypass; + +/** Offset 0x06D4 - Enable/Disable CPU DMI Gen3 EQ Local Transmitter Coefficient Override Enable + Program Gen3 EQ Local Transmitter Coefficient Override. Disabled(0x0)(Default): + Disable Local Transmitter Coefficient Override, Enabled(0x1): Enable Local Transmitter + Coefficient Override + $EN_DIS +**/ + UINT8 Gen3LtcoEnable; + +/** Offset 0x06D5 - Enable/Disable CPU DMI Gen3 EQ Remote Transmitter Coefficient/Preset Override Enable + Program Remote Transmitter Coefficient/Preset Override. Disabled(0x0): Disable Remote + Transmitter Coefficient/Preset Override, Enabled(0x1)(Default): Enable Remote + Transmitter Coefficient/Preset Override + $EN_DIS +**/ + UINT8 Gen3RtcoRtpoEnable; + +/** Offset 0x06D6 - DMI Gen3 Transmitter Pre-Cursor Coefficient + Used for programming DMI Gen3 Transmitter Pre-Cursor Coefficient . Range: 0-10, + 2 is default for each lane +**/ + UINT8 DmiGen3Ltcpre[8]; + +/** Offset 0x06DE - DMI Gen3 Transmitter Post-Cursor Coefficient + Used for programming Transmitter Post-Cursor Coefficient. Range: 0-9, 2 is default + for each lane **/ - UINT8 Reserved36[98]; + UINT8 DmiGen3Ltcpo[8]; + +/** Offset 0x06E6 - PCIE Hw Eq Gen3 CoeffList Cm + CPU_PCIE_EQ_PARAM. Coefficient C-1. +**/ + UINT8 CpuDmiHwEqGen3CoeffListCm[8]; + +/** Offset 0x06EE - PCIE Hw Eq Gen3 CoeffList Cp + CPU_PCIE_EQ_PARAM. Coefficient C+1. +**/ + UINT8 CpuDmiHwEqGen3CoeffListCp[8]; + +/** Offset 0x06F6 - Enable/Disable DMI GEN3 DmiGen3DsPresetEnable + Enable/Disable DMI GEN3 DmiGen3DsPreset. Auto(0x0)(Default): DmiGen3DsPresetEnable, + Manual(0x1): Enable DmiGen3DsPresetEnable + $EN_DIS +**/ + UINT8 DmiGen3DsPresetEnable; + +/** Offset 0x06F7 - DMI Gen3 Root port preset Rx values per lane + Used for programming DMI Gen3 preset values per lane. Range: 0-10, 1 is default + for each lane +**/ + UINT8 DmiGen3DsPortRxPreset[8]; + +/** Offset 0x06FF - DMI Gen3 Root port preset Tx values per lane + Used for programming DMI Gen3 preset values per lane. Range: 0-10, 7 is default + for each lane +**/ + UINT8 DmiGen3DsPortTxPreset[8]; + +/** Offset 0x0707 - Program DMI GEN3 Extended number of VC + (DEPRECATED) +**/ + UINT8 DmiGen3MultiVC; + +/** Offset 0x0708 - Enable/Disable DMI GEN3 DmiGen3Vc1Control + (DEPRECATED) + $EN_DIS +**/ + UINT8 DmiGen3Vc1Control; + +/** Offset 0x0709 - Enable/Disable DMI GEN3 DmiGen3VcMControl + (DEPRECATED) + $EN_DIS +**/ + UINT8 DmiGen3VcMControl; + +/** Offset 0x070A - DMI Secure Register Lock:{Combo + (DEPRECATED) + 0:Disable, 1:Enable +**/ + UINT8 DmiSrl; + +/** Offset 0x070B - DMI Scramble Enable:{Combo + (DEPRECATED) + 0:Disable, 1:Enable +**/ + UINT8 DmiScramble; + +/** Offset 0x070C - DMI Max Payload Size:{Combo + (DEPRECATED) + 0:Auto, 1:128 TLP, 2:256 TLP +**/ + UINT8 DmiMaxPayload; + +/** Offset 0x070D - DPin Dynamic Switch Policy + Dynamic one-time switch from iGFx to dGFx after boot to OS + 0: Disble, 1: Enable +**/ + UINT8 DPinDynamicSwitch; + +/** Offset 0x070E - Delay before sending commn + Delay before sending dynamic one-time switch cmd to IOM, ACPI BIOS consumes this + value and proceed delay when _DSM is invoked: 0=Minimal, 5000=Maximum, default + is 0 second +**/ + UINT16 DPinDynamicSwitchDelay0; + +/** Offset 0x0710 - Delay before IOM de-assert HPD + Delay before IOM de-assert HPD, ACPI BIOS passes this value to IOM when sending + dynamic one-time switch command: 1000=Minimal, 5000=Maximum, default is 1000 = 1 second +**/ + UINT16 DPinDynamicSwitchDelay1; + +/** Offset 0x0712 - SaPreMemTestRsvd + Reserved for SA Pre-Mem Test + $EN_DIS +**/ + UINT8 SaPreMemTestRsvd[28]; /** Offset 0x072E - TotalFlashSize Enable/Disable. 0: Disable, define default value of TotalFlashSize , 1: enable @@ -2320,9 +3027,11 @@ typedef struct { **/ UINT16 BiosSize; -/** Offset 0x0732 - Reserved +/** Offset 0x0732 - SecurityTestRsvd + Reserved for SA Pre-Mem Test + $EN_DIS **/ - UINT8 Reserved37[12]; + UINT8 SecurityTestRsvd[12]; /** Offset 0x073E - Smbus dynamic power gating Disable or Enable Smbus dynamic power gating. @@ -2362,18 +3071,26 @@ typedef struct { **/ UINT8 PchHdaAudioLinkHdaEnable; -/** Offset 0x0744 - Reserved +/** Offset 0x0744 - Enable HDA SDI lanes + Enable/disable HDA SDI lanes. **/ - UINT8 Reserved38[3]; + UINT8 PchHdaSdiEnable[2]; + +/** Offset 0x0746 - HDA Power/Clock Gating (PGD/CGD) + Enable/Disable HD Audio Power and Clock Gating(POR: Enable). 0: PLATFORM_POR, 1: + FORCE_ENABLE, 2: FORCE_DISABLE. + 0: POR, 1: Force Enable, 2: Force Disable +**/ + UINT8 PchHdaTestPowerClockGating; /** Offset 0x0747 - Enable HD Audio DMIC_N Link Enable/disable HD Audio DMIC1 link. Muxed with SNDW3. **/ UINT8 PchHdaAudioLinkDmicEnable[2]; -/** Offset 0x0749 - Reserved +/** Offset 0x0749 **/ - UINT8 Reserved39[3]; + UINT8 UnusedUpdSpace20[3]; /** Offset 0x074C - DMIC<N> ClkA Pin Muxing (N - DMIC number) Determines DMIC<N> ClkA Pin muxing. See GPIO_*_MUXING_DMIC<N>_CLKA_* @@ -2391,9 +3108,9 @@ typedef struct { **/ UINT8 PchHdaDspEnable; -/** Offset 0x075D - Reserved +/** Offset 0x075D **/ - UINT8 Reserved40[3]; + UINT8 UnusedUpdSpace21[3]; /** Offset 0x0760 - DMIC<N> Data Pin Muxing Determines DMIC<N> Data Pin muxing. See GPIO_*_MUXING_DMIC<N>_DATA_* @@ -2472,9 +3189,20 @@ typedef struct { **/ UINT8 KtDeviceEnable; -/** Offset 0x077C - Reserved +/** Offset 0x077C - Hybrid Graphics GPIO information for PEG 1 + Hybrid Graphics GPIO information for PEG 1, for Reset, power and wake GPIOs +**/ + UINT32 CpuPcie1Rtd3Gpio[24]; + +/** Offset 0x07DC - Hybrid Graphics GPIO information for PEG 2 + Hybrid Graphics GPIO information for PEG 2, for Reset, power and wake GPIOs **/ - UINT8 Reserved41[288]; + UINT32 CpuPcie2Rtd3Gpio[24]; + +/** Offset 0x083C - Hybrid Graphics GPIO information for PEG 3 + Hybrid Graphics GPIO information for PEG 3, for Reset, power and wake GPIOs +**/ + UINT32 CpuPcie3Rtd3Gpio[24]; /** Offset 0x089C - Skip CPU replacement check Test, 0: disable, 1: enable, Setting this option to skip CPU replacement check @@ -2482,9 +3210,11 @@ typedef struct { **/ UINT8 SkipCpuReplacementCheck; -/** Offset 0x089D - Reserved +/** Offset 0x089D - PCI Express Dekel Workaround + Select the 1 to 9 for Dekel registers endpoint programming: 1=Minimal, 9=Maximum, + default is 2 **/ - UINT8 Reserved42; + UINT8 CpuPcieRpDekelSquelchWa; /** Offset 0x089E - Serial Io Uart Debug Mode Select SerialIo Uart Controller mode @@ -2493,9 +3223,157 @@ typedef struct { **/ UINT8 SerialIoUartDebugMode; -/** Offset 0x089F - Reserved +/** Offset 0x089F +**/ + UINT8 UnusedUpdSpace22; + +/** Offset 0x08A0 - SerialIoUartDebugRxPinMux - FSPT + Select RX pin muxing for SerialIo UART used for debug +**/ + UINT32 SerialIoUartDebugRxPinMux; + +/** Offset 0x08A4 - SerialIoUartDebugTxPinMux - FSPM + Select TX pin muxing for SerialIo UART used for debug **/ - UINT8 Reserved43[124]; + UINT32 SerialIoUartDebugTxPinMux; + +/** Offset 0x08A8 - SerialIoUartDebugRtsPinMux - FSPM + Select SerialIo Uart used for debug Rts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_RTS* + for possible values. +**/ + UINT32 SerialIoUartDebugRtsPinMux; + +/** Offset 0x08AC - SerialIoUartDebugCtsPinMux - FSPM + Select SerialIo Uart used for debug Cts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_CTS* + for possible values. +**/ + UINT32 SerialIoUartDebugCtsPinMux; + +/** Offset 0x08B0 - Avx2 Voltage Guardband Scaling Factor + AVX2 Voltage Guardband Scale factor applied to AVX2 workloads. Range is 0-200 in + 1/100 units, where a value of 125 would apply a 1.25 scale factor. +**/ + UINT8 Avx2VoltageScaleFactor; + +/** Offset 0x08B1 - Avx512 Voltage Guardband Scaling Factor + AVX512 Voltage Guardband Scale factor applied to AVX512 workloads. Range is 0-200 + in 1/100 units, where a value of 125 would apply a 1.25 scale factor. +**/ + UINT8 Avx512VoltageScaleFactor; + +/** Offset 0x08B2 - Lane Used of CSI port + Lane Used of each CSI port + 1:x1, 2:x2, 3:x3, 4:x4, 8:x8 +**/ + UINT8 IpuLaneUsed[8]; + +/** Offset 0x08BA - Lane Used of CSI port + Speed of each CSI port + 0:Sensor default, 1:<416Mbps, 2:<1.5Gbps, 3:<2Gbps, 4:<2.5Gbps, 5:<4Gbps, 6:>4Gbps +**/ + UINT8 CsiSpeed[8]; + +/** Offset 0x08C2 - DPmem Support + 1: enable, 0: disable(Default), Enable/disable setting for Dynamic Persistent Memory support + $EN_DIS +**/ + UINT8 DpmemSupport; + +/** Offset 0x08C3 - Core VF Point Offset Mode + Selects Core Voltage & Frequency Point Offset between Legacy and Selection modes; + <b>0: Legacy</b>; 1: Selection. + 0:Legacy, 1:Selection +**/ + UINT8 CoreVfPointOffsetMode; + +/** Offset 0x08C4 - Core VF Point Offset + Array used to specifies the Offset Voltage applied to the each selected Core VF + Point. This voltage is specified in millivolts. +**/ + UINT16 CoreVfPointOffset[15]; + +/** Offset 0x08E2 - Core VF Point Offset Prefix + Sets the CoreVfPointOffset value as positive or negative for corresponding core + VF Point; <b>0: Positive </b>; 1: Negative. + 0:Positive, 1:Negative +**/ + UINT8 CoreVfPointOffsetPrefix[15]; + +/** Offset 0x08F1 - Core VF Point Ratio + Array for the each selected Core VF Point to display the ration. +**/ + UINT8 CoreVfPointRatio[15]; + +/** Offset 0x0900 - Core VF Point Count + Number of supported Core Voltage & Frequency Point Offset +**/ + UINT8 CoreVfPointCount; + +/** Offset 0x0901 - Enable CPU CrashLog GPRs dump + Enable or Disable CPU CrashLog GPRs dump; <b>0: Disable</b>; 1: Enable; 2: Only + disable Smm GPRs dump + 0:Disabled, 1:Enabled, 2:Only Smm GPRs Disabled +**/ + UINT8 CrashLogGprs; + +/** Offset 0x0902 +**/ + UINT8 UnusedUpdSpace23[2]; + +/** Offset 0x0904 - Bitmask of disable cores + Core mask is a bitwise indication of which core should be disabled. <b>0x00=Default</b>; + Bit 0 - core 0, bit 7 - core 7. +**/ + UINT32 DisableCoreMask; + +/** Offset 0x0908 - REFRESH_PANIC_WM + <b>@deprecated</b> - Not used and has no effect, Please use RefreshWm +**/ + UINT8 RefreshPanicWm; + +/** Offset 0x0909 - REFRESH_HP_WM + <b>@deprecated</b> - Not used and has no effect, Please use RefreshWm +**/ + UINT8 RefreshHpWm; + +/** Offset 0x090A - Support Unlimited ICCMAX + Support Unlimited ICCMAX more than maximum value 255.75A; <b>0: Disabled</b>; 1: Enabled. + $EN_DIS +**/ + UINT8 UnlimitedIccMax; + +/** Offset 0x090B - Per Core Max Ratio override + Enable or disable Per Core PState OC supported by writing OCMB 0x1D to program new + favored core ratio to each Core. <b>0: Disable</b>, 1: enable + $EN_DIS +**/ + UINT8 PerCoreRatioOverride; + +/** Offset 0x090C - Per Core Current Max Ratio + Array for the Per Core Max Ratio +**/ + UINT8 PerCoreRatio[10]; + +/** Offset 0x0916 - Margin Limit Check + Margin Limit Check. Choose level of margin check + 0:Disable, 1:L1, 2:L2, 3:Both +**/ + UINT8 MarginLimitCheck; + +/** Offset 0x0917 +**/ + UINT8 UnusedUpdSpace24; + +/** Offset 0x0918 - Margin Limit L2 + % of L1 check for margin limit check +**/ + UINT16 MarginLimitL2; + +/** Offset 0x091A - Iotg Pll SscEn + Enable or disable CPU SSC. 0: Disable, <b>1: Enable</b> + $EN_DIS +**/ + UINT8 IotgPllSscEn; /** Offset 0x091B - GPIO Override Gpio Override Level - FSP will not configure any GPIOs and rely on GPIO setings @@ -2504,9 +3382,135 @@ typedef struct { **/ UINT8 GpioOverride; -/** Offset 0x091C - Reserved +/** Offset 0x091C - Write0 enabling + Enable/Disable Write0 + $EN_DIS +**/ + UINT8 WRITE0; + +/** Offset 0x091D +**/ + UINT8 UnusedUpdSpace25[3]; + +/** Offset 0x0920 +**/ + UINT32 VccInVoltageOverride; + +/** Offset 0x0924 - Dynamic Memory Timings Changes + Dynamic Memory Timings Changes; <b>0: Disabled</b>; 1: Enabled. + $EN_DIS +**/ + UINT8 DynamicMemoryChange; + +/** Offset 0x0925 - IbeccErrorInj + In-Band ECC Error Injection NOTE: For Debug or Development purposes only! Disable + this option for production systems. + $EN_DIS +**/ + UINT8 IbeccErrorInj; + +/** Offset 0x0926 - Enable/Disable DMI GEN3 DmiGen3UsPresetEnable + Enable/Disable DMI GEN3 DmiGen3UsPreset. Auto(0x0)(Default): DmiGen3UsPresetEnable, + Manual(0x1): Enable DmiGen3UsPresetEnable + $EN_DIS +**/ + UINT8 DmiGen3UsPresetEnable; + +/** Offset 0x0927 - DMI Gen3 Root port preset Rx values per lane + Used for programming DMI Gen3 preset values per lane. Range: 0-10, 7 is default + for each lane +**/ + UINT8 DmiGen3UsPortRxPreset[8]; + +/** Offset 0x092F - DMI Gen3 Root port preset Tx values per lane + Used for programming DMI Gen3 preset values per lane. Range: 0-10, 1 is default + for each lane +**/ + UINT8 DmiGen3UsPortTxPreset[8]; + +/** Offset 0x0937 - BCLK Frequency Source + Clock source of BCLK OC frequency, <b>0:CPU BCLK</b>, 1:PCH BCLK, 2:External CLK + 0:CPU BCLK, 1:PCH BCLK, 2:External CLK +**/ + UINT8 BclkSource; + +/** Offset 0x0938 - CPU BCLK OC Frequency + CPU BCLK OC Frequency in 10KHz units increasing. Value 9800 (10KHz) = 98MHz <b>0 + - Auto</b>. Range is 8000-50000 (10KHz). +**/ + UINT32 CpuBclkOcFrequency; + +/** Offset 0x093C - Ring CCF Auto Gv Disable Down + Ring CCF Auto Gv Disable Down, 0: Disabled, <b>1:Fused default</b> + 0:Disabled, 1:Fused default +**/ + UINT8 RingCcfAutoGvDisable; + +/** Offset 0x093D - SA/Uncore voltage mode + SA/Uncore voltage mode; <b>0: Adaptive</b>; 1: Override. + $EN_DIS +**/ + UINT8 SaVoltageMode; + +/** Offset 0x093E - SA/Uncore Voltage Override + The SA/Uncore voltage override applicable when SA/Uncore voltage mode is in Override + mode. Valid Range 0 to 2000 +**/ + UINT16 SaVoltageOverride; + +/** Offset 0x0940 - SA/Uncore Extra Turbo voltage + Extra Turbo voltage applicable when SA/Uncore voltage mode is in Adaptive mode. + Valid Range 0 to 2000 +**/ + UINT16 SaExtraTurboVoltage; + +/** Offset 0x0942 - DdrMemoryDown + DDR Memory Down Support. + $EN_DIS +**/ + UINT8 DdrMemoryDown; + +/** Offset 0x0943 +**/ + UINT8 UnusedUpdSpace26; + +/** Offset 0x0944 - The VccIn Max Voltage Limit + This will override maximum VCCIN voltage limit to the voltage value specified. <b>0 + - no override</b> Valid Range 0 to 3000mV +**/ + UINT16 VccInMaxLimit; + +/** Offset 0x0946 - VccIO Voltage Override + This will override VccIO output voltage level to the voltage value specified. Valid + Range 0 to 2000 +**/ + UINT16 VccIoVoltageOverride; + +/** Offset 0x0948 - Boost VRef Voltage + <b> Default: 0: 0.7V </b> 1: 1.0V to support the high frequencies needed for BCLK OC. + 0: 0.7V , 1:1.0V +**/ + UINT8 BoostRefVoltage; + +/** Offset 0x0949 - Pcie Ref Pll SSC + Pcie Ref Pll SSC Percentatge. 0x0: 0.0%, 0x1: 0.1%, 0x2:0.2%, 0x3: 0.3%, 0x4: 0.4%, + 0x5: 0.5%, 0xFE: Disable, 0xFF: Auto +**/ + UINT8 PcieRefPllSsc; + +/** Offset 0x094A - Refresh Watermarks + Refresh Watermark, High, Low + 1:Enable Refresh Watermark High (Default), 0:Enable Refresh Watermark Low +**/ + UINT8 RefreshWm; + +/** Offset 0x094B +**/ + UINT8 UnusedUpdSpace27[4]; + +/** Offset 0x094F **/ - UINT8 Reserved44[52]; + UINT8 ReservedFspmUpd2[1]; } FSP_M_CONFIG; /** Fsp M UPD Configuration diff --git a/src/vendorcode/intel/fsp/fsp2_0/tigerlake/FspsUpd.h b/src/vendorcode/intel/fsp/fsp2_0/tigerlake/FspsUpd.h index 9969c73c68..569eaea4e3 100644 --- a/src/vendorcode/intel/fsp/fsp2_0/tigerlake/FspsUpd.h +++ b/src/vendorcode/intel/fsp/fsp2_0/tigerlake/FspsUpd.h @@ -123,9 +123,9 @@ typedef struct { **/ UINT8 ShowSpiController; -/** Offset 0x0036 - Reserved +/** Offset 0x0036 **/ - UINT8 Reserved0[2]; + UINT8 UnusedUpdSpace0[2]; /** Offset 0x0038 - MicrocodeRegionBase Memory Base of Microcode Updates @@ -179,9 +179,9 @@ typedef struct { **/ UINT8 XdciEnable; -/** Offset 0x006D - Reserved +/** Offset 0x006D **/ - UINT8 Reserved1[3]; + UINT8 UnusedUpdSpace1[3]; /** Offset 0x0070 - Address of PCH_DEVICE_INTERRUPT_CONFIG table. The address of the table of PCH_DEVICE_INTERRUPT_CONFIG. @@ -227,9 +227,9 @@ typedef struct { **/ UINT8 PchHdaVerbTableEntryNum; -/** Offset 0x0082 - Reserved +/** Offset 0x0082 **/ - UINT8 Reserved2[2]; + UINT8 UnusedUpdSpace2[2]; /** Offset 0x0084 - PCH HDA Verb Table Pointer Pointer to Array of pointers to Verb Table. @@ -265,9 +265,10 @@ typedef struct { **/ UINT8 SerialIoSpiCsPolarity[14]; -/** Offset 0x00A0 - Reserved +/** Offset 0x00A0 - SPI<N> Chip Select Enable + 0:Disabled, 1:Enabled. Enables GPIO for CS0 or CS1 if it is Enabled **/ - UINT8 Reserved3[14]; + UINT8 SerialIoSpiCsEnable[14]; /** Offset 0x00AE - SPIn Default Chip Select Output Sets Default CS as Output. N represents controller index: SPI0, SPI1, ... Available @@ -294,9 +295,9 @@ typedef struct { **/ UINT8 SerialIoUartMode[7]; -/** Offset 0x00CA - Reserved +/** Offset 0x00CA **/ - UINT8 Reserved4[2]; + UINT8 UnusedUpdSpace3[2]; /** Offset 0x00CC - Default BaudRate for each Serial IO UART Set default BaudRate Supported from 0 - default to 6000000 @@ -334,9 +335,9 @@ typedef struct { **/ UINT8 SerialIoUartAutoFlow[7]; -/** Offset 0x0112 - Reserved +/** Offset 0x0112 **/ - UINT8 Reserved5[2]; + UINT8 UnusedUpdSpace4[2]; /** Offset 0x0114 - SerialIoUartRtsPinMuxPolicy Select SerialIo Uart Rts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_RTS* @@ -401,9 +402,155 @@ typedef struct { **/ UINT8 PchSerialIoI2cPadsTermination[8]; -/** Offset 0x01DC - Reserved +/** Offset 0x01DC - ISH GP GPIO Pin Muxing + Determines ISH GP GPIO Pin muxing. See GPIO_*_MUXING_ISH_GP_x_GPIO_*. 'x' are GP_NUMBER **/ - UINT8 Reserved6[184]; + UINT32 IshGpGpioPinMuxing[8]; + +/** Offset 0x01FC - ISH UART Rx Pin Muxing + Determines ISH UART Rx Pin muxing. See GPIO_*_MUXING_ISH_UARTx_TXD_* +**/ + UINT32 IshUartRxPinMuxing[3]; + +/** Offset 0x0208 - ISH UART Tx Pin Muxing + Determines ISH UART Tx Pin muxing. See GPIO_*_MUXING_ISH_UARTx_RXD_* +**/ + UINT32 IshUartTxPinMuxing[3]; + +/** Offset 0x0214 - ISH UART Rts Pin Muxing + Select ISH UART Rts Pin muxing. Refer to GPIO_*_MUXING_ISH_UARTx_RTS_* for possible values. +**/ + UINT32 IshUartRtsPinMuxing[3]; + +/** Offset 0x0220 - ISH UART Rts Pin Muxing + Select ISH UART Cts Pin muxing. Refer to GPIO_*_MUXING_ISH_UARTx_CTS_* for possible values. +**/ + UINT32 IshUartCtsPinMuxing[3]; + +/** Offset 0x022C - ISH I2C SDA Pin Muxing + Select ISH I2C SDA Pin muxing. Refer to GPIO_*_MUXING_ISH_I2Cx_SDA_* for possible values. +**/ + UINT32 IshI2cSdaPinMuxing[3]; + +/** Offset 0x0238 - ISH I2C SCL Pin Muxing + Select ISH I2C SCL Pin muxing. Refer to GPIO_*_MUXING_ISH_I2Cx_SCL_* for possible values. +**/ + UINT32 IshI2cSclPinMuxing[3]; + +/** Offset 0x0244 - ISH SPI MOSI Pin Muxing + Select ISH SPI MOSI Pin muxing. Refer to GPIO_*_MUXING_ISH_SPIx_MOSI_* for possible values. +**/ + UINT32 IshSpiMosiPinMuxing[2]; + +/** Offset 0x024C - ISH SPI MISO Pin Muxing + Select ISH SPI MISO Pin muxing. Refer to GPIO_*_MUXING_ISH_SPIx_MISO_* for possible values. +**/ + UINT32 IshSpiMisoPinMuxing[2]; + +/** Offset 0x0254 - ISH SPI CLK Pin Muxing + Select ISH SPI CLK Pin muxing. Refer to GPIO_*_MUXING_ISH_SPIx_CLK_* for possible values. +**/ + UINT32 IshSpiClkPinMuxing[2]; + +/** Offset 0x025C - ISH SPI CS#N Pin Muxing + Select ISH SPI CS#N Pin muxing. Refer to GPIO_*_MUXING_ISH_SPIx_CS<N>_* for possible + values. N-SPI number, 0-1. +**/ + UINT32 IshSpiCsPinMuxing[4]; + +/** Offset 0x026C - ISH GP GPIO Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo GP#N GPIO pads termination + respectively. #N are GP_NUMBER, not strictly relate to indexes of this table. Index + 0-23 -> ISH_GP_0-23, Index 24-25 -> ISH_GP_30-31 +**/ + UINT8 IshGpGpioPadTermination[8]; + +/** Offset 0x0274 - ISH UART Rx Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo UART#N Rx pads termination + respectively. #N-byte for each controller, byte0 for UART0 Rx, byte1 for UART1 + Rx, and so on. +**/ + UINT8 IshUartRxPadTermination[3]; + +/** Offset 0x0277 - ISH UART Tx Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo UART#N Tx pads termination + respectively. #N-byte for each controller, byte0 for UART0 Tx, byte1 for UART1 + Tx, and so on. +**/ + UINT8 IshUartTxPadTermination[3]; + +/** Offset 0x027A - ISH UART Rts Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo UART#N Rts pads termination + respectively. #N-byte for each controller, byte0 for UART0 Rts, byte1 for UART1 + Rts, and so on. +**/ + UINT8 IshUartRtsPadTermination[3]; + +/** Offset 0x027D - ISH UART Rts Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo UART#N Cts pads termination + respectively. #N-byte for each controller, byte0 for UART0 Cts, byte1 for UART1 + Cts, and so on. +**/ + UINT8 IshUartCtsPadTermination[3]; + +/** Offset 0x0280 - ISH I2C SDA Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo I2C#N Sda pads termination + respectively. #N-byte for each controller, byte0 for I2C0 Sda, byte1 for I2C1 Sda, + and so on. +**/ + UINT8 IshI2cSdaPadTermination[3]; + +/** Offset 0x0283 - ISH I2C SCL Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo I2C#N Scl pads termination + respectively. #N-byte for each controller, byte0 for I2C0 Scl, byte1 for I2C1 Scl, + and so on. +**/ + UINT8 IshI2cSclPadTermination[3]; + +/** Offset 0x0286 - ISH SPI MOSI Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo SPI#N Mosi pads termination + respectively. #N-byte for each controller, byte0 for SPI0 Mosi, byte1 for SPI1 + Mosi, and so on. +**/ + UINT8 IshSpiMosiPadTermination[2]; + +/** Offset 0x0288 - ISH SPI MISO Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo SPI#N Miso pads termination + respectively. #N-byte for each controller, byte0 for SPI0 Miso, byte1 for SPI1 + Miso, and so on. +**/ + UINT8 IshSpiMisoPadTermination[2]; + +/** Offset 0x028A - ISH SPI CLK Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo SPI#N Clk pads termination + respectively. #N-byte for each controller, byte0 for SPI0 Clk, byte1 for SPI1 Clk, + and so on. +**/ + UINT8 IshSpiClkPadTermination[2]; + +/** Offset 0x028C - ISH SPI CS#N Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo SPI#N Cs#M pads termination + respectively. N*M-byte for each controller, byte0 for SPI0 Cs0, byte1 for SPI1 + Cs1, SPI1 Cs0, byte2, SPI1 Cs1, byte3 +**/ + UINT8 IshSpiCsPadTermination[4]; + +/** Offset 0x0290 - Enable PCH ISH SPI Cs#N pins assigned + Set if ISH SPI Cs#N pins are to be enabled by BIOS. 0: Disable; 1: Enable. N-Cs + number: 0-1 +**/ + UINT8 PchIshSpiCsEnable[4]; /** Offset 0x0294 - USB Per Port HS Preemphasis Bias USB Per Port HS Preemphasis Bias. 000b-0mV, 001b-11.25mV, 010b-16.9mV, 011b-28.15mV, @@ -491,18 +638,46 @@ typedef struct { **/ UINT8 PchLanEnable; -/** Offset 0x034D - Reserved +/** Offset 0x034D - Enable PCH TSN + Enable/disable TSN on the PCH. + $EN_DIS +**/ + UINT8 PchTsnEnable; + +/** Offset 0x034E - TSN Link Speed + Set TSN Link Speed. + 0: 24Mhz 2.5Gbps, 1: 24Mhz 1Gbps, 2: 38.4Mhz 2.5Gbps, 3: 38.4Mhz 1Gbps **/ - UINT8 Reserved7[11]; + UINT8 PchTsnLinkSpeed; + +/** Offset 0x034F +**/ + UINT8 UnusedUpdSpace5; + +/** Offset 0x0350 - PCH TSN0 MAC Address High Bits + Set TSN0 MAC Address High. +**/ + UINT32 PchTsn0MacAddressHigh; + +/** Offset 0x0354 - PCH TSN0 MAC Address Low Bits + Set TSN0 MAC Address Low. +**/ + UINT32 PchTsn0MacAddressLow; /** Offset 0x0358 - PCIe PTM enable/disable Enable/disable Precision Time Measurement for PCIE Root Ports. **/ UINT8 PciePtm[24]; -/** Offset 0x0370 - Reserved +/** Offset 0x0370 - PCIe DPC enable/disable + Enable/disable Downstream Port Containment for PCIE Root Ports. **/ - UINT8 Reserved8[48]; + UINT8 PcieDpc[24]; + +/** Offset 0x0388 - PCIe DPC extensions enable/disable + Enable/disable Downstream Port Containment Extensions for PCIE Root Ports. +**/ + UINT8 PcieEdpc[24]; /** Offset 0x03A0 - USB PDO Programming Enable/disable PDO programming for USB in PEI phase. Disabling will allow for programming @@ -511,9 +686,9 @@ typedef struct { **/ UINT8 UsbPdoProgramming; -/** Offset 0x03A1 - Reserved +/** Offset 0x03A1 **/ - UINT8 Reserved9[3]; + UINT8 UnusedUpdSpace6[3]; /** Offset 0x03A4 - Power button debounce configuration Debounce time for PWRBTN in microseconds. For values not supported by HW, they will @@ -563,9 +738,9 @@ typedef struct { **/ UINT8 PchFivrExtVnnRailSupportedVoltageStates; -/** Offset 0x03B1 - Reserved +/** Offset 0x03B1 **/ - UINT8 Reserved10; + UINT8 UnusedUpdSpace7; /** Offset 0x03B2 - External Vnn Voltage Value that will be used in S0ix/Sx states Value is given in 2.5mV increments (0=0mV, 1=2.5mV, 2=5mV...), Default is set to 420 @@ -618,9 +793,9 @@ typedef struct { **/ UINT16 PchFivrVccinAuxOffToHighCurModeVolTranTime; -/** Offset 0x03BE - Reserved +/** Offset 0x03BE **/ - UINT8 Reserved11[2]; + UINT8 UnusedUpdSpace8[2]; /** Offset 0x03C0 - Trace Hub Memory Base If Trace Hub is enabled and trace to memory is desired, BootLoader needs to allocate @@ -636,9 +811,9 @@ typedef struct { **/ UINT8 PmcDbgMsgEn; -/** Offset 0x03C5 - Reserved +/** Offset 0x03C5 **/ - UINT8 Reserved12[3]; + UINT8 UnusedUpdSpace9[3]; /** Offset 0x03C8 - Pointer of ChipsetInit Binary ChipsetInit Binary Pointer. @@ -656,18 +831,61 @@ typedef struct { **/ UINT8 PchFivrDynPm; -/** Offset 0x03D1 - Reserved +/** Offset 0x03D1 **/ - UINT8 Reserved13; + UINT8 UnusedUpdSpace10; /** Offset 0x03D2 - External V1P05 Icc Max Value Granularity of this setting is 1mA and maximal possible value is 500mA **/ UINT16 PchFivrExtV1p05RailIccMaximum; -/** Offset 0x03D4 - Reserved +/** Offset 0x03D4 - External Vnn Icc Max Value that will be used in S0ix/Sx states + Granularity of this setting is 1mA and maximal possible value is 500mA +**/ + UINT16 PchFivrExtVnnRailIccMaximum; + +/** Offset 0x03D6 - External Vnn Icc Max Value that will be used in Sx states + Use only if Ext Vnn Rail config is different in Sx. Granularity of this setting + is 1mA and maximal possible value is 500mA +**/ + UINT16 PchFivrExtVnnRailSxIccMaximum; + +/** Offset 0x03D8 - PCH eSPI Link Configuration Lock (SBLCL) + Enable/Disable lock of communication through SET_CONFIG/GET_CONFIG to eSPI slaves + addresseses from range 0x0 - 0x7FF + $EN_DIS +**/ + UINT8 PchEspiLockLinkConfiguration; + +/** Offset 0x03D9 - Extented BIOS Direct Read Decode enable + Enable/Disable access to bigger than 16MB BIOS Region through Direct Memory Reads. + 0: disabled (default), 1: enabled + $EN_DIS +**/ + UINT8 PchSpiExtendedBiosDecodeRangeEnable; + +/** Offset 0x03DA - Enforce Enhanced Debug Mode + Determine if ME should enter Enhanced Debug Mode. <b>0: disable</b>, 1: enable + $EN_DIS +**/ + UINT8 EnforceEDebugMode; + +/** Offset 0x03DB - PchPostMemRsvd + Reserved for PCH Post-Mem + $EN_DIS +**/ + UINT8 PchPostMemRsvd[1]; + +/** Offset 0x03DC - Extended BIOS Direct Read Decode Range base + Bits of 31:16 of a memory address that'll be a base for Extended BIOS Direct Read Decode. +**/ + UINT32 PchSpiExtendedBiosDecodeRangeBase; + +/** Offset 0x03E0 - Extended BIOS Direct Read Decode Range limit + Bits of 31:16 of a memory address that'll be a limit for Extended BIOS Direct Read Decode. **/ - UINT8 Reserved14[16]; + UINT32 PchSpiExtendedBiosDecodeRangeLimit; /** Offset 0x03E4 - CNVi Configuration This option allows for automatic detection of Connectivity Solution. [Auto Detection] @@ -688,9 +906,9 @@ typedef struct { **/ UINT8 CnviBtAudioOffload; -/** Offset 0x03E7 - Reserved +/** Offset 0x03E7 **/ - UINT8 Reserved15; + UINT8 UnusedUpdSpace11; /** Offset 0x03E8 - CNVi RF_RESET pin muxing Select CNVi RF_RESET# pin depending on board routing. TGP-LP: GPP_A8 = 0x2942E408(default) @@ -731,9 +949,15 @@ typedef struct { **/ UINT8 PchEspiLgmrEnable; -/** Offset 0x03F4 - Reserved +/** Offset 0x03F4 - External V1P05 Control Ramp Timer value + Hold off time to be used when changing the v1p05_ctrl for external bypass value in us **/ - UINT8 Reserved16[2]; + UINT8 PchFivrExtV1p05RailCtrlRampTmr; + +/** Offset 0x03F5 - External VNN Control Ramp Timer value + Hold off time to be used when changing the vnn_ctrl for external bypass value in us +**/ + UINT8 PchFivrExtVnnRailCtrlRampTmr; /** Offset 0x03F6 - Set SATA DEVSLP GPIO Reset Config Set SATA DEVSLP GPIO Reset Config per port. 0x00 - GpioResetDefault, 0x01 - GpioResumeReset, @@ -801,9 +1025,9 @@ typedef struct { **/ UINT8 AmtSolEnabled; -/** Offset 0x0407 - Reserved +/** Offset 0x0407 **/ - UINT8 Reserved17; + UINT8 UnusedUpdSpace12; /** Offset 0x0408 - OS Timer 16 bits Value, Set OS watchdog timer. Setting is invalid if AmtEnabled is 0. @@ -850,9 +1074,9 @@ typedef struct { **/ UINT8 PcieRpEnableCpm[24]; -/** Offset 0x0457 - Reserved +/** Offset 0x0457 **/ - UINT8 Reserved18; + UINT8 UnusedUpdSpace13[1]; /** Offset 0x0458 - PCIE RP Detect Timeout Ms The number of milliseconds within 0~65535 in reference code will wait for link to @@ -868,9 +1092,19 @@ typedef struct { **/ UINT8 PmcModPhySusPgEnable; -/** Offset 0x0489 - Reserved +/** Offset 0x0489 - V1p05-PHY supply external FET control + Enable/Disable control using EXT_PWR_GATE# pin of external FET to power gate v1p05-PHY + supply. 0: disable, 1: enable + $EN_DIS +**/ + UINT8 PmcV1p05PhyExtFetControlEn; + +/** Offset 0x048A - V1p05-IS supply external FET control + Enable/Disable control using EXT_PWR_GATE2# pin of external FET to power gate v1p05-IS + supply. 0: disable, 1: enable + $EN_DIS **/ - UINT8 Reserved19[2]; + UINT8 PmcV1p05IsExtFetControlEn; /** Offset 0x048B - Enable/Disable PavpEnable Enable(Default): Enable PavpEnable, Disable: Disable PavpEnable @@ -929,9 +1163,16 @@ typedef struct { **/ UINT8 ITbtPcieTunnelingForUsb4; -/** Offset 0x04BA - Reserved +/** Offset 0x04BA - Enable/Disable SkipFspGop + Enable: Skip FSP provided GOP driver, Disable(Default): Use FSP provided GOP driver + $EN_DIS +**/ + UINT8 SkipFspGop; + +/** Offset 0x04BB - TC State in TCSS + This TC C-State Limit in IOM **/ - UINT8 Reserved20[2]; + UINT8 TcCstateLimit; /** Offset 0x04BC - Disable TC code On USB Connect Enable: Unsupported TC cold capability on Usb Connected, Disable(default): Supported @@ -940,9 +1181,21 @@ typedef struct { **/ UINT8 DisableTccoldOnUsbConnected; -/** Offset 0x04BD - Reserved +/** Offset 0x04BD - Set Iom stay in TC cold seconds in TCSS + Set Iom stay in TC cold seconds in IOM +**/ + UINT8 IomStayInTCColdeSeconds; + +/** Offset 0x04BE - Set Iom before entering TC cold seconds in TCSS + Set Iom before entering TC cold seconds in IOM +**/ + UINT8 IomBeforeEnteringTCCodeSeconds; + +/** Offset 0x04BF - SaPostMemRsvd + Reserved for PCH Post-Mem + $EN_DIS **/ - UINT8 Reserved21[4]; + UINT8 SaPostMemRsvd[2]; /** Offset 0x04C1 - Enable VMD controller Enable/disable to VMD controller.0: Disable(Default); 1: Enable @@ -974,9 +1227,10 @@ typedef struct { **/ UINT8 VmdPortD; -/** Offset 0x04C6 - Reserved +/** Offset 0x04C6 - VMD Config Bar size + Set The VMD Config Bar Size. **/ - UINT8 Reserved22; + UINT8 VmdCfgBarSize; /** Offset 0x04C7 - VMD Config Bar Attributes 0: VMD_32BIT_NONPREFETCH, 1: VMD_64BIT_NONPREFETCH, 2: VMD_64BIT_PREFETCH(Default) @@ -984,9 +1238,10 @@ typedef struct { **/ UINT8 VmdCfgBarAttr; -/** Offset 0x04C8 - Reserved +/** Offset 0x04C8 - VMD Mem Bar1 size + Set The VMD Mem Bar1 Size. **/ - UINT8 Reserved23; + UINT8 VmdMemBarSize1; /** Offset 0x04C9 - VMD Mem Bar1 Attributes 0: VMD_32BIT_NONPREFETCH(Default), 1: VMD_64BIT_NONPREFETCH, 2: VMD_64BIT_PREFETCH @@ -994,9 +1249,10 @@ typedef struct { **/ UINT8 VmdMemBar1Attr; -/** Offset 0x04CA - Reserved +/** Offset 0x04CA - VMD Mem Bar2 size + Set The VMD Mem Bar2 Size. **/ - UINT8 Reserved24; + UINT8 VmdMemBarSize2; /** Offset 0x04CB - VMD Mem Bar2 Attributes 0: VMD_32BIT_NONPREFETCH, 1: VMD_64BIT_NONPREFETCH(Default), 2: VMD_64BIT_PREFETCH @@ -1010,9 +1266,9 @@ typedef struct { **/ UINT8 PmcPdEnable; -/** Offset 0x04CD - Reserved +/** Offset 0x04CD **/ - UINT8 Reserved25; + UINT8 UnusedUpdSpace14; /** Offset 0x04CE - TCSS Aux Orientation Override Enable Bits 0, 2, ... 10 control override enables, bits 1, 3, ... 11 control overrides @@ -1097,9 +1353,9 @@ typedef struct { **/ UINT8 SaPcieItbtRpSnoopLatencyOverrideMultiplier[4]; -/** Offset 0x04F3 - Reserved +/** Offset 0x04F3 **/ - UINT8 Reserved26; + UINT8 UnusedUpdSpace15[1]; /** Offset 0x04F4 - PCIE RP Snoop Latency Override Value Latency Tolerance Reporting, Snoop Latency Override Value. @@ -1149,9 +1405,9 @@ typedef struct { **/ UINT8 Psi4Enable[5]; -/** Offset 0x051F - Reserved +/** Offset 0x051F **/ - UINT8 Reserved27; + UINT8 UnusedUpdSpace16[1]; /** Offset 0x0520 - Imon slope correction PCODE MMIO Mailbox: Imon slope correction. Specified in 1/100 increment values. @@ -1225,9 +1481,11 @@ typedef struct { **/ UINT8 EnableMultiPhaseSiliconInit; -/** Offset 0x0556 - Reserved +/** Offset 0x0556 - Thermal Design Current current limit + PCODE MMIO Mailbox: Thermal Design Current current limit. Specified in 1/8A units. + Range is 0-4095. 1000 = 125A. <b>0: Auto</b>. For all VR Indexes **/ - UINT8 Reserved28[10]; + UINT16 TdcCurrentLimit[5]; /** Offset 0x0560 - AcLoadline PCODE MMIO Mailbox: AcLoadline in 1/100 mOhms (ie. 1250 = 12.50 mOhm); Range is @@ -1275,8 +1533,9 @@ typedef struct { UINT8 SendVrMbxCmd; /** Offset 0x05A7 - Reserved + Reserved **/ - UINT8 Reserved29; + UINT8 Reserved2; /** Offset 0x05A8 - Enable or Disable TXT Enable or Disable TXT; 0: Disable; <b>1: Enable</b>. @@ -1305,9 +1564,9 @@ typedef struct { **/ UINT8 FivrSpreadSpectrum; -/** Offset 0x05AD - Reserved +/** Offset 0x05AD **/ - UINT8 Reserved30[3]; + UINT8 UnusedUpdSpace17[3]; /** Offset 0x05B0 - CpuBistData Pointer CPU BIST Data @@ -1326,9 +1585,42 @@ typedef struct { **/ UINT32 CpuMpHob; -/** Offset 0x05BC - Reserved +/** Offset 0x05BC - RFI Mitigation + Enable or Disable RFI Mitigation. <b>0: Disable - DCM is the IO_N default</b>; 1: + Enable - Enable IO_N DCM/CCM switching as RFI mitigation. + $EN_DIS +**/ + UINT8 RfiMitigation; + +/** Offset 0x05BD - FIVR RFI Spread Spectrum Enable or disable + Enable or Disable FIVR RFI Spread Spectrum. 0: Disable ; <b> 1: Enable </b> +**/ + UINT8 FivrSpectrumEnable; + +/** Offset 0x05BE - Pre Wake Randomization time + PCODE MMIO Mailbox: Acoustic Noise Mitigation Range.Defines the maximum pre-wake + randomization time in micro ticks.This can be programmed only if AcousticNoiseMitigation + is enabled. Range 0-255 <b>0</b>. +**/ + UINT8 PreWake; + +/** Offset 0x05BF - Ramp Up Randomization time + PCODE MMIO Mailbox: Acoustic Noise Mitigation Range.Defines the maximum Ramp Up + randomization time in micro ticks.This can be programmed only if AcousticNoiseMitigation + is enabled.Range 0-255 <b>0</b>. +**/ + UINT8 RampUp; + +/** Offset 0x05C0 - Ramp Down Randomization time + PCODE MMIO Mailbox: Acoustic Noise Mitigation Range.Defines the maximum Ramp Down + randomization time in micro ticks.This can be programmed only if AcousticNoiseMitigation + is enabled.Range 0-255 <b>0</b>. +**/ + UINT8 RampDown; + +/** Offset 0x05C1 **/ - UINT8 Reserved31[16]; + UINT8 CpuPostMemRsvd[11]; /** Offset 0x05CC - PpinSupport to view Protected Processor Inventory Number Enable or Disable or Auto (Based on End of Manufacturing flag. Disabled if this @@ -1367,9 +1659,35 @@ typedef struct { **/ UINT16 MinVoltageC8; -/** Offset 0x05DE - Reserved +/** Offset 0x05DE - Platform Psys offset correction + PCODE MMIO Mailbox: Platform Psys offset correction. <b>0 - Auto</b> Units 1/1000, + Range 0-63999. For an offset of 25.348, enter 25348. **/ - UINT8 Reserved32[10]; + UINT16 PsysOffset1; + +/** Offset 0x05E0 - Smbios Type4 Max Speed Override + Provide the option for platform to override the MaxSpeed field of Smbios Type 4. + If this value is not zero, it dominates the field. +**/ + UINT16 SmbiosType4MaxSpeedOverride; + +/** Offset 0x05E2 - AvxDisable + Enable or Disable AVX Support. + 0: Enable, 1: Disable +**/ + UINT8 AvxDisable; + +/** Offset 0x05E3 - Avx3Disable + Enable or Disable AVX3 Support + 0: Enable, 1: Disable +**/ + UINT8 Avx3Disable; + +/** Offset 0x05E4 - ReservedCpuPostMemProduction + Reserved for CPU Post-Mem Production + $EN_DIS +**/ + UINT8 ReservedCpuPostMemProduction[4]; /** Offset 0x05E8 - Enable Power Optimizer Enable DMI Power Optimizer on PCH side. @@ -1387,9 +1705,9 @@ typedef struct { **/ UINT8 PchReadProtectionEnable[5]; -/** Offset 0x05F3 - Reserved +/** Offset 0x05F3 **/ - UINT8 Reserved33; + UINT8 UnusedUpdSpace18[1]; /** Offset 0x05F4 - PCH Protect Range Limit Left shifted address by 12 bits with address bits 11:0 are assumed to be FFFh for @@ -1414,9 +1732,11 @@ typedef struct { **/ UINT8 PchHdaLinkFrequency; -/** Offset 0x060A - Reserved +/** Offset 0x060A - PchPostMemRsvd + Reserved for PCH Post-Mem + $EN_DIS **/ - UINT8 Reserved34[3]; + UINT8 PchPostMemRsvd4[3]; /** Offset 0x060D - Enable PCH ISH SPI Cs0 pins assigned Set if ISH SPI Cs0 pins are to be enabled by BIOS. 0: Disable; 1: Enable. @@ -1479,9 +1799,11 @@ typedef struct { **/ UINT8 PchCrid; -/** Offset 0x0622 - Reserved +/** Offset 0x0622 - RTC BIOS Interface Lock + Enable RTC BIOS interface lock. When set, prevents RTC TS (BUC.TS) from being changed. + $EN_DIS **/ - UINT8 Reserved35; + UINT8 RtcBiosInterfaceLock; /** Offset 0x0623 - RTC Cmos Memory Lock Enable RTC lower and upper 128 byte Lock bits to lock Bytes 38h-3Fh in the upper @@ -1561,9 +1883,15 @@ typedef struct { **/ UINT8 ThcPort0Assignment; -/** Offset 0x075D - Reserved +/** Offset 0x075D +**/ + UINT8 UnusedUpdSpace19[3]; + +/** Offset 0x0760 - THC Port 0 Interrupt Pin Mux + Set THC Port 0 Pin Muxing Value if signal can be enabled on multiple pads. Refer + to GPIO_*_MUXING_THC_SPIx_INTB_* for possible values. **/ - UINT8 Reserved36[7]; + UINT32 ThcPort0InterruptPinMuxing; /** Offset 0x0764 - Touch Host Controller Port 1 Assignment Assign THC Port 1 @@ -1571,9 +1899,27 @@ typedef struct { **/ UINT8 ThcPort1Assignment; -/** Offset 0x0765 - Reserved +/** Offset 0x0765 - Touch Host Controller Port 1 ReadFrequency + Set THC Port 1 Read Frequency (THC_PORT_FREQUENCY enum): 0:2p1MHz,1:2p5Mz,2:3Mz,3:3p75Mz,4:5MHz,5:7p5MHz,6:15MHz,7:17MHz,8:20MHz,9:24MHz,10:30MHz + 0:2p1MHz,1:2p5Mz,2:3Mz,3:3p75Mz,4:5MHz,5:7p5MHz,6:15MHz,7:17MHz,8:20MHz,9:24MHz,10:30MHz **/ - UINT8 Reserved37[7]; + UINT8 ThcPort1ReadFrequency; + +/** Offset 0x0766 - Touch Host Controller Port 1 WriteFrequency + Set THC Port 1 Write Frequency (THC_PORT_FREQUENCY enum): 0:2p1MHz,1:2p5Mz,2:3Mz,3:3p75Mz,4:5MHz,5:7p5MHz,6:15MHz,7:17MHz,8:20MHz,9:24MHz,10:30MHz + 0:2p1MHz,1:2p5Mz,2:3Mz,3:3p75Mz,4:5MHz,5:7p5MHz,6:15MHz,7:17MHz,8:20MHz,9:24MHz,10:30MHz +**/ + UINT8 ThcPort1WriteFrequency; + +/** Offset 0x0767 +**/ + UINT8 UnusedUpdSpace20; + +/** Offset 0x0768 - THC Port 1 Interrupt Pin Mux + Set THC Port 1 Pin Muxing Value if signal can be enabled on multiple pads. Refer + to GPIO_*_MUXING_THC_SPIx_INTB_* for possible values. +**/ + UINT32 ThcPort1InterruptPinMuxing; /** Offset 0x076C - PCIE RP Pcie Speed Determines each PCIE Port speed capability. 0: Auto; 1: Gen1; 2: Gen2; 3: Gen3 (see: @@ -1613,9 +1959,66 @@ typedef struct { **/ UINT8 PcieRpLtrConfigLock[24]; -/** Offset 0x0814 - Reserved +/** Offset 0x0814 - PCIe override default settings for EQ + Choose PCIe EQ method + $EN_DIS **/ - UINT8 Reserved38[45]; + UINT8 PcieEqOverrideDefault; + +/** Offset 0x0815 - PCIe choose EQ method + Choose PCIe EQ method + 0: HardwareEq, 1: FixedEq +**/ + UINT8 PcieEqMethod; + +/** Offset 0x0816 - PCIe choose EQ mode + Choose PCIe EQ mode + 0: PresetEq, 1: CoefficientEq +**/ + UINT8 PcieEqMode; + +/** Offset 0x0817 - PCIe EQ local transmitter override + Enable/Disable local transmitter override + $EN_DIS +**/ + UINT8 PcieEqLocalTransmitterOverrideEnable; + +/** Offset 0x0818 - PCIe number of valid list entries + Select number of presets or coefficients depending on the mode +**/ + UINT8 PcieEqPh3NumberOfPresetsOrCoefficients; + +/** Offset 0x0819 - PCIe pre-cursor coefficient list + Provide a list of pre-cursor coefficients to be used during phase 3 EQ +**/ + UINT8 PcieEqPh3PreCursorList[10]; + +/** Offset 0x0823 - PCIe post-cursor coefficient list + Provide a list of post-cursor coefficients to be used during phase 3 EQ +**/ + UINT8 PcieEqPh3PostCursorList[10]; + +/** Offset 0x082D - PCIe preset list + Provide a list of presets to be used during phase 3 EQ +**/ + UINT8 PcieEqPh3PresetList[11]; + +/** Offset 0x0838 - PCIe EQ phase 1 downstream transmitter port preset + Allows to select the downstream port preset value that will be used during phase + 1 of equalization +**/ + UINT32 PcieEqPh1DownstreamPortTransmitterPreset; + +/** Offset 0x083C - PCIe EQ phase 1 upstream tranmitter port preset + Allows to select the upstream port preset value that will be used during phase 1 + of equalization +**/ + UINT32 PcieEqPh1UpstreamPortTransmitterPreset; + +/** Offset 0x0840 - PCIe EQ phase 2 local transmitter override preset + Allows to select the value of the preset used during phase 2 local transmitter override +**/ + UINT8 PcieEqPh2LocalTransmitterOverridePreset; /** Offset 0x0841 - PCIE Enable Peer Memory Write This member describes whether Peer Memory Writes are enabled on the platform. @@ -1636,9 +2039,19 @@ typedef struct { **/ UINT8 PcieRpFunctionSwap; -/** Offset 0x0844 - Reserved +/** Offset 0x0844 - Enable/Disable PEG GEN3 Static EQ Phase1 programming + Program Gen3 EQ Phase1 Static Presets. Disabled(0x0): Disable EQ Phase1 Static Presets + Programming, Enabled(0x1)(Default): Enable EQ Phase1 Static Presets Programming + $EN_DIS +**/ + UINT8 CpuPcieGen3ProgramStaticEq; + +/** Offset 0x0845 - Enable/Disable GEN4 Static EQ Phase1 programming + Program Gen4 EQ Phase1 Static Presets. Disabled(0x0): Disable EQ Phase1 Static Presets + Programming, Enabled(0x1)(Default): Enable EQ Phase1 Static Presets Programming + $EN_DIS **/ - UINT8 Reserved39[2]; + UINT8 CpuPcieGen4ProgramStaticEq; /** Offset 0x0846 - PCH Pm PME_B0_S5_DIS When cleared (default), wake events from PME_B0_STS are allowed in S5 if PME_B0_EN = 1. @@ -1832,9 +2245,9 @@ typedef struct { **/ UINT8 SataPortsDmVal[8]; -/** Offset 0x0899 - Reserved +/** Offset 0x0899 **/ - UINT8 Reserved40; + UINT8 UnusedUpdSpace21[1]; /** Offset 0x089A - Enable SATA Port DmVal DEVSLP Idle Timeout (DITO), Default is 625. @@ -1939,9 +2352,11 @@ typedef struct { **/ UINT8 UfsEnable[2]; -/** Offset 0x08C9 - Reserved +/** Offset 0x08C9 - IEH Mode + Integrated Error Handler Mode, 0: Bypass, 1: Enable + 0: Bypass, 1:Enable **/ - UINT8 Reserved41; + UINT8 IehMode; /** Offset 0x08CA - Thermal Throttling Custimized T0Level Value Custimized T0Level value. @@ -2114,9 +2529,9 @@ typedef struct { **/ UINT8 PchMemoryPinSelection[2]; -/** Offset 0x08EF - Reserved +/** Offset 0x08EF **/ - UINT8 Reserved42; + UINT8 UnusedUpdSpace22; /** Offset 0x08F0 - Thermal Device Temperature Decides the temperature. @@ -2139,9 +2554,9 @@ typedef struct { **/ UINT8 PchUsbLtrOverrideEnable; -/** Offset 0x090D - Reserved +/** Offset 0x090D **/ - UINT8 Reserved43[3]; + UINT8 UnusedUpdSpace23[3]; /** Offset 0x0910 - xHCI High Idle Time LTR override Value used for overriding LTR recommendation for xHCI High Idle Time LTR setting @@ -2201,9 +2616,9 @@ typedef struct { **/ UINT8 HybridStorageMode; -/** Offset 0x0922 - Reserved +/** Offset 0x0922 **/ - UINT8 Reserved44[6]; + UINT8 UnusedUpdSpace24[6]; /** Offset 0x0928 - BgpdtHash[4] BgpdtHash values @@ -2215,9 +2630,9 @@ typedef struct { **/ UINT32 BiosGuardAttr; -/** Offset 0x094C - Reserved +/** Offset 0x094C **/ - UINT8 Reserved45[4]; + UINT8 UnusedUpdSpace25[4]; /** Offset 0x0950 - BiosGuardModulePtr BiosGuardModulePtr default values @@ -2241,9 +2656,9 @@ typedef struct { **/ UINT8 EcCmdLock; -/** Offset 0x0962 - Reserved +/** Offset 0x0962 **/ - UINT8 Reserved46[6]; + UINT8 UnusedUpdSpace26[6]; /** Offset 0x0968 - SgxEpoch0 SgxEpoch0 default values @@ -2267,9 +2682,28 @@ typedef struct { **/ UINT8 SiCsmFlag; -/** Offset 0x097A - Reserved +/** Offset 0x097A - Skip Ssid Programming. + When set to TRUE, silicon code will not do any SSID programming and platform code + needs to handle that by itself properly. + $EN_DIS +**/ + UINT8 SiSkipSsidProgramming; + +/** Offset 0x097B **/ - UINT8 Reserved47[6]; + UINT8 UnusedUpdSpace27; + +/** Offset 0x097C - Change Default SVID + Change the default SVID used in FSP to programming internal devices. This is only + valid when SkipSsidProgramming is FALSE. +**/ + UINT16 SiCustomizedSvid; + +/** Offset 0x097E - Change Default SSID + Change the default SSID used in FSP to programming internal devices. This is only + valid when SkipSsidProgramming is FALSE. +**/ + UINT16 SiCustomizedSsid; /** Offset 0x0980 - SVID SDID table Poniter. The address of the table of SVID SDID to customize each SVID SDID entry. This is @@ -2335,17 +2769,296 @@ typedef struct { **/ UINT8 PmcOsIdleEnable; -/** Offset 0x099D - Reserved +/** Offset 0x099D - S0ix Auto-Demotion + Enable/Disable the Low Power Mode Auto-Demotion Host Control feature. + $EN_DIS +**/ + UINT8 PchS0ixAutoDemotion; + +/** Offset 0x099E - Latch Events C10 Exit + When this bit is set to 1, SLP_S0# entry events in SLP_S0_DEBUG_REGx registers are + captured on C10 exit (instead of C10 entry which is default) + $EN_DIS +**/ + UINT8 PchPmLatchEventsC10Exit; + +/** Offset 0x099F - PCIE Eq Ph3 Lane Param Cm + CPU_PCIE_EQ_LANE_PARAM. Coefficient C-1. +**/ + UINT8 CpuPcieEqPh3LaneParamCm[32]; + +/** Offset 0x09BF - PCIE Eq Ph3 Lane Param Cp + CPU_PCIE_EQ_LANE_PARAM. Coefficient C+1. +**/ + UINT8 CpuPcieEqPh3LaneParamCp[32]; + +/** Offset 0x09DF - PCIE Hw Eq Gen3 CoeffList Cm + CPU_PCIE_EQ_PARAM. Coefficient C-1. +**/ + UINT8 CpuPcieHwEqGen3CoeffListCm[5]; + +/** Offset 0x09E4 - PCIE Hw Eq Gen3 CoeffList Cp + CPU_PCIE_EQ_PARAM. Coefficient C+1. +**/ + UINT8 CpuPcieHwEqGen3CoeffListCp[5]; + +/** Offset 0x09E9 - PCIE Hw Eq Gen4 CoeffList Cm + CPU_PCIE_EQ_PARAM. Coefficient C-1. +**/ + UINT8 CpuPcieHwEqGen4CoeffListCm[5]; + +/** Offset 0x09EE - PCIE Hw Eq Gen4 CoeffList Cp + CPU_PCIE_EQ_PARAM. Coefficient C+1. +**/ + UINT8 CpuPcieHwEqGen4CoeffListCp[5]; + +/** Offset 0x09F3 - Gen3 Root port preset values per lane + Used for programming Pcie Gen3 preset values per lane. Range: 0-9, 8 is default + for each lane +**/ + UINT8 CpuPcieGen3RootPortPreset[20]; + +/** Offset 0x0A07 - Pcie Gen4 Root port preset values per lane + Used for programming Pcie Gen4 preset values per lane. Range: 0-9, 8 is default + for each lane +**/ + UINT8 CpuPcieGen4RootPortPreset[20]; + +/** Offset 0x0A1B - Pcie Gen3 End port preset values per lane + Used for programming Pcie Gen3 preset values per lane. Range: 0-9, 7 is default + for each lane +**/ + UINT8 CpuPcieGen3EndPointPreset[20]; + +/** Offset 0x0A2F - Pcie Gen4 End port preset values per lane + Used for programming Pcie Gen4 preset values per lane. Range: 0-9, 7 is default + for each lane +**/ + UINT8 CpuPcieGen4EndPointPreset[20]; + +/** Offset 0x0A43 - Pcie Gen3 End port Hint values per lane + Used for programming Pcie Gen3 Hint values per lane. Range: 0-6, 2 is default for each lane +**/ + UINT8 CpuPcieGen3EndPointHint[20]; + +/** Offset 0x0A57 - Pcie Gen4 End port Hint values per lane + Used for programming Pcie Gen4 Hint values per lane. Range: 0-6, 2 is default for each lane +**/ + UINT8 CpuPcieGen4EndPointHint[20]; + +/** Offset 0x0A6B - CPU PCIe Fia Programming + Load Fia configuration if enable. 0: Disable; 1: Enable(Default). + $EN_DIS +**/ + UINT8 CpuPcieFiaProgramming; + +/** Offset 0x0A6C - CPU PCIe RootPort Clock Gating + Describes whether the PCI Express Clock Gating for each root port is enabled by + platform modules. 0: Disable; 1: Enable(Default). + $EN_DIS +**/ + UINT8 CpuPcieClockGating; + +/** Offset 0x0A6D - CPU PCIe RootPort Power Gating + Describes whether the PCI Express Power Gating for each root port is enabled by + platform modules. 0: Disable; 1: Enable(Default). + $EN_DIS +**/ + UINT8 CpuPciePowerGating; + +/** Offset 0x0A6E - PCIE Compliance Test Mode + Compliance Test Mode shall be enabled when using Compliance Load Board. + $EN_DIS +**/ + UINT8 CpuPcieComplianceTestMode; + +/** Offset 0x0A6F - PCIE Secure Register Lock + Describes whether Secure Register Lock is enaled or disabled. When it will be enbaled, + load CpuPcieRpSetSecuredRegisterLock recipe. DEPRECATED 0: Disable(Default); 1: Enable + $EN_DIS +**/ + UINT8 CpuPcieSetSecuredRegisterLock; + +/** Offset 0x0A70 - PCIE Enable Peer Memory Write + This member describes whether Peer Memory Writes are enabled on the platform. + $EN_DIS +**/ + UINT8 CpuPcieEnablePeerMemoryWrite; + +/** Offset 0x0A71 - PCIE Rp Function Swap + Allows BIOS to use root port function number swapping when root port of function + 0 is disabled. + $EN_DIS +**/ + UINT8 CpuPcieRpFunctionSwap; + +/** Offset 0x0A72 - PCI Express Slot Selection + Select the PCIe M2 or CEMx4 slot.0: CEMx4 slot; 1: M2 slot(Default). + $EN_DIS **/ - UINT8 Reserved48[315]; + UINT8 CpuPcieSlotSelection; + +/** Offset 0x0A73 +**/ + UINT8 UnusedUpdSpace28; + +/** Offset 0x0A74 - CPU PCIE device override table pointer + The PCIe device table is being used to override PCIe device ASPM settings. This + is a pointer points to a 32bit address. And it's only used in PostMem phase. Please + refer to CPU_PCIE_DEVICE_OVERRIDE structure for the table. Last entry VendorId + must be 0. +**/ + UINT32 CpuPcieDeviceOverrideTablePtr; + +/** Offset 0x0A78 - Enable PCIE RP HotPlug + Indicate whether the root port is hot plug available. +**/ + UINT8 CpuPcieRpHotPlug[4]; + +/** Offset 0x0A7C - Enable PCIE RP Pm Sci + Indicate whether the root port power manager SCI is enabled. +**/ + UINT8 CpuPcieRpPmSci[4]; + +/** Offset 0x0A80 - Enable PCIE RP Transmitter Half Swing + Indicate whether the Transmitter Half Swing is enabled. +**/ + UINT8 CpuPcieRpTransmitterHalfSwing[4]; + +/** Offset 0x0A84 - PCIE RP Access Control Services Extended Capability + Enable/Disable PCIE RP Access Control Services Extended Capability +**/ + UINT8 CpuPcieRpAcsEnabled[4]; + +/** Offset 0x0A88 - PCIE RP Clock Power Management + Enable/Disable PCIE RP Clock Power Management, even if disabled, CLKREQ# signal + can still be controlled by L1 PM substates mechanism +**/ + UINT8 CpuPcieRpEnableCpm[4]; + +/** Offset 0x0A8C - PCIE RP Advanced Error Report + Indicate whether the Advanced Error Reporting is enabled. +**/ + UINT8 CpuPcieRpAdvancedErrorReporting[4]; + +/** Offset 0x0A90 - PCIE RP Unsupported Request Report + Indicate whether the Unsupported Request Report is enabled. +**/ + UINT8 CpuPcieRpUnsupportedRequestReport[4]; + +/** Offset 0x0A94 - PCIE RP Fatal Error Report + Indicate whether the Fatal Error Report is enabled. +**/ + UINT8 CpuPcieRpFatalErrorReport[4]; + +/** Offset 0x0A98 - PCIE RP No Fatal Error Report + Indicate whether the No Fatal Error Report is enabled. +**/ + UINT8 CpuPcieRpNoFatalErrorReport[4]; + +/** Offset 0x0A9C - PCIE RP Correctable Error Report + Indicate whether the Correctable Error Report is enabled. +**/ + UINT8 CpuPcieRpCorrectableErrorReport[4]; + +/** Offset 0x0AA0 - PCIE RP System Error On Fatal Error + Indicate whether the System Error on Fatal Error is enabled. +**/ + UINT8 CpuPcieRpSystemErrorOnFatalError[4]; + +/** Offset 0x0AA4 - PCIE RP System Error On Non Fatal Error + Indicate whether the System Error on Non Fatal Error is enabled. +**/ + UINT8 CpuPcieRpSystemErrorOnNonFatalError[4]; + +/** Offset 0x0AA8 - PCIE RP System Error On Correctable Error + Indicate whether the System Error on Correctable Error is enabled. +**/ + UINT8 CpuPcieRpSystemErrorOnCorrectableError[4]; + +/** Offset 0x0AAC - PCIE RP Max Payload + Max Payload Size supported, Default 128B, see enum CPU_PCIE_MAX_PAYLOAD. +**/ + UINT8 CpuPcieRpMaxPayload[4]; + +/** Offset 0x0AB0 - DPC for PCIE RP Mask + Enable/disable Downstream Port Containment for PCIE Root Ports. 0: disable, 1: enable. + One bit for each port, bit0 for port1, bit1 for port2, and so on. +**/ + UINT8 CpuPcieRpDpcEnabled[4]; + +/** Offset 0x0AB4 - DPC Extensions PCIE RP Mask + Enable/disable DPC Extensions for PCIE Root Ports. 0: disable, 1: enable. One bit + for each port, bit0 for port1, bit1 for port2, and so on. +**/ + UINT8 CpuPcieRpDpcExtensionsEnabled[4]; + +/** Offset 0x0AB8 - CPU PCIe root port connection type + 0: built-in device, 1:slot +**/ + UINT8 CpuPcieRpSlotImplemented[4]; + +/** Offset 0x0ABC - PCIE RP Gen3 Equalization Phase Method + PCIe Gen3 Eq Ph3 Method (see CPU_PCIE_EQ_METHOD). 0: DEPRECATED, hardware equalization; + 1: hardware equalization; 4: Fixed Coeficients. +**/ + UINT8 CpuPcieRpGen3EqPh3Method[4]; + +/** Offset 0x0AC0 - PCIE RP Gen4 Equalization Phase Method + PCIe Gen4 Eq Ph3 Method (see CPU_PCIE_EQ_METHOD). 0: DEPRECATED, hardware equalization; + 1: hardware equalization; 4: Fixed Coeficients. +**/ + UINT8 CpuPcieRpGen4EqPh3Method[4]; + +/** Offset 0x0AC4 - PCIE RP Physical Slot Number + Indicates the slot number for the root port. Default is the value as root port index. +**/ + UINT8 CpuPcieRpPhysicalSlotNumber[4]; + +/** Offset 0x0AC8 - PCIE RP Aspm + The ASPM configuration of the root port (see: CPU_PCIE_ASPM_CONTROL).0: Disable; + 2: CpuPcieAspmL1(Default) +**/ + UINT8 CpuPcieRpAspm[4]; + +/** Offset 0x0ACC - PCIE RP L1 Substates + The L1 Substates configuration of the root port (see: CPU_PCIE_L1SUBSTATES_CONTROL). + Default is CpuPcieL1SubstatesL1_1_2. +**/ + UINT8 CpuPcieRpL1Substates[4]; + +/** Offset 0x0AD0 - PCIE RP Ltr Enable + Latency Tolerance Reporting Mechanism. +**/ + UINT8 CpuPcieRpLtrEnable[4]; + +/** Offset 0x0AD4 - PCIE RP Ltr Config Lock + 0: Disable; 1: Enable. +**/ + UINT8 CpuPcieRpLtrConfigLock[4]; /** Offset 0x0AD8 - RpPtmBytes **/ UINT8 RpPtmBytes[4]; -/** Offset 0x0ADC - Reserved +/** Offset 0x0ADC - PCIE RP Detect Timeout Ms + The number of milliseconds within 0~65535 in reference code will wait for link to + exit Detect state for enabled ports before assuming there is no device and potentially + disabling the port. +**/ + UINT16 CpuPcieRpDetectTimeoutMs[4]; + +/** Offset 0x0AE4 - VC for PCIE RP Mask + Enable/disable Virtual Channel for PCIE Root Ports. 0: disable, 1: enable. One bit + for each port, bit0 for port1, bit1 for port2, and so on. **/ - UINT8 Reserved49[16]; + UINT8 CpuPcieRpVcEnabled[4]; + +/** Offset 0x0AE8 - Multi-VC for PCIE RP Mask + Enable/disable Multiple Virtual Channel for PCIE Root Ports. 0: disable, 1: enable. + One bit for each port, bit0 for port1, bit1 for port2, and so on. +**/ + UINT8 CpuPcieRpMultiVcEnabled[4]; /** Offset 0x0AEC - Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 3 Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 3, Each @@ -2454,9 +3167,29 @@ typedef struct { **/ UINT8 SkipCdClockInit; -/** Offset 0x0B44 - Reserved +/** Offset 0x0B44 - Enable RC1p frequency request to PMA (provided all other conditions are met) + 0(Default)=Disable, 1=Enable + $EN_DIS +**/ + UINT8 RC1pFreqEnable; + +/** Offset 0x0B45 - Enable TSN Multi-VC + Enable/disable Multi Virtual Channels(VC) in TSN. + $EN_DIS +**/ + UINT8 PchTsnMultiVcEnable; + +/** Offset 0x0B46 - SaPostMemTestRsvd + Reserved for SA Post-Mem Test + $EN_DIS **/ - UINT8 Reserved50[16]; + UINT8 SaPostMemTestRsvd[13]; + +/** Offset 0x0B53 - RSR feature + Enable or Disable RSR feature; 0: Disable; <b>1: Enable </b> + $EN_DIS +**/ + UINT8 EnableRsr; /** Offset 0x0B54 - 1-Core Ratio Limit 1-Core Ratio Limit: For XE part: LFM to 255, For overclocking part: LFM to Fused @@ -2736,9 +3469,11 @@ typedef struct { **/ UINT8 DisableVrThermalAlert; -/** Offset 0x0B82 - Reserved +/** Offset 0x0B82 - Enable or Disable Thermal Reporting + Enable or Disable Thermal Reporting through ACPI tables; 0: Disable; <b>1: Enable</b>. + $EN_DIS **/ - UINT8 Reserved51; + UINT8 EnableAllThermalFunctions; /** Offset 0x0B83 - Enable or Disable Thermal Monitor Enable or Disable Thermal Monitor; 0: Disable; <b>1: Enable</b> @@ -2874,9 +3609,9 @@ typedef struct { **/ UINT8 StateRatioMax16[16]; -/** Offset 0x0BCF - Reserved +/** Offset 0x0BCF **/ - UINT8 Reserved52; + UINT8 UnusedUpdSpace29; /** Offset 0x0BD0 - Platform Power Pmax PCODE MMIO Mailbox: Platform Power Pmax. <b>0 - Auto</b> Specified in 1/8 Watt increments. @@ -3112,18 +3847,40 @@ typedef struct { **/ UINT8 EnableFastMsrHwpReq; -/** Offset 0x0C22 - Reserved +/** Offset 0x0C22 - Enable Configurable TDP + Applies TDP initialization settings based on non-cTDP or cTDP.; 0: Applies to non-cTDP; + <b>1: Applies to cTDP</b> + $EN_DIS +**/ + UINT8 ApplyConfigTdp; + +/** Offset 0x0C23 - Enable VccIn Demotion Override Configuration + Enable VccIn Demotion Override Configuration. The timing can be configured by VccInDemotionMs. + $EN_DIS +**/ + UINT8 VccInDemotionOverride; + +/** Offset 0x0C24 - Customize the VccIn Demotion in ms. + Customize the VccIn Demotion in ms accordingly. Values used by OEM expected to be + in lower end of 1-30 ms range. Value 1 means 1ms, value 2 means 2ms, and so on. + Value 0 will disable VccIn Demotion knob.<b> It's 30ms by silicon default</b> **/ - UINT8 Reserved53[17]; + UINT32 VccInDemotionMs; + +/** Offset 0x0C28 - ReservedCpuPostMemTest + Reserved for CPU Post-Mem Test + $EN_DIS +**/ + UINT8 ReservedCpuPostMemTest[11]; /** Offset 0x0C33 - SgxSinitDataFromTpm SgxSinitDataFromTpm default values **/ UINT8 SgxSinitDataFromTpm; -/** Offset 0x0C34 - Reserved +/** Offset 0x0C34 **/ - UINT8 Reserved54[16]; + UINT8 SecurityPostMemRsvd[16]; /** Offset 0x0C44 - End of Post message Test, Send End of Post message. Disable(0x0): Disable EOP message, Send in PEI(0x1): @@ -3255,9 +4012,185 @@ typedef struct { **/ UINT8 MctpBroadcastCycle; -/** Offset 0x0DB9 - Reserved +/** Offset 0x0DB9 +**/ + UINT8 UnusedUpdSpace30[1]; + +/** Offset 0x0DBA - PCIE RP Ltr Max Snoop Latency + Latency Tolerance Reporting, Max Snoop Latency. +**/ + UINT16 CpuPcieRpLtrMaxSnoopLatency[4]; + +/** Offset 0x0DC2 - PCIE RP Ltr Max No Snoop Latency + Latency Tolerance Reporting, Max Non-Snoop Latency. +**/ + UINT16 CpuPcieRpLtrMaxNoSnoopLatency[4]; + +/** Offset 0x0DCA - PCIE RP Snoop Latency Override Mode + Latency Tolerance Reporting, Snoop Latency Override Mode. +**/ + UINT8 CpuPcieRpSnoopLatencyOverrideMode[4]; + +/** Offset 0x0DCE - PCIE RP Snoop Latency Override Multiplier + Latency Tolerance Reporting, Snoop Latency Override Multiplier. +**/ + UINT8 CpuPcieRpSnoopLatencyOverrideMultiplier[4]; + +/** Offset 0x0DD2 - PCIE RP Snoop Latency Override Value + Latency Tolerance Reporting, Snoop Latency Override Value. +**/ + UINT16 CpuPcieRpSnoopLatencyOverrideValue[4]; + +/** Offset 0x0DDA - PCIE RP Non Snoop Latency Override Mode + Latency Tolerance Reporting, Non-Snoop Latency Override Mode. +**/ + UINT8 CpuPcieRpNonSnoopLatencyOverrideMode[4]; + +/** Offset 0x0DDE - PCIE RP Non Snoop Latency Override Multiplier + Latency Tolerance Reporting, Non-Snoop Latency Override Multiplier. +**/ + UINT8 CpuPcieRpNonSnoopLatencyOverrideMultiplier[4]; + +/** Offset 0x0DE2 - PCIE RP Non Snoop Latency Override Value + Latency Tolerance Reporting, Non-Snoop Latency Override Value. +**/ + UINT16 CpuPcieRpNonSnoopLatencyOverrideValue[4]; + +/** Offset 0x0DEA - PCIE RP Upstream Port Transmiter Preset + Used during Gen3 Link Equalization. Used for all lanes. Default is 7. +**/ + UINT8 CpuPcieRpGen3Uptp[4]; + +/** Offset 0x0DEE - PCIE RP Downstream Port Transmiter Preset + Used during Gen3 Link Equalization. Used for all lanes. Default is 7. +**/ + UINT8 CpuPcieRpGen3Dptp[4]; + +/** Offset 0x0DF2 - PCIE RP Upstream Port Transmiter Preset + Used during Gen4 Link Equalization. Used for all lanes. Default is 8. +**/ + UINT8 CpuPcieRpGen4Uptp[4]; + +/** Offset 0x0DF6 - PCIE RP Downstream Port Transmiter Preset + Used during Gen4 Link Equalization. Used for all lanes. Default is 9. +**/ + UINT8 CpuPcieRpGen4Dptp[4]; + +/** Offset 0x0DFA - PMC C10 dynamic threshold dajustment enable + Set if you want to enable PMC C10 dynamic threshold adjustment. Only works on supported SKUs + $EN_DIS +**/ + UINT8 PmcC10DynamicThresholdAdjustment; + +/** Offset 0x0DFB - FOMS Control Policy + Choose the Foms Control Policy, <b>Default = 0 </b> + 0: Auto, 1: Gen3 Foms, 2: Gen4 Foms, 3: Gen3 and Gen4 Foms +**/ + UINT8 CpuPcieFomsCp[4]; + +/** Offset 0x0DFF +**/ + UINT8 UnusedUpdSpace31; + +/** Offset 0x0E00 - LogoPixelHeight Address + Address of LogoPixelHeight +**/ + UINT32 LogoPixelHeight; + +/** Offset 0x0E04 - LogoPixelWidth Address + Address of LogoPixelWidth +**/ + UINT32 LogoPixelWidth; + +/** Offset 0x0E08 - P2P mode for PCIE RP + Enable/disable peer to peer mode for PCIE Root Ports. 0: Disable, 1: Enable. + 0: Disable, 1: Enable +**/ + UINT8 CpuPcieRpPeerToPeerMode[4]; + +/** Offset 0x0E0C - Map port under VMD + Map/UnMap port under VMD + $EN_DIS +**/ + UINT8 VmdPort[31]; + +/** Offset 0x0E2B - VMD Port Device + VMD Root port device number. +**/ + UINT8 VmdPortDev[31]; + +/** Offset 0x0E4A - VMD Port Func + VMD Root port function number. +**/ + UINT8 VmdPortFunc[31]; + +/** Offset 0x0E69 +**/ + UINT8 UnusedUpdSpace32[3]; + +/** Offset 0x0E6C - VMD Variable + VMD Variable Pointer. +**/ + UINT32 VmdVariablePtr; + +/** Offset 0x0E70 - Thermal Design Current time window + PCODE MMIO Mailbox: Thermal Design Current time window. Defined in milli seconds. + Range 1ms to 448s +**/ + UINT32 TdcTimeWindow1[5]; + +/** Offset 0x0E84 - Temporary CfgBar address for VMD + PCODE MMIO Mailbox: Thermal Design Current time window. Defined in milli seconds. + Range 1ms to 448s +**/ + UINT32 VmdCfgBarBase; + +/** Offset 0x0E88 - Temporary MemBar1 address for VMD + PCODE MMIO Mailbox: Thermal Design Current time window. Defined in milli seconds. + Range 1ms to 448s +**/ + UINT32 VmdMemBar1Base; + +/** Offset 0x0E8C - Temporary MemBar2 address for VMD + PCODE MMIO Mailbox: Thermal Design Current time window. Defined in milli seconds. + Range 1ms to 448s +**/ + UINT32 VmdMemBar2Base; + +/** Offset 0x0E90 - PCH TSN1 MAC Address High Bits + Set TSN1 MAC Address High. +**/ + UINT32 PchTsn1MacAddressHigh; + +/** Offset 0x0E94 - PCH TSN1 MAC Address Low Bits + Set TSN1 MAC Address Low. +**/ + UINT32 PchTsn1MacAddressLow; + +/** Offset 0x0E98 - FspEventHandler + <b>Optional</b> pointer to the boot loader's implementation of FSP_EVENT_HANDLER. +**/ + UINT32 FspEventHandler; + +/** Offset 0x0E9C - Enable VMD Global Mapping + Enable/disable to VMD controller.0: Disable(Default); 1: Enable + $EN_DIS +**/ + UINT8 VmdGlobalMapping; + +/** Offset 0x0E9D - PCH XHCI LTR Mode Enable + Enable/Disable PCH XHCI LTR Mode.0: Disable; 1: Enable(Default). + $EN_DIS +**/ + UINT8 PchXhciLtrModeEnable; + +/** Offset 0x0E9E +**/ + UINT8 UnusedUpdSpace33[3]; + +/** Offset 0x0EA1 **/ - UINT8 Reserved55[239]; + UINT8 ReservedFspsUpd[7]; } FSP_S_CONFIG; /** Fsp S UPD Configuration |