[coreboot-gerrit] New patch to review for coreboot: vendorcode/intel/fsp: Add fsp 2.0 header files for skylake and kabylake

Rizwan Qureshi (rizwan.qureshi@intel.com) gerrit at coreboot.org
Wed Aug 3 21:37:45 CEST 2016


Rizwan Qureshi (rizwan.qureshi at intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16050

-gerrit

commit 99d2d006c6d0da1f44597bd19d082f5df65fa4b6
Author: Rizwan Qureshi <rizwan.qureshi at intel.com>
Date:   Wed Aug 3 12:23:18 2016 +0530

    vendorcode/intel/fsp: Add fsp 2.0 header files for skylake and kabylake
    
    Adding FSP 2.0 header files, these files are common for Skylake
    and Kabylake, named the folder as skykabylake to signify the same.
    
    Change-Id: I71b43a59c9a9b0adf1ee48285e4a72e24a13df2d
    Signed-off-by: Rizwan Qureshi <rizwan.qureshi at intel.com>
---
 .../fsp/fsp2_0/skykabylake/CpuConfigFspData.h      |   68 +
 .../intel/fsp/fsp2_0/skykabylake/FspUpd.h          |   42 +
 .../intel/fsp/fsp2_0/skykabylake/FspmUpd.h         | 1587 +++++++++++
 .../intel/fsp/fsp2_0/skykabylake/FspsUpd.h         | 2924 ++++++++++++++++++++
 4 files changed, 4621 insertions(+)

diff --git a/src/vendorcode/intel/fsp/fsp2_0/skykabylake/CpuConfigFspData.h b/src/vendorcode/intel/fsp/fsp2_0/skykabylake/CpuConfigFspData.h
new file mode 100644
index 0000000..f55d332
--- /dev/null
+++ b/src/vendorcode/intel/fsp/fsp2_0/skykabylake/CpuConfigFspData.h
@@ -0,0 +1,68 @@
+/** @file
+  FSP CPU Data Config Block.
+
+ at copyright
+  Copyright (c) 2016 Intel Corporation. All rights reserved
+  This software and associated documentation (if any) is furnished
+  under a license and may only be used or copied in accordance
+  with the terms of the license. Except as permitted by the
+  license, no part of this software or documentation may be
+  reproduced, stored in a retrieval system, or transmitted in any
+  form or by any means without the express written consent of
+  Intel Corporation.
+  This file contains an 'Intel Peripheral Driver' and is uniquely
+  identified as "Intel Reference Module" and is licensed for Intel
+  CPUs and chipsets under the terms of your license agreement with
+  Intel or your vendor. This file may be modified by the user, subject
+  to additional terms of the license agreement.
+
+ at par Specification Reference:
+**/
+#ifndef _CPU_CONFIG_FSP_DATA_H_
+#define _CPU_CONFIG_FSP_DATA_H_
+union CPU_CONFIG_FSP_DATA {
+  struct {
+    /**
+      Enable or Disable Advanced Encryption Standard (AES) feature.
+      For some countries, this should be disabled for legal reasons.
+      -    0: Disable
+      - <b>1: Enable</b>
+    **/
+    uint32_t AesEnable           : 1;
+    /**
+    Processor Early Power On Configuration FCLK setting.
+     - <b>0: 800 MHz (ULT/ULX)</b>.
+     - <b>1: 1 GHz (DT/Halo)</b>. Not supported on ULT/ULX.
+     - 2: 400 MHz.
+     - 3: Reserved.
+    **/
+    uint32_t FClkFrequency       : 2;
+    uint32_t EnableRsr           : 1;                 ///< Enable or Disable RSR feature; 0: Disable; <b>1: Enable </b>
+    /**
+    Policies to obtain CPU temperature.
+     - <b>0: ACPI thermal management uses EC reported temperature values</b>.
+     - 1: ACPI thermal management uses DTS SMM mechanism to obtain CPU temperature values.
+     - 2: ACPI Thermal Management uses EC reported temperature values and DTS SMM is used to handle Out of Spec condition.
+    **/
+    uint32_t EnableDts           : 2;
+    uint32_t SmmbaseSwSmiNumber  : 8;                 ///< Software SMI number for handler to save CPU information in SMRAM.
+    /**
+      Enable or Disable Virtual Machine Extensions (VMX) feature.
+      -    0: Disable
+      - <b>1: Enable</b>
+    **/
+    uint32_t VmxEnable           : 1;
+    /**
+      Enable or Disable Trusted Execution Technology (TXT) feature.
+      -    0: Disable
+      - <b>1: Enable</b>
+    **/
+    uint32_t TxtEnable           : 1;
+    uint32_t SkipMpInit          : 1;                 ///< For Fsp only, Silicon Initialization will skip MP Initialization (including BSP) if enabled. For non-FSP, this should always be 0.
+    uint32_t RsvdBits            : 15;                ///< Reserved for future use
+    uint64_t MicrocodePatchAddress;     ///< Pointer to microcode patch that is suitable for this processor.
+  } Bits;
+  uint32_t Uint32[3];
+};
+
+#endif // _CPU_CONFIG_FSP_DATA_H_
diff --git a/src/vendorcode/intel/fsp/fsp2_0/skykabylake/FspUpd.h b/src/vendorcode/intel/fsp/fsp2_0/skykabylake/FspUpd.h
new file mode 100644
index 0000000..9cb77d0
--- /dev/null
+++ b/src/vendorcode/intel/fsp/fsp2_0/skykabylake/FspUpd.h
@@ -0,0 +1,42 @@
+/** @file
+
+Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, this
+  list of conditions and the following disclaimer in the documentation and/or
+  other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors may
+  be used to endorse or promote products derived from this software without
+  specific prior written permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+  THE POSSIBILITY OF SUCH DAMAGE.
+
+  This file is automatically generated. Please do NOT modify !!!
+
+**/
+
+#ifndef __FSPUPD_H__
+#define __FSPUPD_H__
+
+#define FSPT_UPD_SIGNATURE               0x545F4450554C424B        /* 'KBLUPD_T' */
+
+#define FSPM_UPD_SIGNATURE               0x4D5F4450554C424B        /* 'KBLUPD_M' */
+
+#define FSPS_UPD_SIGNATURE               0x535F4450554C424B        /* 'KBLUPD_S' */
+
+#endif
diff --git a/src/vendorcode/intel/fsp/fsp2_0/skykabylake/FspmUpd.h b/src/vendorcode/intel/fsp/fsp2_0/skykabylake/FspmUpd.h
new file mode 100644
index 0000000..525f853
--- /dev/null
+++ b/src/vendorcode/intel/fsp/fsp2_0/skykabylake/FspmUpd.h
@@ -0,0 +1,1587 @@
+/** @file
+
+Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, this
+  list of conditions and the following disclaimer in the documentation and/or
+  other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors may
+  be used to endorse or promote products derived from this software without
+  specific prior written permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+  THE POSSIBILITY OF SUCH DAMAGE.
+
+  This file is automatically generated. Please do NOT modify !!!
+
+**/
+
+#ifndef __FSPMUPD_H__
+#define __FSPMUPD_H__
+
+#include "FspUpd.h"
+#include <fsp/upd.h>
+
+
+///
+/// The ChipsetInit Info structure provides the information of ME ChipsetInit CRC and BIOS ChipsetInit CRC.
+///
+struct CHIPSET_INIT_INFO {
+  uint8_t             Revision;
+  uint8_t             Rsvd[3];
+  uint16_t            MeChipInitCrc;
+  uint16_t            BiosChipInitCrc;
+} __attribute__((packed));
+
+
+/** Fsp M Configuration
+**/
+struct FSP_M_CONFIG {
+
+/** Offset 0x0040 - Platform Reserved Memory Size
+  The minimum platform memory size required to pass control into DXE
+  0x400000 : 0x400000
+**/
+  uint64_t                      PlatformMemorySize;
+
+/** Offset 0x0048 - Memory SPD Pointer Channel 0 Dimm 0
+  Pointer to SPD data in Memory
+**/
+  uint32_t                      MemorySpdPtr00;
+
+/** Offset 0x004C - Memory SPD Pointer Channel 0 Dimm 1
+  Pointer to SPD data in Memory
+**/
+  uint32_t                      MemorySpdPtr01;
+
+/** Offset 0x0050 - Memory SPD Pointer Channel 1 Dimm 0
+  Pointer to SPD data in Memory
+**/
+  uint32_t                      MemorySpdPtr10;
+
+/** Offset 0x0054 - Memory SPD Pointer Channel 1 Dimm 1
+  Pointer to SPD data in Memory
+**/
+  uint32_t                      MemorySpdPtr11;
+
+/** Offset 0x0058 - SPD Data Length
+  Length of SPD Data
+  0x100:256 Bytes, 0x200:512 Bytes
+**/
+  uint16_t                      MemorySpdDataLen;
+
+/** Offset 0x005A - Dq Byte Map CH0
+  Dq byte mapping between CPU and DRAM, Channel 0: board-dependent
+**/
+  uint8_t                       DqByteMapCh0[12];
+
+/** Offset 0x0066 - Dq Byte Map CH1
+  Dq byte mapping between CPU and DRAM, Channel 1: board-dependent
+**/
+  uint8_t                       DqByteMapCh1[12];
+
+/** Offset 0x0072 - Dqs Map CPU to DRAM CH 0
+  Set Dqs mapping relationship between CPU and DRAM, Channel 0: board-dependent
+**/
+  uint8_t                       DqsMapCpu2DramCh0[8];
+
+/** Offset 0x007A - Dqs Map CPU to DRAM CH 1
+  Set Dqs mapping relationship between CPU and DRAM, Channel 1: board-dependent
+**/
+  uint8_t                       DqsMapCpu2DramCh1[8];
+
+/** Offset 0x0082 - RcompResister settings
+  Indicates  RcompReister settings: Board-dependent
+**/
+  uint16_t                      RcompResistor[3];
+
+/** Offset 0x0088 - RcompTarget settings
+  RcompTarget settings: board-dependent
+**/
+  uint16_t                      RcompTarget[5];
+
+/** Offset 0x0092 - Dqs Pins Interleaved Setting
+  Indicates DqPinsInterleaved setting: board-dependent
+  $EN_DIS
+**/
+  uint8_t                       DqPinsInterleaved;
+
+/** Offset 0x0093 - VREF_CA
+  CA Vref routing: board-dependent
+  0:VREF_CA goes to both CH_A and CH_B, 1: VREF_CA to CH_A and VREF_DQ_A to CH_B,
+  2:VREF_CA to CH_A and VREF_DQ_B to CH_B
+**/
+  uint8_t                       CaVrefConfig;
+
+/** Offset 0x0094 - Smram Mask
+  The SMM Regions AB-SEG and/or H-SEG reserved
+  0: Neither, 1:AB-SEG, 2:H-SEG, 3: Both
+**/
+  uint8_t                       SmramMask;
+
+/** Offset 0x0095 - MRC Fast Boot
+  Enables/Disable the MRC fast path thru the MRC
+  $EN_DIS
+**/
+  uint8_t                       MrcFastBoot;
+
+/** Offset 0x0096
+**/
+  uint16_t                      UnusedUpdSpace0;
+
+/** Offset 0x0098 - Intel Enhanced Debug
+  Intel Enhanced Debug (IED): 0=Disabled, 0x400000=Enabled and 4MB SMRAM occupied
+  0 : Disable, 0x400000 : Enable
+**/
+  uint32_t                      IedSize;
+
+/** Offset 0x009C - Tseg Size
+  Size of SMRAM memory reserved. 0x400000 for Release build and 0x1000000 for Debug build
+  0x0400000:4MB, 0x01000000:16MB
+**/
+  uint32_t                      TsegSize;
+
+/** Offset 0x00A0 - MMIO Size
+  Size of MMIO space reserved for devices. 0(Default)=Auto, non-Zero=size in MB
+**/
+  uint16_t                      MmioSize;
+
+/** Offset 0x00A2 - Probeless Trace
+  Probeless Trace: 0=Disabled, 1=Enable. Enabling Probeless Trace will reserve 128MB.
+  This also requires IED to be enabled.
+  $EN_DIS
+**/
+  uint8_t                       ProbelessTrace;
+
+/** Offset 0x00A3
+**/
+  uint16_t                      UnusedUpdSpace1;
+
+/** Offset 0x00A5 - Enable SMBus
+  Enable/disable SMBus controller.
+  $EN_DIS
+**/
+  uint8_t                       SmbusEnable;
+
+/** Offset 0x00A6 - Enable Trace Hub
+  Enable/disable Trace Hub function.
+  $EN_DIS
+**/
+  uint8_t                       EnableTraceHub;
+
+/** Offset 0x00A7
+**/
+  uint8_t                       UnusedUpdSpace2[60];
+
+/** Offset 0x00E3 - Internal Graphics Pre-allocated Memory
+  Size of memory preallocated for internal graphics.
+  0x00:0 MB, 0x01:32 MB, 0x02:64 MB
+**/
+  uint8_t                       IgdDvmt50PreAlloc;
+
+/** Offset 0x00E4 - Internal Graphics
+  Enable/disable internal graphics.
+  $EN_DIS
+**/
+  uint8_t                       InternalGfx;
+
+/** Offset 0x00E5 - Aperture Size
+  Select the Aperture Size.
+  0:128 MB, 1:256 MB, 2:512 MB
+**/
+  uint8_t                       ApertureSize;
+
+/** Offset 0x00E6 - SA GV
+  System Agent dynamic frequency support and when enabled memory will be training
+  at two different frequencies. Only effects ULX/ULT CPUs. 0=Disabled, 1=FixedLow,
+  2=FixedHigh, and 3=Enabled.
+  0:Disabled, 1:FixedLow, 2:FixedHigh, 3:Enabled
+**/
+  uint8_t                       SaGv;
+
+/** Offset 0x00E7 - Rank Margin Tool
+  Enable/disable Rank Margin Tool.
+  $EN_DIS
+**/
+  uint8_t                       RMT;
+
+/** Offset 0x00E8 - DDR Frequency Limit
+  Maximum Memory Frequency Selections in Mhz. Options are 1067, 1333, 1600, 1867,
+  2133, 2400 and 0 for Auto.
+  1067:1067, 1333:1333, 1600:1600, 1867:1867, 2133:2133, 2400:2400, 0:Auto
+**/
+  uint16_t                      DdrFreqLimit;
+
+/** Offset 0x00EA - Board Type
+  MrcBoardType, Options are 0=Mobile/Mobile Halo, 1=Desktop/DT Halo, 5=ULT/ULX/Mobile
+  Halo, 7=UP Server
+  0:Mobile/Mobile Halo, 1:Desktop/DT Halo, 5:ULT/ULX/Mobile Halo, 7:UP Server
+**/
+  uint8_t                       UserBd;
+
+/** Offset 0x00EB
+**/
+  uint8_t                       UnusedUpdSpace3[105];
+
+/** Offset 0x0154 - MMA Test Content Pointer
+  Pointer to MMA Test Content in Memory
+**/
+  uint32_t                      MmaTestContentPtr;
+
+/** Offset 0x0158 - MMA Test Content Size
+  Size of MMA Test Content in Memory
+**/
+  uint32_t                      MmaTestContentSize;
+
+/** Offset 0x015C - MMA Test Config Pointer
+  Pointer to MMA Test Config in Memory
+**/
+  uint32_t                      MmaTestConfigPtr;
+
+/** Offset 0x0160 - MMA Test Config Size
+  Size of MMA Test Config in Memory
+**/
+  uint32_t                      MmaTestConfigSize;
+
+/** Offset 0x0164
+**/
+  uint8_t                       UnusedUpdSpace4[19];
+
+/** Offset 0x0177 - SPD Profile Selected
+  Select DIMM timing profile. Options are 0=Default profile, 1=Custom profile, 2=XMP
+  Profile 1, 3=XMP Profile 2
+  0:Default profile, 1:Custom profile, 2:XMP profile 1, 3:XMP profile 2
+**/
+  uint8_t                       SpdProfileSelected;
+
+/** Offset 0x0178 - Memory Voltage
+  Memory Voltage Override (Vddq). Default = no override
+  0:Default, 1200:1.20 Volts, 1250:1.25 Volts, 1300:1.30 Volts, 1350:1.35 Volts, 1400:1.40
+  Volts, 1450:1.45 Volts, 1500:1.50 Volts, 1550:1.55 Volts, 1600:1.60 Volts, 1650:1.65 Volts
+**/
+  uint16_t                      VddVoltage;
+
+/** Offset 0x017A - Memory Reference Clock
+  Automatic, 100MHz, 133MHz.
+  0:Auto, 1:133MHz, 2:100MHz
+**/
+  uint8_t                       RefClk;
+
+/** Offset 0x017B - Memory Ratio
+  Automatic or the frequency will equal ratio times reference clock. Set to Auto to
+  recalculate memory timings listed below.
+  0:Auto, 4:4, 5:5, 6:6, 7:7, 8:8, 9:9, 10:10, 11:11, 12:12, 13:13, 14:14, 15:15
+**/
+  uint8_t                       Ratio;
+
+/** Offset 0x017C - QCLK Odd Ratio
+  Adds 133 or 100 MHz to QCLK frequency, depending on RefClk
+  $EN_DIS
+**/
+  uint8_t                       OddRatioMode;
+
+/** Offset 0x017D - tCL
+  CAS Latency, 0: AUTO, max: 31
+**/
+  uint8_t                       tCL;
+
+/** Offset 0x017E - tCWL
+  Min CAS Write Latency Delay Time, 0: AUTO, max: 20
+**/
+  uint8_t                       tCWL;
+
+/** Offset 0x017F - tFAW
+  Min Four Activate Window Delay Time, 0: AUTO, max: 63
+**/
+  uint16_t                      tFAW;
+
+/** Offset 0x0181 - tRAS
+  RAS Active Time, 0: AUTO, max: 64
+**/
+  uint16_t                      tRAS;
+
+/** Offset 0x0183 - tRCD/tRP
+  RAS to CAS delay time and Row Precharge delay time, 0: AUTO, max: 63
+**/
+  uint8_t                       tRCDtRP;
+
+/** Offset 0x0184 - tREFI
+  Refresh Interval, 0: AUTO, max: 65535
+**/
+  uint16_t                      tREFI;
+
+/** Offset 0x0186 - tRFC
+  Min Refresh Recovery Delay Time, 0: AUTO, max: 1023
+**/
+  uint16_t                      tRFC;
+
+/** Offset 0x0188 - tRRD
+  Min Row Active to Row Active Delay Time, 0: AUTO, max: 15
+**/
+  uint8_t                       tRRD;
+
+/** Offset 0x0189 - tRTP
+  Min Internal Read to Precharge Command Delay Time, 0: AUTO, max: 15. DDR4 legal
+  values: 5, 6, 7, 8, 9, 10, 12
+**/
+  uint8_t                       tRTP;
+
+/** Offset 0x018A - tWR
+  Min Write Recovery Time, 0: AUTO, legal values: 5, 6, 7, 8, 10, 12, 14, 16, 18, 20, 24
+  0:Auto, 5:5, 6:6, 7:7, 8:8, 10:10, 12:12, 14:14, 16:16, 18:18, 20:20, 24:24
+**/
+  uint8_t                       tWR;
+
+/** Offset 0x018B - tWTR
+  Min Internal Write to Read Command Delay Time, 0: AUTO, max: 28
+**/
+  uint8_t                       tWTR;
+
+/** Offset 0x018C - NMode
+  System command rate, range 0-2, 0 means auto, 1 = 1N, 2 = 2N
+**/
+  uint8_t                       NModeSupport;
+
+/** Offset 0x018D - DllBwEn[0]
+  DllBwEn[0], for 1067 (0..7)
+**/
+  uint8_t                       DllBwEn0;
+
+/** Offset 0x018E - DllBwEn[1]
+  DllBwEn[1], for 1333 (0..7)
+**/
+  uint8_t                       DllBwEn1;
+
+/** Offset 0x018F - DllBwEn[2]
+  DllBwEn[2], for 1600 (0..7)
+**/
+  uint8_t                       DllBwEn2;
+
+/** Offset 0x0190 - DllBwEn[3]
+  DllBwEn[3], for 1867 and up (0..7)
+**/
+  uint8_t                       DllBwEn3;
+
+/** Offset 0x0191
+**/
+  uint8_t                       UnusedUpdSpace5[15];
+
+/** Offset 0x01A0 - HECI Timeouts
+  Enable/Disable. 0: Disable, disable timeout check for HECI, 1: enable
+  $EN_DIS
+**/
+  uint8_t                       HeciTimeouts;
+
+/** Offset 0x01A1 - HECI1 BAR address
+  BAR address of HECI1
+**/
+  uint32_t                      Heci1BarAddress;
+
+/** Offset 0x01A5 - HECI2 BAR address
+  BAR address of HECI2
+**/
+  uint32_t                      Heci2BarAddress;
+
+/** Offset 0x01A9 - HECI3 BAR address
+  BAR address of HECI3
+**/
+  uint32_t                      Heci3BarAddress;
+
+/** Offset 0x01AD
+**/
+  uint8_t                       UnusedUpdSpace6[115];
+
+/** Offset 0x0220 - SG dGPU Power Delay
+  SG dGPU delay interval after power enabling: 0=Minimal, 1000=Maximum, default is
+  300=300 microseconds
+**/
+  uint16_t                      SgDelayAfterPwrEn;
+
+/** Offset 0x0222 - SG dGPU Reset Delay
+  SG dGPU delay interval for Reset complete: 0=Minimal, 1000=Maximum, default is 100=100
+  microseconds
+**/
+  uint16_t                      SgDelayAfterHoldReset;
+
+/** Offset 0x0224 - MMIO size adjustment for AUTO mode
+  Positive number means increasing MMIO size, Negative value means decreasing MMIO
+  size: 0 (Default)=no change to AUTO mode MMIO size
+**/
+  uint16_t                      MmioSizeAdjustment;
+
+/** Offset 0x0226 - Enable/Disable DMI GEN3 Static EQ Phase1 programming
+  Program DMI 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_t                       DmiGen3ProgramStaticEq;
+
+/** Offset 0x0227 - Enable/Disable PEG 0
+  Disabled(0x0): Disable PEG Port, Enabled(0x1): Enable PEG Port (If Silicon SKU permits
+  it), Auto(0x2)(Default): If an endpoint is present, enable the PEG Port, Disable otherwise
+  0:Disable, 1:Enable, 2:AUTO
+**/
+  uint8_t                       Peg0Enable;
+
+/** Offset 0x0228 - Enable/Disable PEG 1
+  Disabled(0x0): Disable PEG Port, Enabled(0x1): Enable PEG Port (If Silicon SKU permits
+  it), Auto(0x2)(Default): If an endpoint is present, enable the PEG Port, Disable otherwise
+  0:Disable, 1:Enable, 2:AUTO
+**/
+  uint8_t                       Peg1Enable;
+
+/** Offset 0x0229 - Enable/Disable PEG 2
+  Disabled(0x0): Disable PEG Port, Enabled(0x1): Enable PEG Port (If Silicon SKU permits
+  it), Auto(0x2)(Default): If an endpoint is present, enable the PEG Port, Disable otherwise
+  0:Disable, 1:Enable, 2:AUTO
+**/
+  uint8_t                       Peg2Enable;
+
+/** Offset 0x022A - PEG 0 Max Link Speed
+  Auto (Default)(0x0): Maximum possible link speed, Gen1(0x1): Limit Link to Gen1
+  Speed, Gen2(0x2): Limit Link to Gen2 Speed, Gen3(0x3):Limit Link to Gen3 Speed
+  0:Auto, 1:Gen1, 2:Gen2, 3:Gen3
+**/
+  uint8_t                       Peg0MaxLinkSpeed;
+
+/** Offset 0x022B - PEG 1 Max Link Speed
+  Auto (Default)(0x0): Maximum possible link speed, Gen1(0x1): Limit Link to Gen1
+  Speed, Gen2(0x2): Limit Link to Gen2 Speed, Gen3(0x3):Limit Link to Gen3 Speed
+  0:Auto, 1:Gen1, 2:Gen2, 3:Gen3
+**/
+  uint8_t                       Peg1MaxLinkSpeed;
+
+/** Offset 0x022C - PEG 2 Max Link Speed
+  Auto (Default)(0x0): Maximum possible link speed, Gen1(0x1): Limit Link to Gen1
+  Speed, Gen2(0x2): Limit Link to Gen2 Speed, Gen3(0x3):Limit Link to Gen3 Speed
+  0:Auto, 1:Gen1, 2:Gen2, 3:Gen3
+**/
+  uint8_t                       Peg2MaxLinkSpeed;
+
+/** Offset 0x022D - PEG 0 Max Link Width
+  Auto (Default)(0x0): Maximum possible link width, (0x1): Limit Link to x1, (0x2):
+  Limit Link to x2, (0x3):Limit Link to x4, (0x4): Limit Link to x8
+  0:Auto, 1:x1, 2:x2, 3:x4, 4:x8
+**/
+  uint8_t                       Peg0MaxLinkWidth;
+
+/** Offset 0x022E - PEG 1 Max Link Width
+  Auto (Default)(0x0): Maximum possible link width, (0x1): Limit Link to x1, (0x2):
+  Limit Link to x2, (0x3):Limit Link to x4
+  0:Auto, 1:x1, 2:x2, 3:x4
+**/
+  uint8_t                       Peg1MaxLinkWidth;
+
+/** Offset 0x022F - PEG 2 Max Link Width
+  Auto (Default)(0x0): Maximum possible link width, (0x1): Limit Link to x1, (0x2):
+  Limit Link to x2
+  0:Auto, 1:x1, 2:x2
+**/
+  uint8_t                       Peg2MaxLinkWidth;
+
+/** Offset 0x0230 - Power down unused lanes on PEG 0
+  (0x0): Do not power down any lane, (0x1): Bios will power down unused lanes based
+  on the max possible link width
+  0:No power saving, 1:Auto
+**/
+  uint8_t                       Peg0PowerDownUnusedLanes;
+
+/** Offset 0x0231 - Power down unused lanes on PEG 1
+  (0x0): Do not power down any lane, (0x1): Bios will power down unused lanes based
+  on the max possible link width
+  0:No power saving, 1:Auto
+**/
+  uint8_t                       Peg1PowerDownUnusedLanes;
+
+/** Offset 0x0232 - Power down unused lanes on PEG 2
+  (0x0): Do not power down any lane, (0x1): Bios will power down unused lanes based
+  on the max possible link width
+  0:No power saving, 1:Auto
+**/
+  uint8_t                       Peg2PowerDownUnusedLanes;
+
+/** Offset 0x0233 - PCIe ASPM programming will happen in relation to the Oprom
+  Select when PCIe ASPM programming will happen in relation to the Oprom. Before(0x0)(Default):
+  Do PCIe ASPM programming before Oprom, After(0x1): Do PCIe ASPM programming after
+  Oprom, requires an SMI handler to save/restore ASPM settings during S3 resume
+  0:Before, 1:After
+**/
+  uint8_t                       InitPcieAspmAfterOprom;
+
+/** Offset 0x0234 - PCIe Disable Spread Spectrum Clocking
+  PCIe Disable Spread Spectrum Clocking. Normal Operation(0x0)(Default) - SSC enabled,
+  Disable SSC(0X1) - Disable SSC per platform design or for compliance testing
+  0:Normal Operation, 1:Disable SSC
+**/
+  uint8_t                       PegDisableSpreadSpectrumClocking;
+
+/** Offset 0x0235 - DMI Gen3 Root port preset values per lane
+  Used for programming DMI Gen3 preset values per lane. Range: 0-9, 8 is default for each lane
+**/
+  uint8_t                       DmiGen3RootPortPreset[4];
+
+/** Offset 0x0239 - DMI Gen3 End port preset values per lane
+  Used for programming DMI Gen3 preset values per lane. Range: 0-9, 7 is default for each lane
+**/
+  uint8_t                       DmiGen3EndPointPreset[4];
+
+/** Offset 0x023D - DMI Gen3 End port Hint values per lane
+  Used for programming DMI Gen3 Hint values per lane. Range: 0-6, 2 is default for each lane
+**/
+  uint8_t                       DmiGen3EndPointHint[4];
+
+/** Offset 0x0241 - DMI Gen3 RxCTLEp per-Bundle control
+  Range: 0-15, 12 is default for each bundle, must be specified based upon platform design
+**/
+  uint8_t                       DmiGen3RxCtlePeaking[2];
+
+/** Offset 0x0243 - PEG Gen3 RxCTLEp per-Bundle control
+  Range: 0-15, 12 is default for each bundle, must be specified based upon platform design
+**/
+  uint8_t                       PegGen3RxCtlePeaking[8];
+
+/** Offset 0x024B - Memory data pointer for saved preset search results
+  The reference code will store the Gen3 Preset Search results in the SaDataHob's
+  PegData structure (SA_PEG_DATA) and platform code can save/restore this data to
+  skip preset search in the following boots. Range: 0-0xFFFFFFFF, default is 0
+**/
+  uint32_t                      PegDataPtr;
+
+/** Offset 0x024F - PEG PERST# GPIO information
+  The reference code will use the information in this structure in order to reset
+  PCIe Gen3 devices during equalization, if necessary
+**/
+  uint8_t                       PegGpioData[16];
+
+/** Offset 0x025F
+**/
+  uint8_t                       UnusedUpdSpace7;
+
+/** Offset 0x0260 - DeEmphasis control for DMI
+  DeEmphasis control for DMI. 0=-6dB, 1(Default)=-3.5 dB
+  0: -6dB, 1: -3.5dB
+**/
+  uint8_t                       DmiDeEmphasis;
+
+/** Offset 0x0261 - PCIe Hot Plug Enable/Disable per port
+  0(Default): Disable, 1: Enable
+**/
+  uint8_t                       PegRootPortHPE[3];
+
+/** Offset 0x0264 - Selection of the primary display device
+  0=iGFX, 1=PEG, 2=PCIe Graphics on PCH, 3(Default)=AUTO, 4=Switchable Graphics
+  0:iGFX, 1:PEG, 2:PCIe Graphics on PCH, 3:AUTO, 4:Switchable Graphics
+**/
+  uint8_t                       PrimaryDisplay;
+
+/** Offset 0x0265 - Temporary MMIO address for GTTMMADR
+  The reference code will use the information in this structure in order to reset
+  PCIe Gen3 devices during equalization, if necessary
+**/
+  uint32_t                      GttMmAdr;
+
+/** Offset 0x0269 - Selection of iGFX GTT Memory size
+  1=2MB, 2=4MB, 3=8MB, Default is 3
+  1:2MB, 2:4MB, 3:8MB
+**/
+  uint16_t                      GttSize;
+
+/** Offset 0x026B - Switchable Graphics GPIO information for PEG 0
+  Switchable Graphics GPIO information for PEG 0, for Reset, power and wake GPIOs
+**/
+  uint8_t                       SaRtd3Pcie0Gpio[24];
+
+/** Offset 0x0283 - Switchable Graphics GPIO information for PEG 1
+  Switchable Graphics GPIO information for PEG 1, for Reset, power and wake GPIOs
+**/
+  uint8_t                       SaRtd3Pcie1Gpio[24];
+
+/** Offset 0x029B - Switchable Graphics GPIO information for PEG 2
+  Switchable Graphics GPIO information for PEG 2, for Reset, power and wake GPIOs
+**/
+  uint8_t                       SaRtd3Pcie2Gpio[24];
+
+/** Offset 0x02B3 - PEG root port Device number for Switchable Graphics dGPU
+  Device number to indicate which PEG root port has dGPU
+**/
+  uint8_t                       RootPortDev;
+
+/** Offset 0x02B4 - PEG root port Function number for Switchable Graphics dGPU
+  Function number to indicate which PEG root port has dGPU
+**/
+  uint8_t                       RootPortFun;
+
+/** Offset 0x02B5 - Enable/Disable MRC TXT dependency
+  When enabled MRC execution will wait for TXT initialization to be done first. Disabled(0x0)(Default):
+  MRC will not wait for TXT initialization, Enabled(0x1): MRC will wait for TXT initialization
+  $EN_DIS
+**/
+  uint8_t                       TxtImplemented;
+
+/** Offset 0x02B6 - Enable/Disable SA OcSupport
+  Enable: Enable SA OcSupport, Disable(Default): Disable SA OcSupport
+  $EN_DIS
+**/
+  uint8_t                       SaOcSupport;
+
+/** Offset 0x02B7 - GT slice Voltage Mode
+  0(Default): Adaptive, 1: Override
+  0: Adaptive, 1: Override
+**/
+  uint8_t                       GtsVoltageMode;
+
+/** Offset 0x02B8 - GT unslice Voltage Mode
+  0(Default): Adaptive, 1: Override
+  0: Adaptive, 1: Override
+**/
+  uint8_t                       GtusVoltageMode;
+
+/** Offset 0x02B9 - Maximum GTs turbo ratio override
+  0(Default)=Minimal/Auto, 60=Maximum
+**/
+  uint8_t                       GtsMaxOcRatio;
+
+/** Offset 0x02BA - The voltage offset applied to GT slice
+  0(Default)=Minimal, 1000=Maximum
+**/
+  uint16_t                      GtsVoltageOffset;
+
+/** Offset 0x02BC - The GT slice voltage override which is applied to the entire range of GT frequencies
+  0(Default)=Minimal, 2000=Maximum
+**/
+  uint16_t                      GtsVoltageOverride;
+
+/** Offset 0x02BE - adaptive voltage applied during turbo frequencies
+  0(Default)=Minimal, 2000=Maximum
+**/
+  uint16_t                      GtsExtraTurboVoltage;
+
+/** Offset 0x02C0 - voltage offset applied to GT unslice
+  0(Default)=Minimal, 2000=Maximum
+**/
+  uint16_t                      GtusVoltageOffset;
+
+/** Offset 0x02C2 - GT unslice voltage override which is applied to the entire range of GT frequencies
+  0(Default)=Minimal, 2000=Maximum
+**/
+  uint16_t                      GtusVoltageOverride;
+
+/** Offset 0x02C4 - adaptive voltage applied during turbo frequencies
+  0(Default)=Minimal, 2000=Maximum
+**/
+  uint16_t                      GtusExtraTurboVoltage;
+
+/** Offset 0x02C6 - voltage offset applied to the SA
+  0(Default)=Minimal, 1000=Maximum
+**/
+  uint16_t                      SaVoltageOffset;
+
+/** Offset 0x02C8 - EDRAM ratio override
+  EdramRatio is deprecated on Kabylake
+**/
+  uint8_t                       EdramRatio;
+
+/** Offset 0x02C9 - Maximum GTus turbo ratio override
+  0(Default)=Minimal, 60=Maximum
+**/
+  uint8_t                       GtusMaxOcRatio;
+
+/** Offset 0x02CA - BIST on Reset
+  Enable or Disable BIST on Reset; <b>0: Disable</b>; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       BistOnReset;
+
+/** Offset 0x02CB - Skip Stop PBET Timer Enable/Disable
+  Skip Stop PBET Timer; <b>0: Disable</b>; 1: Enable
+  $EN_DIS
+**/
+  uint8_t                       SkipStopPbet;
+
+/** Offset 0x02CC - C6DRAM power gating feature
+  This policy indicates whether or not BIOS should allocate PRMRR memory for C6DRAM
+  power gating feature.- 0: Don't allocate any PRMRR memory for C6DRAM power gating
+  feature.- <b>1: Allocate PRMRR memory for C6DRAM power gating feature</b>.
+  $EN_DIS
+**/
+  uint8_t                       EnableC6Dram;
+
+/** Offset 0x02CD - Over clocking support
+  Over clocking support; <b>0: Disable</b>; 1: Enable
+  $EN_DIS
+**/
+  uint8_t                       OcSupport;
+
+/** Offset 0x02CE - Over clocking Lock
+  Over clocking Lock Enable/Disable; <b>0: Disable</b>; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       OcLock;
+
+/** Offset 0x02CF - Maximum Core Turbo Ratio Override
+  Maximum core turbo ratio override allows to increase CPU core frequency beyond the
+  fused max turbo ratio limit. <b>0: Hardware defaults.</b> Range: 0-83
+  0 : 83
+**/
+  uint8_t                       CoreMaxOcRatio;
+
+/** Offset 0x02D0 - Core voltage mode
+  Core voltage mode; <b>0: Adaptive</b>; 1: Override.
+  $EN_DIS
+**/
+  uint8_t                       CoreVoltageMode;
+
+/** Offset 0x02D1 - Minimum clr turbo ratio override
+  Minimum clr turbo ratio override. <b>0: Hardware defaults.</b> Range: 0-83
+  0x0:0xFF
+**/
+  uint8_t                       RingMinOcRatio;
+
+/** Offset 0x02D2 - Maximum clr turbo ratio override
+  Maximum clr turbo ratio override allows to increase CPU clr frequency beyond the
+  fused max turbo ratio limit. <b>0: Hardware defaults.</b>  Range: 0-83
+  0x0:0xFF
+**/
+  uint8_t                       RingMaxOcRatio;
+
+/** Offset 0x02D3 - Hyper Threading Enable/Disable
+  Enable or Disable Hyper Threading; 0: Disable; <b>1: Enable</b>
+  $EN_DIS
+**/
+  uint8_t                       HyperThreading;
+
+/** Offset 0x02D4 - Enable or Disable CPU Ratio Override
+  Enable or Disable CPU Ratio Override; <b>0: Disable</b>; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       CpuRatioOverride;
+
+/** Offset 0x02D5 - CPU ratio value
+  CPU ratio value. Valid Range 0 to 63
+  0x0:0xFF
+**/
+  uint8_t                       CpuRatio;
+
+/** Offset 0x02D6 - Boot frequency
+  Sets the boot frequency starting from reset vector.- 0: Maximum battery performance.-
+  <b>1: Maximum non-turbo performance</b>.- 2: Turbo performance. @note If Turbo
+  is selected BIOS will start in max non-turbo mode and switch to Turbo mode.
+  0x0:0xFF
+**/
+  uint8_t                       BootFrequency;
+
+/** Offset 0x02D7 - Number of active cores
+  Number of active cores(Depends on Number of cores). <b>0: All</b>;<b>1: 1 </b>;<b>2:
+  2 </b>;<b>3: 3 </b>
+  0x0:0xFF
+**/
+  uint8_t                       ActiveCoreCount;
+
+/** Offset 0x02D8 - Processor Early Power On Configuration FCLK setting
+  <b>0: 800 MHz (ULT/ULX)</b>. <b>1: 1 GHz (DT/Halo)</b>. Not supported on ULT/ULX.-
+  2: 400 MHz. - 3: Reserved
+  0x0:0xFF
+**/
+  uint8_t                       FClkFrequency;
+
+/** Offset 0x02D9 - Power JTAG in C10 and deeper power states
+  Power JTAG in C10 and deeper power states; <b>0: Disable</b>; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       JtagC10PowerGateDisable;
+
+/** Offset 0x02DA - Enable or Disable VMX
+  Enable or Disable VMX; 0: Disable; <b>1: Enable</b>.
+  $EN_DIS
+**/
+  uint8_t                       VmxEnable;
+
+/** Offset 0x02DB - AVX2 Ratio Offset
+  0(Default)= No Offset. Range 0 - 31. Specifies number of bins to decrease AVX ratio
+  vs. Core Ratio. Uses Mailbox MSR 0x150, cmd 0x1B.
+**/
+  uint8_t                       Avx2RatioOffset;
+
+/** Offset 0x02DC - BCLK Adaptive Voltage Enable
+  When enabled, the CPU V/F curves are aware of BCLK frequency when calculated. </b>0:
+  Disable;<b> 1: Enable
+  $EN_DIS
+**/
+  uint8_t                       BclkAdaptiveVoltage;
+
+/** Offset 0x02DD - core voltage override
+  The core voltage override which is applied to the entire range of cpu core frequencies.
+  Valid Range 0 to 2000
+  0x0:0xFFFF
+**/
+  uint16_t                      CoreVoltageOverride;
+
+/** Offset 0x02DF - Core Turbo voltage Adaptive
+  Extra Turbo voltage applied to the cpu core when the cpu is operating in turbo mode.
+  Valid Range 0 to 2000
+  0x0:0xFFFF
+**/
+  uint16_t                      CoreVoltageAdaptive;
+
+/** Offset 0x02E1 - Core Turbo voltage Offset
+  The voltage offset applied to the core while operating in turbo mode.Valid Range 0 to 1000
+  0x0:0xFFFF
+**/
+  uint16_t                      CoreVoltageOffset;
+
+/** Offset 0x02E3 - Core PLL voltage offset
+  Core PLL voltage offset. <b>0: No offset</b>. Range 0-63
+  0x0:0xFFFF
+**/
+  uint16_t                      CorePllVoltageOffset;
+
+/** Offset 0x02E5 - BiosGuard
+  Enable/Disable. 0: Disable, Enable/Disable BIOS Guard feature, 1: enable
+  $EN_DIS
+**/
+  uint8_t                       BiosGuard;
+
+/** Offset 0x02E6 - EnableSgx
+  Enable/Disable. 0: Disable, Enable/Disable SGX feature, 1: enable
+  $EN_DIS
+**/
+  uint8_t                       EnableSgx;
+
+/** Offset 0x02E7 - Txt
+  Enable/Disable. 0: Disable, Enable/Disable Txt feature, 1: enable
+  $EN_DIS
+**/
+  uint8_t                       Txt;
+
+/** Offset 0x02E8 - FlashWearOutProtection
+  Enable/Disable. 0: Disable, Enable/Disable FlashWearOutProtection feature, 1: enable
+  $EN_DIS
+**/
+  uint8_t                       FlashWearOutProtection;
+
+/** Offset 0x02E9 - PrmrrSize
+  Enable/Disable. 0: Disable, define default value of PrmrrSize , 1: enable
+**/
+  uint32_t                      PrmrrSize;
+
+/** Offset 0x02ED - SinitMemorySize
+  Enable/Disable. 0: Disable, define default value of SinitMemorySize , 1: enable
+**/
+  uint32_t                      SinitMemorySize;
+
+/** Offset 0x02F1 - TxtHeapMemorySize
+  Enable/Disable. 0: Disable, define default value of TxtHeapMemorySize , 1: enable
+**/
+  uint32_t                      TxtHeapMemorySize;
+
+/** Offset 0x02F5 - TxtDprMemoryBase
+  Enable/Disable. 0: Disable, define default value of TxtDprMemoryBase , 1: enable
+**/
+  uint64_t                      TxtDprMemoryBase;
+
+/** Offset 0x02FD - TxtDprMemorySize
+  Enable/Disable. 0: Disable, define default value of TxtDprMemorySize , 1: enable
+**/
+  uint32_t                      TxtDprMemorySize;
+
+/** Offset 0x0301 - ReservedSecurityPreMem
+  Reserved for Security Pre-Mem
+  $EN_DIS
+**/
+  uint8_t                       ReservedSecurityPreMem[9];
+
+/** Offset 0x030A - PCH HPET Enabled
+  Enable/disable PCH HPET.
+  $EN_DIS
+**/
+  uint8_t                       PchHpetEnable;
+
+/** Offset 0x030B - PCH HPET BDF valid
+  Whether the BDF value is valid. 0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchHpetBdfValid;
+
+/** Offset 0x030C - PCH HPET Bus Number
+  Bus Number HPETn used as Requestor / Completer ID. Default is 0xF0.
+**/
+  uint8_t                       PchHpetBusNumber;
+
+/** Offset 0x030D - PCH HPET Device Number
+  Device Number HPETn used as Requestor / Completer ID. Default is 0x1F.
+**/
+  uint8_t                       PchHpetDeviceNumber;
+
+/** Offset 0x030E - PCH HPET Function Number
+  Function Number HPETn used as Requestor / Completer ID. Default is 0x00.
+**/
+  uint8_t                       PchHpetFunctionNumber;
+
+/** Offset 0x030F - The HPET Base Address
+  The HPET base address. Default is 0xFED00000.
+**/
+  uint32_t                      PchHpetBase;
+
+/** Offset 0x0313 - Enable PCH HSIO PCIE Rx Set Ctle
+  Enable PCH PCIe Gen 3 Set CTLE Value.
+**/
+  uint8_t                       PchPcieHsioRxSetCtleEnable[24];
+
+/** Offset 0x032B - PCH HSIO PCIE Rx Set Ctle Value
+  PCH PCIe Gen 3 Set CTLE Value.
+**/
+  uint8_t                       PchPcieHsioRxSetCtle[24];
+
+/** Offset 0x0343 - Enble PCH HSIO PCIE TX Gen 1 Downscale Amplitude Adjustment value override
+  0: Disable; 1: Enable.
+**/
+  uint8_t                       PchPcieHsioTxGen1DownscaleAmpEnable[24];
+
+/** Offset 0x035B - PCH HSIO PCIE Gen 2 TX Output Downscale Amplitude Adjustment value
+  PCH PCIe Gen 2 TX Output Downscale Amplitude Adjustment value.
+**/
+  uint8_t                       PchPcieHsioTxGen1DownscaleAmp[24];
+
+/** Offset 0x0373 - Enable PCH HSIO PCIE TX Gen 2 Downscale Amplitude Adjustment value override
+  0: Disable; 1: Enable.
+**/
+  uint8_t                       PchPcieHsioTxGen2DownscaleAmpEnable[24];
+
+/** Offset 0x038B - PCH HSIO PCIE Gen 2 TX Output Downscale Amplitude Adjustment value
+  PCH PCIe Gen 2 TX Output Downscale Amplitude Adjustment value.
+**/
+  uint8_t                       PchPcieHsioTxGen2DownscaleAmp[24];
+
+/** Offset 0x03A3 - Enable PCH HSIO PCIE TX Gen 3 Downscale Amplitude Adjustment value override
+  0: Disable; 1: Enable.
+**/
+  uint8_t                       PchPcieHsioTxGen3DownscaleAmpEnable[24];
+
+/** Offset 0x03BB - PCH HSIO PCIE Gen 3 TX Output Downscale Amplitude Adjustment value
+  PCH PCIe Gen 3 TX Output Downscale Amplitude Adjustment value.
+**/
+  uint8_t                       PchPcieHsioTxGen3DownscaleAmp[24];
+
+/** Offset 0x03D3 - Enable PCH HSIO PCIE Gen 1 TX Output De-Emphasis Adjustment Setting value override
+  0: Disable; 1: Enable.
+**/
+  uint8_t                       PchPcieHsioTxGen1DeEmphEnable[24];
+
+/** Offset 0x03EB - PCH HSIO PCIE Gen 1 TX Output De-Emphasis Adjustment value
+  PCH PCIe Gen 1 TX Output De-Emphasis Adjustment Setting.
+**/
+  uint8_t                       PchPcieHsioTxGen1DeEmph[24];
+
+/** Offset 0x0403 - Enable PCH HSIO PCIE Gen 2 TX Output -3.5dB De-Emphasis Adjustment Setting value override
+  0: Disable; 1: Enable.
+**/
+  uint8_t                       PchPcieHsioTxGen2DeEmph3p5Enable[24];
+
+/** Offset 0x041B - PCH HSIO PCIE Gen 2 TX Output -3.5dB De-Emphasis Adjustment value
+  PCH PCIe Gen 2 TX Output -3.5dB De-Emphasis Adjustment Setting.
+**/
+  uint8_t                       PchPcieHsioTxGen2DeEmph3p5[24];
+
+/** Offset 0x0433 - Enable PCH HSIO PCIE Gen 2 TX Output -6.0dB De-Emphasis Adjustment Setting value override
+  0: Disable; 1: Enable.
+**/
+  uint8_t                       PchPcieHsioTxGen2DeEmph6p0Enable[24];
+
+/** Offset 0x044B - PCH HSIO PCIE Gen 2 TX Output -6.0dB De-Emphasis Adjustment value
+  PCH PCIe Gen 2 TX Output -6.0dB De-Emphasis Adjustment Setting.
+**/
+  uint8_t                       PchPcieHsioTxGen2DeEmph6p0[24];
+
+/** Offset 0x0463 - Enable PCH HSIO SATA Receiver Equalization Boost Magnitude Adjustment Value override
+  0: Disable; 1: Enable.
+**/
+  uint8_t                       PchSataHsioRxGen1EqBoostMagEnable[8];
+
+/** Offset 0x046B - PCH HSIO SATA 1.5 Gb/s Receiver Equalization Boost Magnitude Adjustment value
+  PCH HSIO SATA 1.5 Gb/s Receiver Equalization Boost Magnitude Adjustment value.
+**/
+  uint8_t                       PchSataHsioRxGen1EqBoostMag[8];
+
+/** Offset 0x0473 - Enable PCH HSIO SATA Receiver Equalization Boost Magnitude Adjustment Value override
+  0: Disable; 1: Enable.
+**/
+  uint8_t                       PchSataHsioRxGen2EqBoostMagEnable[8];
+
+/** Offset 0x047B - PCH HSIO SATA 3.0 Gb/s Receiver Equalization Boost Magnitude Adjustment value
+  PCH HSIO SATA 3.0 Gb/s Receiver Equalization Boost Magnitude Adjustment value.
+**/
+  uint8_t                       PchSataHsioRxGen2EqBoostMag[8];
+
+/** Offset 0x0483 - Enable PCH HSIO SATA Receiver Equalization Boost Magnitude Adjustment Value override
+  0: Disable; 1: Enable.
+**/
+  uint8_t                       PchSataHsioRxGen3EqBoostMagEnable[8];
+
+/** Offset 0x048B - PCH HSIO SATA 6.0 Gb/s Receiver Equalization Boost Magnitude Adjustment value
+  PCH HSIO SATA 6.0 Gb/s Receiver Equalization Boost Magnitude Adjustment value.
+**/
+  uint8_t                       PchSataHsioRxGen3EqBoostMag[8];
+
+/** Offset 0x0493 - Enable PCH HSIO SATA 1.5 Gb/s TX Output Downscale Amplitude Adjustment value override
+  0: Disable; 1: Enable.
+**/
+  uint8_t                       PchSataHsioTxGen1DownscaleAmpEnable[8];
+
+/** Offset 0x049B - PCH HSIO SATA 1.5 Gb/s TX Output Downscale Amplitude Adjustment value
+  PCH HSIO SATA 1.5 Gb/s TX Output Downscale Amplitude Adjustment value.
+**/
+  uint8_t                       PchSataHsioTxGen1DownscaleAmp[8];
+
+/** Offset 0x04A3 - Enable PCH HSIO SATA 3.0 Gb/s TX Output Downscale Amplitude Adjustment value override
+  0: Disable; 1: Enable.
+**/
+  uint8_t                       PchSataHsioTxGen2DownscaleAmpEnable[8];
+
+/** Offset 0x04AB - PCH HSIO SATA 3.0 Gb/s TX Output Downscale Amplitude Adjustment value
+  PCH HSIO SATA 3.0 Gb/s TX Output Downscale Amplitude Adjustment value.
+**/
+  uint8_t                       PchSataHsioTxGen2DownscaleAmp[8];
+
+/** Offset 0x04B3 - Enable PCH HSIO SATA 6.0 Gb/s TX Output Downscale Amplitude Adjustment value override
+  0: Disable; 1: Enable.
+**/
+  uint8_t                       PchSataHsioTxGen3DownscaleAmpEnable[8];
+
+/** Offset 0x04BB - PCH HSIO SATA 6.0 Gb/s TX Output Downscale Amplitude Adjustment value
+  PCH HSIO SATA 6.0 Gb/s TX Output Downscale Amplitude Adjustment value.
+**/
+  uint8_t                       PchSataHsioTxGen3DownscaleAmp[8];
+
+/** Offset 0x04C3 - Enable PCH HSIO SATA 1.5 Gb/s TX Output De-Emphasis Adjustment Setting value override
+  0: Disable; 1: Enable.
+**/
+  uint8_t                       PchSataHsioTxGen1DeEmphEnable[8];
+
+/** Offset 0x04CB - PCH HSIO SATA 1.5 Gb/s TX Output De-Emphasis Adjustment Setting
+  PCH HSIO SATA 1.5 Gb/s TX Output De-Emphasis Adjustment Setting.
+**/
+  uint8_t                       PchSataHsioTxGen1DeEmph[8];
+
+/** Offset 0x04D3 - Enable PCH HSIO SATA 3.0 Gb/s TX Output De-Emphasis Adjustment Setting value override
+  0: Disable; 1: Enable.
+**/
+  uint8_t                       PchSataHsioTxGen2DeEmphEnable[8];
+
+/** Offset 0x04DB - PCH HSIO SATA 3.0 Gb/s TX Output De-Emphasis Adjustment Setting
+  PCH HSIO SATA 3.0 Gb/s TX Output De-Emphasis Adjustment Setting.
+**/
+  uint8_t                       PchSataHsioTxGen2DeEmph[8];
+
+/** Offset 0x04E3 - Enable PCH HSIO SATA 6.0 Gb/s TX Output De-Emphasis Adjustment Setting value override
+  0: Disable; 1: Enable.
+**/
+  uint8_t                       PchSataHsioTxGen3DeEmphEnable[8];
+
+/** Offset 0x04EB - PCH HSIO SATA 6.0 Gb/s TX Output De-Emphasis Adjustment Setting
+  PCH HSIO SATA 6.0 Gb/s TX Output De-Emphasis Adjustment Setting.
+**/
+  uint8_t                       PchSataHsioTxGen3DeEmph[8];
+
+/** Offset 0x04F3 - PCH LPC Enhance the port 8xh decoding
+  Original LPC only decodes one byte of port 80h.
+  $EN_DIS
+**/
+  uint8_t                       PchLpcEnhancePort8xhDecoding;
+
+/** Offset 0x04F4 - PCH Acpi Base
+  Power management I/O base address. Default is 0x1800.
+**/
+  uint16_t                      PchAcpiBase;
+
+/** Offset 0x04F6 - PCH Port80 Route
+  Control where the Port 80h cycles are sent, 0: LPC; 1: PCI.
+  $EN_DIS
+**/
+  uint8_t                       PchPort80Route;
+
+/** Offset 0x04F7 - Enable SMBus ARP support
+  Enable SMBus ARP support.
+  $EN_DIS
+**/
+  uint8_t                       SmbusArpEnable;
+
+/** Offset 0x04F8 - SMBUS Base Address
+  SMBUS Base Address (IO space).
+**/
+  uint16_t                      PchSmbusIoBase;
+
+/** Offset 0x04FA - Number of RsvdSmbusAddressTable.
+  The number of elements in the RsvdSmbusAddressTable.
+**/
+  uint8_t                       PchNumRsvdSmbusAddresses;
+
+/** Offset 0x04FB - Point of RsvdSmbusAddressTable
+  Array of addresses reserved for non-ARP-capable SMBus devices.
+**/
+  uint32_t                      RsvdSmbusAddressTablePtr;
+
+/** Offset 0x04FF - Trace Hub Memory Region 0
+  Trace Hub Memory Region 0.
+**/
+  uint32_t                      TraceHubMemReg0Size;
+
+/** Offset 0x0503 - Trace Hub Memory Region 1
+  Trace Hub Memory Region 1.
+**/
+  uint32_t                      TraceHubMemReg1Size;
+
+/** Offset 0x0507 - Enable PCIE RP Mask
+  Enable/disable PCIE Root Ports. 0: disable, 1: enable. One bit for each port, bit0
+  for port1, bit1 for port2, and so on.
+**/
+  uint32_t                      PcieRpEnableMask;
+
+/** Offset 0x050B - SerialIo Uart Debug
+  Enable SerialIo Uart debug.
+  0:Disable, 1:Enable
+**/
+  uint8_t                       PcdSerialDebugEnable;
+
+/** Offset 0x050C - SerialIo Uart Number Selection
+  Select SerialIo Uart Controller for debug.
+  0:SerialIoUart0, 1:SerialIoUart1, 2:SerialIoUart2
+**/
+  uint8_t                       PcdSerialIoUartNumber;
+
+/** Offset 0x050D
+**/
+  uint8_t                       ReservedFspmUpd[34];
+} __attribute__((packed));
+
+/** Fsp M Test Configuration
+**/
+struct FSP_M_TEST_CONFIG {
+
+/** Offset 0x052F
+**/
+  uint32_t                      Signature;
+
+/** Offset 0x0533 - Skip external display device scanning
+  Enable: Do not scan for external display device, Disable (Default): Scan external
+  display devices
+  $EN_DIS
+**/
+  uint8_t                       SkipExtGfxScan;
+
+/** Offset 0x0534 - Generate BIOS Data ACPI Table
+  Enable: Generate BDAT for MRC RMT or SA PCIe data. Disable (Default): Do not generate it
+  $EN_DIS
+**/
+  uint8_t                       BdatEnable;
+
+/** Offset 0x0535 - Detect External Graphics device for LegacyOpROM
+  Detect and report if external graphics device only support LegacyOpROM or not (to
+  support CSM auto-enable). Enable(Default)=1, Disable=0
+  $EN_DIS
+**/
+  uint8_t                       ScanExtGfxForLegacyOpRom;
+
+/** Offset 0x0536 - Lock PCU Thermal Management registers
+  Lock PCU Thermal Management registers. Enable(Default)=1, Disable=0
+  $EN_DIS
+**/
+  uint8_t                       LockPTMregs;
+
+/** Offset 0x0537 - Enable/Disable DmiVc1
+  Enable/Disable DmiVc1. Enable = 1, Disable (Default) = 0
+  $EN_DIS
+**/
+  uint8_t                       DmiVc1;
+
+/** Offset 0x0538 - Enable/Disable DmiVcm
+  Enable/Disable DmiVcm. Enable (Default) = 1, Disable = 0
+  $EN_DIS
+**/
+  uint8_t                       DmiVcm;
+
+/** Offset 0x0539 - DMI Max Link Speed
+  Auto (Default)(0x0): Maximum possible link speed, Gen1(0x1): Limit Link to Gen1
+  Speed, Gen2(0x2): Limit Link to Gen2 Speed, Gen3(0x3):Limit Link to Gen3 Speed
+  0:Auto, 1:Gen1, 2:Gen2, 3:Gen3
+**/
+  uint8_t                       DmiMaxLinkSpeed;
+
+/** Offset 0x053A - DMI Equalization Phase 2
+  DMI Equalization Phase 2. (0x0): Disable phase 2, (0x1): Enable phase 2, (0x2)(Default):
+  AUTO - Use the current default method
+  0:Disable phase2, 1:Enable phase2, 2:Auto
+**/
+  uint8_t                       DmiGen3EqPh2Enable;
+
+/** Offset 0x053B - DMI Gen3 Equalization Phase3
+  DMI Gen3 Equalization Phase3. Auto(0x0)(Default): Use the current default method,
+  HwEq(0x1): Use Adaptive Hardware Equalization, SwEq(0x2): Use Adaptive Software
+  Equalization (Implemented in BIOS Reference Code), Static(0x3): Use the Static
+  EQs provided in DmiGen3EndPointPreset array for Phase1 AND Phase3 (Instead of just
+  Phase1), Disabled(0x4): Bypass Equalization Phase 3
+  0:Auto, 1:HwEq, 2:SwEq, 3:StaticEq, 4:BypassPhase3
+**/
+  uint8_t                       DmiGen3EqPh3Method;
+
+/** Offset 0x053C - Phase2 EQ enable on the PEG 0:1:0.
+  Phase2 EQ enable on the PEG 0:1:0. Disabled(0x0): Disable phase 2, Enabled(0x1):
+  Enable phase 2, Auto(0x2)(Default): Use the current default method
+  0:Disable, 1:Enable, 2:Auto
+**/
+  uint8_t                       Peg0Gen3EqPh2Enable;
+
+/** Offset 0x053D - Phase2 EQ enable on the PEG 0:1:1.
+  Phase2 EQ enable on the PEG 0:1:0. Disabled(0x0): Disable phase 2, Enabled(0x1):
+  Enable phase 2, Auto(0x2)(Default): Use the current default method
+  0:Disable, 1:Enable, 2:Auto
+**/
+  uint8_t                       Peg1Gen3EqPh2Enable;
+
+/** Offset 0x053E - Phase2 EQ enable on the PEG 0:1:2.
+  Phase2 EQ enable on the PEG 0:1:0. Disabled(0x0): Disable phase 2, Enabled(0x1):
+  Enable phase 2, Auto(0x2)(Default): Use the current default method
+  0:Disable, 1:Enable, 2:Auto
+**/
+  uint8_t                       Peg2Gen3EqPh2Enable;
+
+/** Offset 0x053F - Phase3 EQ method on the PEG 0:1:0.
+  PEG Gen3 Equalization Phase3. Auto(0x0)(Default): Use the current default method,
+  HwEq(0x1): Use Adaptive Hardware Equalization, SwEq(0x2): Use Adaptive Software
+  Equalization (Implemented in BIOS Reference Code), Static(0x3): Use the Static
+  EQs provided in DmiGen3EndPointPreset array for Phase1 AND Phase3 (Instead of just
+  Phase1), Disabled(0x4): Bypass Equalization Phase 3
+  0:Auto, 1:HwEq, 2:SwEq, 3:StaticEq, 4:BypassPhase3
+**/
+  uint8_t                       Peg0Gen3EqPh3Method;
+
+/** Offset 0x0540 - Phase3 EQ method on the PEG 0:1:1.
+  PEG Gen3 Equalization Phase3. Auto(0x0)(Default): Use the current default method,
+  HwEq(0x1): Use Adaptive Hardware Equalization, SwEq(0x2): Use Adaptive Software
+  Equalization (Implemented in BIOS Reference Code), Static(0x3): Use the Static
+  EQs provided in DmiGen3EndPointPreset array for Phase1 AND Phase3 (Instead of just
+  Phase1), Disabled(0x4): Bypass Equalization Phase 3
+  0:Auto, 1:HwEq, 2:SwEq, 3:StaticEq, 4:BypassPhase3
+**/
+  uint8_t                       Peg1Gen3EqPh3Method;
+
+/** Offset 0x0541 - Phase3 EQ method on the PEG 0:1:2.
+  PEG Gen3 Equalization Phase3. Auto(0x0)(Default): Use the current default method,
+  HwEq(0x1): Use Adaptive Hardware Equalization, SwEq(0x2): Use Adaptive Software
+  Equalization (Implemented in BIOS Reference Code), Static(0x3): Use the Static
+  EQs provided in DmiGen3EndPointPreset array for Phase1 AND Phase3 (Instead of just
+  Phase1), Disabled(0x4): Bypass Equalization Phase 3
+  0:Auto, 1:HwEq, 2:SwEq, 3:StaticEq, 4:BypassPhase3
+**/
+  uint8_t                       Peg2Gen3EqPh3Method;
+
+/** Offset 0x0542 - Enable/Disable PEG GEN3 Static EQ Phase1 programming
+  Program PEG 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_t                       PegGen3ProgramStaticEq;
+
+/** Offset 0x0543 - PEG Gen3 SwEq Always Attempt
+  Gen3 Software Equalization will be executed every boot. Disabled(0x0)(Default):
+  Reuse EQ settings saved/restored from NVRAM whenever possible, Enabled(0x1): Re-test
+  and generate new EQ values every boot, not recommended
+  0:Disable, 1:Enable
+**/
+  uint8_t                       Gen3SwEqAlwaysAttempt;
+
+/** Offset 0x0544 - Select number of TxEq presets to test in the PCIe/DMI SwEq
+  Select number of TxEq presets to test in the PCIe/DMI SwEq. P7,P3,P5(0x0): Test
+  Presets 7, 3, and 5, P0-P9(0x1): Test Presets 0-9, Auto(0x2)(Default): Use the
+  current default method (Default)Auto will test Presets 7, 3, and 5.  It is possible
+  for this default to change over time;using Auto will ensure Reference Code always
+  uses the latest default settings
+  0:P7 P3 P5, 1:P0 to P9, 2:Auto
+**/
+  uint8_t                       Gen3SwEqNumberOfPresets;
+
+/** Offset 0x0545 - Enable use of the Voltage Offset and Centering Test in the PCIe SwEq
+  Enable use of the Voltage Offset and Centering Test in the PCIe Software Equalization
+  Algorithm. Disabled(0x0): Disable VOC Test, Enabled(0x1): Enable VOC Test, Auto(0x2)(Default):
+  Use the current default
+  0:Disable, 1:Enable, 2:Auto
+**/
+  uint8_t                       Gen3SwEqEnableVocTest;
+
+/** Offset 0x0546 - PPCIe Rx Compliance Testing Mode
+  Disabled(0x0)(Default): Normal Operation - Disable PCIe Rx Compliance testing, Enabled(0x1):
+  PCIe Rx Compliance Test Mode - PEG controller is in Rx Compliance Testing Mode;
+  it should only be set when doing PCIe compliance testing
+  $EN_DIS
+**/
+  uint8_t                       PegRxCemTestingMode;
+
+/** Offset 0x0547 - PCIe Rx Compliance Loopback Lane  When PegRxCemTestingMode is Enabled
+  the specificied Lane (0 - 15) will be  used for RxCEMLoopback.  Default is Lane 0
+**/
+  uint8_t                       PegRxCemLoopbackLane;
+
+/** Offset 0x0548 - Generate PCIe BDAT Margin Table
+  Set this policy to enable the generation and addition of PCIe margin data to the
+  BDAT table. Disabled(0x0)(Default): Normal Operation - Disable PCIe BDAT margin
+  data generation, Enable(0x1): Generate PCIe BDAT margin data
+  $EN_DIS
+**/
+  uint8_t                       PegGenerateBdatMarginTable;
+
+/** Offset 0x0549 - PCIe Non-Protocol Awareness for Rx Compliance Testing
+  Set this policy to enable the generation and addition of PCIe margin data to the
+  BDAT table. Disabled(0x0)(Default): Normal Operation - Disable non-protocol awareness,
+  Enable(0x1): Non-Protocol Awareness Enabled - Enable non-protocol awareness for
+  compliance testing
+  $EN_DIS
+**/
+  uint8_t                       PegRxCemNonProtocolAwareness;
+
+/** Offset 0x054A - PCIe Override RxCTLE
+  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_t                       PegGen3RxCtleOverride;
+
+/** Offset 0x054B - 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_t                       PegGen3Rsvd;
+
+/** Offset 0x054C - PEG Gen3 Root port preset values per lane
+  Used for programming PEG Gen3 preset values per lane. Range: 0-9, 8 is default for each lane
+**/
+  uint8_t                       PegGen3RootPortPreset[16];
+
+/** Offset 0x055C - PEG Gen3 End port preset values per lane
+  Used for programming PEG Gen3 preset values per lane. Range: 0-9, 7 is default for each lane
+**/
+  uint8_t                       PegGen3EndPointPreset[16];
+
+/** Offset 0x056C - PEG Gen3 End port Hint values per lane
+  Used for programming PEG Gen3 Hint values per lane. Range: 0-6, 2 is default for each lane
+**/
+  uint8_t                       PegGen3EndPointHint[16];
+
+/** Offset 0x057C - Jitter Dwell Time for PCIe Gen3 Software Equalization
+  Range: 0-65535, default is 1000. @warning Do not change from the default
+**/
+  uint16_t                      Gen3SwEqJitterDwellTime;
+
+/** Offset 0x057E - Jitter Error Target for PCIe Gen3 Software Equalization
+  Range: 0-65535, default is 1. @warning Do not change from the default
+**/
+  uint16_t                      Gen3SwEqJitterErrorTarget;
+
+/** Offset 0x0580 - VOC Dwell Time for PCIe Gen3 Software Equalization
+  Range: 0-65535, default is 10000. @warning Do not change from the default
+**/
+  uint16_t                      Gen3SwEqVocDwellTime;
+
+/** Offset 0x0582 - VOC Error Target for PCIe Gen3 Software Equalization
+  Range: 0-65535, default is 2. @warning Do not change from the default
+**/
+  uint16_t                      Gen3SwEqVocErrorTarget;
+
+/** Offset 0x0584 - Panel Power Enable
+  Control for enabling/disabling VDD force bit (Required only for early enabling of
+  eDP panel). 0=Disable, 1(Default)=Enable
+  $EN_DIS
+**/
+  uint8_t                       PanelPowerEnable;
+
+/** Offset 0x0585 - SaPreMemTestRsvd
+  Reserved for SA Pre-Mem Test
+  $EN_DIS
+**/
+  uint8_t                       SaPreMemTestRsvd[16];
+
+/** Offset 0x0595 - TotalFlashSize
+  Enable/Disable. 0: Disable, define default value of TotalFlashSize , 1: enable
+**/
+  uint16_t                      TotalFlashSize;
+
+/** Offset 0x0597 - BiosSize
+  Enable/Disable. 0: Disable, define default value of BiosSize , 1: enable
+**/
+  uint16_t                      BiosSize;
+
+/** Offset 0x0599 - BiosAcmBase
+  Enable/Disable. 0: Disable, define default value of BiosAcmBase , 1: enable
+**/
+  uint64_t                      BiosAcmBase;
+
+/** Offset 0x05A1 - BiosAcmSize
+  Enable/Disable. 0: Disable, define default value of BiosAcmSize , 1: enable
+**/
+  uint32_t                      BiosAcmSize;
+
+/** Offset 0x05A5 - TgaSize
+  Enable/Disable. 0: Disable, define default value of TgaSize , 1: enable
+**/
+  uint32_t                      TgaSize;
+
+/** Offset 0x05A9 - TxtLcpPdBase
+  Enable/Disable. 0: Disable, define default value of TxtLcpPdBase , 1: enable
+**/
+  uint64_t                      TxtLcpPdBase;
+
+/** Offset 0x05B1 - TxtLcpPdSize
+  Enable/Disable. 0: Disable, define default value of TxtLcpPdSize , 1: enable
+**/
+  uint64_t                      TxtLcpPdSize;
+
+/** Offset 0x05B9 - PCH Dci Enable
+  Enable/disable PCH Dci.
+  $EN_DIS
+**/
+  uint8_t                       PchDciEn;
+
+/** Offset 0x05BA - PCH Dci Auto Detect
+  Enable/disable PCH Dci AUTO mode.
+  $EN_DIS
+**/
+  uint8_t                       PchDciAutoDetect;
+
+/** Offset 0x05BB - Smbus dynamic power gating
+  Disable or Enable Smbus dynamic power gating.
+  $EN_DIS
+**/
+  uint8_t                       SmbusDynamicPowerGating;
+
+/** Offset 0x05BC - Disable and Lock Watch Dog Register
+  Set 1 to clear WDT status, then disable and lock WDT registers.
+  $EN_DIS
+**/
+  uint8_t                       WdtDisableAndLock;
+
+/** Offset 0x05BD - SMBUS SPD Write Disable
+  Set/Clear Smbus SPD Write Disable. 0: leave SPD Write Disable bit; 1: set SPD Write
+  Disable bit. For security recommendations, SPD write disable bit must be set.
+  $EN_DIS
+**/
+  uint8_t                       SmbusSpdWriteDisable;
+
+/** Offset 0x05BE - ChipsetInit HECI message
+  Enable/Disable. 0: Disable, 1: enable, Enable or disable ChipsetInit HECI message.
+  If disabled, it prevents from sending ChipsetInit HECI message.
+  $EN_DIS
+**/
+  uint8_t                       ChipsetInitMessage;
+
+/** Offset 0x05BF - Bypass ChipsetInit sync reset.
+  0: disable, 1: enable, Set Enable to bypass the reset after ChipsetInit HECI message.
+  $EN_DIS
+**/
+  uint8_t                       BypassPhySyncReset;
+
+/** Offset 0x05C0 - Force ME DID Init Status
+  Test, 0: disable, 1: Success, 2: No Memory in Channels, 3: Memory Init Error, 4:
+  Memory not preserved across reset, Set ME DID init stat value
+  $EN_DIS
+**/
+  uint8_t                       DidInitStat;
+
+/** Offset 0x05C1 - CPU Replaced Polling Disable
+  Test, 0: disable, 1: enable, Setting this option disables CPU replacement polling loop
+  $EN_DIS
+**/
+  uint8_t                       DisableCpuReplacedPolling;
+
+/** Offset 0x05C2 - ME DID Message
+  Test, 0: disable, 1: enable, Enable/Disable ME DID Message (disable will prevent
+  the DID message from being sent)
+  $EN_DIS
+**/
+  uint8_t                       SendDidMsg;
+
+/** Offset 0x05C3 - Retry mechanism for HECI APIs
+  Test, 0: disable, 1: enable, Enable/Disable HECI retry.
+  $EN_DIS
+**/
+  uint8_t                       DisableHeciRetry;
+
+/** Offset 0x05C4 - Check HECI message before send
+  Test, 0: disable, 1: enable, Enable/Disable message check.
+  $EN_DIS
+**/
+  uint8_t                       DisableMessageCheck;
+
+/** Offset 0x05C5 - Skip MBP HOB
+  Test, 0: disable, 1: enable, Enable/Disable MOB HOB.
+  $EN_DIS
+**/
+  uint8_t                       SkipMbpHob;
+
+/** Offset 0x05C6 - HECI2 Interface Communication
+  Test, 0: disable, 1: enable, Adds or Removes HECI2 Device from PCI space.
+  $EN_DIS
+**/
+  uint8_t                       HeciCommunication2;
+
+/** Offset 0x05C7 - Enable KT device
+  Test, 0: disable, 1: enable, Enable or Disable KT device.
+  $EN_DIS
+**/
+  uint8_t                       KtDeviceEnable;
+
+/** Offset 0x05C8 - Enable IDEr
+  Test, 0: disable, 1: enable, Enable or Disable IDEr.
+  $EN_DIS
+**/
+  uint8_t                       IderDeviceEnable;
+
+/** Offset 0x05C9
+**/
+  uint8_t                       ReservedFspmTestUpd[17];
+} __attribute__((packed));
+
+/** Fsp M UPD Configuration
+**/
+struct FSPM_UPD {
+
+/** Offset 0x0000
+**/
+  struct FSP_UPD_HEADER              FspUpdHeader;
+
+/** Offset 0x0020
+**/
+  struct FSPM_ARCH_UPD               FspmArchUpd;
+
+/** Offset 0x0040
+**/
+  struct FSP_M_CONFIG                FspmConfig;
+
+/** Offset 0x052F
+**/
+  struct FSP_M_TEST_CONFIG           FspmTestConfig;
+
+/** Offset 0x05DA
+**/
+  uint8_t                       UnusedUpdSpace8[156];
+
+/** Offset 0x0676
+**/
+  uint16_t                      UpdTerminator;
+} __attribute__((packed));
+
+#endif
diff --git a/src/vendorcode/intel/fsp/fsp2_0/skykabylake/FspsUpd.h b/src/vendorcode/intel/fsp/fsp2_0/skykabylake/FspsUpd.h
new file mode 100644
index 0000000..aae3cf5
--- /dev/null
+++ b/src/vendorcode/intel/fsp/fsp2_0/skykabylake/FspsUpd.h
@@ -0,0 +1,2924 @@
+/** @file
+
+Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, this
+  list of conditions and the following disclaimer in the documentation and/or
+  other materials provided with the distribution.
+* Neither the name of Intel Corporation nor the names of its contributors may
+  be used to endorse or promote products derived from this software without
+  specific prior written permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+  THE POSSIBILITY OF SUCH DAMAGE.
+
+  This file is automatically generated. Please do NOT modify !!!
+
+**/
+
+#ifndef __FSPSUPD_H__
+#define __FSPSUPD_H__
+
+#include "FspUpd.h"
+#include <fsp/upd.h>
+
+
+#include "CpuConfigFspData.h"
+///
+/// Azalia Header structure
+///
+struct AZALIA_HEADER {
+  uint16_t VendorId;           ///< Codec Vendor ID
+  uint16_t DeviceId;           ///< Codec Device ID
+  uint8_t  RevisionId;         ///< Revision ID of the codec. 0xFF matches any revision.
+  uint8_t  SdiNum;             ///< SDI number, 0xFF matches any SDI.
+  uint16_t DataDwords;         ///< Number of data DWORDs pointed by the codec data buffer.
+  uint32_t Reserved;           ///< Reserved for future use. Must be set to 0.
+} __attribute__((packed));
+
+///
+/// Audio Azalia Verb Table structure
+///
+struct AUDIO_AZALIA_VERB_TABLE {
+  struct AZALIA_HEADER Header;      ///< AZALIA PCH header
+  uint32_t        *Data;       ///< Pointer to the data buffer. Its length is specified in the header
+} __attribute__((packed));
+
+///
+/// Refer to the definition of PCH_INT_PIN
+///
+enum SI_PCH_INT_PIN{
+  SiPchNoInt,        ///< No Interrupt Pin
+  SiPchIntA,
+  SiPchIntB,
+  SiPchIntC,
+  SiPchIntD
+};
+
+///
+/// The PCH_DEVICE_INTERRUPT_CONFIG block describes interrupt pin, IRQ and interrupt mode for PCH device.
+///
+struct SI_PCH_DEVICE_INTERRUPT_CONFIG{
+  uint8_t   Device;                  ///< Device number
+  uint8_t   Function;                ///< Device function
+  uint8_t   IntX;                    ///< Interrupt pin: INTA-INTD (see SI_PCH_INT_PIN)
+  uint8_t   Irq;                     ///< IRQ to be set for device.
+} __attribute__((packed));;
+
+#define SI_PCH_MAX_DEVICE_INTERRUPT_CONFIG  64       ///< Number of all PCH devices
+
+/** Fsp S Configuration
+**/
+struct FSP_S_CONFIG {
+
+/** Offset 0x0020 - Logo Pointer
+  Points to PEI Display Logo Image
+  0 : 0
+**/
+  uint32_t                      LogoPtr;
+
+/** Offset 0x0024 - Logo Size
+  Size of PEI Display Logo Image
+  0 : 0
+**/
+  uint32_t                      LogoSize;
+
+/** Offset 0x0028 - Graphics Configuration Ptr
+  Points to VBT
+  0 : 0
+**/
+  uint32_t                      GraphicsConfigPtr;
+
+/** Offset 0x002C - Enable Device 4
+  Enable/disable Device 4
+  $EN_DIS
+**/
+  uint8_t                       Device4Enable;
+
+/** Offset 0x002D - Enable Intel HD Audio (Azalia)
+  Enable/disable Azalia controller.
+  $EN_DIS
+**/
+  uint8_t                       PchHdaEnable;
+
+/** Offset 0x002E - Enable HD Audio DSP
+  Enable/disable HD Audio DSP feature.
+  $EN_DIS
+**/
+  uint8_t                       PchHdaDspEnable;
+
+/** Offset 0x002F - Select HDAudio IoBuffer Ownership
+  Indicates the ownership of the I/O buffer between Intel HD Audio link vs I2S0 /
+  I2S port. 0: Intel HD-Audio link owns all the I/O buffers. 1: Intel HD-Audio link
+  owns 4 of the I/O buffers for 1 HD-Audio codec connection, and I2S1 port owns 4
+  of the I/O buffers for 1 I2S codec connection. 2: Reserved. 3: I2S0 and I2S1 ports
+  own all the I/O buffers.
+  0:HD-A Link, 1:Shared HD-A Link and I2S Port, 3:I2S Ports
+**/
+  uint8_t                       PchHdaIoBufferOwnership;
+
+/** Offset 0x0030 - Enable CIO2 Controller
+  Enable/disable SKYCAM CIO2 Controller.
+  $EN_DIS
+**/
+  uint8_t                       PchCio2Enable;
+
+/** Offset 0x0031 - Enable eMMC Controller
+  Enable/disable eMMC Controller.
+  $EN_DIS
+**/
+  uint8_t                       ScsEmmcEnabled;
+
+/** Offset 0x0032 - Enable eMMC HS400 Mode
+  Enable eMMC HS400 Mode.
+  $EN_DIS
+**/
+  uint8_t                       ScsEmmcHs400Enabled;
+
+/** Offset 0x0033 - Enable SdCard Controller
+  Enable/disable SD Card Controller.
+  $EN_DIS
+**/
+  uint8_t                       ScsSdCardEnabled;
+
+/** Offset 0x0034 - Enable PCH ISH Controller
+  Enable/disable ISH Controller.
+  $EN_DIS
+**/
+  uint8_t                       PchIshEnable;
+
+/** Offset 0x0035 - Show SPI controller
+  Enable/disable to show SPI controller.
+  $EN_DIS
+**/
+  uint8_t                       ShowSpiController;
+
+/** Offset 0x0036
+**/
+  uint16_t                      UnusedUpdSpace0;
+
+/** Offset 0x0038 - MicrocodeRegionBase
+  Memory Base of Microcode Updates
+**/
+  uint32_t                      MicrocodeRegionBase;
+
+/** Offset 0x003C - MicrocodeRegionSize
+  Size of Microcode Updates
+**/
+  uint32_t                      MicrocodeRegionSize;
+
+/** Offset 0x0040 - Turbo Mode
+  Enable/Disable Turbo mode. 0: disable, 1: enable
+  $EN_DIS
+**/
+  uint8_t                       TurboMode;
+
+/** Offset 0x0041 - Enable SATA SALP Support
+  Enable/disable SATA Aggressive Link Power Management.
+  $EN_DIS
+**/
+  uint8_t                       SataSalpSupport;
+
+/** Offset 0x0042 - Enable SATA ports
+  Enable/disable SATA ports. One byte for each port, byte0 for port0, byte1 for port1,
+  and so on.
+**/
+  uint8_t                       SataPortsEnable[8];
+
+/** Offset 0x004A - Enable SATA DEVSLP Feature
+  Enable/disable SATA DEVSLP per port. 0 is disable, 1 is enable. One byte for each
+  port, byte0 for port0, byte1 for port1, and so on.
+**/
+  uint8_t                       SataPortsDevSlp[8];
+
+/** Offset 0x0052 - Enable USB2 ports
+  Enable/disable per USB2 ports. One byte for each port, byte0 for port0, byte1 for
+  port1, and so on.
+**/
+  uint8_t                       PortUsb20Enable[16];
+
+/** Offset 0x0062 - Enable USB3 ports
+  Enable/disable per USB3 ports. One byte for each port, byte0 for port0, byte1 for
+  port1, and so on.
+**/
+  uint8_t                       PortUsb30Enable[10];
+
+/** Offset 0x006C - Enable xDCI controller
+  Enable/disable to xDCI controller.
+  $EN_DIS
+**/
+  uint8_t                       XdciEnable;
+
+/** Offset 0x006D - Enable XHCI SSIC Eanble
+  Enable/disable XHCI SSIC port.
+  $EN_DIS
+**/
+  uint8_t                       SsicPortEnable;
+
+/** Offset 0x006E
+**/
+  uint8_t                       UnusedUpdSpace1[1];
+
+/** Offset 0x006F - Enable SerialIo Device Mode
+  0:Disabled, 1:ACPI Mode, 2:PCI Mode, 3:Hidden mode, 4:Legacy UART mode - Enable/disable
+  SerialIo I2C0,I2C1,I2C2,I2C3,I2C4,I2C5,SPI0,SPI1,UART0,UART1,UART2 device mode
+  respectively. One byte for each controller, byte0 for I2C0, byte1 for I2C1, and so on.
+**/
+  uint8_t                       SerialIoDevMode[11];
+
+/** Offset 0x007A - Address of PCH_DEVICE_INTERRUPT_CONFIG table.
+  The address of the table of PCH_DEVICE_INTERRUPT_CONFIG.
+**/
+  uint32_t                      DevIntConfigPtr;
+
+/** Offset 0x007E - Number of DevIntConfig Entry
+  Number of Device Interrupt Configuration Entry. If this is not zero, the DevIntConfigPtr
+  must not be NULL.
+**/
+  uint8_t                       NumOfDevIntConfig;
+
+/** Offset 0x007F - PIRQx to IRQx Map Config
+  PIRQx to IRQx mapping. The valid value is 0x00 to 0x0F for each. First byte is for
+  PIRQA, second byte is for PIRQB, and so on. The setting is only available in Legacy
+  8259 PCI mode.
+**/
+  uint8_t                       PxRcConfig[8];
+
+/** Offset 0x0087 - Select GPIO IRQ Route
+  GPIO IRQ Select. The valid value is 14 or 15.
+  0 : 0xFF
+**/
+  uint8_t                       GpioIrqRoute;
+
+/** Offset 0x0088 - Select SciIrqSelect
+  SCI IRQ Select. The valid value is 9, 10, 11, and 20, 21, 22, 23 for APIC only.
+  0 : 0xFF
+**/
+  uint8_t                       SciIrqSelect;
+
+/** Offset 0x0089 - Select TcoIrqSelect
+  TCO IRQ Select. The valid value is 9, 10, 11, 20, 21, 22, 23.
+  0 : 0xFF
+**/
+  uint8_t                       TcoIrqSelect;
+
+/** Offset 0x008A - Enable/Disable Tco IRQ
+  Enable/disable TCO IRQ
+  $EN_DIS
+**/
+  uint8_t                       TcoIrqEnable;
+
+/** Offset 0x008B - PCH HDA Verb Table Entry Number
+  Number of Entries in Verb Table.
+**/
+  uint8_t                       PchHdaVerbTableEntryNum;
+
+/** Offset 0x008C - PCH HDA Verb Table Pointer
+  Pointer to Array of pointers to Verb Table.
+**/
+  uint32_t                      PchHdaVerbTablePtr;
+
+/** Offset 0x0090
+**/
+  uint8_t                       UnusedUpdSpace2;
+
+/** Offset 0x0091 - Enable SATA
+  Enable/disable SATA controller.
+  $EN_DIS
+**/
+  uint8_t                       SataEnable;
+
+/** Offset 0x0092 - SATA Mode
+  Select SATA controller working mode.
+  0:AHCI, 1:RAID
+**/
+  uint8_t                       SataMode;
+
+/** Offset 0x0093 - USB Per Port HS Preemphasis Bias
+  USB Per Port HS Preemphasis Bias. 000b-0mV, 001b-11.25mV, 010b-16.9mV, 011b-28.15mV,
+  100b-28.15mV, 101b-39.35mV, 110b-45mV, 111b-56.3mV. One byte for each port.
+**/
+  uint8_t                       Usb2AfePetxiset[16];
+
+/** Offset 0x00A3 - USB Per Port HS Transmitter Bias
+  USB Per Port HS Transmitter Bias. 000b-0mV, 001b-11.25mV, 010b-16.9mV, 011b-28.15mV,
+  100b-28.15mV, 101b-39.35mV, 110b-45mV, 111b-56.3mV, One byte for each port.
+**/
+  uint8_t                       Usb2AfeTxiset[16];
+
+/** Offset 0x00B3 - USB Per Port HS Transmitter Emphasis
+  USB Per Port HS Transmitter Emphasis. 00b - Emphasis OFF, 01b - De-emphasis ON,
+  10b - Pre-emphasis ON, 11b - Pre-emphasis & De-emphasis ON. One byte for each port.
+**/
+  uint8_t                       Usb2AfePredeemp[16];
+
+/** Offset 0x00C3 - USB Per Port Half Bit Pre-emphasis
+  USB Per Port Half Bit Pre-emphasis. 1b - half-bit pre-emphasis, 0b - full-bit pre-emphasis.
+  One byte for each port.
+**/
+  uint8_t                       Usb2AfePehalfbit[16];
+
+/** Offset 0x00D3 - Enable the write to USB 3.0 TX Output -3.5dB De-Emphasis Adjustment
+  Enable the write to USB 3.0 TX Output -3.5dB De-Emphasis Adjustment. Each value
+  in arrary can be between 0-1. One byte for each port.
+**/
+  uint8_t                       Usb3HsioTxDeEmphEnable[10];
+
+/** Offset 0x00DD - USB 3.0 TX Output -3.5dB De-Emphasis Adjustment Setting
+  USB 3.0 TX Output -3.5dB De-Emphasis Adjustment Setting, HSIO_TX_DWORD5[21:16],
+  <b>Default = 29h</b> (approximately -3.5dB De-Emphasis). One byte for each port.
+**/
+  uint8_t                       Usb3HsioTxDeEmph[10];
+
+/** Offset 0x00E7 - Enable the write to USB 3.0 TX Output Downscale Amplitude Adjustment
+  Enable the write to USB 3.0 TX Output Downscale Amplitude Adjustment, Each value
+  in arrary can be between 0-1. One byte for each port.
+**/
+  uint8_t                       Usb3HsioTxDownscaleAmpEnable[10];
+
+/** Offset 0x00F1 - USB 3.0 TX Output Downscale Amplitude Adjustment
+  USB 3.0 TX Output Downscale Amplitude Adjustment, HSIO_TX_DWORD8[21:16], <b>Default
+  = 00h</b>. One byte for each port.
+**/
+  uint8_t                       Usb3HsioTxDownscaleAmp[10];
+
+/** Offset 0x00FB - Enable LAN
+  Enable/disable LAN controller.
+  $EN_DIS
+**/
+  uint8_t                       PchLanEnable;
+
+/** Offset 0x00FC
+**/
+  uint8_t                       UnusedUpdSpace3[24];
+
+/** Offset 0x0114 - Enable PCIE RP CLKREQ Support
+  Enable/disable PCIE Root Port CLKREQ support. 0: disable, 1: enable. One byte for
+  each port, byte0 for port1, byte1 for port2, and so on.
+**/
+  uint8_t                       PcieRpClkReqSupport[24];
+
+/** Offset 0x012C - Configure CLKREQ Number
+  Configure Root Port CLKREQ Number if CLKREQ is supported. Each value in arrary can
+  be between 0-6. One byte for each port, byte0 for port1, byte1 for port2, and so on.
+**/
+  uint8_t                       PcieRpClkReqNumber[24];
+
+/** Offset 0x0144
+**/
+  uint8_t                       UnusedUpdSpace4[5];
+
+/** Offset 0x0149 - HECI3 state
+  The HECI3 state from Mbp for reference in S3 path or when MbpHob is not installed.
+  0: disable, 1: enable
+  $EN_DIS
+**/
+  uint8_t                       Heci3Enabled;
+
+/** Offset 0x014A
+**/
+  uint8_t                       UnusedUpdSpace5[9];
+
+/** Offset 0x0153 - AMT Switch
+  Enable/Disable. 0: Disable, 1: enable, Enable or disable AMT functionality.
+  $EN_DIS
+**/
+  uint8_t                       AmtEnabled;
+
+/** Offset 0x0154 - WatchDog Timer Switch
+  Enable/Disable. 0: Disable, 1: enable, Enable or disable WatchDog timer.
+  $EN_DIS
+**/
+  uint8_t                       WatchDog;
+
+/** Offset 0x0155 - ASF Switch
+  Enable/Disable. 0: Disable, 1: enable, Enable or disable ASF functionality.
+  $EN_DIS
+**/
+  uint8_t                       AsfEnabled;
+
+/** Offset 0x0156 - Manageability Mode set by Mebx
+  Enable/Disable. 0: Disable, 1: enable, Enable or disable  Manageability Mode.
+  $EN_DIS
+**/
+  uint8_t                       ManageabilityMode;
+
+/** Offset 0x0157 - PET Progress
+  Enable/Disable. 0: Disable, 1: enable, Enable/Disable PET Events Progress to receive
+  PET Events.
+  $EN_DIS
+**/
+  uint8_t                       FwProgress;
+
+/** Offset 0x0158 - SOL Switch
+  Enable/Disable. 0: Disable, 1: enable, Serial Over Lan enable/disable state by Mebx
+  $EN_DIS
+**/
+  uint8_t                       AmtSolEnabled;
+
+/** Offset 0x0159 - OS Timer
+  16 bits Value, Set OS watchdog timer.
+  $EN_DIS
+**/
+  uint16_t                      WatchDogTimerOs;
+
+/** Offset 0x015B - BIOS Timer
+  16 bits Value, Set BIOS watchdog timer.
+  $EN_DIS
+**/
+  uint16_t                      WatchDogTimerBios;
+
+/** Offset 0x015D
+**/
+  uint8_t                       UnusedUpdSpace6[163];
+
+/** Offset 0x0200 - Enable/Disable SA CRID
+  Enable: SA CRID, Disable (Default): SA CRID
+  $EN_DIS
+**/
+  uint8_t                       CridEnable;
+
+/** Offset 0x0201 - Subsystem Vendor ID for SA devices
+  Subsystem ID that will be programmed to SA devices: Default SubSystemVendorId=0x8086
+**/
+  uint16_t                      DefaultSvid;
+
+/** Offset 0x0203 - Subsystem Device ID for SA devices
+  Subsystem ID that will be programmed to SA devices: Default SubSystemId=0x2015
+**/
+  uint16_t                      DefaultSid;
+
+/** Offset 0x0205 - DMI ASPM
+  0=Disable, 2(Default)=L1
+  0:Disable, 2:L1
+**/
+  uint8_t                       DmiAspm;
+
+/** Offset 0x0206 - PCIe DeEmphasis control per root port
+  0: -6dB, 1(Default): -3.5dB
+  0:Disable, 2:L1
+**/
+  uint8_t                       PegDeEmphasis[3];
+
+/** Offset 0x0209 - PCIe Slot Power Limit value per root port
+  Slot power limit value per root port
+**/
+  uint8_t                       PegSlotPowerLimitValue[3];
+
+/** Offset 0x020C - PCIe Slot Power Limit scale per root port
+  Slot power limit scale per root port
+  0:1.0x, 1:0.1x, 2:0.01x, 3:0x001x
+**/
+  uint8_t                       PegSlotPowerLimitScale[3];
+
+/** Offset 0x020F - PCIe Physical Slot Number per root port
+  Physical Slot Number per root port
+**/
+  uint16_t                      PegPhysicalSlotNumber[3];
+
+/** Offset 0x0215 - Enable/Disable PavpEnable
+  Enable(Default): Enable PavpEnable, Disable: Disable PavpEnable
+  $EN_DIS
+**/
+  uint8_t                       PavpEnable;
+
+/** Offset 0x0216 - CdClock Frequency selection
+  0=308.57 Mhz, 1=337.5 Mhz, 2=432 Mhz, 3=450 Mhz, 4=540 Mhz, 5=617.14 Mhz, 6(Default)= 675 Mhz
+  0: 308.57 Mhz, 1: 337.5 Mhz, 2: 432 Mhz, 3: 450 Mhz, 4: 540 Mhz, 5: 617.14 Mhz,
+  6: 675 Mhz
+**/
+  uint8_t                       CdClock;
+
+/** Offset 0x0217 - Enable/Disable PeiGraphicsPeimInit
+  Enable: Enable PeiGraphicsPeimInit, Disable(Default): Disable PeiGraphicsPeimInit
+  $EN_DIS
+**/
+  uint8_t                       PeiGraphicsPeimInit;
+
+/** Offset 0x0218 - Enable/Disable SA IMGU(SKYCAM)
+  Enable(Default): Enable SA IMGU(SKYCAM), Disable: Disable SA IMGU(SKYCAM)
+  $EN_DIS
+**/
+  uint8_t                       SaImguEnable;
+
+/** Offset 0x0219 - Enable or disable GMM device
+  0=Disable, 1(Default)=Enable
+  $EN_DIS
+**/
+  uint8_t                       GmmEnable;
+
+/** Offset 0x021A - State of X2APIC_OPT_OUT bit in the DMAR table
+  0=Disable/Clear, 1(Default)=Enable/Set
+  $EN_DIS
+**/
+  uint8_t                       X2ApicOptOut;
+
+/** Offset 0x021B - Base addresses for VT-d function MMIO access
+  Base addresses for VT-d MMIO access per VT-d engine
+**/
+  uint32_t                      VtdBaseAddress[2];
+
+/** Offset 0x0223
+**/
+  uint8_t                       UnusedUpdSpace7[20];
+
+/** Offset 0x0237 - SaPostMemProductionRsvd
+  Reserved for SA Post-Mem Production
+  $EN_DIS
+**/
+  uint8_t                       SaPostMemProductionRsvd[16];
+
+/** Offset 0x0247
+**/
+  uint8_t                       UnusedUpdSpace8[7];
+
+/** Offset 0x024E - Power State 3 enable/disable
+  PCODE MMIO Mailbox: Power State 3 enable/disable; 0: Disable; <b>1: Enable</b>.
+  For all VR Indexes
+**/
+  uint8_t                       Psi3Enable[5];
+
+/** Offset 0x0253 - Power State 4 enable/disable
+  PCODE MMIO Mailbox: Power State 4 enable/disable; 0: Disable; <b>1: Enable</b>.For
+  all VR Indexes
+**/
+  uint8_t                       Psi4Enable[5];
+
+/** Offset 0x0258 - Imon slope correction
+  PCODE MMIO Mailbox: Imon slope correction. Specified in 1/100 increment values.
+  Range is 0-200. 125 = 1.25. <b>0: Auto</b>.For all VR Indexes
+**/
+  uint8_t                       ImonSlope[5];
+
+/** Offset 0x025D - Imon offset correction
+  PCODE MMIO Mailbox: Imon offset correction. Value is a 2's complement signed integer.
+  Units 1/1000, Range 0-63999. For an offset = 12.580, use 12580. <b>0: Auto</b>
+**/
+  uint8_t                       ImonOffset[5];
+
+/** Offset 0x0262 - Enable/Disable BIOS configuration of VR
+  Enable/Disable BIOS configuration of VR; <b>0: Disable</b>; 1: Enable.For all VR Indexes
+**/
+  uint8_t                       VrConfigEnable[5];
+
+/** Offset 0x0267 - Thermal Design Current enable/disable
+  PCODE MMIO Mailbox: Thermal Design Current enable/disable; <b>0: Disable</b>; 1:
+  Enable.For all VR Indexes
+**/
+  uint8_t                       TdcEnable[5];
+
+/** Offset 0x026C - HECI3 state
+  PCODE MMIO Mailbox: Thermal Design Current time window. Defined in milli seconds.
+  Valid Values 1 - 1ms , 2 - 2ms , 3 - 3ms , 4 - 4ms , 5 - 5ms , 6 - 6ms , 7 - 7ms
+  , 8 - 8ms , 10 - 10ms.For all VR Indexe
+**/
+  uint8_t                       TdcTimeWindow[5];
+
+/** Offset 0x0271 - Thermal Design Current Lock
+  PCODE MMIO Mailbox: Thermal Design Current Lock; <b>0: Disable</b>; 1: Enable.For
+  all VR Indexes
+**/
+  uint8_t                       TdcLock[5];
+
+/** Offset 0x0276 - Platform Psys slope correction
+  PCODE MMIO Mailbox: Platform Psys slope correction. <b>0 - Auto</b> Specified in
+  1/100 increment values. Range is 0-200. 125 = 1.25
+  0x0:0xFF
+**/
+  uint8_t                       PsysSlope;
+
+/** Offset 0x0277 - Platform Psys offset correction
+  PCODE MMIO Mailbox: Platform Psys offset correction. <b>0 - Auto</b> Units 1/4,
+  Range 0-255. Value of 100 = 100/4 = 25 offset
+  0x0:0xFF
+**/
+  uint8_t                       PsysOffset;
+
+/** Offset 0x0278 - Acoustic Noise Mitigation feature
+  Enable or Disable Acoustic Noise Mitigation feature. <b>0: Disabled</b>; 1: Enabled
+  0x0:0xFF
+**/
+  uint8_t                       AcousticNoiseMitigation;
+
+/** Offset 0x0279 - Disable Fast Slew Rate for Deep Package C States for VR IA domain
+  Disable Fast Slew Rate for Deep Package C States based on Acoustic Noise Mitigation
+  feature enabled. <b>0: False</b>; 1: True
+  0x0:0xFF
+**/
+  uint8_t                       FastPkgCRampDisableIa;
+
+/** Offset 0x027A - Slew Rate configuration for Deep Package C States for VR IA domain
+  Slew Rate configuration for Deep Package C States for VR IA domain based on Acoustic
+  Noise Mitigation feature enabled. <b>0: Fast/2</b>; 1: Fast/4; 2: Fast/8; 3: Fast/16
+  0x0:0xFF
+**/
+  uint8_t                       SlowSlewRateForIa;
+
+/** Offset 0x027B - Slew Rate configuration for Deep Package C States for VR GT domain
+  Slew Rate configuration for Deep Package C States for VR GT domain based on Acoustic
+  Noise Mitigation feature enabled. <b>0: Fast/2</b>; 1: Fast/4; 2: Fast/8; 3: Fast/16
+  0x0:0xFF
+**/
+  uint8_t                       SlowSlewRateForGt;
+
+/** Offset 0x027C - Slew Rate configuration for Deep Package C States for VR SA domain
+  Slew Rate configuration for Deep Package C States for VR SA domain based on Acoustic
+  Noise Mitigation feature enabled. <b>0: Fast/2</b>; 1: Fast/4; 2: Fast/8; 3: Fast/16
+  0x0:0xFF
+**/
+  uint8_t                       SlowSlewRateForSa;
+
+/** Offset 0x027D
+**/
+  uint8_t                       UnusedUpdSpace9[8];
+
+/** Offset 0x0285 - 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
+**/
+  uint16_t                      TdcPowerLimit[5];
+
+/** Offset 0x028F
+**/
+  uint8_t                       UnusedUpdSpace10[10];
+
+/** Offset 0x0299 - AcLoadline
+  PCODE MMIO Mailbox: AcLoadline in 1/100 mOhms (ie. 1250 = 12.50 mOhm); Range is
+  0-6249. <b>Intel Recommended Defaults vary by domain and SKU.
+**/
+  uint16_t                      AcLoadline[5];
+
+/** Offset 0x02A3 - DcLoadline
+  PCODE MMIO Mailbox: DcLoadline in 1/100 mOhms (ie. 1250 = 12.50 mOhm); Range is
+  0-6249.<b>Intel Recommended Defaults vary by domain and SKU.</b>
+**/
+  uint16_t                      DcLoadline[5];
+
+/** Offset 0x02AD - Power State 1 Threshold current
+  PCODE MMIO Mailbox: Power State 1 current cuttof in 1/4 Amp increments. Range is
+  0-128A. Default Value = 20A.
+**/
+  uint16_t                      Psi1Threshold[5];
+
+/** Offset 0x02B7 - Power State 2 Threshold current
+  PCODE MMIO Mailbox: Power State 2 current cuttof in 1/4 Amp increments. Range is
+  0-128A. Default Value = 5A.
+**/
+  uint16_t                      Psi2Threshold[5];
+
+/** Offset 0x02C1 - Power State 3 Threshold current
+  PCODE MMIO Mailbox: Power State 3 current cuttof in 1/4 Amp increments. Range is
+  0-128A. Default Value = 1A.
+**/
+  uint16_t                      Psi3Threshold[5];
+
+/** Offset 0x02CB - Icc Max limit
+  PCODE MMIO Mailbox: VR Icc Max limit. 0-255A in 1/4 A units. 400 = 100A
+**/
+  uint16_t                      IccMax[5];
+
+/** Offset 0x02D5 - VR Voltage Limit
+  PCODE MMIO Mailbox: VR Voltage Limit. Range is 0-7999mV.
+**/
+  uint16_t                      VrVoltageLimit[5];
+
+/** Offset 0x02DF - Disable Fast Slew Rate for Deep Package C States for VR GT domain
+  Disable Fast Slew Rate for Deep Package C States based on Acoustic Noise Mitigation
+  feature enabled. <b>0: False</b>; 1: True
+  0x0:0xFF
+**/
+  uint8_t                       FastPkgCRampDisableGt;
+
+/** Offset 0x02E0 - Disable Fast Slew Rate for Deep Package C States for VR SA domain
+  Disable Fast Slew Rate for Deep Package C States based on Acoustic Noise Mitigation
+  feature enabled. <b>0: False</b>; 1: True
+  0x0:0xFF
+**/
+  uint8_t                       FastPkgCRampDisableSa;
+
+/** Offset 0x02E1
+**/
+  uint8_t                       UnusedUpdSpace11;
+
+/** Offset 0x02E2 - Enable VR specific mailbox command
+  VR specific mailbox commands. <b>00b - no VR specific command sent.</b>  01b - A
+  VR mailbox command specifically for the MPS IMPV8 VR will be sent. 10b - VR specific
+  command sent for PS4 exit issue. 11b - Reserved.
+  $EN_DIS
+**/
+  uint8_t                       SendVrMbxCmd;
+
+/** Offset 0x02E3 - Select VR specific mailbox command to send
+  VR specific mailbox commands. <b>000b - no VR specific command sent.</b>  001b -
+  VR mailbox command specifically for the MPS IMPV8 VR will be sent. 010b - VR specific
+  command sent for PS4 exit issue. 100b - VR specific command sent for MPS VR decay issue.
+**/
+  uint8_t                       SendVrMbxCmd1;
+
+/** Offset 0x02E4
+**/
+  uint8_t                       UnusedUpdSpace12;
+
+/** Offset 0x02E5 - CpuS3ResumeMtrrData
+  Pointer CPU S3 Resume MTRR Data
+**/
+  uint32_t                      CpuS3ResumeMtrrData;
+
+/** Offset 0x02E9 - CpuS3ResumeMtrrDataSize
+  Size of S3 resume MTRR data.
+**/
+  uint16_t                      CpuS3ResumeMtrrDataSize;
+
+/** Offset 0x02EB
+**/
+  uint8_t                       UnusedUpdSpace13[2];
+
+/** Offset 0x02ED - Cpu Configuration
+  Size of S3 resume MTRR data.
+**/
+  union CPU_CONFIG_FSP_DATA         CpuConfig;
+
+/** Offset 0x02F9
+**/
+  uint16_t                      UnusedUpdSpace14;
+
+/** Offset 0x02FB - Enable SkyCam PortA Termination override
+  Enable/disable PortA Termination override.
+  $EN_DIS
+**/
+  uint8_t                       PchSkyCamPortATermOvrEnable;
+
+/** Offset 0x02FC - Enable SkyCam PortB Termination override
+  Enable/disable PortB Termination override.
+  $EN_DIS
+**/
+  uint8_t                       PchSkyCamPortBTermOvrEnable;
+
+/** Offset 0x02FD - Enable SkyCam PortC Termination override
+  Enable/disable PortC Termination override.
+  $EN_DIS
+**/
+  uint8_t                       PchSkyCamPortCTermOvrEnable;
+
+/** Offset 0x02FE - Enable SkyCam PortD Termination override
+  Enable/disable PortD Termination override.
+  $EN_DIS
+**/
+  uint8_t                       PchSkyCamPortDTermOvrEnable;
+
+/** Offset 0x02FF - Enable SkyCam PortA Clk Trim
+  Enable/disable PortA Clk Trim.
+  $EN_DIS
+**/
+  uint8_t                       PchSkyCamPortATrimEnable;
+
+/** Offset 0x0300 - Enable SkyCam PortB Clk Trim
+  Enable/disable PortB Clk Trim.
+  $EN_DIS
+**/
+  uint8_t                       PchSkyCamPortBTrimEnable;
+
+/** Offset 0x0301 - Enable SkyCam PortC Clk Trim
+  Enable/disable PortC Clk Trim.
+  $EN_DIS
+**/
+  uint8_t                       PchSkyCamPortCTrimEnable;
+
+/** Offset 0x0302 - Enable SkyCam PortD Clk Trim
+  Enable/disable PortD Clk Trim.
+  $EN_DIS
+**/
+  uint8_t                       PchSkyCamPortDTrimEnable;
+
+/** Offset 0x0303 - Enable SkyCam PortA Ctle
+  Enable/disable PortA Ctle.
+  $EN_DIS
+**/
+  uint8_t                       PchSkyCamPortACtleEnable;
+
+/** Offset 0x0304 - Enable SkyCam PortB Ctle
+  Enable/disable PortB Ctle.
+  $EN_DIS
+**/
+  uint8_t                       PchSkyCamPortBCtleEnable;
+
+/** Offset 0x0305 - Enable SkyCam PortCD Ctle
+  Enable/disable PortCD Ctle.
+  $EN_DIS
+**/
+  uint8_t                       PchSkyCamPortCDCtleEnable;
+
+/** Offset 0x0306 - Enable SkyCam PortA Ctle Cap Value
+  Enable/disable PortA Ctle Cap Value.
+**/
+  uint8_t                       PchSkyCamPortACtleCapValue;
+
+/** Offset 0x0307 - Enable SkyCam PortB Ctle Cap Value
+  Enable/disable PortB Ctle Cap Value.
+**/
+  uint8_t                       PchSkyCamPortBCtleCapValue;
+
+/** Offset 0x0308 - Enable SkyCam PortCD Ctle Cap Value
+  Enable/disable PortCD Ctle Cap Value.
+**/
+  uint8_t                       PchSkyCamPortCDCtleCapValue;
+
+/** Offset 0x0309 - Enable SkyCam PortA Ctle Res Value
+  Enable/disable PortA Ctle Res Value.
+**/
+  uint8_t                       PchSkyCamPortACtleResValue;
+
+/** Offset 0x030A - Enable SkyCam PortB Ctle Res Value
+  Enable/disable PortB Ctle Res Value.
+**/
+  uint8_t                       PchSkyCamPortBCtleResValue;
+
+/** Offset 0x030B - Enable SkyCam PortCD Ctle Res Value
+  Enable/disable PortCD Ctle Res Value.
+**/
+  uint8_t                       PchSkyCamPortCDCtleResValue;
+
+/** Offset 0x030C - Enable SkyCam PortA Clk Trim Value
+  Enable/disable PortA Clk Trim Value.
+**/
+  uint8_t                       PchSkyCamPortAClkTrimValue;
+
+/** Offset 0x030D - Enable SkyCam PortB Clk Trim Value
+  Enable/disable PortB Clk Trim Value.
+**/
+  uint8_t                       PchSkyCamPortBClkTrimValue;
+
+/** Offset 0x030E - Enable SkyCam PortC Clk Trim Value
+  Enable/disable PortC Clk Trim Value.
+**/
+  uint8_t                       PchSkyCamPortCClkTrimValue;
+
+/** Offset 0x030F - Enable SkyCam PortD Clk Trim Value
+  Enable/disable PortD Clk Trim Value.
+**/
+  uint8_t                       PchSkyCamPortDClkTrimValue;
+
+/** Offset 0x0310 - Enable SkyCam Port A Data Trim Value
+  Enable/disable Port A Data Trim Value.
+**/
+  uint16_t                      PchSkyCamPortADataTrimValue;
+
+/** Offset 0x0312 - Enable SkyCam Port B Data Trim Value
+  Enable/disable Port B Data Trim Value.
+**/
+  uint16_t                      PchSkyCamPortBDataTrimValue;
+
+/** Offset 0x0314 - Enable SkyCam C/D Data Trim Value
+  Enable/disable C/D Data Trim Value.
+**/
+  uint16_t                      PchSkyCamPortCDDataTrimValue;
+
+/** Offset 0x0316 - Enable DMI ASPM
+  ASPM on PCH side of the DMI Link.
+  $EN_DIS
+**/
+  uint8_t                       PchDmiAspm;
+
+/** Offset 0x0317 - Enable Power Optimizer
+  Enable DMI Power Optimizer on PCH side.
+  $EN_DIS
+**/
+  uint8_t                       PchPwrOptEnable;
+
+/** Offset 0x0318 - PCH Flash Protection Ranges Write Enble
+  Write or erase is blocked by hardware.
+**/
+  uint8_t                       PchWriteProtectionEnable[5];
+
+/** Offset 0x031D - PCH Flash Protection Ranges Read Enble
+  Read is blocked by hardware.
+**/
+  uint8_t                       PchReadProtectionEnable[5];
+
+/** Offset 0x0322 - PCH Protect Range Limit
+  Left shifted address by 12 bits with address bits 11:0 are assumed to be FFFh for
+  limit comparison.
+**/
+  uint16_t                      PchProtectedRangeLimit[5];
+
+/** Offset 0x032C - PCH Protect Range Base
+  Left shifted address by 12 bits with address bits 11:0 are assumed to be 0.
+**/
+  uint16_t                      PchProtectedRangeBase[5];
+
+/** Offset 0x0336 - Enable Pme
+  Enable Azalia wake-on-ring.
+  $EN_DIS
+**/
+  uint8_t                       PchHdaPme;
+
+/** Offset 0x0337 - IO Buffer Voltage
+  I/O Buffer Voltage Mode Select: 0: 3.3V, 1: 1.8V.
+**/
+  uint8_t                       PchHdaIoBufferVoltage;
+
+/** Offset 0x0338 - VC Type
+  Virtual Channel Type Select: 0: VC0, 1: VC1.
+**/
+  uint8_t                       PchHdaVcType;
+
+/** Offset 0x0339 - HD Audio Link Frequency
+  HDA Link Freq (PCH_HDAUDIO_LINK_FREQUENCY enum): 0: 6MHz, , 1: 12MHz, 2: 24MHz.
+**/
+  uint8_t                       PchHdaLinkFrequency;
+
+/** Offset 0x033A - iDisp-Link Frequency
+  iDisp-Link Freq (PCH_HDAUDIO_LINK_FREQUENCY enum): 4: 96MHz, 3: 48MHz.
+**/
+  uint8_t                       PchHdaIDispLinkFrequency;
+
+/** Offset 0x033B - iDisp-Link T-mode
+  iDisp-Link T-Mode (PCH_HDAUDIO_IDISP_TMODE enum): 0: 2T, 1: 1T.
+**/
+  uint8_t                       PchHdaIDispLinkTmode;
+
+/** Offset 0x033C - Universal Audio Architecture compliance for DSP enabled system
+  0: Not-UAA Compliant (Intel SST driver supported only), 1: UAA Compliant (HDA Inbox
+  driver or SST driver supported).
+  $EN_DIS
+**/
+  uint8_t                       PchHdaDspUaaCompliance;
+
+/** Offset 0x033D - iDisplay Audio Codec disconnection
+  0: Not disconnected, enumerable, 1: Disconnected SDI, not enumerable.
+  $EN_DIS
+**/
+  uint8_t                       PchHdaIDispCodecDisconnect;
+
+/** Offset 0x033E - DSP DMIC Select (PCH_HDAUDIO_DMIC_TYPE enum)
+  0: Disable; 1: 2ch array; 2: 4ch array; 3: 1ch array.
+**/
+  uint8_t                       PchHdaDspEndpointDmic;
+
+/** Offset 0x033F - DSP Bluetooth enablement
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchHdaDspEndpointBluetooth;
+
+/** Offset 0x0340 - DSP I2S enablement
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchHdaDspEndpointI2s;
+
+/** Offset 0x0341 - Bitmask of supported DSP features
+  [BIT0] - WoV; [BIT1] - BT Sideband; [BIT2] - Codec VAD; [BIT5] - BT Intel HFP; [BIT6]
+  - BT Intel A2DP; [BIT7] - DSP based speech pre-processing disabled; [BIT8] - 0:
+  Intel WoV, 1: Windows Voice Activation.
+**/
+  uint32_t                      PchHdaDspFeatureMask;
+
+/** Offset 0x0345 - Bitmask of supported DSP Pre/Post-Processing Modules
+  Deprecated: Specific pre/post-processing module bit position must be coherent with
+  the ACPI implementation: \_SB.PCI0.HDAS._DSM Function 3: Query Pre/Post Processing
+  Module Support.
+**/
+  uint32_t                      PchHdaDspPpModuleMask;
+
+/** Offset 0x0349 - Enable PCH Io Apic
+  Set to 1 if BDF value is valid.
+  $EN_DIS
+**/
+  uint8_t                       PchIoApicBdfValid;
+
+/** Offset 0x034A - PCH Io Apic Bus Number
+  Bus/Device/Function used as Requestor / Completer ID. Default is 0xF0.
+**/
+  uint8_t                       PchIoApicBusNumber;
+
+/** Offset 0x034B - PCH Io Apic Device Number
+  Bus/Device/Function used as Requestor / Completer ID. Default is 0x1F.
+**/
+  uint8_t                       PchIoApicDeviceNumber;
+
+/** Offset 0x034C - PCH Io Apic Function Number
+  Bus/Device/Function used as Requestor / Completer ID. Default is 0x00.
+**/
+  uint8_t                       PchIoApicFunctionNumber;
+
+/** Offset 0x034D - Enable PCH Io Apic Entry 24-119
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchIoApicEntry24_119;
+
+/** Offset 0x034E - PCH Io Apic ID
+  This member determines IOAPIC ID. Default is 0x02.
+**/
+  uint8_t                       PchIoApicId;
+
+/** Offset 0x034F - PCH Io Apic Range Select
+  Define address bits 19:12 for the IOxAPIC range. Default is 0.
+**/
+  uint8_t                       PchIoApicRangeSelect;
+
+/** Offset 0x0350 - Enable PCH ISH SPI GPIO pins assigned
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchIshSpiGpioAssign;
+
+/** Offset 0x0351 - Enable PCH ISH UART0 GPIO pins assigned
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchIshUart0GpioAssign;
+
+/** Offset 0x0352 - Enable PCH ISH UART1 GPIO pins assigned
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchIshUart1GpioAssign;
+
+/** Offset 0x0353 - Enable PCH ISH I2C0 GPIO pins assigned
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchIshI2c0GpioAssign;
+
+/** Offset 0x0354 - Enable PCH ISH I2C1 GPIO pins assigned
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchIshI2c1GpioAssign;
+
+/** Offset 0x0355 - Enable PCH ISH I2C2 GPIO pins assigned
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchIshI2c2GpioAssign;
+
+/** Offset 0x0356 - Enable PCH ISH GP_0 GPIO pin assigned
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchIshGp0GpioAssign;
+
+/** Offset 0x0357 - Enable PCH ISH GP_1 GPIO pin assigned
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchIshGp1GpioAssign;
+
+/** Offset 0x0358 - Enable PCH ISH GP_2 GPIO pin assigned
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchIshGp2GpioAssign;
+
+/** Offset 0x0359 - Enable PCH ISH GP_3 GPIO pin assigned
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchIshGp3GpioAssign;
+
+/** Offset 0x035A - Enable PCH ISH GP_4 GPIO pin assigned
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchIshGp4GpioAssign;
+
+/** Offset 0x035B - Enable PCH ISH GP_5 GPIO pin assigned
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchIshGp5GpioAssign;
+
+/** Offset 0x035C - Enable PCH ISH GP_6 GPIO pin assigned
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchIshGp6GpioAssign;
+
+/** Offset 0x035D - Enable PCH ISH GP_7 GPIO pin assigned
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchIshGp7GpioAssign;
+
+/** Offset 0x035E - PCH ISH PDT Unlock Msg
+  0: False; 1: True.
+  $EN_DIS
+**/
+  uint8_t                       PchIshPdtUnlock;
+
+/** Offset 0x035F - Enable PCH Lan LTR capabilty of PCH internal LAN
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchLanLtrEnable;
+
+/** Offset 0x0360 - Enable PCH Lan use CLKREQ for GbE power management
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchLanK1OffEnable;
+
+/** Offset 0x0361 - Indicate whether dedicated CLKREQ# is supported
+  0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchLanClkReqSupported;
+
+/** Offset 0x0362 - CLKREQ# used by GbE
+  Valid if ClkReqSupported is TRUE.
+**/
+  uint8_t                       PchLanClkReqNumber;
+
+/** Offset 0x0363 - Enable LOCKDOWN BIOS LOCK
+  Enable the BIOS Lock feature and set EISS bit (D31:F5:RegDCh[5]) for the BIOS region
+  protection.
+  $EN_DIS
+**/
+  uint8_t                       PchLockDownBiosLock;
+
+/** Offset 0x0364 - Enable LOCKDOWN SPI Eiss
+  Enable InSMM.STS (EISS) in SPI.
+  $EN_DIS
+**/
+  uint8_t                       PchLockDownSpiEiss;
+
+/** Offset 0x0365 - PCH Sub system vendor ID
+  Default Subsystem Vendor ID of the PCH devices. Default is 0x8086.
+**/
+  uint16_t                      PchSubSystemVendorId;
+
+/** Offset 0x0367 - PCH Sub system ID
+  Default Subsystem ID of the PCH devices. Default is 0x7270.
+**/
+  uint16_t                      PchSubSystemId;
+
+/** Offset 0x0369 - PCH Compatibility Revision ID
+  This member describes whether or not the CRID feature of PCH should be enabled.
+  $EN_DIS
+**/
+  uint8_t                       PchCrid;
+
+/** Offset 0x036A
+**/
+  uint8_t                       UnusedUpdSpace15[6];
+
+/** Offset 0x0370 - Enable PCIE RP HotPlug
+  Indicate whether the root port is hot plug available.
+**/
+  uint8_t                       PcieRpHotPlug[24];
+
+/** Offset 0x0388 - Enable PCIE RP Pm Sci
+  Indicate whether the root port power manager SCI is enabled.
+**/
+  uint8_t                       PcieRpPmSci[24];
+
+/** Offset 0x03A0 - Enable PCIE RP Ext Sync
+  Indicate whether the extended synch is enabled.
+**/
+  uint8_t                       PcieRpExtSync[24];
+
+/** Offset 0x03B8 - Enable PCIE RP Transmitter Half Swing
+  Indicate whether the Transmitter Half Swing is enabled.
+**/
+  uint8_t                       PcieRpTransmitterHalfSwing[24];
+
+/** Offset 0x03D0 - Enable PCIE RP Clk Req Detect
+  Probe CLKREQ# signal before enabling CLKREQ# based power management.
+**/
+  uint8_t                       PcieRpClkReqDetect[24];
+
+/** Offset 0x03E8 - PCIE RP Advanced Error Report
+  Indicate whether the Advanced Error Reporting is enabled.
+**/
+  uint8_t                       PcieRpAdvancedErrorReporting[24];
+
+/** Offset 0x0400 - PCIE RP Unsupported Request Report
+  Indicate whether the Unsupported Request Report is enabled.
+**/
+  uint8_t                       PcieRpUnsupportedRequestReport[24];
+
+/** Offset 0x0418 - PCIE RP Fatal Error Report
+  Indicate whether the Fatal Error Report is enabled.
+**/
+  uint8_t                       PcieRpFatalErrorReport[24];
+
+/** Offset 0x0430 - PCIE RP No Fatal Error Report
+  Indicate whether the No Fatal Error Report is enabled.
+**/
+  uint8_t                       PcieRpNoFatalErrorReport[24];
+
+/** Offset 0x0448 - PCIE RP Correctable Error Report
+  Indicate whether the Correctable Error Report is enabled.
+**/
+  uint8_t                       PcieRpCorrectableErrorReport[24];
+
+/** Offset 0x0460 - PCIE RP System Error On Fatal Error
+  Indicate whether the System Error on Fatal Error is enabled.
+**/
+  uint8_t                       PcieRpSystemErrorOnFatalError[24];
+
+/** Offset 0x0478 - PCIE RP System Error On Non Fatal Error
+  Indicate whether the System Error on Non Fatal Error is enabled.
+**/
+  uint8_t                       PcieRpSystemErrorOnNonFatalError[24];
+
+/** Offset 0x0490 - PCIE RP System Error On Correctable Error
+  Indicate whether the System Error on Correctable Error is enabled.
+**/
+  uint8_t                       PcieRpSystemErrorOnCorrectableError[24];
+
+/** Offset 0x04A8 - PCIE RP Max Payload
+  Max Payload Size supported, Default 128B, see enum PCH_PCIE_MAX_PAYLOAD.
+**/
+  uint8_t                       PcieRpMaxPayload[24];
+
+/** Offset 0x04C0 - PCIE RP Device Reset Pad Active High
+  Indicated whether PERST# is active 0: Low; 1: High, See: DeviceResetPad.
+**/
+  uint8_t                       PcieRpDeviceResetPadActiveHigh[24];
+
+/** Offset 0x04D8 - PCIE RP Pcie Speed
+  Determines each PCIE Port speed capability. 0: Auto; 1: Gen1; 2: Gen2; 3: Gen3 (see:
+  PCH_PCIE_SPEED).
+**/
+  uint8_t                       PcieRpPcieSpeed[24];
+
+/** Offset 0x04F0 - PCIE RP Gen3 Equalization Phase Method
+  PCIe Gen3 Eq Ph3 Method (see PCH_PCIE_EQ_METHOD). 0: Default; 2: Software Search;
+  4: Fixed Coeficients.
+**/
+  uint8_t                       PcieRpGen3EqPh3Method[24];
+
+/** Offset 0x0508 - PCIE RP Physical Slot Number
+  Indicates the slot number for the root port. Default is the value as root port index.
+**/
+  uint8_t                       PcieRpPhysicalSlotNumber[24];
+
+/** Offset 0x0520 - PCIE RP Completion Timeout
+  The root port completion timeout(see: PCH_PCIE_COMPLETION_TIMEOUT). Default is PchPcieCompletionTO_Default.
+**/
+  uint8_t                       PcieRpCompletionTimeout[24];
+
+/** Offset 0x0538 - PCIE RP Device Reset Pad
+  The PCH pin assigned to device PERST# signal if available, zero otherwise.  See
+  also DeviceResetPadActiveHigh.
+**/
+  uint32_t                      PcieRpDeviceResetPad[24];
+
+/** Offset 0x0598 - PCIE RP Aspm
+  The ASPM configuration of the root port (see: PCH_PCIE_ASPM_CONTROL). Default is
+  PchPcieAspmAutoConfig.
+**/
+  uint8_t                       PcieRpAspm[24];
+
+/** Offset 0x05B0 - PCIE RP L1 Substates
+  The L1 Substates configuration of the root port (see: PCH_PCIE_L1SUBSTATES_CONTROL).
+  Default is PchPcieL1SubstatesL1_1_2.
+**/
+  uint8_t                       PcieRpL1Substates[24];
+
+/** Offset 0x05C8 - PCIE RP Ltr Enable
+  Latency Tolerance Reporting Mechanism.
+**/
+  uint8_t                       PcieRpLtrEnable[24];
+
+/** Offset 0x05E0 - PCIE RP Ltr Config Lock
+  0: Disable; 1: Enable.
+**/
+  uint8_t                       PcieRpLtrConfigLock[24];
+
+/** Offset 0x05F8 - PCIE Eq Ph3 Lane Param Cm
+  PCH_PCIE_EQ_LANE_PARAM. Coefficient C-1.
+**/
+  uint8_t                       PcieEqPh3LaneParamCm[24];
+
+/** Offset 0x0610 - PCIE Eq Ph3 Lane Param Cp
+  PCH_PCIE_EQ_LANE_PARAM. Coefficient C+1.
+**/
+  uint8_t                       PcieEqPh3LaneParamCp[24];
+
+/** Offset 0x0628 - PCIE Sw Eq CoeffList Cm
+  PCH_PCIE_EQ_PARAM. Coefficient C-1.
+**/
+  uint8_t                       PcieSwEqCoeffListCm[5];
+
+/** Offset 0x062D - PCIE Sw Eq CoeffList Cp
+  PCH_PCIE_EQ_PARAM. Coefficient C+1.
+**/
+  uint8_t                       PcieSwEqCoeffListCp[5];
+
+/** Offset 0x0632 - PCIE Disable RootPort Clock Gating
+  Describes whether the PCI Express Clock Gating for each root port is enabled by
+  platform modules. 0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PcieDisableRootPortClockGating;
+
+/** Offset 0x0633 - PCIE Enable Peer Memory Write
+  This member describes whether Peer Memory Writes are enabled on the platform.
+  $EN_DIS
+**/
+  uint8_t                       PcieEnablePeerMemoryWrite;
+
+/** Offset 0x0634 - PCIE Allow No Ltr Icc PLL Shutdown
+  Allows BIOS to control ICC PLL Shutdown by determining PCIe devices are LTR capable
+  or leaving untouched.
+  $EN_DIS
+**/
+  uint8_t                       PcieAllowNoLtrIccPllShutdown;
+
+/** Offset 0x0635 - PCIE Compliance Test Mode
+  Compliance Test Mode shall be enabled when using Compliance Load Board.
+  $EN_DIS
+**/
+  uint8_t                       PcieComplianceTestMode;
+
+/** Offset 0x0636 - PCIE Rp Function Swap
+  Allows BIOS to use root port function number swapping when root port of function
+  0 is disabled.
+  $EN_DIS
+**/
+  uint8_t                       PcieRpFunctionSwap;
+
+/** Offset 0x0637 - PCIE Rp Detect Timeout Ms
+  Will wait for link to exit Detect state for enabled ports before assuming there
+  is no device and potentially disabling the port.
+**/
+  uint16_t                      PcieDetectTimeoutMs;
+
+/** Offset 0x0639 - PCH Pm PME_B0_S5_DIS
+  When cleared (default), wake events from PME_B0_STS are allowed in S5 if PME_B0_EN = 1.
+  $EN_DIS
+**/
+  uint8_t                       PchPmPmeB0S5Dis;
+
+/** Offset 0x063A
+**/
+  uint8_t                       UnusedUpdSpace16[6];
+
+/** Offset 0x0640 - PCH Pm Wol Enable Override
+  Corresponds to the WOL Enable Override bit in the General PM Configuration B (GEN_PMCON_B) register.
+  $EN_DIS
+**/
+  uint8_t                       PchPmWolEnableOverride;
+
+/** Offset 0x0641 - PCH Pm Pcie Wake From DeepSx
+  Determine if enable PCIe to wake from deep Sx.
+  $EN_DIS
+**/
+  uint8_t                       PchPmPcieWakeFromDeepSx;
+
+/** Offset 0x0642 - PCH Pm WoW lan Enable
+  Determine if WLAN wake from Sx, corresponds to the HOST_WLAN_PP_EN bit in the PWRM_CFG3 register.
+  $EN_DIS
+**/
+  uint8_t                       PchPmWoWlanEnable;
+
+/** Offset 0x0643 - PCH Pm WoW lan DeepSx Enable
+  Determine if WLAN wake from DeepSx, corresponds to the DSX_WLAN_PP_EN bit in the
+  PWRM_CFG3 register.
+  $EN_DIS
+**/
+  uint8_t                       PchPmWoWlanDeepSxEnable;
+
+/** Offset 0x0644 - PCH Pm Lan Wake From DeepSx
+  Determine if enable LAN to wake from deep Sx.
+  $EN_DIS
+**/
+  uint8_t                       PchPmLanWakeFromDeepSx;
+
+/** Offset 0x0645 - PCH Pm Deep Sx Pol
+  Deep Sx Policy.
+  $EN_DIS
+**/
+  uint8_t                       PchPmDeepSxPol;
+
+/** Offset 0x0646 - PCH Pm Slp S3 Min Assert
+  SLP_S3 Minimum Assertion Width Policy. Default is PchSlpS350ms.
+**/
+  uint8_t                       PchPmSlpS3MinAssert;
+
+/** Offset 0x0647 - PCH Pm Slp S4 Min Assert
+  SLP_S4 Minimum Assertion Width Policy. Default is PchSlpS44s.
+**/
+  uint8_t                       PchPmSlpS4MinAssert;
+
+/** Offset 0x0648 - PCH Pm Slp Sus Min Assert
+  SLP_SUS Minimum Assertion Width Policy. Default is PchSlpSus4s.
+**/
+  uint8_t                       PchPmSlpSusMinAssert;
+
+/** Offset 0x0649 - PCH Pm Slp A Min Assert
+  SLP_A Minimum Assertion Width Policy. Default is PchSlpA2s.
+**/
+  uint8_t                       PchPmSlpAMinAssert;
+
+/** Offset 0x064A
+**/
+  uint8_t                       UnusedUpdSpace17[6];
+
+/** Offset 0x0650 - PCH Pm Lpc Clock Run
+  This member describes whether or not the LPC ClockRun feature of PCH should be enabled.
+  $EN_DIS
+**/
+  uint8_t                       PchPmLpcClockRun;
+
+/** Offset 0x0651 - PCH Pm Slp Strch Sus Up
+  Enable SLP_X Stretching After SUS Well Power Up.
+  $EN_DIS
+**/
+  uint8_t                       PchPmSlpStrchSusUp;
+
+/** Offset 0x0652 - PCH Pm Slp Lan Low Dc
+  Enable/Disable SLP_LAN# Low on DC Power.
+  $EN_DIS
+**/
+  uint8_t                       PchPmSlpLanLowDc;
+
+/** Offset 0x0653 - PCH Pm Pwr Btn Override Period
+  PCH power button override period. 000b-4s, 001b-6s, 010b-8s, 011b-10s, 100b-12s, 101b-14s.
+**/
+  uint8_t                       PchPmPwrBtnOverridePeriod;
+
+/** Offset 0x0654 - PCH Pm Disable Dsx Ac Present Pulldown
+  When Disable, PCH will internal pull down AC_PRESENT in deep SX and during G3 exit.
+  $EN_DIS
+**/
+  uint8_t                       PchPmDisableDsxAcPresentPulldown;
+
+/** Offset 0x0655 - PCH Pm Capsule Reset Type
+  Deprecated: Determines type of reset issued during UpdateCapsule(). Always Warm reset.
+  $EN_DIS
+**/
+  uint8_t                       PchPmCapsuleResetType;
+
+/** Offset 0x0656 - PCH Pm Disable Native Power Button
+  Power button native mode disable.
+  $EN_DIS
+**/
+  uint8_t                       PchPmDisableNativePowerButton;
+
+/** Offset 0x0657 - PCH Pm Slp S0 Enable
+  Indicates whether SLP_S0# is to be asserted when PCH reaches idle state.
+  $EN_DIS
+**/
+  uint8_t                       PchPmSlpS0Enable;
+
+/** Offset 0x0658 - PCH Pm ME_WAKE_STS
+  Clear the ME_WAKE_STS bit in the Power and Reset Status (PRSTS) register.
+  $EN_DIS
+**/
+  uint8_t                       PchPmMeWakeSts;
+
+/** Offset 0x0659 - PCH Pm WOL_OVR_WK_STS
+  Clear the WOL_OVR_WK_STS bit in the Power and Reset Status (PRSTS) register.
+  $EN_DIS
+**/
+  uint8_t                       PchPmWolOvrWkSts;
+
+/** Offset 0x065A - PCH Pm Reset Power Cycle Duration
+  Could be customized in the unit of second. Please refer to EDS for all support settings.
+  0 is default, 1 is 1 second, 2 is 2 seconds, ...
+**/
+  uint8_t                       PchPmPwrCycDur;
+
+/** Offset 0x065B - PCH Pm Pcie Pll Ssc
+  Specifies the Pcie Pll Spread Spectrum Percentage. The default is 0xFF: AUTO - No
+  BIOS override.
+**/
+  uint8_t                       PchPmPciePllSsc;
+
+/** Offset 0x065C - PCH Pm WOL_OVR_WK_STS
+  Clear the WOL_OVR_WK_STS bit in the Power and Reset Status (PRSTS) register.
+  $EN_DIS
+**/
+  uint8_t                       PchPort61hEnable;
+
+/** Offset 0x065D - PCH Sata Pwr Opt Enable
+  SATA Power Optimizer on PCH side.
+  $EN_DIS
+**/
+  uint8_t                       SataPwrOptEnable;
+
+/** Offset 0x065E - PCH Sata eSATA Speed Limit
+  When enabled, BIOS will configure the PxSCTL.SPD to 2 to limit the eSATA port speed.
+  $EN_DIS
+**/
+  uint8_t                       EsataSpeedLimit;
+
+/** Offset 0x065F - PCH Sata Speed Limit
+  Indicates the maximum speed the SATA controller can support 0h: PchSataSpeedDefault.
+**/
+  uint8_t                       SataSpeedLimit;
+
+/** Offset 0x0660 - Enable SATA Port HotPlug
+  Enable SATA Port HotPlug.
+**/
+  uint8_t                       SataPortsHotPlug[8];
+
+/** Offset 0x0668 - Enable SATA Port Interlock Sw
+  Enable SATA Port Interlock Sw.
+**/
+  uint8_t                       SataPortsInterlockSw[8];
+
+/** Offset 0x0670 - Enable SATA Port External
+  Enable SATA Port External.
+**/
+  uint8_t                       SataPortsExternal[8];
+
+/** Offset 0x0678 - Enable SATA Port SpinUp
+  Enable the COMRESET initialization Sequence to the device.
+**/
+  uint8_t                       SataPortsSpinUp[8];
+
+/** Offset 0x0680 - Enable SATA Port Solid State Drive
+  0: HDD; 1: SSD.
+**/
+  uint8_t                       SataPortsSolidStateDrive[8];
+
+/** Offset 0x0688 - Enable SATA Port Enable Dito Config
+  Enable DEVSLP Idle Timeout settings (DmVal, DitoVal).
+**/
+  uint8_t                       SataPortsEnableDitoConfig[8];
+
+/** Offset 0x0690 - Enable SATA Port DmVal
+  DITO multiplier. Default is 15.
+**/
+  uint8_t                       SataPortsDmVal[8];
+
+/** Offset 0x0698 - Enable SATA Port DmVal
+  DEVSLP Idle Timeout (DITO), Default is 625.
+**/
+  uint16_t                      SataPortsDitoVal[8];
+
+/** Offset 0x06A8 - Enable SATA Port ZpOdd
+  Support zero power ODD.
+**/
+  uint8_t                       SataPortsZpOdd[8];
+
+/** Offset 0x06B0 - PCH Sata Rst Raid Alternate Id
+  Enable RAID Alternate ID.
+  $EN_DIS
+**/
+  uint8_t                       SataRstRaidAlternateId;
+
+/** Offset 0x06B1 - PCH Sata Rst Raid0
+  RAID0.
+  $EN_DIS
+**/
+  uint8_t                       SataRstRaid0;
+
+/** Offset 0x06B2 - PCH Sata Rst Raid1
+  RAID1.
+  $EN_DIS
+**/
+  uint8_t                       SataRstRaid1;
+
+/** Offset 0x06B3 - PCH Sata Rst Raid10
+  RAID10.
+  $EN_DIS
+**/
+  uint8_t                       SataRstRaid10;
+
+/** Offset 0x06B4 - PCH Sata Rst Raid5
+  RAID5.
+  $EN_DIS
+**/
+  uint8_t                       SataRstRaid5;
+
+/** Offset 0x06B5 - PCH Sata Rst Irrt
+  Intel Rapid Recovery Technology.
+  $EN_DIS
+**/
+  uint8_t                       SataRstIrrt;
+
+/** Offset 0x06B6 - PCH Sata Rst Orom Ui Banner
+  OROM UI and BANNER.
+  $EN_DIS
+**/
+  uint8_t                       SataRstOromUiBanner;
+
+/** Offset 0x06B7 - PCH Sata Rst Orom Ui Delay
+  00b: 2 secs; 01b: 4 secs; 10b: 6 secs; 11: 8 secs (see: PCH_SATA_OROM_DELAY).
+**/
+  uint8_t                       SataRstOromUiDelay;
+
+/** Offset 0x06B8 - PCH Sata Rst Hdd Unlock
+  Indicates that the HDD password unlock in the OS is enabled.
+  $EN_DIS
+**/
+  uint8_t                       SataRstHddUnlock;
+
+/** Offset 0x06B9 - PCH Sata Rst Led Locate
+  Indicates that the LED/SGPIO hardware is attached and ping to locate feature is
+  enabled on the OS.
+  $EN_DIS
+**/
+  uint8_t                       SataRstLedLocate;
+
+/** Offset 0x06BA - PCH Sata Rst Irrt Only
+  Allow only IRRT drives to span internal and external ports.
+  $EN_DIS
+**/
+  uint8_t                       SataRstIrrtOnly;
+
+/** Offset 0x06BB - PCH Sata Rst Smart Storage
+  RST Smart Storage caching Bit.
+  $EN_DIS
+**/
+  uint8_t                       SataRstSmartStorage;
+
+/** Offset 0x06BC - PCH Sata Rst Pcie Storage Remap enable
+  Enable Intel RST for PCIe Storage remapping.
+**/
+  uint8_t                       SataRstPcieEnable[3];
+
+/** Offset 0x06BF - PCH Sata Rst Pcie Storage Port
+  Intel RST for PCIe Storage remapping - PCIe Port Selection (1-based, 0 = autodetect).
+**/
+  uint8_t                       SataRstPcieStoragePort[3];
+
+/** Offset 0x06C2 - PCH Sata Rst Pcie Device Reset Delay
+  PCIe Storage Device Reset Delay in milliseconds. Default value is 100ms
+**/
+  uint8_t                       SataRstPcieDeviceResetDelay[3];
+
+/** Offset 0x06C5 - Enable eMMC HS400 Training
+  Determine if HS400 Training is required.
+  $EN_DIS
+**/
+  uint8_t                       PchScsEmmcHs400TuningRequired;
+
+/** Offset 0x06C6 - Set HS400 Tuning Data Valid
+  Set if HS400 Tuning Data Valid.
+  $EN_DIS
+**/
+  uint8_t                       PchScsEmmcHs400DllDataValid;
+
+/** Offset 0x06C7 - Rx Strobe Delay Control
+  Rx Strobe Delay Control - Rx Strobe Delay DLL 1 (HS400 Mode).
+**/
+  uint8_t                       PchScsEmmcHs400RxStrobeDll1;
+
+/** Offset 0x06C8 - Tx Data Delay Control
+  Tx Data Delay Control 1 - Tx Data Delay (HS400 Mode).
+**/
+  uint8_t                       PchScsEmmcHs400TxDataDll;
+
+/** Offset 0x06C9 - I/O Driver Strength
+  I/O driver strength: 0 - 33 Ohm, 1 - 40 Ohm, 2 - 50 Ohm.
+**/
+  uint8_t                       PchScsEmmcHs400DriverStrength;
+
+/** Offset 0x06CA - Enable Pch Serial IO GPIO
+  Determines if enable Serial IO GPIO.
+  $EN_DIS
+**/
+  uint8_t                       SerialIoGpio;
+
+/** Offset 0x06CB - IO voltage for I2C controllers
+  Selects the IO voltage for I2C controllers, 0: PchSerialIoIs33V, 1: PchSerialIoIs18V.
+**/
+  uint8_t                       SerialIoI2cVoltage[6];
+
+/** Offset 0x06D1 - SPI ChipSelect signal polarity
+  Selects SPI ChipSelect signal polarity.
+**/
+  uint8_t                       SerialIoSpiCsPolarity[2];
+
+/** Offset 0x06D3 - Enables UART hardware flow control, CTS and RTS lines
+  Enables UART hardware flow control, CTS and RTS linesh.
+**/
+  uint8_t                       SerialIoUartHwFlowCtrl[3];
+
+/** Offset 0x06D6 - UART Number For Debug Purpose
+  UART number for debug purpose. 0:UART0, 1: UART1, 2:UART2.
+**/
+  uint8_t                       SerialIoDebugUartNumber;
+
+/** Offset 0x06D7 - Enable Debug UART Controller
+  Enable debug UART controller after post.
+**/
+  uint8_t                       SerialIoEnableDebugUartAfterPost;
+
+/** Offset 0x06D8 - Enable Serial IRQ
+  Determines if enable Serial IRQ.
+  $EN_DIS
+**/
+  uint8_t                       PchSirqEnable;
+
+/** Offset 0x06D9 - Serial IRQ Mode Select
+  Serial IRQ Mode Select, 0: quiet mode, 1: continuous mode.
+  $EN_DIS
+**/
+  uint8_t                       PchSirqMode;
+
+/** Offset 0x06DA - Start Frame Pulse Width
+  Start Frame Pulse Width, 0: PchSfpw4Clk, 1: PchSfpw6Clk, 2: PchSfpw8Clk.
+**/
+  uint8_t                       PchStartFramePulse;
+
+/** Offset 0x06DB - Enable Thermal Device
+  Enable Thermal Device.
+  $EN_DIS
+**/
+  uint8_t                       PchThermalDeviceEnable;
+
+/** Offset 0x06DC - Thermal Device SMI Enable
+  This locks down SMI Enable on Alert Thermal Sensor Trip.
+  $EN_DIS
+**/
+  uint8_t                       PchTsmicLock;
+
+/** Offset 0x06DD - Thermal Throttling Custimized T0Level Value
+  Custimized T0Level value.
+**/
+  uint16_t                      PchT0Level;
+
+/** Offset 0x06DF - Thermal Throttling Custimized T1Level Value
+  Custimized T1Level value.
+**/
+  uint16_t                      PchT1Level;
+
+/** Offset 0x06E1 - Thermal Throttling Custimized T2Level Value
+  Custimized T2Level value.
+**/
+  uint16_t                      PchT2Level;
+
+/** Offset 0x06E3 - Enable The Thermal Throttle
+  Enable the thermal throttle function.
+  $EN_DIS
+**/
+  uint8_t                       PchTTEnable;
+
+/** Offset 0x06E4 - PMSync State 13
+  When set to 1 and the programmed GPIO pin is a 1, then PMSync state 13 will force
+  at least T2 state.
+  $EN_DIS
+**/
+  uint8_t                       PchTTState13Enable;
+
+/** Offset 0x06E5 - Thermal Throttle Lock
+  Thermal Throttle Lock.
+  $EN_DIS
+**/
+  uint8_t                       PchTTLock;
+
+/** Offset 0x06E6 - Thermal Throttling Suggested Setting
+  Thermal Throttling Suggested Setting.
+  $EN_DIS
+**/
+  uint8_t                       TTSuggestedSetting;
+
+/** Offset 0x06E7 - Enable PCH Cross Throttling
+  Enable/Disable PCH Cross Throttling
+  $EN_DIS
+**/
+  uint8_t                       TTCrossThrottling;
+
+/** Offset 0x06E8 - DMI Thermal Sensor Autonomous Width Enable
+  DMI Thermal Sensor Autonomous Width Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchDmiTsawEn;
+
+/** Offset 0x06E9 - DMI Thermal Sensor Suggested Setting
+  DMT thermal sensor suggested representative values.
+  $EN_DIS
+**/
+  uint8_t                       DmiSuggestedSetting;
+
+/** Offset 0x06EA - Thermal Sensor 0 Target Width
+  Thermal Sensor 0 Target Width.
+**/
+  uint8_t                       DmiTS0TW;
+
+/** Offset 0x06EB - Thermal Sensor 1 Target Width
+  Thermal Sensor 1 Target Width.
+**/
+  uint8_t                       DmiTS1TW;
+
+/** Offset 0x06EC - Thermal Sensor 2 Target Width
+  Thermal Sensor 2 Target Width.
+**/
+  uint8_t                       DmiTS2TW;
+
+/** Offset 0x06ED - Thermal Sensor 3 Target Width
+  Thermal Sensor 3 Target Width.
+**/
+  uint8_t                       DmiTS3TW;
+
+/** Offset 0x06EE - Port 0 T1 Multipler
+  Port 0 T1 Multipler.
+**/
+  uint8_t                       SataP0T1M;
+
+/** Offset 0x06EF - Port 0 T2 Multipler
+  Port 0 T2 Multipler.
+**/
+  uint8_t                       SataP0T2M;
+
+/** Offset 0x06F0 - Port 0 T3 Multipler
+  Port 0 T3 Multipler.
+**/
+  uint8_t                       SataP0T3M;
+
+/** Offset 0x06F1 - Port 0 Tdispatch
+  Port 0 Tdispatch.
+**/
+  uint8_t                       SataP0TDisp;
+
+/** Offset 0x06F2 - Port 1 T1 Multipler
+  Port 1 T1 Multipler.
+**/
+  uint8_t                       SataP1T1M;
+
+/** Offset 0x06F3 - Port 1 T2 Multipler
+  Port 1 T2 Multipler.
+**/
+  uint8_t                       SataP1T2M;
+
+/** Offset 0x06F4 - Port 1 T3 Multipler
+  Port 1 T3 Multipler.
+**/
+  uint8_t                       SataP1T3M;
+
+/** Offset 0x06F5 - Port 1 Tdispatch
+  Port 1 Tdispatch.
+**/
+  uint8_t                       SataP1TDisp;
+
+/** Offset 0x06F6 - Port 0 Tinactive
+  Port 0 Tinactive.
+**/
+  uint8_t                       SataP0Tinact;
+
+/** Offset 0x06F7 - Port 0 Alternate Fast Init Tdispatch
+  Port 0 Alternate Fast Init Tdispatch.
+  $EN_DIS
+**/
+  uint8_t                       SataP0TDispFinit;
+
+/** Offset 0x06F8 - Port 1 Tinactive
+  Port 1 Tinactive.
+**/
+  uint8_t                       SataP1Tinact;
+
+/** Offset 0x06F9 - Port 1 Alternate Fast Init Tdispatch
+  Port 1 Alternate Fast Init Tdispatch.
+  $EN_DIS
+**/
+  uint8_t                       SataP1TDispFinit;
+
+/** Offset 0x06FA - Sata Thermal Throttling Suggested Setting
+  Sata Thermal Throttling Suggested Setting.
+  $EN_DIS
+**/
+  uint8_t                       SataThermalSuggestedSetting;
+
+/** Offset 0x06FB - Enable Memory Thermal Throttling
+  Enable Memory Thermal Throttling.
+  $EN_DIS
+**/
+  uint8_t                       PchMemoryThrottlingEnable;
+
+/** Offset 0x06FC - Memory Thermal Throttling
+  Enable Memory Thermal Throttling.
+**/
+  uint8_t                       PchMemoryPmsyncEnable[2];
+
+/** Offset 0x06FE - Enable Memory Thermal Throttling
+  Enable Memory Thermal Throttling.
+**/
+  uint8_t                       PchMemoryC0TransmitEnable[2];
+
+/** Offset 0x0700 - Enable Memory Thermal Throttling
+  Enable Memory Thermal Throttling.
+**/
+  uint8_t                       PchMemoryPinSelection[2];
+
+/** Offset 0x0702 - Thermal Device Temperature
+  Decides the temperature.
+**/
+  uint16_t                      PchTemperatureHotLevel;
+
+/** Offset 0x0704 - Disable XHCI Compliance Mode
+  This policy will disable XHCI compliance mode on all ports. Complicance Mode should
+  be default enabled.
+  $EN_DIS
+**/
+  uint8_t                       PchDisableComplianceMode;
+
+/** Offset 0x0705 - USB2 Port Over Current Pin
+  Describe the specific over current pin number of USB 2.0 Port N.
+**/
+  uint8_t                       Usb2OverCurrentPin[16];
+
+/** Offset 0x0715 - USB3 Port Over Current Pin
+  Describe the specific over current pin number of USB 3.0 Port N.
+**/
+  uint8_t                       Usb3OverCurrentPin[10];
+
+/** Offset 0x071F - Enable 8254 Static Clock Gating in early POST time
+  Set 8254CGE=1 is required for C11 support. However, set 8254CGE=1 in POST time might
+  fail to boot legacy OS which using 8254 timer. Make sure it won't break legacy
+  OS boot before enabling this.
+  $EN_DIS
+**/
+  uint8_t                       Early8254ClockGatingEnable;
+
+/** Offset 0x0720
+**/
+  uint32_t                      UnusedUpdSpace18;
+
+/** Offset 0x0724 - Pch 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 PCH_PCIE_DEVICE_OVERRIDE structure for the table. Last entry VendorId
+  must be 0.
+**/
+  uint32_t                      PchPcieDeviceOverrideTablePtr;
+
+/** Offset 0x0728 - Enable TCO timer.
+  When FALSE, it disables PCH ACPI timer, and stops TCO timer. NOTE: This will have
+  huge power impact when it's enabled. If TCO timer is disabled, uCode ACPI timer
+  emulation must be enabled, and WDAT table must not be exposed to the OS.
+  $EN_DIS
+**/
+  uint8_t                       EnableTcoTimer;
+
+/** Offset 0x0729 - BgpdtHash[4]
+  BgpdtHash values
+**/
+  uint64_t                      BgpdtHash[4];
+
+/** Offset 0x0749 - BiosGuardAttr
+  BiosGuardAttr default values
+**/
+  uint32_t                      BiosGuardAttr;
+
+/** Offset 0x074D - BiosGuardModulePtr
+  BiosGuardModulePtr default values
+**/
+  uint64_t                      BiosGuardModulePtr;
+
+/** Offset 0x0755 - SendEcCmd
+  SendEcCmd function pointer. \n
+  @code typedef EFI_STATUS (EFIAPI *PLATFORM_SEND_EC_COMMAND) (IN EC_COMMAND_TYPE
+  EcCmdType, IN UINT8  EcCmd, IN UINT8  SendData, IN OUT UINT8  *ReceiveData); @endcode
+**/
+  uint64_t                      SendEcCmd;
+
+/** Offset 0x075D - EcCmdProvisionEav
+  Ephemeral Authorization Value default values. Provisions an ephemeral shared secret to the EC
+**/
+  uint8_t                       EcCmdProvisionEav;
+
+/** Offset 0x075E - EcCmdLock
+  EcCmdLock default values. Locks Ephemeral Authorization Value sent previously
+**/
+  uint8_t                       EcCmdLock;
+
+/** Offset 0x075F - SgxEpoch0
+  SgxEpoch0 default values
+**/
+  uint64_t                      SgxEpoch0;
+
+/** Offset 0x0767 - SgxEpoch1
+  SgxEpoch1 default values
+**/
+  uint64_t                      SgxEpoch1;
+
+/** Offset 0x076F - SgxSinitNvsData
+  SgxSinitNvsData default values
+**/
+  uint8_t                       SgxSinitNvsData;
+
+/** Offset 0x0770
+**/
+  uint8_t                       ReservedFspsUpd[13];
+} __attribute__((packed));
+
+/** Fsp S Test Configuration
+**/
+struct FSP_S_TEST_CONFIG {
+
+/** Offset 0x077D
+**/
+  uint32_t                      Signature;
+
+/** Offset 0x0781 - Enable/Disable Device 7
+  Enable: Device  7 enabled, Disable (Default): Device 7 disabled
+  $EN_DIS
+**/
+  uint8_t                       ChapDeviceEnable;
+
+/** Offset 0x0782 - Skip PAM regsiter lock
+  Enable: PAM register will not be locked by RC, platform code should lock it, Disable(Default):
+  PAM registers will be locked by RC
+  $EN_DIS
+**/
+  uint8_t                       SkipPamLock;
+
+/** Offset 0x0783 - EDRAM Test Mode
+  Enable: PAM register will not be locked by RC, platform code should lock it, Disable(Default):
+  PAM registers will be locked by RC
+  0: EDRAM SW disable, 1: EDRAM SW Enable, 2: EDRAM HW mode
+**/
+  uint8_t                       EdramTestMode;
+
+/** Offset 0x0784 - DMI Extended Sync Control
+  Enable: Enable DMI Extended Sync Control, Disable(Default): Disable DMI Extended
+  Sync Control
+  $EN_DIS
+**/
+  uint8_t                       DmiExtSync;
+
+/** Offset 0x0785 - DMI IOT Control
+  Enable: Enable DMI IOT Control, Disable(Default): Disable DMI IOT Control
+  $EN_DIS
+**/
+  uint8_t                       DmiIot;
+
+/** Offset 0x0786 - PEG Max Payload size per root port
+  0xFF(Default):Auto, 0x1: Force 128B, 0X2: Force 256B
+  0xFF: Auto, 0x1: Force 128B, 0x2: Force 256B
+**/
+  uint8_t                       PegMaxPayload[3];
+
+/** Offset 0x0789 - Enable/Disable IGFX RenderStandby
+  Enable(Default): Enable IGFX RenderStandby, Disable: Disable IGFX RenderStandby
+  $EN_DIS
+**/
+  uint8_t                       RenderStandby;
+
+/** Offset 0x078A - Enable/Disable IGFX PmSupport
+  Enable(Default): Enable IGFX PmSupport, Disable: Disable IGFX PmSupport
+  $EN_DIS
+**/
+  uint8_t                       PmSupport;
+
+/** Offset 0x078B - Enable/Disable CdynmaxClamp
+  Enable(Default): Enable CdynmaxClamp, Disable: Disable CdynmaxClamp
+  $EN_DIS
+**/
+  uint8_t                       CdynmaxClampEnable;
+
+/** Offset 0x078C - Disable VT-d
+  0=Enable/FALSE(VT-d disabled), 1=Disable/TRUE (VT-d enabled)
+  $EN_DIS
+**/
+  uint8_t                       VtdDisable;
+
+/** Offset 0x078D - GT Frequency Limit
+  0xFF: Auto(Default), 6: 300 Mhz, 7: 350 Mhz, 8: 400 Mhz, 9: 450 Mhz, 0xA: 500 Mhz,
+  0xB: 550 Mhz, 0xC: 600 Mhz, 0xD: 650 Mhz, 0xE: 700 Mhz, 0xF: 750 Mhz, 0x10: 800
+  Mhz, 0x11: 850 Mhz, 0x12:900 Mhz, 0x13: 950 Mhz, 0x14: 1000 Mhz, 0x15: 1050 Mhz,
+  0x16: 1100 Mhz, 0x17: 1150 Mhz, 0x18: 1200 Mhz
+  0xFF: Auto(Default), 6: 300 Mhz, 7: 350 Mhz, 8: 400 Mhz, 9: 450 Mhz, 0xA: 500 Mhz,
+  0xB: 550 Mhz, 0xC: 600 Mhz, 0xD: 650 Mhz, 0xE: 700 Mhz, 0xF: 750 Mhz, 0x10: 800
+  Mhz, 0x11: 850 Mhz, 0x12:900 Mhz, 0x13: 950 Mhz, 0x14: 1000 Mhz, 0x15: 1050 Mhz,
+  0x16: 1100 Mhz, 0x17: 1150 Mhz, 0x18: 1200 Mhz
+**/
+  uint8_t                       GtFreqMax;
+
+/** Offset 0x078E - SaPostMemTestRsvd
+  Reserved for SA Post-Mem Test
+  $EN_DIS
+**/
+  uint8_t                       SaPostMemTestRsvd[12];
+
+/** Offset 0x079A
+**/
+  uint16_t                      UnusedUpdSpace19;
+
+/** Offset 0x079C - 1-Core Ratio Limit
+  1-Core Ratio Limit: For XE part: LFM to 255, For overclocking part: LFM to Fused
+  1-Core Ratio Limit + OC Bins.This 1-Core Ratio Limit Must be greater than or equal
+  to 2-Core Ratio Limit, 3-Core Ratio Limit, 4-Core Ratio Limit. Range is 0 to 83
+  0x0:0xFF
+**/
+  uint8_t                       OneCoreRatioLimit;
+
+/** Offset 0x079D - 2-Core Ratio Limit
+  2-Core Ratio Limit: For XE part: LFM to 255, For overclocking part: LFM to Fused
+  2-Core Ratio Limit + OC Bins.This 2-Core Ratio Limit Must be Less than or equal
+  to 1-Core Ratio Limit.Range is 0 to 83
+  0x0:0xFF
+**/
+  uint8_t                       TwoCoreRatioLimit;
+
+/** Offset 0x079E - 3-Core Ratio Limit
+  3-Core Ratio Limit: For XE part: LFM to 255, For overclocking part: LFM to Fused
+  3-Core Ratio Limit + OC Bins.This 3-Core Ratio Limit Must be Less than or equal
+  to 1-Core Ratio Limit.Range is 0 to 83
+  0x0:0xFF
+**/
+  uint8_t                       ThreeCoreRatioLimit;
+
+/** Offset 0x079F - 4-Core Ratio Limit
+  4-Core Ratio Limit: For XE part: LFM to 255, For overclocking part: LFM to Fused
+  4-Core Ratio Limit + OC Bins.This 4-Core Ratio Limit Must be Less than or equal
+  to 1-Core Ratio Limit.Range is 0 to 83
+  0x0:0xFF
+**/
+  uint8_t                       FourCoreRatioLimit;
+
+/** Offset 0x07A0
+**/
+  uint8_t                       UnusedUpdSpace20;
+
+/** Offset 0x07A1 - Enable or Disable HWP
+  Enable or Disable HWP(Hardware P states) Support. 0: Disable; <b>1: Enable;</b>
+  2-3:Reserved
+  $EN_DIS
+**/
+  uint8_t                       Hwp;
+
+/** Offset 0x07A2 - Hardware Duty Cycle Control
+  Hardware Duty Cycle Control configuration. 0: Disabled; <b>1: Enabled</b> 2-3:Reserved
+  $EN_DIS
+**/
+  uint8_t                       HdcControl;
+
+/** Offset 0x07A3 - Package Long duration turbo mode time
+  Package Long duration turbo mode time window in seconds. Valid values(Unit in seconds)
+  0 to 8 , 10 , 12 ,14 , 16 , 20 , 24 , 28 , 32 , 40 , 48 , 56 , 64 , 80 , 96 , 112 , 128
+  0x0:0xFF
+**/
+  uint8_t                       PowerLimit1Time;
+
+/** Offset 0x07A4 - Short Duration Turbo Mode
+  Enable or Disable short duration Turbo Mode. </b>0 : Disable; <b>1: Enable</b>
+  $EN_DIS
+**/
+  uint8_t                       PowerLimit2;
+
+/** Offset 0x07A5 - Turbo settings Lock
+  Lock all Turbo settings Enable/Disable; <b>0: Disable , </b> 1: Enable
+  $EN_DIS
+**/
+  uint8_t                       TurboPowerLimitLock;
+
+/** Offset 0x07A6 - Package PL3 time window
+  Package PL3 time window range for this policy in milliseconds. Valid values are
+  0, 3 to 8, 10, 12, 14, 16, 20 , 24, 28, 32, 40, 48, 55, 56, 64
+  0x0:0xFF
+**/
+  uint8_t                       PowerLimit3Time;
+
+/** Offset 0x07A7 - Package PL3 Duty Cycle
+  Package PL3 Duty Cycle; Valid Range is 0 to 100
+  0x0:0xFF
+**/
+  uint8_t                       PowerLimit3DutyCycle;
+
+/** Offset 0x07A8 - Package PL3 Lock
+  Package PL3 Lock Enable/Disable; <b>0: Disable ; <b> 1: Enable
+  $EN_DIS
+**/
+  uint8_t                       PowerLimit3Lock;
+
+/** Offset 0x07A9 - Package PL4 Lock
+  Package PL4 Lock Enable/Disable; <b>0: Disable ; <b>1: Enable
+  $EN_DIS
+**/
+  uint8_t                       PowerLimit4Lock;
+
+/** Offset 0x07AA - TCC Activation Offset
+  TCC Activation Offset. Offset from factory set TCC activation temperature at which
+  the Thermal Control Circuit must be activated. TCC will be activated at TCC Activation
+  Temperature, in volts.For SKL Y SKU, the recommended default for this policy is
+  <b>10</b>, For all other SKUs the recommended default are <b>0</b>
+  0x0:0xFF
+**/
+  uint8_t                       TccActivationOffset;
+
+/** Offset 0x07AB - Tcc Offset Clamp Enable/Disable
+  Tcc Offset Clamp for Runtime Average Temperature Limit (RATL) allows CPU to throttle
+  below P1.For SKL Y SKU, the recommended default for this policy is <b>1: Enabled</b>,
+  For all other SKUs the recommended default are  <b>0: Disabled</b>.
+  $EN_DIS
+**/
+  uint8_t                       TccOffsetClamp;
+
+/** Offset 0x07AC - Tcc Offset Lock
+  Tcc Offset Lock for Runtime Average Temperature Limit (RATL) to lock temperature
+  target; <b>0: Disabled</b>; 1: Enabled.
+  $EN_DIS
+**/
+  uint8_t                       TccOffsetLock;
+
+/** Offset 0x07AD - Custom Ratio State Entries
+  The number of custom ratio state entries, ranges from 0 to 40 for a valid custom
+  ratio table.Sets the number of custom P-states. At least 2 states must be present
+  0x0:0xFF
+**/
+  uint8_t                       NumberOfEntries;
+
+/** Offset 0x07AE - Custom Short term Power Limit time window
+  Short term Power Limit time window value for custom CTDP level 1. Valid Range 0 to 128
+  0x0:0xFF
+**/
+  uint8_t                       Custom1PowerLimit1Time;
+
+/** Offset 0x07AF - Custom Turbo Activation Ratio
+  Turbo Activation Ratio for custom cTDP level 1. Valid Range 0 to 255
+  0x0:0xFF
+**/
+  uint8_t                       Custom1TurboActivationRatio;
+
+/** Offset 0x07B0 - Custom Config Tdp Control
+  Config Tdp Control (0/1/2) value for custom cTDP level 1. Valid Range is 0 to 2
+  0x0:0xFF
+**/
+  uint8_t                       Custom1ConfigTdpControl;
+
+/** Offset 0x07B1 - Custom Short term Power Limit time window
+  Short term Power Limit time window value for custom CTDP level 2. Valid Range 0 to 128
+  0x0:0xFF
+**/
+  uint8_t                       Custom2PowerLimit1Time;
+
+/** Offset 0x07B2 - Custom Turbo Activation Ratio
+  Turbo Activation Ratio for custom cTDP level 2. Valid Range 0 to 255
+  0x0:0xFF
+**/
+  uint8_t                       Custom2TurboActivationRatio;
+
+/** Offset 0x07B3 - Custom Config Tdp Control
+  Config Tdp Control (0/1/2) value for custom cTDP level 1. Valid Range is 0 to 2
+  0x0:0xFF
+**/
+  uint8_t                       Custom2ConfigTdpControl;
+
+/** Offset 0x07B4 - Custom Short term Power Limit time window
+  Short term Power Limit time window value for custom CTDP level 3. Valid Range 0 to 128
+  0x0:0xFF
+**/
+  uint8_t                       Custom3PowerLimit1Time;
+
+/** Offset 0x07B5 - Custom Turbo Activation Ratio
+  Turbo Activation Ratio for custom cTDP level 3. Valid Range 0 to 255
+  0x0:0xFF
+**/
+  uint8_t                       Custom3TurboActivationRatio;
+
+/** Offset 0x07B6 - Custom Config Tdp Control
+  Config Tdp Control (0/1/2) value for custom cTDP level 1. Valid Range is 0 to 2
+  0x0:0xFF
+**/
+  uint8_t                       Custom3ConfigTdpControl;
+
+/** Offset 0x07B7 - ConfigTdp mode settings Lock
+  Lock the ConfigTdp mode settings from runtime changes; <b>0: Disable</b>; 1: Enable
+  $EN_DIS
+**/
+  uint8_t                       ConfigTdpLock;
+
+/** Offset 0x07B8 - Load Configurable TDP SSDT
+  Configure whether to load Configurable TDP SSDT; <b>0: Disable</b>; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       ConfigTdpBios;
+
+/** Offset 0x07B9 - PL1 Enable value
+  PL1 Enable value to limit average platform power. <b>0: Disable</b>; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PsysPowerLimit1;
+
+/** Offset 0x07BA - PL1 timewindow
+  PL1 timewindow in seconds.Valid values(Unit in seconds) 0 to 8 , 10 , 12 ,14 , 16
+  , 20 , 24 , 28 , 32 , 40 , 48 , 56 , 64 , 80 , 96 , 112 , 128
+  0x0:0xFF
+**/
+  uint8_t                       PsysPowerLimit1Time;
+
+/** Offset 0x07BB - PL2 Enable Value
+  PL2 Enable activates the PL2 value to limit average platform power.<b>0: Disable</b>;
+  1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PsysPowerLimit2;
+
+/** Offset 0x07BC
+**/
+  uint16_t                      UnusedUpdSpace21;
+
+/** Offset 0x07BE - Enable or Disable MLC Streamer Prefetcher
+  Enable or Disable MLC Streamer Prefetcher; 0: Disable; <b>1: Enable</b>.
+  $EN_DIS
+**/
+  uint8_t                       MlcStreamerPrefetcher;
+
+/** Offset 0x07BF - Enable or Disable MLC Spatial Prefetcher
+  Enable or Disable MLC Spatial Prefetcher; 0: Disable; <b>1: Enable</b>
+  $EN_DIS
+**/
+  uint8_t                       MlcSpatialPrefetcher;
+
+/** Offset 0x07C0 - Enable or Disable Monitor /MWAIT instructions
+  Enable or Disable Monitor /MWAIT instructions; 0: Disable; <b>1: Enable</b>.
+  $EN_DIS
+**/
+  uint8_t                       MonitorMwaitEnable;
+
+/** Offset 0x07C1 - Enable or Disable initialization of machine check registers
+  Enable or Disable initialization of machine check registers; 0: Disable; <b>1: Enable</b>.
+  $EN_DIS
+**/
+  uint8_t                       MachineCheckEnable;
+
+/** Offset 0x07C2 - Enable or Disable processor debug features
+  Enable or Disable processor debug features; <b>0: Disable</b>; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       DebugInterfaceEnable;
+
+/** Offset 0x07C3 - Lock or Unlock debug interface features
+  Lock or Unlock debug interface features; 0: Disable; <b>1: Enable</b>.
+  $EN_DIS
+**/
+  uint8_t                       DebugInterfaceLockEnable;
+
+/** Offset 0x07C4 - AP Idle Manner of waiting for SIPI
+  AP Idle Manner of waiting for SIPI; 1: HALT loop; <b>2: MWAIT loop</b>; 3: RUN loop.
+  0x0:0xFF
+**/
+  uint8_t                       ApIdleManner;
+
+/** Offset 0x07C5 - Settings for AP Handoff to OS
+  Settings for AP Handoff to OS; 1: HALT loop; <b>2: MWAIT loop</b>.
+  0x0:0xFF
+**/
+  uint8_t                       ApHandoffManner;
+
+/** Offset 0x07C6
+**/
+  uint16_t                      UnusedUpdSpace22;
+
+/** Offset 0x07C8 - Control on Processor Trace output scheme
+  Control on Processor Trace output scheme; <b>0: Single Range Output</b>; 1: ToPA Output.
+  0x0:0xFF
+**/
+  uint8_t                       ProcTraceOutputScheme;
+
+/** Offset 0x07C9 - Enable or Disable Processor Trace feature
+  Enable or Disable Processor Trace feature; <b>0: Disable</b>; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       ProcTraceEnable;
+
+/** Offset 0x07CA - Memory region allocation for Processor Trace
+  Memory region allocation for Processor Trace, Valid Values are 0 - 4KB , 0x1 - 8KB
+  , 0x2 - 16KB , 0x3 - 32KB , 0x4 - 64KB , 0x5 - 128KB , 0x6 - 256KB , 0x7 - 512KB
+  , 0x8 - 1MB , 0x9 - 2MB , 0xA - 4MB , 0xB - 8MB , 0xC - 16MB , 0xD - 32MB , 0xE
+  - 64MB , 0xF - 128MB , 0xFF: Disable
+  0x0:0xFF
+**/
+  uint8_t                       ProcTraceMemSize;
+
+/** Offset 0x07CB
+**/
+  uint8_t                       UnusedUpdSpace23;
+
+/** Offset 0x07CC - Enable or Disable Voltage Optimization feature
+  Enable or Disable Voltage Optimization feature 0: Disable; <b>1: Enable</b>
+  $EN_DIS
+**/
+  uint8_t                       VoltageOptimization;
+
+/** Offset 0x07CD - Enable or Disable Intel SpeedStep Technology
+  Enable or Disable Intel SpeedStep Technology. 0: Disable; <b>1: Enable</b>
+  $EN_DIS
+**/
+  uint8_t                       Eist;
+
+/** Offset 0x07CE - Enable or Disable Energy Efficient P-state
+  Enable or Disable Energy Efficient P-state will be applied in Turbo mode. Disable;
+  <b>1: Enable</b>
+  $EN_DIS
+**/
+  uint8_t                       EnergyEfficientPState;
+
+/** Offset 0x07CF - Enable or Disable Energy Efficient Turbo
+  Enable or Disable Energy Efficient Turbo, will be applied in Turbo mode. Disable;
+  <b>1: Enable</b>
+  $EN_DIS
+**/
+  uint8_t                       EnergyEfficientTurbo;
+
+/** Offset 0x07D0 - Enable or Disable T states
+  Enable or Disable T states; <b>0: Disable</b>; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       TStates;
+
+/** Offset 0x07D1 - Enable or Disable Bi-Directional PROCHOT#
+  Enable or Disable Bi-Directional PROCHOT#; 0: Disable; <b>1: Enable</b>
+  $EN_DIS
+**/
+  uint8_t                       BiProcHot;
+
+/** Offset 0x07D2 - Enable or Disable PROCHOT# signal being driven externally
+  Enable or Disable PROCHOT# signal being driven externally; 0: Disable; <b>1: Enable</b>.
+  $EN_DIS
+**/
+  uint8_t                       DisableProcHotOut;
+
+/** Offset 0x07D3 - Enable or Disable PROCHOT# Response
+  Enable or Disable PROCHOT# Response; <b>0: Disable</b>; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       ProcHotResponse;
+
+/** Offset 0x07D4 - Enable or Disable VR Thermal Alert
+  Enable or Disable VR Thermal Alert; <b>0: Disable</b>; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       DisableVrThermalAlert;
+
+/** Offset 0x07D5 - Enable or Disable Thermal Reporting
+  Enable or Disable Thermal Reporting through ACPI tables; 0: Disable; <b>1: Enable</b>.
+  $EN_DIS
+**/
+  uint8_t                       AutoThermalReporting;
+
+/** Offset 0x07D6 - Enable or Disable Thermal Monitor
+  Enable or Disable Thermal Monitor; 0: Disable; <b>1: Enable</b>
+  $EN_DIS
+**/
+  uint8_t                       ThermalMonitor;
+
+/** Offset 0x07D7 - Enable or Disable CPU power states (C-states)
+  Enable or Disable CPU power states (C-states). 0: Disable; <b>1: Enable</b>
+  $EN_DIS
+**/
+  uint8_t                       Cx;
+
+/** Offset 0x07D8 - Configure C-State Configuration Lock
+  Configure C-State Configuration Lock; 0: Disable; <b>1: Enable</b>.
+  $EN_DIS
+**/
+  uint8_t                       PmgCstCfgCtrlLock;
+
+/** Offset 0x07D9 - Enable or Disable Enhanced C-states
+  Enable or Disable Enhanced C-states. 0: Disable; <b>1: Enable</b>
+  $EN_DIS
+**/
+  uint8_t                       C1e;
+
+/** Offset 0x07DA - Enable or Disable Package Cstate Demotion
+  Enable or Disable Package Cstate Demotion. Disable; <b>1: Enable</b>
+  $EN_DIS
+**/
+  uint8_t                       PkgCStateDemotion;
+
+/** Offset 0x07DB - Enable or Disable Package Cstate UnDemotion
+  Enable or Disable Package Cstate UnDemotion. Disable; <b>1: Enable</b>
+  $EN_DIS
+**/
+  uint8_t                       PkgCStateUnDemotion;
+
+/** Offset 0x07DC - Enable or Disable CState-Pre wake
+  Enable or Disable CState-Pre wake. Disable; <b>1: Enable</b>
+  $EN_DIS
+**/
+  uint8_t                       CStatePreWake;
+
+/** Offset 0x07DD - Enable or Disable TimedMwait Support.
+  Enable or Disable TimedMwait Support. <b>Disable</b>; 1: Enable
+  $EN_DIS
+**/
+  uint8_t                       TimedMwait;
+
+/** Offset 0x07DE - Enable or Disable IO to MWAIT redirection
+  Enable or Disable IO to MWAIT redirection; <b>0: Disable</b>; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       CstCfgCtrIoMwaitRedirection;
+
+/** Offset 0x07DF - Set the Max Pkg Cstate
+  Set the Max Pkg Cstate. Default set to Auto which limits the Max Pkg Cstate to deep
+  C-state. Valid values 0 - C0/C1 , 1 - C2 , 2 - C3 , 3 - C6 , 4 - C7 , 5 - C7S ,
+  6 - C8 , 7 - C9 , 8 - C10 , 254 - CPU Default , 255 - Auto
+  0x0:0xFF
+**/
+  uint8_t                       PkgCStateLimit;
+
+/** Offset 0x07E0 - TimeUnit for C-State Latency Control0
+  TimeUnit for C-State Latency Control0; Valid values 0 - 1ns , 1 - 32ns , 2 - 1024ns
+  , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns
+  0x0:0xFF
+**/
+  uint8_t                       CstateLatencyControl0TimeUnit;
+
+/** Offset 0x07E1 - TimeUnit for C-State Latency Control1
+  TimeUnit for C-State Latency Control1;Valid values 0 - 1ns , 1 - 32ns , 2 - 1024ns
+  , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns
+  0x0:0xFF
+**/
+  uint8_t                       CstateLatencyControl1TimeUnit;
+
+/** Offset 0x07E2 - TimeUnit for C-State Latency Control2
+  TimeUnit for C-State Latency Control2;Valid values 0 - 1ns , 1 - 32ns , 2 - 1024ns
+  , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns
+  0x0:0xFF
+**/
+  uint8_t                       CstateLatencyControl2TimeUnit;
+
+/** Offset 0x07E3 - TimeUnit for C-State Latency Control3
+  TimeUnit for C-State Latency Control3;Valid values 0 - 1ns , 1 - 32ns , 2 - 1024ns
+  , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns
+  0x0:0xFF
+**/
+  uint8_t                       CstateLatencyControl3TimeUnit;
+
+/** Offset 0x07E4 - TimeUnit for C-State Latency Control4
+  TimeUnit for C-State Latency Control4;Valid values 0 - 1ns , 1 - 32ns , 2 - 1024ns
+  , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns
+  0x0:0xFF
+**/
+  uint8_t                       CstateLatencyControl4TimeUnit;
+
+/** Offset 0x07E5 - TimeUnit for C-State Latency Control5
+  TimeUnit for C-State Latency Control5;Valid values 0 - 1ns , 1 - 32ns , 2 - 1024ns
+  , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns
+  0x0:0xFF
+**/
+  uint8_t                       CstateLatencyControl5TimeUnit;
+
+/** Offset 0x07E6 - Interrupt Redirection Mode Select
+  Interrupt Redirection Mode Select.0: Fixed priority; 1: Round robin;2: Hash vector;4:
+  PAIR with fixed priority;5: PAIR with round robin;6: PAIR with hash vector;7: No change.
+  0x0:0xFF
+**/
+  uint8_t                       PpmIrmSetting;
+
+/** Offset 0x07E7 - Lock prochot configuration
+  Lock prochot configuration Enable/Disable; <b>0: Disable</b>; 1: Enable
+  $EN_DIS
+**/
+  uint8_t                       ProcHotLock;
+
+/** Offset 0x07E8 - Configuration for boot TDP selection
+  Configuration for boot TDP selection; <b>0: TDP Nominal</b>; 1: TDP Down; 2: TDP
+  Up;0xFF : Deactivate
+  0x0:0xFF
+**/
+  uint8_t                       ConfigTdpLevel;
+
+/** Offset 0x07E9 - Max P-State Ratio
+  Max P-State Ratio , Valid Range 0 to 0x7F
+  0x0:0xFFFF
+**/
+  uint16_t                      MaxRatio;
+
+/** Offset 0x07EB - Maximum P-state ratio to use in the custom P-state table
+  Maximum P-state ratio to use in the custom P-state table. NumOfCustomPStates has
+  valid range between 0 to 40. For no. of P-States supported(NumOfCustomPStates)
+  , StateRatio[NumOfCustomPStates] are configurable. Valid Range of value is 0 to 0x7F
+**/
+  uint16_t                      StateRatio[40];
+
+/** Offset 0x083B - Platform Power Pmax
+  PCODE MMIO Mailbox: Platform Power Pmax. <b>0 - Auto</b> Specified in 1/8 Watt increments.
+  Range 0-1024 Watts. Value of 800 = 100W
+  0x0:0xFFFF
+**/
+  uint16_t                      PsysPmax;
+
+/** Offset 0x083D - Interrupt Response Time Limit of C-State LatencyContol0
+  Interrupt Response Time Limit of C-State LatencyContol0. Range of value 0 to 0x3FF
+  0x0:0xFFFF
+**/
+  uint16_t                      CstateLatencyControl0Irtl;
+
+/** Offset 0x083F - Interrupt Response Time Limit of C-State LatencyContol1
+  Interrupt Response Time Limit of C-State LatencyContol1.Range of value 0 to 0x3FF
+  0x0:0xFFFF
+**/
+  uint16_t                      CstateLatencyControl1Irtl;
+
+/** Offset 0x0841 - Interrupt Response Time Limit of C-State LatencyContol2
+  Interrupt Response Time Limit of C-State LatencyContol2.Range of value 0 to 0x3FF
+  0x0:0xFFFF
+**/
+  uint16_t                      CstateLatencyControl2Irtl;
+
+/** Offset 0x0843 - Interrupt Response Time Limit of C-State LatencyContol3
+  Interrupt Response Time Limit of C-State LatencyContol3.Range of value 0 to 0x3FF
+  0x0:0xFFFF
+**/
+  uint16_t                      CstateLatencyControl3Irtl;
+
+/** Offset 0x0845 - Interrupt Response Time Limit of C-State LatencyContol4
+  Interrupt Response Time Limit of C-State LatencyContol4.Range of value 0 to 0x3FF
+  0x0:0xFFFF
+**/
+  uint16_t                      CstateLatencyControl4Irtl;
+
+/** Offset 0x0847 - Interrupt Response Time Limit of C-State LatencyContol5
+  Interrupt Response Time Limit of C-State LatencyContol5.Range of value 0 to 0x3FF
+  0x0:0xFFFF
+**/
+  uint16_t                      CstateLatencyControl5Irtl;
+
+/** Offset 0x0849 - Package Long duration turbo mode power limit
+  Package Long duration turbo mode power limit. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.
+  Valid Range 0 to 4095875 in Step size of 125
+  0x0:0xFFFFFFFF
+**/
+  uint32_t                      PowerLimit1;
+
+/** Offset 0x084D - Package Short duration turbo mode power limit
+  Package Short duration turbo mode power limit. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid
+  Range 0 to 4095875 in Step size of 125
+  0x0:0xFFFFFFFF
+**/
+  uint32_t                      PowerLimit2Power;
+
+/** Offset 0x0851 - Package PL3 power limit
+  Package PL3 power limit. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid
+  Range 0 to 4095875 in Step size of 125
+  0x0:0xFFFFFFFF
+**/
+  uint32_t                      PowerLimit3;
+
+/** Offset 0x0855 - Package PL4 power limit
+  Package PL4 power limit. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid
+  Range 0 to 4095875 in Step size of 125
+  0x0:0xFFFFFFFF
+**/
+  uint32_t                      PowerLimit4;
+
+/** Offset 0x0859 - Tcc Offset Time Window for RATL
+  Package PL4 power limit. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid
+  Range 0 to 4095875 in Step size of 125
+  0x0:0xFFFFFFFF
+**/
+  uint32_t                      TccOffsetTimeWindowForRatl;
+
+/** Offset 0x085D - Short term Power Limit value for custom cTDP level 1
+  Short term Power Limit value for custom cTDP level 1. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid
+  Range 0 to 4095875 in Step size of 125
+  0x0:0xFFFFFFFF
+**/
+  uint32_t                      Custom1PowerLimit1;
+
+/** Offset 0x0861 - Long term Power Limit value for custom cTDP level 1
+  Long term Power Limit value for custom cTDP level 1. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid
+  Range 0 to 4095875 in Step size of 125
+  0x0:0xFFFFFFFF
+**/
+  uint32_t                      Custom1PowerLimit2;
+
+/** Offset 0x0865 - Short term Power Limit value for custom cTDP level 2
+  Short term Power Limit value for custom cTDP level 2. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid
+  Range 0 to 4095875 in Step size of 125
+  0x0:0xFFFFFFFF
+**/
+  uint32_t                      Custom2PowerLimit1;
+
+/** Offset 0x0869 - Long term Power Limit value for custom cTDP level 2
+  Long term Power Limit value for custom cTDP level 2. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid
+  Range 0 to 4095875 in Step size of 125
+  0x0:0xFFFFFFFF
+**/
+  uint32_t                      Custom2PowerLimit2;
+
+/** Offset 0x086D - Short term Power Limit value for custom cTDP level 3
+  Short term Power Limit value for custom cTDP level 3. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid
+  Range 0 to 4095875 in Step size of 125
+  0x0:0xFFFFFFFF
+**/
+  uint32_t                      Custom3PowerLimit1;
+
+/** Offset 0x0871 - Long term Power Limit value for custom cTDP level 3
+  Long term Power Limit value for custom cTDP level 3. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid
+  Range 0 to 4095875 in Step size of 125
+  0x0:0xFFFFFFFF
+**/
+  uint32_t                      Custom3PowerLimit2;
+
+/** Offset 0x0875 - Platform PL1 power
+  Platform PL1 power. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range
+  0 to 4095875 in Step size of 125
+  0x0:0xFFFFFFFF
+**/
+  uint32_t                      PsysPowerLimit1Power;
+
+/** Offset 0x0879 - Platform PL2 power
+  Platform PL2 power. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range
+  0 to 4095875 in Step size of 125
+  0x0:0xFFFFFFFF
+**/
+  uint32_t                      PsysPowerLimit2Power;
+
+/** Offset 0x087D - Race To Halt
+  Enable/Disable Race To Halt feature. RTH will dynamically increase CPU frequency
+  in order to enter pkg C-State faster to reduce overall power. (RTH is controlled
+  through MSR 1FC bit 20)Disable; <b>1: Enable</b>
+  $EN_DIS
+**/
+  uint8_t                       RaceToHalt;
+
+/** Offset 0x087E - ReservedCpuPostMemTest
+  Reserved for CPU Post-Mem Test
+  $EN_DIS
+**/
+  uint8_t                       ReservedCpuPostMemTest[12];
+
+/** Offset 0x088A - SgxSinitDataFromTpm
+  SgxSinitDataFromTpm default values
+**/
+  uint8_t                       SgxSinitDataFromTpm;
+
+/** Offset 0x088B - End of Post message
+  Test, Send End of Post message. Disable(0x0): Disable EOP message, Send in PEI(0x1):
+  EOP send in PEI, Send in DXE(0x2)(Default): EOP send in DXE
+  0:Disable, 1:Send in PEI, 2:Send in DXE, 3:Reserved
+**/
+  uint8_t                       EndOfPostMessage;
+
+/** Offset 0x088C - D0I3 Setting for HECI Disable
+  Test, 0: disable, 1: enable, Setting this option disables setting D0I3 bit for all
+  HECI devices
+  $EN_DIS
+**/
+  uint8_t                       DisableD0I3SettingForHeci;
+
+/** Offset 0x088D - HD Audio Reset Wait Timer
+  The delay timer after Azalia reset, the value is number of microseconds. Default is 600.
+**/
+  uint16_t                      PchHdaResetWaitTimer;
+
+/** Offset 0x088F - Enable LOCKDOWN SMI
+  Enable SMI_LOCK bit to prevent writes to the Global SMI Enable bit.
+  $EN_DIS
+**/
+  uint8_t                       PchLockDownGlobalSmi;
+
+/** Offset 0x0890 - Enable LOCKDOWN BIOS Interface
+  Enable BIOS Interface Lock Down bit to prevent writes to the Backup Control Register.
+  $EN_DIS
+**/
+  uint8_t                       PchLockDownBiosInterface;
+
+/** Offset 0x0891 - RTC CMOS RAM LOCK
+  Enable RTC lower and upper 128 byte Lock bits to lock Bytes 38h-3Fh in the upper
+  and and lower 128-byte bank of RTC RAM.
+  $EN_DIS
+**/
+  uint8_t                       PchLockDownRtcLock;
+
+/** Offset 0x0892 - PCH Sbi lock bit
+  This unlock the SBI lock bit to allow SBI after post time. 0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchSbiUnlock;
+
+/** Offset 0x0893 - PCH Psf lock bit
+  The PSF registers will be locked before 3rd party code execution. 0: Disable; 1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PchSbAccessUnlock;
+
+/** Offset 0x0894 - PCIE RP Ltr Max Snoop Latency
+  Latency Tolerance Reporting, Max Snoop Latency.
+**/
+  uint16_t                      PcieRpLtrMaxSnoopLatency[24];
+
+/** Offset 0x08C4 - PCIE RP Ltr Max No Snoop Latency
+  Latency Tolerance Reporting, Max Non-Snoop Latency.
+**/
+  uint16_t                      PcieRpLtrMaxNoSnoopLatency[24];
+
+/** Offset 0x08F4 - PCIE RP Snoop Latency Override Mode
+  Latency Tolerance Reporting, Snoop Latency Override Mode.
+**/
+  uint8_t                       PcieRpSnoopLatencyOverrideMode[24];
+
+/** Offset 0x090C - PCIE RP Snoop Latency Override Multiplier
+  Latency Tolerance Reporting, Snoop Latency Override Multiplier.
+**/
+  uint8_t                       PcieRpSnoopLatencyOverrideMultiplier[24];
+
+/** Offset 0x0924 - PCIE RP Snoop Latency Override Value
+  Latency Tolerance Reporting, Snoop Latency Override Value.
+**/
+  uint16_t                      PcieRpSnoopLatencyOverrideValue[24];
+
+/** Offset 0x0954 - PCIE RP Non Snoop Latency Override Mode
+  Latency Tolerance Reporting, Non-Snoop Latency Override Mode.
+**/
+  uint8_t                       PcieRpNonSnoopLatencyOverrideMode[24];
+
+/** Offset 0x096C - PCIE RP Non Snoop Latency Override Multiplier
+  Latency Tolerance Reporting, Non-Snoop Latency Override Multiplier.
+**/
+  uint8_t                       PcieRpNonSnoopLatencyOverrideMultiplier[24];
+
+/** Offset 0x0984 - PCIE RP Non Snoop Latency Override Value
+  Latency Tolerance Reporting, Non-Snoop Latency Override Value.
+**/
+  uint16_t                      PcieRpNonSnoopLatencyOverrideValue[24];
+
+/** Offset 0x09B4 - PCIE RP Slot Power Limit Scale
+  Specifies scale used for slot power limit value. Leave as 0 to set to default.
+**/
+  uint8_t                       PcieRpSlotPowerLimitScale[24];
+
+/** Offset 0x09CC - PCIE RP Slot Power Limit Value
+  Specifies upper limit on power supplie by slot. Leave as 0 to set to default.
+**/
+  uint16_t                      PcieRpSlotPowerLimitValue[24];
+
+/** Offset 0x09FC - PCIE RP Upstream Port Transmiter Preset
+  Used during Gen3 Link Equalization. Used for all lanes.  Default is 5.
+**/
+  uint8_t                       PcieRpUptp[24];
+
+/** Offset 0x0A14 - PCIE RP Downstream Port Transmiter Preset
+  Used during Gen3 Link Equalization. Used for all lanes.  Default is 7.
+**/
+  uint8_t                       PcieRpDptp[24];
+
+/** Offset 0x0A2C - PCIE RP Enable Port8xh Decode
+  This member describes whether PCIE root port Port 8xh Decode is enabled. 0: Disable;
+  1: Enable.
+  $EN_DIS
+**/
+  uint8_t                       PcieEnablePort8xhDecode;
+
+/** Offset 0x0A2D - PCIE Port8xh Decode Port Index
+  The Index of PCIe Port that is selected for Port8xh Decode (0 Based).
+**/
+  uint8_t                       PchPciePort8xhDecodePortIndex;
+
+/** Offset 0x0A2E - PCH Pm Disable Energy Report
+  Disable/Enable PCH to CPU enery report feature.
+  $EN_DIS
+**/
+  uint8_t                       PchPmDisableEnergyReport;
+
+/** Offset 0x0A2F - PCH Pm Pmc Read Disable
+  When set to true, this bit disallows host reads to PMC XRAM.
+  $EN_DIS
+**/
+  uint8_t                       PchPmPmcReadDisable;
+
+/** Offset 0x0A30 - PCH Sata Test Mode
+  Allow entrance to the PCH SATA test modes.
+  $EN_DIS
+**/
+  uint8_t                       SataTestMode;
+
+/** Offset 0x0A31
+**/
+  uint8_t                       ReservedFspsTestUpd[15];
+} __attribute__((packed));
+
+/** Fsp S UPD Configuration
+**/
+struct FSPS_UPD {
+
+/** Offset 0x0000
+**/
+  struct FSP_UPD_HEADER              FspUpdHeader;
+
+/** Offset 0x0020
+**/
+  struct FSP_S_CONFIG                FspsConfig;
+
+/** Offset 0x077D
+**/
+  struct FSP_S_TEST_CONFIG           FspsTestConfig;
+
+/** Offset 0x0A40
+**/
+  uint8_t                       UnusedUpdSpace24[474];
+
+/** Offset 0x0C1A
+**/
+  uint16_t                      UpdTerminator;
+} __attribute__((packed));
+
+#endif



More information about the coreboot-gerrit mailing list