public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Saloni Kasbekar" <saloni.kasbekar@intel.com>
To: devel@edk2.groups.io
Cc: Saloni Kasbekar <saloni.kasbekar@intel.com>,
	Sai Chaganty <rangasai.v.chaganty@intel.com>,
	Nate DeSimone <nathaniel.l.desimone@intel.com>,
	Isaac Oram <isaac.w.oram@intel.com>,
	Rosen Chuang <rosen.chuang@intel.com>
Subject: [PATCH 1/6] AlderlakeOpenBoardPkg: Add package and headers
Date: Wed, 14 Jun 2023 12:17:23 -0700	[thread overview]
Message-ID: <b16a55b52579d2aa031109d6a6c64247618ee0b4.1686770061.git.saloni.kasbekar@intel.com> (raw)
In-Reply-To: <cover.1686770061.git.saloni.kasbekar@intel.com>

Create the AlderlakeOpenBoardPkg to provide board support code. The
package may support Alderlake boards. The package serves as a board
support package in the EDK II Minimum Platform design.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Isaac Oram <isaac.w.oram@intel.com>
Cc: Rosen Chuang <rosen.chuang@intel.com>
Signed-off-by: Saloni Kasbekar <saloni.kasbekar@intel.com>
---
 .../Include/Library/BoardConfigLib.h          | 157 ++++
 .../Include/Library/DxeAcpiGnvsInitLib.h      |  26 +
 .../Include/Library/PeiGetFvInfoLib.h         |  29 +
 .../Include/Library/PeiPolicyBoardConfigLib.h | 108 +++
 .../Include/Library/SpiFlashCommon.h          |  99 +++
 .../AlderlakeOpenBoardPkg/Include/Platform.h  |  24 +
 .../Include/PlatformBoardConfig.h             | 130 +++
 .../Include/PlatformBoardId.h                 |  30 +
 .../Include/PlatformBoardType.h               |  15 +
 .../Include/PlatformGpioConfig.h              |  18 +
 .../Include/PlatformNvsAreaDef.h              | 751 ++++++++++++++++++
 .../Include/PlatformPostCode.h                |  39 +
 .../Include/PolicyUpdateMacro.h               |  48 ++
 .../Include/Protocol/PlatformNvsArea.h        |  36 +
 .../AlderlakeOpenBoardPkg/OpenBoardPkg.dec    | 605 ++++++++++++++
 15 files changed, 2115 insertions(+)
 create mode 100644 Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/BoardConfigLib.h
 create mode 100644 Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/DxeAcpiGnvsInitLib.h
 create mode 100644 Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/PeiGetFvInfoLib.h
 create mode 100644 Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/PeiPolicyBoardConfigLib.h
 create mode 100644 Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/SpiFlashCommon.h
 create mode 100644 Platform/Intel/AlderlakeOpenBoardPkg/Include/Platform.h
 create mode 100644 Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformBoardConfig.h
 create mode 100644 Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformBoardId.h
 create mode 100644 Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformBoardType.h
 create mode 100644 Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformGpioConfig.h
 create mode 100644 Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformNvsAreaDef.h
 create mode 100644 Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformPostCode.h
 create mode 100644 Platform/Intel/AlderlakeOpenBoardPkg/Include/PolicyUpdateMacro.h
 create mode 100644 Platform/Intel/AlderlakeOpenBoardPkg/Include/Protocol/PlatformNvsArea.h
 create mode 100644 Platform/Intel/AlderlakeOpenBoardPkg/OpenBoardPkg.dec

diff --git a/Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/BoardConfigLib.h b/Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/BoardConfigLib.h
new file mode 100644
index 0000000000..e782028bed
--- /dev/null
+++ b/Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/BoardConfigLib.h
@@ -0,0 +1,157 @@
+/** @file
+  Function prototype of BoardConfigLib.
+
+   Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+   SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef _BOARD_CONFIG_LIB_H_
+#define _BOARD_CONFIG_LIB_H_
+
+#include <Library/GpioLib.h>
+#include <PlatformBoardConfig.h>
+
+#define SIZE_OF_FIELD(TYPE, Field) (sizeof (((TYPE *)0)->Field))
+
+#define SIZE_OF_TABLE(TABLE, TYPE) (sizeof (TABLE) / sizeof (TYPE))
+
+//
+// @todo Define BOARD_CONFIG
+//
+#define BOARD_CONFIG PLATFORM_INFO
+
+#define PRE_MEM        0
+#define POST_MEM       1
+#define EARLY_PRE_MEM  2
+
+/**
+  Procedure to detect current board HW configuration.
+
+**/
+VOID
+EFIAPI
+GetBoardConfig (
+  VOID
+  );
+
+
+/**
+  Count the number of GPIO settings in the Table.
+
+  @param[in]  GpioTable   The pointer of GPIO config table
+  @param[out] GpioCount   The number of GPIO config entries
+**/
+VOID
+GetGpioTableSize (
+  GPIO_INIT_CONFIG   *GpioTable,
+  OUT UINT16         *GpioCount
+  );
+
+/**
+  Configure GPIO Table setting to PcdBoardGpioTablePreMem && PcdBoardGpioTable
+
+  @param[in]  GpioTable   The pointer of GPIO config table
+  @param[in]  IsPostMem   Is call from PostMem/PreMem
+                          True - PostMem, False - PreMem
+**/
+VOID
+ConfigureGpioTabletoPCD(
+  IN GPIO_INIT_CONFIG   *GpioTable,
+  IN UINT16            IsPostMem
+  );
+
+/**
+  Configure GPIO pads in PEI phase.
+
+  @param[in]  GpioTable  Pointer to Gpio table
+**/
+VOID
+GpioInit (
+  IN GPIO_INIT_CONFIG *GpioTable
+  );
+
+/**
+  Check if given rootport has device connected and enable wake capability
+
+  @param[in]  RpNum           An unsigned integer represent the root port number.
+
+  @retval                     TRUE if endpoint was connected
+  @retval                     FALSE if no endpoint was detected
+**/
+BOOLEAN
+IsPcieEndPointPresent (
+  IN UINT8 RpNum
+  );
+
+// LPDDR4 200b 8Gb die, DDP, 2 channels per die, x16
+// Samsung K4F6E304Hx-MGCJ
+// or Hynix H9HCNNNBUUxLHR-NMx
+// or Micron MT53B512M32D2NP-053
+// 3733, 32-34-34-79
+// 2 ranks per channel, 2 SDRAMs per channel, 2x2x8Gb = 4GB total per channel
+extern const UINT8 mLpddr4Ddp8Gb200bSpd;
+
+// LPDDR4X 432b 16Gb die, QDP 2x16
+// Samsung K3UH7H70MM-JGCJ
+// 3733, 32-34-34-79
+// 2 ranks per channel, 1 SDRAMs per rank, 4x16Gb = 8GB total per channel
+extern const UINT8 mLpddr4xQdp16Gb432bSpd;
+
+// LPDDR4X 556b 8Gb die, ODP, 1 channel per die, x16
+// Micron MT53D1G64D8SQ-046
+// 4266
+// 2 ranks per channel, 2 SDRAMs per channel, 2x4x8Gb = 8GB total per channel
+extern const UINT8 mLpddr4xOdp8Gb556bSpd;
+
+// LPDDR4X 556b 4Gb die, QDP, 1 channel per die, x16
+// Micron MT53D512M64D4RQ-046 WT:E
+// 4266
+// 2 ranks per channel, 2 SDRAMs per channel, 2x4x8Gb = 4GB total per channel
+extern const UINT8 mLpddr4xQdp4Gb556bSpd;
+
+extern const UINT8 mLpddr4Ddp16Gb200b1rSpd;
+
+// LPDDR5 496b 12Gb die, QDP 1x16
+// Samsung K3LK2K20BM-BGCN
+// 5500, ??-??-??-??
+// 16 Banks, 4 bank groups, 12Gb SDRAM density
+// 16 Row bits, 10 Column bits
+// Non-Monolithic DRAM Device, 4 dies, 4 Channels per die,
+extern const UINT8 mLpddr5xQdp12Gb496bSpd;
+
+// LPDDR4X 200b 16Gb die, DDP, 2 channel per die, 2x8
+// Samsung  K4U6E3S4AA-MGCL
+// 4267, 36-39-39-90
+// 1 rank per channel, 2 SDRAMs per channel, 2x8GB = 16GB total per channel
+extern const UINT8 mLpddr4xDdp16Gb200bSpd;
+
+// LPDDR4X 200b 16Gb die, 2 channel per die, 2x8
+// Micron MT53E1G32D4NQ-046
+// 3200
+extern const UINT8 mLpddr4xQdp16Gb200bSpd;
+
+// LPDDR4X 200b 8Gb die, 4 die, 2 Channels per package
+// Micron MT53E1G32D4NQ-046
+// 4267
+extern const UINT8 mLpddr4xQdp8Gb200b2r4267Spd;
+
+extern const UINT8 mDdr5Spd_1Rx8[];
+extern const UINT8 mDdr5Spd_2Rx8[];
+
+// Default USB2 OC mapping
+extern USB_OC_MAP_TABLE mUsb2OverCurrentMappingTable;
+// Default USB3 OC mapping
+extern USB_OC_MAP_TABLE mUsb3OverCurrentMappingTable;
+
+/**
+  Update Cpu Xhci Port Enable Map PCD from SaSetup data.
+
+**/
+VOID
+EFIAPI
+TcssUpdateCpuXhciPortEnableMapPcd (
+  VOID
+  );
+
+#endif // _BOARD_CONFIG_LIB_H_
diff --git a/Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/DxeAcpiGnvsInitLib.h b/Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/DxeAcpiGnvsInitLib.h
new file mode 100644
index 0000000000..2695bd4eec
--- /dev/null
+++ b/Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/DxeAcpiGnvsInitLib.h
@@ -0,0 +1,26 @@
+/** @file
+  Acpi Gnvs Init Library header file.
+
+   Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+   SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <Base.h>
+
+
+/**
+@brief
+  Global NVS initialize.
+
+  @param[in] PlatformNvsAreaPtr    - Pointer of global NVS area
+
+  @retval EFI_SUCCESS              - Allocate Global NVS completed.
+  @retval EFI_OUT_OF_RESOURCES     - Failed to allocate required page for PlatformNvsAreaProtocol.
+**/
+EFI_STATUS
+EFIAPI
+AcpiGnvsInit (
+  IN OUT VOID               **PlatformNvsAreaPtr
+  );
+
diff --git a/Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/PeiGetFvInfoLib.h b/Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/PeiGetFvInfoLib.h
new file mode 100644
index 0000000000..5ec9c47b4e
--- /dev/null
+++ b/Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/PeiGetFvInfoLib.h
@@ -0,0 +1,29 @@
+/** @file
+  Header file for PeiGetFvInfoLib..
+
+   Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+   SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef _PEI_GET_FV_INFO_LIB_H_
+#define _PEI_GET_FV_INFO_LIB_H_
+
+/**
+  PeiGetSectionFromFv finds the file in FV and gets file Address and Size
+
+  @param[in] NameGuid              - File GUID
+  @param[out] Address              - Pointer to the File Address
+  @param[out] Size                 - Pointer to File Size
+
+  @retval EFI_SUCCESS                Successfull in reading the section from FV
+**/
+EFI_STATUS
+EFIAPI
+PeiGetSectionFromFv (
+  IN CONST  EFI_GUID        NameGuid,
+  OUT VOID                  **Address,
+  OUT UINT32                *Size
+  );
+
+#endif
diff --git a/Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/PeiPolicyBoardConfigLib.h b/Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/PeiPolicyBoardConfigLib.h
new file mode 100644
index 0000000000..1de17dabd2
--- /dev/null
+++ b/Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/PeiPolicyBoardConfigLib.h
@@ -0,0 +1,108 @@
+/** @file
+  Header file for the PeiPolicyBoardConfig Library.
+
+   Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+   SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+#ifndef _PEI_POLICY_BOARD_CONFIG_LIB_H_
+#define _PEI_POLICY_BOARD_CONFIG_LIB_H_
+
+
+/**
+  This function performs PEI CPU Pre-Memory Policy update by board configuration.
+
+  @retval EFI_SUCCESS             The SI Policy is successfully updated.
+  @retval Others                  The SI Policy is not successfully updated.
+**/
+EFI_STATUS
+EFIAPI
+UpdatePeiCpuPolicyBoardConfigPreMem (
+  VOID
+  );
+
+/**
+  This function performs PEI ME Pre-Memory Policy update by board configuration.
+
+  @retval EFI_SUCCESS             The SI Policy is successfully updated.
+  @retval Others                  The SI Policy is not successfully updated.
+**/
+EFI_STATUS
+EFIAPI
+UpdatePeiMePolicyBoardConfigPreMem (
+  VOID
+  );
+
+/**
+  This function performs PEI PCH Pre-Memory Policy update by board configuration.
+
+  @retval EFI_SUCCESS             The SI Policy is successfully updated.
+  @retval Others                  The SI Policy is not successfully updated.
+**/
+EFI_STATUS
+EFIAPI
+UpdatePeiPchPolicyBoardConfigPreMem (
+  VOID
+  );
+
+/**
+  This function performs PEI SA Pre-Memory Policy update by board configuration.
+
+  @retval EFI_SUCCESS             The SI Policy is successfully updated.
+  @retval Others                  The SI Policy is not successfully updated.
+**/
+EFI_STATUS
+EFIAPI
+UpdatePeiSaPolicyBoardConfigPreMem (
+  VOID
+  );
+
+/**
+  This function performs PEI ME Policy update by board configuration.
+
+  @retval EFI_SUCCESS             The SI Policy is successfully updated.
+  @retval Others                  The SI Policy is not successfully updated.
+**/
+EFI_STATUS
+EFIAPI
+UpdatePeiMePolicyBoardConfig (
+  VOID
+  );
+
+/**
+  This function performs PEI SA Policy update by board configuration.
+
+  @retval EFI_SUCCESS             The SI Policy is successfully updated.
+  @retval Others                  The SI Policy is not successfully updated.
+**/
+EFI_STATUS
+EFIAPI
+UpdatePeiSaPolicyBoardConfig (
+  VOID
+  );
+
+/**
+  This function performs PEI TBT Policy update by board configuration.
+
+  @retval EFI_SUCCESS             The SI Policy is successfully updated.
+  @retval Others                  The SI Policy is not successfully updated.
+**/
+EFI_STATUS
+EFIAPI
+UpdatePeiTbtPolicyBoardConfig (
+  VOID
+  );
+
+/**
+  This function performs PEI SI Policy update by board configuration.
+
+  @retval EFI_SUCCESS             The SI Policy is successfully updated.
+  @retval Others                  The SI Policy is not successfully updated.
+**/
+EFI_STATUS
+EFIAPI
+UpdatePeiSiPolicyBoardConfig (
+  VOID
+  );
+
+#endif
diff --git a/Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/SpiFlashCommon.h b/Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/SpiFlashCommon.h
new file mode 100644
index 0000000000..685d2b95a3
--- /dev/null
+++ b/Platform/Intel/AlderlakeOpenBoardPkg/Include/Library/SpiFlashCommon.h
@@ -0,0 +1,99 @@
+/** @file
+  The header file includes the common header files, defines
+  internal structure and functions used by SpiFlashCommonLib.
+
+   Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+   SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef __SPI_FLASH_COMMON_H__
+#define __SPI_FLASH_COMMON_H__
+
+#include <Uefi.h>
+#include <Library/BaseLib.h>
+#include <Library/PcdLib.h>
+#include <Library/DebugLib.h>
+#include <Library/BaseMemoryLib.h>
+#include <Library/MemoryAllocationLib.h>
+#include <Library/UefiDriverEntryPoint.h>
+#include <Library/UefiBootServicesTableLib.h>
+#include <Protocol/Spi.h>
+
+#define SECTOR_SIZE_4KB   0x1000      // Common 4kBytes sector size
+/**
+  Enable block protection on the Serial Flash device.
+
+  @retval     EFI_SUCCESS       Opertion is successful.
+  @retval     EFI_DEVICE_ERROR  If there is any device errors.
+
+**/
+EFI_STATUS
+EFIAPI
+SpiFlashLock (
+  VOID
+  );
+
+/**
+  Read NumBytes bytes of data from the address specified by
+  PAddress into Buffer.
+
+  @param[in]      Address       The starting physical address of the read.
+  @param[in,out]  NumBytes      On input, the number of bytes to read. On output, the number
+                                of bytes actually read.
+  @param[out]     Buffer        The destination data buffer for the read.
+
+  @retval         EFI_SUCCESS       Opertion is successful.
+  @retval         EFI_DEVICE_ERROR  If there is any device errors.
+
+**/
+EFI_STATUS
+EFIAPI
+SpiFlashRead (
+  IN     UINTN                        Address,
+  IN OUT UINT32                       *NumBytes,
+     OUT UINT8                        *Buffer
+  );
+
+/**
+  Write NumBytes bytes of data from Buffer to the address specified by
+  PAddresss.
+
+  @param[in]      Address         The starting physical address of the write.
+  @param[in,out]  NumBytes        On input, the number of bytes to write. On output,
+                                  the actual number of bytes written.
+  @param[in]      Buffer          The source data buffer for the write.
+
+  @retval         EFI_SUCCESS       Opertion is successful.
+  @retval         EFI_DEVICE_ERROR  If there is any device errors.
+
+**/
+EFI_STATUS
+EFIAPI
+SpiFlashWrite (
+  IN     UINTN                      Address,
+  IN OUT UINT32                     *NumBytes,
+  IN     UINT8                      *Buffer
+  );
+
+/**
+  Erase the block starting at Address.
+
+  @param[in]  Address         The starting physical address of the block to be erased.
+                              This library assume that caller garantee that the PAddress
+                              is at the starting address of this block.
+  @param[in]  NumBytes        On input, the number of bytes of the logical block to be erased.
+                              On output, the actual number of bytes erased.
+
+  @retval     EFI_SUCCESS.      Opertion is successful.
+  @retval     EFI_DEVICE_ERROR  If there is any device errors.
+
+**/
+EFI_STATUS
+EFIAPI
+SpiFlashBlockErase (
+  IN    UINTN                     Address,
+  IN    UINTN                     *NumBytes
+  );
+
+#endif
diff --git a/Platform/Intel/AlderlakeOpenBoardPkg/Include/Platform.h b/Platform/Intel/AlderlakeOpenBoardPkg/Include/Platform.h
new file mode 100644
index 0000000000..f4b15520c0
--- /dev/null
+++ b/Platform/Intel/AlderlakeOpenBoardPkg/Include/Platform.h
@@ -0,0 +1,24 @@
+/** @file
+  This header file provides platform specific definitions used
+  by other modules for platform specific initialization.
+  This is not suitable for consumption by ASL or VRF files.
+
+   Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+   SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef _PLATFORM_H_
+#define _PLATFORM_H_
+
+
+//
+// Need minimum of 48MB during PEI phase for IAG and some buffer for boot.
+//
+#define  PEI_MIN_MEMORY_SIZE               (10 * 0x800000)   // 80MB
+#define  PEI_RECOVERY_MIN_MEMORY_SIZE      (10 * 0x800000)   // 80MB
+
+#define FLASH_BLOCK_SIZE  0x10000
+
+
+#endif
diff --git a/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformBoardConfig.h b/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformBoardConfig.h
new file mode 100644
index 0000000000..d411dfc50c
--- /dev/null
+++ b/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformBoardConfig.h
@@ -0,0 +1,130 @@
+/** @file
+  Header file for Platform Boards Configurations.
+
+   Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+   SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef _PLATFORM_BOARD_CONFIG_H
+#define _PLATFORM_BOARD_CONFIG_H
+
+#include <ConfigBlock.h>
+#include <PchPolicyCommon.h>
+#include <MemoryConfig.h>
+#include <Library/GpioConfig.h>
+
+#define MAX_GPIO_PINS                     130
+#define MAX_PRE_MEM_GPIO_PINS             60
+#define MAX_PMAX_DEVICE_STRING_LENGTH     31
+
+#define IS_ALIGNED(addr, size) (((addr) & (size - 1)) ? 0 : 1)
+#define ALIGN16(size)          (IS_ALIGNED(size, 16) ? size : ((size + 16) & 0xFFF0))
+
+#define BOARD_REAL_BATTERY_SUPPORTED BIT0
+#define BOARD_VIRTUAL_BATTERY_SUPPORTED BIT1
+
+//
+// ACPI table information used to update tables thru PCD
+//
+#define ACPI_OEM_TABLE_ID_ADL_P_M             0x4D2D502D4C4441   //ADL-P-M
+
+//
+// GPIO states mapping
+//
+#define PIN_GPIO_ACTIVE_LOW 0
+#define PIN_GPIO_ACTIVE_HIGH 1
+
+//#
+//#
+
+#pragma pack(1)
+
+typedef struct {
+  CONFIG_BLOCK_HEADER  Header;               ///< Offset 0-27 Config Block Header
+} BOARD_CONFIG_BLOCK;
+
+typedef struct {
+  UINT8 ClkReqNumber : 4;
+  UINT8 ClkReqSupported : 1;
+  UINT8 DeviceResetPadActiveHigh : 1;
+  UINT32 DeviceResetPad;
+} ROOT_PORT_CLK_INFO;
+
+typedef struct {
+  UINT8 Section;
+  UINT8 Pin;
+} EXPANDER_GPIO_CONFIG;
+
+typedef enum {
+  BoardGpioTypePch,
+  BoardGpioTypeExpander,
+  BoardGpioTypeNotSupported = 0xFF
+} BOARD_GPIO_TYPE;
+
+typedef struct {
+  UINT8 Type;
+  UINT8 Reserved[3];  // alignment for COMMON_GPIO_CONFIG
+  union {
+    UINT32 Pin;
+    EXPANDER_GPIO_CONFIG Expander;
+  } u;
+} BOARD_GPIO_CONFIG;
+
+// Do not change the encoding. It must correspond with PCH_PCIE_CLOCK_USAGE from PCH RC.
+#define NOT_USED     0xFF
+#define LAN_CLOCK    0x70
+#define PCIE_PEG     0x40
+#define PCIE_PCH     0x00
+
+typedef struct {
+  UINT32 ClockUsage;
+  UINT32 ClkReqSupported;
+} PCIE_CLOCK_CONFIG;
+
+typedef union {
+  UINT64 Blob;
+  BOARD_GPIO_CONFIG  BoardGpioConfig;
+  ROOT_PORT_CLK_INFO Info;
+  PCIE_CLOCK_CONFIG  PcieClock;
+} PCD64_BLOB;
+
+// Having Max CLK config to support both ADL P and ALD S
+#define PCH_MAX_PCIE_CLOCKS_SBC 18
+
+//seamless board configurations
+typedef struct {
+    UINT32 ClockUsage[PCH_MAX_PCIE_CLOCKS_SBC];
+} PCIE_CLOCKS_USAGE;
+
+#define SPD_DATA_SIZE 1024
+
+/**
+  This is a helper structure that's used to updating Config Block data according to board design
+**/
+#define USB_OC_MAX_PINS         16
+
+typedef struct  {
+  UINT8                 Size;
+  UINT8                 Data[USB_OC_MAX_PINS];
+} USB_OC_MAP_TABLE;
+
+//SBC MRC DQS
+typedef struct {
+  UINT8 DqsMapCpu2Dram[8][2];
+} MRC_DQS;
+
+//SBC MRC DQ
+typedef struct {
+  UINT8 DqMapCpu2Dram[8][2][8];
+} MRC_DQ;
+
+//SBC SPD DATA
+typedef struct {
+  BOOLEAN OverrideSpd;
+  UINT8   SpdData[SPD_DATA_SIZE];
+} SPD_DATA;
+
+#pragma pack()
+
+#endif // _PLATFORM_BOARD_CONFIG_H
diff --git a/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformBoardId.h b/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformBoardId.h
new file mode 100644
index 0000000000..eb72b1d9b2
--- /dev/null
+++ b/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformBoardId.h
@@ -0,0 +1,30 @@
+/** @file
+Defines Platform BoardIds
+
+   Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+   SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef _PLATFORM_BOARD_ID_H_
+#define _PLATFORM_BOARD_ID_H_
+
+#define FlavorUnknown                       0x0
+#define FlavorMobile                        0x1
+#define FlavorDesktop                       0x2
+#define FlavorWorkstation                   0x3
+#define FlavorUpServer                      0x4
+
+#define TypeUnknown                         0x0
+#define TypeTrad                            0x1
+#define TypeUltUlx                          0x2
+//
+// Alderlake Sku IDs
+//
+#define SkuIdAdlPDdr5Rvp                      0x000012
+#define AdlPSkuType      2
+
+// Alderlake P Board IDs
+#define BoardIdAdlPDdr5Rvp                  0x12
+
+#endif // _PLATFORM_BOARD_ID_H_
diff --git a/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformBoardType.h b/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformBoardType.h
new file mode 100644
index 0000000000..1d42f8a083
--- /dev/null
+++ b/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformBoardType.h
@@ -0,0 +1,15 @@
+/** @file
+  BoardType used for Platform Info Data entries in the SBIOS/Setup/AcpiASL.
+
+   Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+   SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef _PLATFORM_BOARD_TYPE_H_
+#define _PLATFORM_BOARD_TYPE_H_
+
+#define BoardTypeRvp        0x00    // Reference Validation Platform
+#define BoardTypeMax        0x0A
+
+#endif
diff --git a/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformGpioConfig.h b/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformGpioConfig.h
new file mode 100644
index 0000000000..6384766917
--- /dev/null
+++ b/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformGpioConfig.h
@@ -0,0 +1,18 @@
+/** @file
+Defines Platform GPIO Configuration Arrary
+
+   Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+   SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <Library/GpioLib.h>
+
+#ifndef _PLATFORM_GPIO_CONFIG_H_
+#define _PLATFORM_GPIO_CONFIG_H_
+
+typedef struct {
+  GPIO_INIT_CONFIG   GpioConfig[0];
+} GPIO_INIT_CONFIG_ARRAY;
+
+#endif
diff --git a/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformNvsAreaDef.h b/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformNvsAreaDef.h
new file mode 100644
index 0000000000..e65d3fa37c
--- /dev/null
+++ b/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformNvsAreaDef.h
@@ -0,0 +1,751 @@
+/** @file
+  ACPI DSDT table
+
+   Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+   SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+  // Define a Global region of ACPI NVS Region that may be used for any
+  // type of implementation.  The starting offset and size will be fixed
+  // up by the System BIOS during POST.  Note that the Size must be a word
+  // in size to be fixed up correctly.
+
+#ifndef _PLATFORM_NVS_AREA_DEF_H_
+#define _PLATFORM_NVS_AREA_DEF_H_
+
+#pragma pack (push,1)
+typedef struct {
+  //
+  // Miscellaneous Dynamic Registers:
+  //
+  UINT16   OperatingSystem;                         ///< Offset 0       Operating System
+  UINT8    SmiFunction;                             ///< Offset 2       SMI Function Call (ASL to SMI via I/O Trap)
+  UINT8    SmiParameter0;                           ///< Offset 3       SMIF - Parameter 0
+  UINT8    SmiParameter1;                           ///< Offset 4       SMIF - Parameter 1
+  UINT8    SciFunction;                             ///< Offset 5       SCI Function Call (SMI to ASL via _L00)
+  UINT8    SciParameter0;                           ///< Offset 6       SCIF - Parameter 0
+  UINT8    SciParameter1;                           ///< Offset 7       SCIF - Parameter 1
+  UINT8    GlobalLock;                              ///< Offset 8       Global Lock Function Call (EC Communication)
+  UINT8    LockParameter0;                          ///< Offset 9       LCKF - Parameter 0
+  UINT8    LockParameter1;                          ///< Offset 10      LCKF - Parameter 1
+  UINT8    PowerState;                              ///< Offset 11      Power State (AC Mode = 1)
+  UINT8    DebugState;                              ///< Offset 12      Debug State
+  //
+  // Thermal Policy Registers:
+  //
+  UINT8    EnableThermalKSC;                        ///< Offset 13      Enable Thermal Offset for KSC
+  UINT8    Ac1TripPoint;                            ///< Offset 14      Active Trip Point 1
+  UINT8    Ac0TripPoint;                            ///< Offset 15      Active Trip Point
+  UINT8    PassiveThermalTripPoint;                 ///< Offset 16      Passive Trip Point
+  UINT8    PassiveTc1Value;                         ///< Offset 17      Passive Trip Point TC1 Value
+  UINT8    PassiveTc2Value;                         ///< Offset 18      Passive Trip Point TC2 Value
+  UINT8    PassiveTspValue;                         ///< Offset 19      Passive Trip Point TSP Value
+  UINT8    CriticalThermalTripPoint;                ///< Offset 20      Critical Trip Point
+  //
+  // Revision Field:
+  //
+  UINT8    Revision;                                ///< Offset 21      Revison of GlobalNvsArea
+  //
+  // CPU Identification Registers:
+  //
+  UINT8    ApicEnable;                              ///< Offset 22      APIC Enabled by SBIOS (APIC Enabled = 1)
+  UINT8    ThreadCount;                             ///< Offset 23      Number of Enabled Threads
+  UINT8    CurentPdcState0;                         ///< Offset 24      PDC Settings, Processor 0
+  UINT8    CurentPdcState1;                         ///< Offset 25      PDC Settings, Processor 1
+  UINT8    MaximumPpcState;                         ///< Offset 26      Maximum PPC state
+  UINT32   PpmFlags;                                ///< Offset 27      PPM Flags (Same as CFGD)
+  UINT8    C6C7Latency;                             ///< Offset 31      C6/C7 Entry/Exit latency
+  //
+  // SIO Configuration Registers:
+  //
+  UINT8    DockedSioPresent;                        ///< Offset 32      National SIO Present
+  UINT8    DockComA;                                ///< Offset 33      COM A Port
+  UINT8    DockComB;                                ///< Offset 34      COM B Port
+  UINT8    DockLpt;                                 ///< Offset 35      LPT Port
+  UINT8    DockFdc;                                 ///< Offset 36      FDC Port
+  UINT8    OnboardCom;                              ///< Offset 37      SMSC Com Port
+  UINT8    OnboardComCir;                           ///< Offset 38      SMSC Com CIR Port
+  UINT8    SMSC1007;                                ///< Offset 39      SMSC1007 SIO Present
+  UINT8    WPCN381U;                                ///< Offset 40      WPCN381U SIO Present
+  UINT8    SMSC1000;                                ///< Offset 41      SMSC1000 SIO Present
+  //
+  // Extended Mobile Access Values
+  //
+  UINT8    EmaEnable;                               ///< Offset 42      EMA Enable
+  UINT16   EmaPointer;                              ///< Offset 43      EMA Pointer
+  UINT16   EmaLength;                               ///< Offset 45      EMA Length
+  //
+  // MEF Registers:
+  //
+  UINT8    MefEnable;                               ///< Offset 47      MEF Enable
+  //
+  // PCIe Dock Status:
+  //
+  UINT8    PcieDockStatus;                          ///< Offset 48      PCIe Dock Status
+  //
+  // TPM Registers
+  //
+  UINT8    MorData;                                 ///< Offset 49      Memory Overwrite Request Data
+  UINT8    TcgParamter;                             ///< Offset 50      Used for save the Mor and/or physical presence paramter
+  UINT32   PPResponse;                              ///< Offset 51      Physical Presence request operation response
+  UINT8    PPRequest;                               ///< Offset 55      Physical Presence request operation
+  UINT8    LastPPRequest;                           ///< Offset 56      Last Physical Presence request operation
+  //
+  // SATA Registers:
+  //
+  UINT8    IdeMode;                                 ///< Offset 57      IDE Mode (Compatible\Enhanced)
+  //
+  // Board Id
+  //
+  UINT8    PlatformId;                              ///< Offset 58      Platform id
+  UINT8    BoardType;                               ///< Offset 59      Board Type
+  //
+  // PCIe Hot Plug
+  //
+  UINT8    PcieOSCControl;                          ///< Offset 60      PCIE OSC Control
+  UINT8    NativePCIESupport;                       ///< Offset 61      Native PCIE Setup Value
+  //
+  // USB Sideband Deferring Support
+  //
+  UINT8    HostAlertVector1;                        ///< Offset 62      USB Sideband Deferring GPE Vector (HOST_ALERT#1)
+  UINT8    HostAlertVector2;                        ///< Offset 63      USB Sideband Deferring GPE Vector (HOST_ALERT#2)
+  //
+  // Embedded Controller Availability Flag.
+  //
+  UINT8    EcAvailable;                             ///< Offset 64      Embedded Controller Availability Flag.
+  //
+  // Global Variables
+  //
+  UINT8    DisplaySupportFlag;                      ///< Offset 65      _DOS Display Support Flag.
+  UINT8    InterruptModeFlag;                       ///< Offset 66      Global IOAPIC/8259 Interrupt Mode Flag.
+  UINT8    CoolingTypeFlag;                         ///< Offset 67      Global Cooling Type Flag.
+  UINT8    L01Counter;                              ///< Offset 68      Global L01 Counter.
+  //
+  // Thermal
+  //
+  UINT32   PlatformCpuId;                           ///< Offset 69      CPUID Feature Information [EAX]
+  UINT8    TsOnDimmEnabled;                         ///< Offset 73      TS-on-DIMM is chosen in SETUP and present on the DIMM
+  //
+  // Board info
+  //
+  UINT8    PlatformFlavor;                          ///< Offset 74      Platform Flavor
+  UINT16   BoardRev;                                ///< Offset 75      Board Rev
+  //
+  // XTU 3.0 Specification
+  //
+  UINT32   XTUBaseAddress;                          ///< Offset 77      XTU Continous structure Base Address
+  UINT32   XTUSize;                                 ///< Offset 81      XMP Size
+  UINT32   XMPBaseAddress;                          ///< Offset 85      XMP Base Address
+  UINT8    DDRReferenceFreq;                        ///< Offset 89      DDR Reference Frequency
+  //
+  // DPPM Policies
+  //
+  UINT8    EnableActivePolicy;                      ///< Offset 90      EnableActivePolicy @deprecated. Intel(R) Dynamic Tuning can dynamically enable/disable policies
+  UINT8    EnablePassivePolicy;                     ///< Offset 91      EnablePassivePolicy @deprecated. Intel(R) Dynamic Tuning can dynamically enable/disable policies
+  UINT8    EnableCriticalPolicy;                    ///< Offset 92      EnableCriticalPolicy @deprecated. Intel(R) Dynamic Tuning can dynamically enable/disable policies
+  UINT8    EnablePIDPolicy;                         ///< Offset 93      EnablePIDPolicy @deprecated. Intel(R) Dynamic Tuning can dynamically enable/disable policies
+  //
+  // Miscellaneous Intel(R) Dynamic Tuning Technology
+  //
+  UINT32   PpccStepSize;                            ///< Offset 94      PPCC Step Size
+  UINT8    Reserved0[58];                           ///< Offset 98:155
+  //
+  // Comms Hub
+  //
+  UINT8    CommsHubEnable;                          ///< Offset 156     Comms Hub Enable/Disable
+  //
+  // BIOS only version of Config TDP
+  //
+  UINT8    ConfigTdpBios;                           ///< Offset 157     enable/disable BIOS only version of Config TDP
+  UINT8    DockSmi;                                 ///< Offset 158     Dock SMI number
+  //
+  // LPC SIO configuration
+  //
+  UINT16   LpcSioPort1;                             ///< Offset 159     SIO config port 1
+  UINT16   LpcSioPort2;                             ///< Offset 161     SIO config port 2
+  UINT16   LpcSioPmeBar;                            ///< Offset 163     SIO PME Base Address
+  UINT8    Reserved1[334];                          ///< Offset 165:498
+  UINT16   DPTFRsvd0;                               ///< Offset 499     DPTFRsvd0
+  UINT8    EnablePowerBossPolicy;                   ///< Offset 501     EnablePowerBossPolicy @deprecated. Intel(R) Dynamic Tuning can dynamically enable/disable policies
+  UINT8    EnableVSPolicy;                          ///< Offset 502     EnableVSPolicy @deprecated. Intel(R) Dynamic Tuning can dynamically enable/disable policies
+  UINT8    EnableRFIMPolicy;                        ///< Offset 503     RFI Mitigation @deprecated. Intel(R) Dynamic Tuning can dynamically enable/disable policies
+  UINT8    Reserved2[11];                           ///< Offset 504:514
+  UINT8    VirtualGpioButtonSxBitmask;              ///< Offset 515     Virtual GPIO button Notify Sleep State Change
+  UINT8    IuerButtonEnable;                        ///< Offset 516     IUER Button Enable
+  UINT8    IuerConvertibleEnable;                   ///< Offset 517     IUER Convertible Enable
+  UINT8    IuerDockEnable;                          ///< Offset 518     IUER Dock Enable
+  UINT8    Ps2MouseEnable;                          ///< Offset 519     Ps2 Mouse Enable
+  UINT16   M0C6;                                    ///< Offset 520     M0D3 for SPI0
+  UINT16   M1C6;                                    ///< Offset 522     M1D3 for SPI0
+  UINT16   M0C7;                                    ///< Offset 524     M0D3 for SPI1
+  UINT16   M1C7;                                    ///< Offset 526     M1D3 for SPI1
+  UINT16   M0C8;                                    ///< Offset 528     M0D3 for SPI2
+  UINT16   M1C8;                                    ///< Offset 530     M1D3 for SPI2
+  UINT8    Reserved3[203];                          ///< Offset 532:734
+  UINT16   M0C9;                                    ///< Offset 735     M0D3 for UART0
+  UINT16   M1C9;                                    ///< Offset 737     M1D3 for UART0
+  UINT16   M0CA;                                    ///< Offset 739     M0D3 for UART1
+  UINT16   M1CA;                                    ///< Offset 741     M1D3 for UART1
+  UINT16   M0CB;                                    ///< Offset 743     M0D3 for UART2
+  UINT16   M1CB;                                    ///< Offset 745     M1D3 for UART2
+  UINT8    Reserved4[1];                            ///< Offset 747:747
+  //
+  // Driver Mode
+  //
+  UINT32   GpioIrqRoute;                            ///< Offset 748     GPIO IRQ
+  UINT8    DriverModeSensorHub;                     ///< Offset 752     PIRQM 28,14(GPIO)
+  UINT8    EnableCpuVrTempSensorDevice;             ///< Offset 753     EnableCpuVrTempSensorDevice
+  UINT8    EnableSsdTempSensorDevice;               ///< Offset 754     EnableSsdTempSensorDevice
+  UINT8    BCV4;                                    ///< Offset 755     Broadcom's Bluetooth adapter's revision
+  UINT8    AtmelPanelFwUpdate;                      ///< Offset 756     Atmel panel FW update Enable/Disable
+  UINT8    Reserved5[21];                           ///< Offset 757:777
+  UINT64   LowPowerS0IdleConstraint;                ///< Offset 778     PEP Constraints
+  // Bit[1:0] - Storage (0:None, 1:Storage Controller, 2:Raid)
+  // Bit[2]   - En/Dis UART0
+  // Bit[3]   - En/Dis UART1
+  // Bit[4]   - En/Dis I2C0
+  // Bit[5]   - En/Dis I2C1
+  // Bit[6]   - En/Dis XHCI
+  // Bit[8:7]  - HD Audio (includes ADSP) (0: No Constraints or 1: D0/F1 or 3:D3)
+  // Bit[9]   - En/Dis Gfx
+  // Bit[10]  - En/Dis CPU
+  // Bit[11]  - En/Dis EMMC
+  // Bit[12]  - En/Dis SDXC
+  // Bit[13]  - En/Dis I2C2
+  // Bit[14]  - En/Dis I2C3
+  // Bit[15]  - En/Dis I2C4
+  // Bit[16]  - En/Dis I2C5
+  // Bit[17]  - En/Dis UART2
+  // Bit[18]  - En/Dis SPI0
+  // Bit[19]  - En/Dis SPI1
+  // Bit[20]  - En/Dis SPI2
+  // Bit[21]  - En/Dis IPU0
+  // Bit[22]  - En/Dis CSME
+  // Bit[23]  - En/Dis LAN(GBE)
+  // Bit[24]  - En/Dis PEG0
+  // Bit[25]  - En/Dis THC0
+  // Bit[26]  - En/Dis THC1
+  // Bit[27]  - Reserved
+  // Bit[28]  - En/Dis I2C6
+  // Bit[29]  - En/Dis TCSS IPs/DTBT
+  // Bit[30]  - En/Dis GNA
+  // Bit[31]  - En/Dis VMD0
+  // Bit[32]  - En/Dis HECI3
+  // Bit[34:33]  - PCIe Storage RP(0: No Constraints or 1: D0/F1 or 3:D3)
+  // Bit[36:35] - Pcie Lan (0:No Constraint or 1:D0/F1 or 3:D3)
+  // Bit[38:37] - Pcie Wlan (0:No Constraint or 1:D0/F1 or 3:D3)
+  // Bit[40:39] - Pcie Gfx (0:No Constraint or 1:D0/F1 or 3:D3)
+  // Bit[42:41] - Pcie Other (0:No Constraint or 1:D0/F1 or 3:D3)
+  // Bit[43]  - En/Dis DG on x8 PEG port (PEG1)
+  // Bit[44]  - En/Dis UFS0
+  // Bit[45]  - En/Dis UFS1
+  // Bit[46]  - En/Dis I2C7
+  UINT16   VRStaggeringDelay;                       ///< Offset 786     VR Staggering delay
+  UINT8    TenSecondPowerButtonEnable;              ///< Offset 788     10sec Power button support
+  // Bit0: 10 sec P-button Enable/Disable
+  // Bit1: Internal Flag
+  // Bit2: Rotation Lock flag, 0:unlock, 1:lock
+  // Bit3: Slate/Laptop Mode Flag, 0: Slate, 1: Laptop
+  // Bit4: Undock / Dock Flag, 0: Undock, 1: Dock
+  // Bit5: VBDL Flag. 0: VBDL is not called, 1: VBDL is called, Virtual Button Driver is loaded.
+  // Bit7-6: Reserved for future use.
+  //
+  // Generation Id(Tock/Tick)
+  //
+  UINT8    GenerationId;                            ///< Offset 789     Generation Id(0=Shark bay, 1=Crescent Bay)
+  UINT8    Reserved6[10];                           ///< Offset 790:799
+  UINT32   AuxPowerLimit;                           ///< Offset 800     Maximum aux power available for PCIe root ports
+  //
+  // Intel(R) Dynamic Tuning Technology
+  //
+  UINT8    Reserved7[3];                            ///< Offset 804:806
+  UINT8    EnumerateSataPortConstraints;            ///< Offset 807     Set to indicate to PEP that constraints at SATA ports should be enumerated
+  //
+  // Intel(R) Dynamic Tuning Technology
+  //
+  UINT8    Reserved8[210];                          ///< Offset 808:1017
+  UINT8    EnableAPPolicy;                          ///< Offset 1018    Adaptive Performance Policy @deprecated. Intel(R) Dynamic Tuning can dynamically enable/disable policies
+  //
+  // Intel Serial(R) IO Sensor Device Selection
+  //
+  UINT8    SDS0;                                    ///< Offset 1019    SerialIo Devices for controller0
+  UINT8    SDS1;                                    ///< Offset 1020    SerialIo Devices for controller1
+  UINT8    SDS2;                                    ///< Offset 1021    SerialIo Devices for controller2
+  UINT8    SDS3;                                    ///< Offset 1022    SerialIo Devices for controller3
+  UINT8    SDS4;                                    ///< Offset 1023    SerialIo Devices for controller4
+  UINT8    SDS5;                                    ///< Offset 1024    SerialIo Devices for controller5
+  UINT8    SDS6;                                    ///< Offset 1025    SerialIo Devices for controller6
+  UINT8    SDS7;                                    ///< Offset 1026    SerialIo Devices for controller7
+  UINT8    SDS8;                                    ///< Offset 1027    SerialIo Devices for controller8
+  UINT8    SDS9;                                    ///< Offset 1028    SerialIo Devices for controller9
+  UINT8    SDSA;                                    ///< Offset 1029    SerialIo Devices for controller10
+  UINT8    WTVX;                                    ///< Offset 1030    WITT test devices' version
+  UINT8    WITX;                                    ///< Offset 1031    WITT test devices' connection point
+  UINT8    GPTD;                                    ///< Offset 1032    GPIO test devices
+  UINT16   GDBT;                                    ///< Offset 1033    GPIO test devices' debounce value,
+  UINT8    UTKX;                                    ///< Offset 1035    UTK test devices' connection point
+  UINT8    SPTD;                                    ///< Offset 1036    SerialIo additional test devices
+  UINT8    Reserved9[29];                           ///< Offset 1037:1065
+  UINT32   TableLoadBuffer;                         ///< Offset 1066    Buffer for runtime ACPI Table loading
+  UINT8    SDM0;                                    ///< Offset 1070    interrupt mode for controller0 devices
+  UINT8    SDM1;                                    ///< Offset 1071    interrupt mode for controller1 devices
+  UINT8    SDM2;                                    ///< Offset 1072    interrupt mode for controller2 devices
+  UINT8    SDM3;                                    ///< Offset 1073    interrupt mode for controller3 devices
+  UINT8    SDM4;                                    ///< Offset 1074    interrupt mode for controller4 devices
+  UINT8    SDM5;                                    ///< Offset 1075    interrupt mode for controller5 devices
+  UINT8    SDM6;                                    ///< Offset 1076    interrupt mode for controller6 devices
+  UINT8    SDM7;                                    ///< Offset 1077    interrupt mode for controller7 devices
+  UINT8    SDM8;                                    ///< Offset 1078    interrupt mode for controller8 devices
+  UINT8    SDM9;                                    ///< Offset 1079    interrupt mode for controller9 devices
+  UINT8    SDMA;                                    ///< Offset 1080    interrupt mode for controller10 devices
+  UINT8    SDMB;                                    ///< Offset 1081    interrupt mode for controller11 devices
+  UINT8    Reserved10[1];                           ///< Offset 1082:1082
+  UINT8    USTP;                                    ///< Offset 1083    use SerialIo timing parameters
+  UINT8    Reserved11[41];                          ///< Offset 1084:1124
+  //
+  // MipiCam specific
+  //
+  UINT8    MipiCamControlLogic0;                    ///< Offset 1125
+  UINT8    MipiCamControlLogic1;                    ///< Offset 1126
+  UINT8    MipiCamControlLogic2;                    ///< Offset 1127
+  UINT8    MipiCamControlLogic3;                    ///< Offset 1128
+  UINT8    MipiCamControlLogic4;                    ///< Offset 1129
+  UINT8    MipiCamControlLogic5;                    ///< Offset 1130
+  UINT8    MipiCamLink0Enabled;                     ///< Offset 1131
+  UINT8    MipiCamLink1Enabled;                     ///< Offset 1132
+  UINT8    MipiCamLink2Enabled;                     ///< Offset 1133
+  UINT8    MipiCamLink3Enabled;                     ///< Offset 1134
+  UINT8    MipiCamLink4Enabled;                     ///< Offset 1135
+  UINT8    MipiCamLink5Enabled;                     ///< Offset 1136
+  UINT8    MipiCamLanesClkDiv;                      ///< Offset 1137    MipiCamLanesClkDiv is @deprecated as the Laneclockdivision option is added and now can be set uniquely for all the links.
+  // Control Logic 0 options
+  UINT8    MipiCamCtrlLogic0_Version;               ///< Offset 1138    Version of CLDB structure
+  UINT8    MipiCamCtrlLogic0_Type;                  ///< Offset 1139    Type
+  UINT8    MipiCamCtrlLogic0_CrdVersion;            ///< Offset 1140    Version of CRD
+  UINT32   MipiCamCtrlLogic0_InputClock;            ///< Offset 1141    Input Clock
+  UINT8    MipiCamCtrlLogic0_GpioPinsEnabled;       ///< Offset 1145    Number of GPIO Pins enabled
+  UINT8    MipiCamCtrlLogic0_GpioGroupPadNumber[6]; ///< Offset 1146    GPIO Group Pad Number
+  UINT8    MipiCamCtrlLogic0_GpioGroupNumber[6];    ///< Offset 1152    GPIO Group Number
+  UINT8    MipiCamCtrlLogic0_GpioFunction[6];       ///< Offset 1158    GPIO Function
+  UINT8    MipiCamCtrlLogic0_GpioActiveValue[6];    ///< Offset 1164    GPIO Active Value
+  UINT8    MipiCamCtrlLogic0_GpioInitialValue[6];   ///< Offset 1170    GPIO Initial Value
+  UINT8    MipiCamCtrlLogic0_PchClockSource;        ///< Offset 1176    PCH Clock source
+  // Control Logic 1 options
+  UINT8    MipiCamCtrlLogic1_Version;               ///< Offset 1177    Version of CLDB structure
+  UINT8    MipiCamCtrlLogic1_Type;                  ///< Offset 1178    Type
+  UINT8    MipiCamCtrlLogic1_CrdVersion;            ///< Offset 1179    Version of CRD
+  UINT32   MipiCamCtrlLogic1_InputClock;            ///< Offset 1180    Input Clock
+  UINT8    MipiCamCtrlLogic1_GpioPinsEnabled;       ///< Offset 1184    Number of GPIO Pins enabled
+  UINT8    MipiCamCtrlLogic1_GpioGroupPadNumber[6]; ///< Offset 1185    GPIO Group Pad Number
+  UINT8    MipiCamCtrlLogic1_GpioGroupNumber[6];    ///< Offset 1191    GPIO Group Number
+  UINT8    MipiCamCtrlLogic1_GpioFunction[6];       ///< Offset 1197    GPIO Function
+  UINT8    MipiCamCtrlLogic1_GpioActiveValue[6];    ///< Offset 1203    GPIO Active Value
+  UINT8    MipiCamCtrlLogic1_GpioInitialValue[6];   ///< Offset 1209    GPIO Initial Value
+  UINT8    MipiCamCtrlLogic1_PchClockSource;        ///< Offset 1215    PCH Clock source
+  // Control Logic 2 options
+  UINT8    MipiCamCtrlLogic2_Version;               ///< Offset 1216    Version of CLDB structure
+  UINT8    MipiCamCtrlLogic2_Type;                  ///< Offset 1217    Type
+  UINT8    MipiCamCtrlLogic2_CrdVersion;            ///< Offset 1218    Version of CRD
+  UINT32   MipiCamCtrlLogic2_InputClock;            ///< Offset 1219    Input Clock
+  UINT8    MipiCamCtrlLogic2_GpioPinsEnabled;       ///< Offset 1223    Number of GPIO Pins enabled
+  UINT8    MipiCamCtrlLogic2_GpioGroupPadNumber[6]; ///< Offset 1224    GPIO Group Pad Number
+  UINT8    MipiCamCtrlLogic2_GpioGroupNumber[6];    ///< Offset 1230    GPIO Group Number
+  UINT8    MipiCamCtrlLogic2_GpioFunction[6];       ///< Offset 1236    GPIO Function
+  UINT8    MipiCamCtrlLogic2_GpioActiveValue[6];    ///< Offset 1242    GPIO Active Value
+  UINT8    MipiCamCtrlLogic2_GpioInitialValue[6];   ///< Offset 1248    GPIO Initial Value
+  UINT8    MipiCamCtrlLogic2_PchClockSource;        ///< Offset 1254    PCH Clock source
+  // Control Logic 3 options
+  UINT8    MipiCamCtrlLogic3_Version;               ///< Offset 1255    Version of CLDB structure
+  UINT8    MipiCamCtrlLogic3_Type;                  ///< Offset 1256    Type
+  UINT8    MipiCamCtrlLogic3_CrdVersion;            ///< Offset 1257    Version of CRD
+  UINT32   MipiCamCtrlLogic3_InputClock;            ///< Offset 1258    Input Clock
+  UINT8    MipiCamCtrlLogic3_GpioPinsEnabled;       ///< Offset 1262    Number of GPIO Pins enabled
+  UINT8    MipiCamCtrlLogic3_GpioGroupPadNumber[6]; ///< Offset 1263    GPIO Group Pad Number
+  UINT8    MipiCamCtrlLogic3_GpioGroupNumber[6];    ///< Offset 1269    GPIO Group Number
+  UINT8    MipiCamCtrlLogic3_GpioFunction[6];       ///< Offset 1275    GPIO Function
+  UINT8    MipiCamCtrlLogic3_GpioActiveValue[6];    ///< Offset 1281    GPIO Active Value
+  UINT8    MipiCamCtrlLogic3_GpioInitialValue[6];   ///< Offset 1287    GPIO Initial Value
+  UINT8    MipiCamCtrlLogic3_PchClockSource;        ///< Offset 1293    PCH Clock source
+  // Control Logic 4 options
+  UINT8    MipiCamCtrlLogic4_Version;               ///< Offset 1294    Version of CLDB structure
+  UINT8    MipiCamCtrlLogic4_Type;                  ///< Offset 1295    Type
+  UINT8    MipiCamCtrlLogic4_CrdVersion;            ///< Offset 1296    Version of CRD
+  UINT32   MipiCamCtrlLogic4_InputClock;            ///< Offset 1297    Input Clock
+  UINT8    MipiCamCtrlLogic4_GpioPinsEnabled;       ///< Offset 1301    Number of GPIO Pins enabled
+  UINT8    MipiCamCtrlLogic4_GpioGroupPadNumber[6]; ///< Offset 1302    GPIO Group Pad Number
+  UINT8    MipiCamCtrlLogic4_GpioGroupNumber[6];    ///< Offset 1308    GPIO Group Number
+  UINT8    MipiCamCtrlLogic4_GpioFunction[6];       ///< Offset 1314    GPIO Function
+  UINT8    MipiCamCtrlLogic4_GpioActiveValue[6];    ///< Offset 1320    GPIO Active Value
+  UINT8    MipiCamCtrlLogic4_GpioInitialValue[6];   ///< Offset 1326    GPIO Initial Value
+  UINT8    MipiCamCtrlLogic4_PchClockSource;        ///< Offset 1332    PCH Clock source
+  // Control Logic 5 options
+  UINT8    MipiCamCtrlLogic5_Version;               ///< Offset 1333    Version of CLDB structure
+  UINT8    MipiCamCtrlLogic5_Type;                  ///< Offset 1334    Type
+  UINT8    MipiCamCtrlLogic5_CrdVersion;            ///< Offset 1335    Version of CRD
+  UINT32   MipiCamCtrlLogic5_InputClock;            ///< Offset 1336    Input Clock
+  UINT8    MipiCamCtrlLogic5_GpioPinsEnabled;       ///< Offset 1340    Number of GPIO Pins enabled
+  UINT8    MipiCamCtrlLogic5_GpioGroupPadNumber[6]; ///< Offset 1341    GPIO Group Pad Number
+  UINT8    MipiCamCtrlLogic5_GpioGroupNumber[6];    ///< Offset 1347    GPIO Group Number
+  UINT8    MipiCamCtrlLogic5_GpioFunction[6];       ///< Offset 1353    GPIO Function
+  UINT8    MipiCamCtrlLogic5_GpioActiveValue[6];    ///< Offset 1359    GPIO Active Value
+  UINT8    MipiCamCtrlLogic5_GpioInitialValue[6];   ///< Offset 1365    GPIO Initial Value
+  UINT8    MipiCamCtrlLogic5_PchClockSource;        ///< Offset 1371    PCH Clock source
+  // Mipi Cam Link0 options
+  UINT8    MipiCamLink0SensorModel;                 ///< Offset 1372    Sensor Model
+  UINT8    MipiCamLink0DD_Version;                  ///< Offset 1373    Version of SSDB structure
+  UINT8    MipiCamLink0DD_CrdVersion;               ///< Offset 1374    Version of CRD
+  UINT8    MipiCamLink0DD_LinkUsed;                 ///< Offset 1375    CSI2 Link used
+  UINT8    MipiCamLink0DD_LaneUsed;                 ///< Offset 1376    MIPI-CSI2 Data Lane
+  UINT8    MipiCamLink0DD_EepromType;               ///< Offset 1377    EEPROM Type
+  UINT8    MipiCamLink0DD_VcmType;                  ///< Offset 1378    VCM Type
+  UINT8    MipiCamLink0DD_FlashSupport;             ///< Offset 1379    Flash Support
+  UINT8    MipiCamLink0DD_Degree;                   ///< Offset 1380    Degree
+  UINT32   MipiCamLink0DD_Mclk;                     ///< Offset 1381    MCLK
+  UINT8    MipiCamLink0DD_ControlLogic;             ///< Offset 1385    Control Logic
+  UINT8    MipiCamLink0DD_PmicPosition;             ///< Offset 1386    PMIC Position
+  UINT8    MipiCamLink0DD_VoltageRail;              ///< Offset 1387    Voltage Rail
+  UINT8    MipiCamLink0_FlashDriverSelection;       ///< Offset 1388    Flash Driver Selection
+  // Mipi Cam Link1 options
+  UINT8    MipiCamLink1SensorModel;                 ///< Offset 1389    Sensor Model
+  UINT8    MipiCamLink1DD_Version;                  ///< Offset 1390    Version of SSDB structure
+  UINT8    MipiCamLink1DD_CrdVersion;               ///< Offset 1391    Version of CRD
+  UINT8    MipiCamLink1DD_LinkUsed;                 ///< Offset 1392    CSI2 Link used
+  UINT8    MipiCamLink1DD_LaneUsed;                 ///< Offset 1393    MIPI-CSI2 Data Lane
+  UINT8    MipiCamLink1DD_EepromType;               ///< Offset 1394    EEPROM Type
+  UINT8    MipiCamLink1DD_VcmType;                  ///< Offset 1395    VCM Type
+  UINT8    MipiCamLink1DD_FlashSupport;             ///< Offset 1396    Flash Support
+  UINT8    MipiCamLink1DD_Degree;                   ///< Offset 1397    Degree
+  UINT32   MipiCamLink1DD_Mclk;                     ///< Offset 1398    MCLK
+  UINT8    MipiCamLink1DD_ControlLogic;             ///< Offset 1402    Control Logic
+  UINT8    MipiCamLink1DD_PmicPosition;             ///< Offset 1403    PMIC Position
+  UINT8    MipiCamLink1DD_VoltageRail;              ///< Offset 1404    Voltage Rail
+  UINT8    MipiCamLink1_FlashDriverSelection;       ///< Offset 1405    Flash Driver Selection
+  // Mipi Cam Link2 options
+  UINT8    MipiCamLink2SensorModel;                 ///< Offset 1406    Sensor Model
+  UINT8    MipiCamLink2DD_Version;                  ///< Offset 1407    Version of SSDB structure
+  UINT8    MipiCamLink2DD_CrdVersion;               ///< Offset 1408    Version of CRD
+  UINT8    MipiCamLink2DD_LinkUsed;                 ///< Offset 1409    CSI2 Link used
+  UINT8    MipiCamLink2DD_LaneUsed;                 ///< Offset 1410    MIPI-CSI2 Data Lane
+  UINT8    MipiCamLink2DD_EepromType;               ///< Offset 1411    EEPROM Type
+  UINT8    MipiCamLink2DD_VcmType;                  ///< Offset 1412    VCM Type
+  UINT8    MipiCamLink2DD_FlashSupport;             ///< Offset 1413    Flash Support
+  UINT8    MipiCamLink2DD_Degree;                   ///< Offset 1414    Degree
+  UINT32   MipiCamLink2DD_Mclk;                     ///< Offset 1415    MCLK
+  UINT8    MipiCamLink2DD_ControlLogic;             ///< Offset 1419    Control Logic
+  UINT8    MipiCamLink2DD_PmicPosition;             ///< Offset 1420    PMIC Position
+  UINT8    MipiCamLink2DD_VoltageRail;              ///< Offset 1421    Voltage Rail
+  UINT8    MipiCamLink2_FlashDriverSelection;       ///< Offset 1422    Flash Driver Selection
+  // Mipi Cam Link3 options
+  UINT8    MipiCamLink3SensorModel;                 ///< Offset 1423    Sensor Model
+  UINT8    MipiCamLink3DD_Version;                  ///< Offset 1424    Version of SSDB structure
+  UINT8    MipiCamLink3DD_CrdVersion;               ///< Offset 1425    Version of CRD
+  UINT8    MipiCamLink3DD_LinkUsed;                 ///< Offset 1426    CSI2 Link used
+  UINT8    MipiCamLink3DD_LaneUsed;                 ///< Offset 1427    MIPI-CSI2 Data Lane
+  UINT8    MipiCamLink3DD_EepromType;               ///< Offset 1428    EEPROM Type
+  UINT8    MipiCamLink3DD_VcmType;                  ///< Offset 1429    VCM Type
+  UINT8    MipiCamLink3DD_FlashSupport;             ///< Offset 1430    Flash Support
+  UINT8    MipiCamLink3DD_Degree;                   ///< Offset 1431    Degree
+  UINT32   MipiCamLink3DD_Mclk;                     ///< Offset 1432    MCLK
+  UINT8    MipiCamLink3DD_ControlLogic;             ///< Offset 1436    Control Logic
+  UINT8    MipiCamLink3DD_PmicPosition;             ///< Offset 1437    PMIC Position
+  UINT8    MipiCamLink3DD_VoltageRail;              ///< Offset 1438    Voltage Rail
+  UINT8    MipiCamLink3_FlashDriverSelection;       ///< Offset 1439    Flash Driver Selection
+  // Mipi Cam Link4 options
+  UINT8    MipiCamLink4SensorModel;                 ///< Offset 1440    Sensor Model
+  UINT8    MipiCamLink4DD_Version;                  ///< Offset 1441    Version of SSDB structure
+  UINT8    MipiCamLink4DD_CrdVersion;               ///< Offset 1442    Version of CRD
+  UINT8    MipiCamLink4DD_LinkUsed;                 ///< Offset 1443    CSI2 Link used
+  UINT8    MipiCamLink4DD_LaneUsed;                 ///< Offset 1444    MIPI-CSI2 Data Lane
+  UINT8    MipiCamLink4DD_EepromType;               ///< Offset 1445    EEPROM Type
+  UINT8    MipiCamLink4DD_VcmType;                  ///< Offset 1446    VCM Type
+  UINT8    MipiCamLink4DD_FlashSupport;             ///< Offset 1447    Flash Support
+  UINT8    MipiCamLink4DD_Degree;                   ///< Offset 1448    Degree
+  UINT32   MipiCamLink4DD_Mclk;                     ///< Offset 1449    MCLK
+  UINT8    MipiCamLink4DD_ControlLogic;             ///< Offset 1453    Control Logic
+  UINT8    MipiCamLink4DD_PmicPosition;             ///< Offset 1454    PMIC Position
+  UINT8    MipiCamLink4DD_VoltageRail;              ///< Offset 1455    Voltage Rail
+  UINT8    MipiCamLink4_FlashDriverSelection;       ///< Offset 1456    Flash Driver Selection
+  // Mipi Cam Link5 options
+  UINT8    MipiCamLink5SensorModel;                 ///< Offset 1457    Sensor Model
+  UINT8    MipiCamLink5DD_Version;                  ///< Offset 1458    Version of SSDB structure
+  UINT8    MipiCamLink5DD_CrdVersion;               ///< Offset 1459    Version of CRD
+  UINT8    MipiCamLink5DD_LinkUsed;                 ///< Offset 1460    CSI2 Link used
+  UINT8    MipiCamLink5DD_LaneUsed;                 ///< Offset 1461    MIPI-CSI2 Data Lane
+  UINT8    MipiCamLink5DD_EepromType;               ///< Offset 1462    EEPROM Type
+  UINT8    MipiCamLink5DD_VcmType;                  ///< Offset 1463    VCM Type
+  UINT8    MipiCamLink5DD_FlashSupport;             ///< Offset 1464    Flash Support
+  UINT8    MipiCamLink5DD_Degree;                   ///< Offset 1465    Degree
+  UINT32   MipiCamLink5DD_Mclk;                     ///< Offset 1466    MCLK
+  UINT8    MipiCamLink5DD_ControlLogic;             ///< Offset 1470    Control Logic
+  UINT8    MipiCamLink5DD_PmicPosition;             ///< Offset 1471    PMIC Position
+  UINT8    MipiCamLink5DD_VoltageRail;              ///< Offset 1472    Voltage Rail
+  UINT8    MipiCamLink5_FlashDriverSelection;       ///< Offset 1473    Flash Driver Selection
+  UINT8    MipiCamFlash0Model;                      ///< Offset 1474    Flash Driver Model
+  UINT8    MipiCamFlash0Mode;                       ///< Offset 1475    Flash Mode Selection
+  UINT8    MipiCamFlash0ModuleName[16];             ///< Offset 1476    Flash Module Name ASCII character 0
+                                                    ///< Offset 1491    Flash Module Name ASCII character 15
+  UINT8    MipiCamFlash0GpioGroupPadNumber;         ///< Offset 1492    GPIO Group Pad Number
+  UINT16   MipiCamFlash0GpioGroupNumber;            ///< Offset 1493    GPIO Group Number
+  UINT8    MipiCamFlash0GpioActiveValue;            ///< Offset 1495    GPIO Active Value
+  UINT8    MipiCamFlash0GpioInitialValue;           ///< Offset 1496    GPIO Initial Value
+  UINT8    MipiCamFlash0OperatingMode;              ///< Offset 1497    Flash Driver Operating Mode
+  UINT8    MipiCamFlash1Model;                      ///< Offset 1498    Flash Driver Model
+  UINT8    MipiCamFlash1Mode;                       ///< Offset 1499    Flash Mode Selection
+  UINT8    MipiCamFlash1ModuleName[16];             ///< Offset 1500    Flash Module Name ASCII character 0
+                                                    ///< Offset 1515    Flash Module Name ASCII character 15
+  UINT8    MipiCamFlash1GpioGroupPadNumber;         ///< Offset 1516    GPIO Group Pad Number
+  UINT16   MipiCamFlash1GpioGroupNumber;            ///< Offset 1517    GPIO Group Number
+  UINT8    MipiCamFlash1GpioActiveValue;            ///< Offset 1519    GPIO Active Value
+  UINT8    MipiCamFlash1GpioInitialValue;           ///< Offset 1520    GPIO Initial Value
+  UINT8    MipiCamFlash1OperatingMode;              ///< Offset 1521    Flash Driver Operating Mode
+  UINT8    MipiCamFlash2Model;                      ///< Offset 1522    Flash Driver Model
+  UINT8    MipiCamFlash2Mode;                       ///< Offset 1523    Flash Mode Selection
+  UINT8    MipiCamFlash2ModuleName[16];             ///< Offset 1524    Flash Module Name ASCII character 0
+                                                    ///< Offset 1539    Flash Module Name ASCII character 15
+  UINT8    MipiCamFlash2GpioGroupPadNumber;         ///< Offset 1540    GPIO Group Pad Number
+  UINT16   MipiCamFlash2GpioGroupNumber;            ///< Offset 1541    GPIO Group Number
+  UINT8    MipiCamFlash2GpioActiveValue;            ///< Offset 1543    GPIO Active Value
+  UINT8    MipiCamFlash2GpioInitialValue;           ///< Offset 1544    GPIO Initial Value
+  UINT8    MipiCamFlash2OperatingMode;              ///< Offset 1545    Flash Driver Operating Mode
+  UINT8    MipiCamFlash3Model;                      ///< Offset 1546    Flash Driver Model
+  UINT8    MipiCamFlash3Mode;                       ///< Offset 1547    Flash Mode Selection
+  UINT8    MipiCamFlash3ModuleName[16];             ///< Offset 1548    Flash Module Name ASCII character 0
+                                                    ///< Offset 1563    Flash Module Name ASCII character 15
+  UINT8    MipiCamFlash3GpioGroupPadNumber;         ///< Offset 1564    GPIO Group Pad Number
+  UINT16   MipiCamFlash3GpioGroupNumber;            ///< Offset 1565    GPIO Group Number
+  UINT8    MipiCamFlash3GpioActiveValue;            ///< Offset 1567    GPIO Active Value
+  UINT8    MipiCamFlash3GpioInitialValue;           ///< Offset 1568    GPIO Initial Value
+  UINT8    MipiCamFlash3OperatingMode;              ///< Offset 1569    Flash Driver Operating Mode
+  UINT8    MipiCamFlash4Model;                      ///< Offset 1570    Flash Driver Model
+  UINT8    MipiCamFlash4Mode;                       ///< Offset 1571    Flash Mode Selection
+  UINT8    MipiCamFlash4ModuleName[16];             ///< Offset 1572    Flash Module Name ASCII character 0
+                                                    ///< Offset 1587    Flash Module Name ASCII character 15
+  UINT8    MipiCamFlash4GpioGroupPadNumber;         ///< Offset 1588    GPIO Group Pad Number
+  UINT16   MipiCamFlash4GpioGroupNumber;            ///< Offset 1589    GPIO Group Number
+  UINT8    MipiCamFlash4GpioActiveValue;            ///< Offset 1591    GPIO Active Value
+  UINT8    MipiCamFlash4GpioInitialValue;           ///< Offset 1592    GPIO Initial Value
+  UINT8    MipiCamFlash4OperatingMode;              ///< Offset 1593    Flash Driver Operating Mode
+  UINT8    MipiCamFlash5Model;                      ///< Offset 1594    Flash Driver Model
+  UINT8    MipiCamFlash5Mode;                       ///< Offset 1595    Flash Mode Selection
+  UINT8    MipiCamFlash5ModuleName[16];             ///< Offset 1596    Flash Module Name ASCII character 0
+                                                    ///< Offset 1611    Flash Module Name ASCII character 15
+  UINT8    MipiCamFlash5GpioGroupPadNumber;         ///< Offset 1612    GPIO Group Pad Number
+  UINT16   MipiCamFlash5GpioGroupNumber;            ///< Offset 1613    GPIO Group Number
+  UINT8    MipiCamFlash5GpioActiveValue;            ///< Offset 1615    GPIO Active Value
+  UINT8    MipiCamFlash5GpioInitialValue;           ///< Offset 1616    GPIO Initial Value
+  UINT8    MipiCamFlash5OperatingMode;              ///< Offset 1617    Flash Driver Operating Mode
+  UINT8    Reserved12[502];                         ///< Offset 1618:2119
+  // RTD3 Settings
+  UINT8    Reserved13[24];                          ///< Offset 2120:2143
+  UINT8    HidEventFilterEnable;                    ///< Offset 2144    HID Event Filter Driver enable
+  UINT8    XdciFnEnable;                            ///< Offset 2145    XDCI Enable/Disable status
+  UINT8    EnableVoltageMargining;                  ///< Offset 2146    Enable Voltage Margining
+  UINT16   DStateHSPort;                            ///< Offset 2147    D-State for xHCI HS port(BIT0:USB HS Port0 ~ BIT15:USB HS Port15)
+  UINT16   DStateSSPort;                            ///< Offset 2149    D-State for xHCI SS port(BIT0:USB SS Port0 ~ BIT15:USB SS Port15)
+  UINT8    DStateSataPort;                          ///< Offset 2151    D-State for SATA port(BIT0:SATA Port0 ~ BIT7:SATA Port7)
+  UINT8    Reserved14[154];                         ///< Offset 2152:2305
+  // Reserved for Groups 4 to 9, each needs 6 bytes and total 36 bytes reserved
+  UINT8    Reserved15[11];                          ///< Offset 2306:2316
+  // Reserved for Bluetooth Sar future use
+  UINT8    RunTimeVmControl;                        ///< Offset 2317    RunTime VM Control
+  //
+  //Feature Specific Data Bits
+  //
+  UINT32   HebcValue;                               ///< Offset 2318    HebcValue
+  UINT8    PcdBatteryPresent;                       ///< Offset 2322    Battery Present - Bit0: Real Battery is supported on this platform. Bit1: Virtual Battery is supported on this platform.
+  UINT8    PcdTsOnDimmTemperature;                  ///< Offset 2323    TS-on-DIMM temperature
+  UINT8    Reserved16[5];                           ///< Offset 2324:2328
+  UINT8    PcdRealBattery1Control;                  ///< Offset 2329    Real Battery 1 Control
+  UINT8    PcdRealBattery2Control;                  ///< Offset 2330    Real Battery 2 Control
+  UINT8    PcdNCT6776FCOM;                          ///< Offset 2331    NCT6776F COM
+  UINT8    PcdNCT6776FSIO;                          ///< Offset 2332    NCT6776F SIO
+  UINT8    PcdNCT6776FHWMON;                        ///< Offset 2333    NCT6776F HWMON
+  UINT8    PcdH8S2113SIO;                           ///< Offset 2334    H8S2113 SIO
+  UINT8    PcdZPoddConfig;                          ///< Offset 2335    ZPODD
+  UINT32   PcdSmcRuntimeSciPin;                     ///< Offset 2336    SMC Runtime Sci Pin
+  UINT8    PcdConvertableDockSupport;               ///< Offset 2340    Convertable Dock Support
+  UINT8    PcdEcHotKeyF3Support;                    ///< Offset 2341    Ec Hotkey F3 Support
+  UINT8    PcdEcHotKeyF4Support;                    ///< Offset 2342    Ec Hotkey F4 Support
+  UINT8    PcdEcHotKeyF5Support;                    ///< Offset 2343    Ec Hotkey F5 Support
+  UINT8    PcdEcHotKeyF6Support;                    ///< Offset 2344    Ec Hotkey F6 Support
+  UINT8    PcdEcHotKeyF7Support;                    ///< Offset 2345    Ec Hotkey F7 Support
+  UINT8    PcdEcHotKeyF8Support;                    ///< Offset 2346    Ec Hotkey F8 Support
+  UINT8    PcdVirtualButtonVolumeUpSupport;         ///< Offset 2347    Virtual Button Volume Up Support
+  UINT8    PcdVirtualButtonVolumeDownSupport;       ///< Offset 2348    Virtual Button Volume Down Support
+  UINT8    PcdVirtualButtonHomeButtonSupport;       ///< Offset 2349    Virtual Button Home Button Support
+  UINT8    PcdVirtualButtonRotationLockSupport;     ///< Offset 2350    Virtual Button Rotation Lock Support
+  UINT8    PcdSlateModeSwitchSupport;               ///< Offset 2351    Slate Mode Switch Support
+  UINT8    PcdVirtualGpioButtonSupport;             ///< Offset 2352    Virtual Button Support
+  UINT8    PcdAcDcAutoSwitchSupport;                ///< Offset 2353    Ac Dc Auto Switch Support
+  UINT32   PcdPmPowerButtonGpioPin;                 ///< Offset 2354    Pm Power Button Gpio Pin
+  UINT8    PcdAcpiEnableAllButtonSupport;           ///< Offset 2358    Acpi Enable All Button Support
+  UINT8    PcdAcpiHidDriverButtonSupport;           ///< Offset 2359    Acpi Hid Driver Button Support
+  UINT32   EcLowPowerModeGpioPin;                   ///< Offset 2360    EcLowPowerModeGpioPin
+  UINT32   EcSmiGpioPin;                            ///< Offset 2364    EcSmiGpioPin
+  //
+  // UCMC setup option, GPIO Pad
+  //
+  UINT8    UCMS;                                    ///< Offset 2368    Option to select UCSI/UCMC device
+  UINT32   UcmcPort1Gpio;                           ///< Offset 2369    Gpio for UCMC Port 1 Interrupt
+  UINT32   UcmcPort2Gpio;                           ///< Offset 2373    Gpio for UCMC Port 2 Interrupt
+  UINT32   UcmcPort3Gpio;                           ///< Offset 2377    Gpio for UCMC Port 3 Interrupt
+  UINT32   UcmcPort4Gpio;                           ///< Offset 2381    Gpio for UCMC Port 4 Interrupt
+  UINT8    Reserved17[24];                          ///< Offset 2385:2408
+  UINT8    Reserved18[4];                           ///< Offset 2409:2412
+  UINT8    Ufp2DfpGlobalFlag;                       ///< Offset 2413    Upstream Facing port or Downstream Facing port Global Flag from LPC EC
+  UINT8    Ufp2DfpUsbPort;                          ///< Offset 2414    Upstream Facing port or Downstream Facing port number from LPC EC
+  UINT8    DbcGlobalFlag;                           ///< Offset 2415    Debug Mode Global Flag from LPC EC
+  UINT8    DbcUsbPort;                              ///< Offset 2416    Debug Mode USB Port Number from LPC EC
+  UINT32   PcieSlot1WakeGpio;                       ///< Offset 2417    Pcie Slot Wake Gpio pin
+  UINT8    PcieSlot1RpNumber;                       ///< Offset 2421    Pcie Slot Root Port Number
+  UINT32   PcieSlot2WakeGpio;                       ///< Offset 2422    Pcie Slot 2 Wake Gpio pin
+  UINT8    PcieSlot2RpNumber;                       ///< Offset 2426    Pcie Slot 2 Root Port Number
+  UINT32   PcieSlot1PowerEnableGpio;                ///< Offset 2427    Pcie Slot 1 Power Enable Gpio pin
+  UINT8    PcieSlot1PowerEnableGpioPolarity;        ///< Offset 2431    Pcie Slot 1 Power Enable Gpio pin polarity
+  UINT32   PcieSlot1RstGpio;                        ///< Offset 2432    Pcie Slot 1 Rest Gpio pin
+  UINT8    PcieSlot1RstGpioPolarity;                ///< Offset 2436    Pcie Slot 1 Rest Gpio pin polarity
+  UINT32   PcieSlot2PowerEnableGpio;                ///< Offset 2437    Pcie Slot 2 Power Enable Gpio pin
+  UINT8    PcieSlot2PowerEnableGpioPolarity;        ///< Offset 2441    Pcie Slot 2 Power Enable Gpio pin polarity
+  UINT32   PcieSlot2RstGpio;                        ///< Offset 2442    Pcie Slot 2 Rest Gpio pin
+  UINT8    PcieSlot2RstGpioPolarity;                ///< Offset 2446    Pcie Slot 2 Rest Gpio pin polarity
+  UINT32   SataPortPowerEnableGpio;                 ///< Offset 2447    Sata port Power Enable Gpio pin
+  UINT8    SataPortPowerEnableGpioPolarity;         ///< Offset 2451    Sata port Power Enable Gpio pin polarity
+  UINT32   PchM2SsdPowerEnableGpio;                 ///< Offset 2452    Pch M.2 SSD Power Enable Gpio pin
+  UINT8    PchM2SsdPowerEnableGpioPolarity;         ///< Offset 2456    Pch M.2 SSD Power Enable Gpio pin polarity
+  UINT32   PchM2SsdRstGpio;                         ///< Offset 2457    Pch M.2 SSD Reset Gpio pin
+  UINT8    PchM2SsdRstGpioPolarity;                 ///< Offset 2461    Pch M.2 SSD Reset Gpio pin polarity
+  UINT32   M2Ssd2PowerEnableGpio;                   ///< Offset 2462    PCIe x4 M.2 SSD Power Enable Gpio pin
+  UINT8    M2Ssd2PowerEnableGpioPolarity;           ///< Offset 2466    PCIe x4 M.2 SSD Power Enable Gpio pin polarity
+  UINT32   M2Ssd2RstGpio;                           ///< Offset 2467    PCIe x4 M.2 SSD Reset Gpio pin
+  UINT8    M2Ssd2RstGpioPolarity;                   ///< Offset 2471    PCIe x4 M.2 SSD Reset Gpio pin polarity
+  UINT32   M2Ssd3PowerEnableGpio;                   ///< Offset 2472    PCIe x4 M.2 SSD Power Enable Gpio pin
+  UINT8    M2Ssd3PowerEnableGpioPolarity;           ///< Offset 2476    PCIe x4 M.2 SSD Power Enable Gpio pin polarity
+  UINT32   M2Ssd3RstGpio;                           ///< Offset 2477    PCIe x4 M.2 SSD Reset Gpio pin
+  UINT8    M2Ssd3RstGpioPolarity;                   ///< Offset 2481    PCIe x4 M.2 SSD Reset Gpio pin polarity
+  UINT32   M2DG2PowerEnableGpio;                    ///< Offset 2482    PCIe x5 M.2 Discrete Graphics Power Enable Gpio Pin
+  UINT8    M2DG2PowerEnableGpioPolarity;            ///< Offset 2486    PCIe x5 M.2 Discrete Graphics Power Enable Gpio Pin polarity
+  UINT32   M2DG2RstGpio;                            ///< Offset 2487    PCIe x5 M.2 Discrete Graphics Reset Gpio Pin
+  UINT8    M2DG2RstGpioPolarity;                    ///< Offset 2491    PCIe x5 M.2 Discrete Graphics Reset Gpio Pin Polarity
+  UINT32   M2DG2WakeGpioPin;                        ///< Offset 2492    PEG X8 DG/DG2 Wake Gpio pin
+  UINT8    SdevXhciRootPortNumber1;                 ///< Offset 2496    SDEV xHCI Root Port Number for device 1
+  UINT8    SdevXhciRootPortNumber2;                 ///< Offset 2497    SDEV xHCI Root Port Number for device 2
+  UINT8    TsnPcsEnabled;                           ///< Offset 2498    TSN PCS device Enable
+  UINT8    CpuWakeEnFlag;                           ///< Offset 2499    CPU_WAKE_EN value
+  UINT32   Dg1VramSRGpio;                           ///< Offset 2500    DG1 VRAM Self Refresh Gpio pin
+  UINT32   LpmReqRegAddr;                           ///< Offset 2504    Low Power Mode required register Address
+  UINT32   PegSlot1PwrEnableGpioNo;                 ///< Offset 2508    PEG slot 1 Power Enable Gpio pin
+  UINT8    PegSlot1PwrEnableGpioPolarity;           ///< Offset 2512    PEG slot 1 Power Enable Gpio pin polarity
+  UINT32   PegSlot1RstGpioNo;                       ///< Offset 2513    PEG slot 1 Reset Gpio pin
+  UINT8    PegSlot1RstGpioPolarity;                 ///< Offset 2517    PEG slot 1 Reset Gpio pin polarity
+  UINT32   PegSlot1WakeGpioPin;                     ///< Offset 2518    PEG slot 1 Wake Gpio pin
+  UINT8    PegSlot1RootPort;                        ///< Offset 2522    PEG slot 1 Root Port
+  UINT32   PegSlot2PwrEnableGpioNo;                 ///< Offset 2523    PEG slot 2 Power Enable Gpio pin
+  UINT8    PegSlot2PwrEnableGpioPolarity;           ///< Offset 2527    PEG slot 2 Power Enable Gpio pin polarity
+  UINT32   PegSlot2RstGpioNo;                       ///< Offset 2528    PEG slot 2 Reset Gpio pin
+  UINT8    PegSlot2RstGpioPolarity;                 ///< Offset 2532    PEG slot 2 Reset Gpio pin polarity
+  UINT32   PegSlot2WakeGpioPin;                     ///< Offset 2533    PEG slot 2 Wake Gpio pin
+  UINT8    PegSlot2RootPort;                        ///< Offset 2537    PEG slot 2 Root Port
+  UINT32   PcieSlot3PowerEnableGpio;                ///< Offset 2538    Pcie Slot 3 Power Enable Gpio pin
+  UINT8    PcieSlot3PowerEnableGpioPolarity;        ///< Offset 2542    Pcie Slot 3 Power Enable Gpio pin polarity
+  UINT32   PcieSlot3RstGpio;                        ///< Offset 2543    Pcie Slot 3 Rest Gpio pin
+  UINT8    PcieSlot3RstGpioPolarity;                ///< Offset 2547    Pcie Slot 3 Rest Gpio pin polarity
+  UINT32   PcieSlot3WakeGpio;                       ///< Offset 2548    Pcie Slot 3 Wake Gpio pin
+  UINT8    PcieSlot3RpNumber;                       ///< Offset 2552    Pcie Slot 3 Root Port Number
+  UINT32   PchM2Ssd2PowerEnableGpio;                ///< Offset 2553    Pch M.2 SSD2 Power Enable Gpio pin
+  UINT8    PchM2Ssd2PowerEnableGpioPolarity;        ///< Offset 2557    Pch M.2 SSD2 Power Enable Gpio pin polarity
+  UINT32   PchM2Ssd2RstGpio;                        ///< Offset 2558    Pch M.2 SSD2 Reset Gpio pin
+  UINT8    PchM2Ssd2RstGpioPolarity;                ///< Offset 2562    Pch M.2 SSD2 Reset Gpio pin polarity
+  UINT32   PchM2Ssd3PowerEnableGpio;                ///< Offset 2563    Pch M.2 SSD3 Power Enable Gpio pin
+  UINT8    PchM2Ssd3PowerEnableGpioPolarity;        ///< Offset 2567    Pch M.2 SSD3 Power Enable Gpio pin polarity
+  UINT32   PchM2Ssd3RstGpio;                        ///< Offset 2568    Pch M.2 SSD3 Reset Gpio pin
+  UINT8    PchM2Ssd3RstGpioPolarity;                ///< Offset 2572    Pch M.2 SSD3 Reset Gpio pin polarity
+  //
+  // XTU SMI base address
+  //
+  UINT32   XtuSmiMemoryAddress;                     ///< Offset 2573    XTU SMI memory in ACPI NVS
+  UINT8    Reserved19[285];                         ///< Offset 2577:2861
+  UINT8    MipiCamLink0DD_LanesClkDivision;         ///< Offset 2862    LanesClockDivision
+  UINT8    MipiCamLink1DD_LanesClkDivision;         ///< Offset 2863    LanesClockDivision
+  UINT8    MipiCamLink2DD_LanesClkDivision;         ///< Offset 2864    LanesClockDivision
+  UINT8    MipiCamLink3DD_LanesClkDivision;         ///< Offset 2865    LanesClockDivision
+  UINT8    MipiCamLink4DD_LanesClkDivision;         ///< Offset 2866    LanesClockDivision
+  UINT8    MipiCamLink5DD_LanesClkDivision;         ///< Offset 2867    LanesClockDivision
+  UINT32   POVP;                                    ///< Offset 2868    USBC_PSON_OVERRIDE_N Input pin
+  UINT32   PSG1;                                    ///< Offset 2872    S0IX_EN_TRY_REQ Output pin
+  UINT32   PSG2;                                    ///< Offset 2876    S0IX_EN_TRY_ACK Input pin
+  UINT32   PPOE;                                    ///< Offset 2880    Option to enable/disable TCSS PD PS_ON
+  UINT8    CvfUsbPort;                              ///< Offset 2884    CVF USB port number
+  UINT64   DgBaseAddress;                           ///< Offset 2885    DG PCIe Base Address
+  UINT32   DgOpRegionAddress;                       ///< Offset 2893    DG OpRegion Base Address
+  UINT32   LidSwitchWakeGpio;                       ///< Offset 2897    Lid Switch Wake Gpio
+  UINT8    PreBootCmMode;                           ///< Offset 2901    USB4 CM mode information in Pre-Boot
+  UINT8    CmTbtMask;                               ///< Offset 2902    Indicate enabled dTBT and iTBT for CM
+  // UCSI/UCMX Driver Support. 0: Force Disable, 1: UCSI Driver support, 2: UCMX Driver support.
+  UINT32   FoxLanWakeGpio;                          ///< Offset 2903    Foxville I225 Wake Gpio pin
+  UINT32   FoxLanRstGpio;                           ///< Offset 2907    Foxville I225 Reset Gpio pin
+  UINT8    FoxLanRstGpioPolarity;                   ///< Offset 2911    Foxville I225 Reset Gpio pin polarity
+  UINT32   FoxLanDisableNGpio;                      ///< Offset 2912    Foxville I225 Disable N Gpio pin
+  UINT8    FoxLanDisableNGpioPolarity;              ///< Offset 2916    Foxville I225 Disable N Gpio pin polarity
+  UINT8    FoxLanSupport;                           ///< Offset 2917    Foxville I225 support configuration
+  UINT8    FoxLanRpNumber;                          ///< Offset 2918    Foxville I225 PCIe Root Port Number
+  UINT8    DPIW;                                    ///< Offset 2919    DPin Dynamic Switch
+  UINT32   DPG1;                                    ///< Offset 2920    PcdDpMuxGpio
+  //
+  // Data Role Swap:
+  //
+  UINT8    UsbcDataRoleSwap;                        ///< Offset 2924    Usbc Data Role Swap
+  UINT8    Usb4CmSwitchEnable;                      ///< Offset 2925    USB4 CM mode switch is enabled/disabled
+  //Flash ID support for discrete flash solution
+  UINT8    MipiCamLink0DD_FlashID;                  ///< Offset 2926    Flash ID for Link0
+  UINT8    MipiCamLink1DD_FlashID;                  ///< Offset 2927    Flash ID for Link1
+  UINT8    MipiCamLink2DD_FlashID;                  ///< Offset 2928    Flash ID for Link2
+  UINT8    MipiCamLink3DD_FlashID;                  ///< Offset 2929    Flash ID for Link3
+  UINT8    MipiCamLink4DD_FlashID;                  ///< Offset 2930    Flash ID for Link4
+  UINT8    MipiCamLink5DD_FlashID;                  ///< Offset 2931    Flash ID for Link5
+  //ZPODD support
+  UINT32   ZpoddDAGpio;                             ///< Offset 2932    ZPODD device attention gpio
+  UINT32   ZpoddPRGpio;                             ///< Offset 2936    ZPODD device present gpio
+  UINT32   ZpoddPWGpio;                             ///< Offset 2940    ZPODD device power gpio
+  UINT8    ZpoddPWGpioPolarity;                     ///< Offset 2944    ZPODD device power gpio polarity
+  UINT8    PcdH8S2113UAR;                           ///< Offset 2945    H8S2113 UAR
+  // Onboard MR support (for ADL S8 only)
+  UINT32   OnBoardMr1PowerEnableGpio;               ///< Offset 2946    Onboard MR 1 Power Enable Gpio pin
+  UINT8    OnBoardMr1PowerEnableGpioPolarity;       ///< Offset 2950    Onboard MR 1 Power Enable Gpio pin polarity
+  UINT32   OnBoardMr1RstGpio;                       ///< Offset 2951    Onboard MR 1 Rest Gpio pin
+  UINT8    OnBoardMr1RstGpioPolarity;               ///< Offset 2955    Onboard MR 1 Rest Gpio pin polarity
+  UINT32   OnBoardMr1WakeGpio;                      ///< Offset 2956    Onboard MR 1 Wake Gpio pin
+  UINT8    OnBoardMr1RpNumber;                      ///< Offset 2960    Onboard MR 1 Root Port Number
+  // Onboard MR support
+  UINT32   OnBoardMr2PowerEnableGpio;               ///< Offset 2961    Onboard MR 2 Power Enable Gpio pin
+  UINT8    OnBoardMr2PowerEnableGpioPolarity;       ///< Offset 2965    Onboard MR 2 Power Enable Gpio pin polarity
+  UINT32   OnBoardMr2RstGpio;                       ///< Offset 2966    Onboard MR 2 Rest Gpio pin
+  UINT8    OnBoardMr2RstGpioPolarity;               ///< Offset 2970    Onboard MR 2 Rest Gpio pin polarity
+  UINT32   OnBoardMr2WakeGpio;                      ///< Offset 2971    Onboard MR 2 Wake Gpio pin
+  UINT8    OnBoardMr2RpNumber;                      ///< Offset 2975    Onboard MR 2 Root Port Number
+  UINT8    Rp08D3ColdSupport;                       ///< Offset 2976    RP08 D3Cold Support
+  UINT32   DisplayMuxGpioNo;                        ///< Offset 2977    Display Mux GPIO pin
+  UINT8    DgBrightnessPercentage;                  ///< Offset 2981    DG eDP Brightness Level Percentage
+  UINT8    DgNumberOfValidDeviceId;                 ///< Offset 2982    DG Number of Valid Device IDs
+  UINT32   DgDeviceId1;                             ///< Offset 2983    DG Device ID 1
+  UINT32   DgDeviceId2;                             ///< Offset 2987    DG Device ID 2
+  UINT32   DgDeviceId3;                             ///< Offset 2991    DG Device ID 3
+  UINT32   DgDeviceId4;                             ///< Offset 2995    DG Device ID 4
+  UINT32   DgDeviceId5;                             ///< Offset 2999    DG Device ID 5
+  UINT32   DgDeviceId6;                             ///< Offset 3003    DG Device ID 6
+  UINT32   DgDeviceId7;                             ///< Offset 3007    DG Device ID 7
+  UINT32   DgDeviceId8;                             ///< Offset 3011    DG Device ID 8
+  UINT32   DgDeviceId9;                             ///< Offset 3015    DG Device ID 9
+  UINT32   DgDeviceId10;                            ///< Offset 3019    DG Device ID 10
+  UINT32   DgDeviceId11;                            ///< Offset 3023    DG Device ID 11
+  UINT32   DgDeviceId12;                            ///< Offset 3027    DG Device ID 12
+  UINT32   DgDeviceId13;                            ///< Offset 3031    DG Device ID 13
+  UINT32   DgDeviceId14;                            ///< Offset 3035    DG Device ID 14
+  UINT32   DgDeviceId15;                            ///< Offset 3039    DG Device ID 15
+  UINT32   DgDeviceIdX;                             ///< Offset 3043    DG Device ID for eDP device
+  UINT8    DgDisplaySupportFlag;                    ///< Offset 3047    _DOS DG Display Support Flag.
+  UINT8    ZpoddPortBitmask;                        ///< Offset 3048    Bitmask of port support zpodd
+} PLATFORM_NVS_AREA;
+
+#pragma pack(pop)
+#endif
diff --git a/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformPostCode.h b/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformPostCode.h
new file mode 100644
index 0000000000..07657c219f
--- /dev/null
+++ b/Platform/Intel/AlderlakeOpenBoardPkg/Include/PlatformPostCode.h
@@ -0,0 +1,39 @@
+/** @file
+
+   Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+   SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+#ifndef _PLATFORMPOSTCODE_H_
+#define _PLATFORMPOSTCODE_H_
+
+//
+// GENERAL USAGE GUIDELINES
+//
+
+/**
+[definition]
+PostCode = XYZZ
+X - "D"=premem, "9"=postmem, "8"=SMM, "7"=DXE
+Y - "6"=platform driver, "5"=board driver
+ZZ - "00"=entry, "7F"=exit
+ - 1 - board init premem: entry/exit (0xD500/0xD57F)
+ - 2 - platform init premem: entry/exit (0xD600/0xD67F)
+ - 3 - board init postmem: entry/exit (0x9500/0x957F)
+ - 4 - platform init postmem: entry/exit (0x9600/0x967F)
+ - 5 - board init DXE: entry/exit (0x7500/0x757F)
+ - 6 - platform init DXE: entry/exit (0x7600/0x767F)
+ - 7 - platform SMM init: entry/exit (0x8600/0x867F)
+ - 8 - BIOS S3 entry (0xB503) means BioS PC 03, to differentiate with ACPI _PTS PC
+ - 9 - BIOS S4 entry (0xB504) means BioS PC 04, to differentiate with ACPI _PTS PC
+ - 10 - BIOS S5 entry (0B505) means BioS PC 05, to differentiate with ACPI _PTS PC
+*/
+
+#define PLATFORM_INIT_PREMEM_ENTRY  0xD600
+#define PLATFORM_INIT_PREMEM_EXIT   0xD67F
+#define PLATFORM_INIT_POSTMEM_ENTRY 0x9600
+#define PLATFORM_INIT_POSTMEM_EXIT  0x967F
+#define PLATFORM_SMM_INIT_ENTRY     0x8600
+#define PLATFORM_SMM_INIT_EXIT      0x867F
+
+#endif
diff --git a/Platform/Intel/AlderlakeOpenBoardPkg/Include/PolicyUpdateMacro.h b/Platform/Intel/AlderlakeOpenBoardPkg/Include/PolicyUpdateMacro.h
new file mode 100644
index 0000000000..c9ace9d910
--- /dev/null
+++ b/Platform/Intel/AlderlakeOpenBoardPkg/Include/PolicyUpdateMacro.h
@@ -0,0 +1,48 @@
+/** @file
+  Macros for platform to update different types of policy.
+
+   Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+   SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef _POLICY_UPDATE_MACRO_H_
+#define _POLICY_UPDATE_MACRO_H_
+
+#ifdef UPDATE_POLICY
+#undef UPDATE_POLICY
+#endif
+
+#ifdef COPY_POLICY
+#undef COPY_POLICY
+#endif
+
+#ifdef GET_POLICY
+#undef GET_POLICY
+#endif
+
+#ifdef AND_POLICY
+#undef AND_POLICY
+#endif
+
+#ifdef OR_POLICY
+#undef OR_POLICY
+#endif
+
+#define UPDATE_POLICY(UpdField, ConfigField, Value)  ConfigField = Value;
+#define COPY_POLICY(UpdField, ConfigField, Value, Size)  CopyMem (ConfigField, Value, Size);
+#define GET_POLICY(UpdField, ConfigField, Value)  Value = ConfigField;
+#define AND_POLICY(UpdField, ConfigField, Value)  ConfigField &= Value;
+#define OR_POLICY(UpdField, ConfigField, Value)  ConfigField |= Value;
+//
+// Compare Policy Default and Setup Default when FirstBoot and RvpSupport
+//
+
+#define COMPARE_AND_UPDATE_POLICY(UpdField, ConfigField, Value) {\
+  UPDATE_POLICY(UpdField, ConfigField, Value);\
+}
+#define COMPARE_UPDATE_POLICY_ARRAY(UpdField, ConfigField, Value, ArrayIndex) {\
+  UPDATE_POLICY(UpdField, ConfigField, Value);\
+}
+
+#endif //_POLICY_UPDATE_MACRO_H_
diff --git a/Platform/Intel/AlderlakeOpenBoardPkg/Include/Protocol/PlatformNvsArea.h b/Platform/Intel/AlderlakeOpenBoardPkg/Include/Protocol/PlatformNvsArea.h
new file mode 100644
index 0000000000..6efd40c2b6
--- /dev/null
+++ b/Platform/Intel/AlderlakeOpenBoardPkg/Include/Protocol/PlatformNvsArea.h
@@ -0,0 +1,36 @@
+/** @file
+  This file defines the Platform NVS Area Protocol.
+
+   Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+   SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef _PLATFORM_NVS_AREA_H_
+#define _PLATFORM_NVS_AREA_H_
+
+//
+// Platform NVS Area definition
+//
+#include <PlatformNvsAreaDef.h>
+
+//
+// Includes
+//
+#define PLATFORM_NVS_DEVICE_ENABLE 1
+#define PLATFORM_NVS_DEVICE_DISABLE 0
+
+//
+// Forward reference for pure ANSI compatibility
+//
+typedef struct _PLATFORM_NVS_AREA_PROTOCOL PLATFORM_NVS_AREA_PROTOCOL;
+
+
+//
+// Platform NVS Area Protocol
+//
+typedef struct _PLATFORM_NVS_AREA_PROTOCOL {
+  PLATFORM_NVS_AREA     *Area;
+} PLATFORM_NVS_AREA_PROTOCOL;
+
+#endif // _PLATFORM_NVS_AREA_H_
diff --git a/Platform/Intel/AlderlakeOpenBoardPkg/OpenBoardPkg.dec b/Platform/Intel/AlderlakeOpenBoardPkg/OpenBoardPkg.dec
new file mode 100644
index 0000000000..d24daf30b5
--- /dev/null
+++ b/Platform/Intel/AlderlakeOpenBoardPkg/OpenBoardPkg.dec
@@ -0,0 +1,605 @@
+## @file
+#
+# The DEC files are used by the utilities that parse DSC and
+# INF files to generate AutoGen.c and AutoGen.h files
+# for the build infrastructure.
+#
+#   Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+#   SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+DEC_SPECIFICATION = 0x00010017
+PACKAGE_NAME = BoardPkg
+PACKAGE_VERSION = 0.1
+PACKAGE_GUID = A840FA72-FBF7-4357-B301-DAE2233F14AB
+
+[Includes]
+Include
+Acpi/AcpiTables
+Acpi/AcpiTables/Include
+Acpi/AcpiTables/Dsdt
+Acpi/AcpiTables/Mcfg
+
+[Guids]
+  gBoardModuleTokenSpaceGuid      =  {0x72d1fff7, 0xa42a, 0x4219, {0xb9, 0x95, 0x5a, 0x67, 0x53, 0x6e, 0xa4, 0x2a}}
+  gPlatformModuleTokenSpaceGuid   =  {0x69d13bf0, 0xaf91, 0x4d96, {0xaa, 0x9f, 0x21, 0x84, 0xc5, 0xce, 0x3b, 0xc0}}
+  gPlatformInitFvLocationGuid     =  {0xa564010a, 0x1d90, 0x4b1c, {0x8d, 0x10, 0xcb, 0xba, 0xff, 0xb2, 0x55, 0x42}}
+  gAcpiTableStorageGuid           =  {0x7e374e25, 0x8e01, 0x4fee, {0x87, 0xf2, 0x39, 0x0c, 0x23, 0xc6, 0x06, 0xcd}}
+  gRcAcpiTableStorageGuid         =  {0x6b5c8fe5, 0x70dd, 0x4e17, {0xbf, 0xf4, 0xd2, 0x1c, 0x26, 0x58, 0x6e, 0xb3}}
+  gVpdFfsGuid                     =  {0x338FA35A, 0xCA4A, 0x4DBC, {0xA6, 0xF4, 0x9B, 0xD1, 0x59, 0x3B, 0x61, 0xBC}}
+  gS3MemoryVariableGuid                 =  {0x973218b9, 0x1697, 0x432a, {0x8b, 0x34, 0x48, 0x84, 0xb5, 0xdf, 0xb3, 0x59}}
+  gSetupDataHobGuid                     =  {0x822a9b23, 0x2386, 0x4377, { 0xb7, 0x05, 0x87, 0x78, 0xc1, 0xb8, 0xb3, 0x95}}
+  gBoardInfoVariableGuid                =  {0x1E785E1A, 0x8EC4, 0x49E4, {0x82, 0x75, 0xFB, 0xBD, 0xED, 0xED, 0x18, 0xE7}}
+  gDebugConfigVariableGuid              =  {0xDE0A5E74, 0x4E3E, 0x3D96, {0xA4, 0x40, 0x2C, 0x96, 0xEC, 0xBD, 0x3C, 0x97}}
+  gBiosInfoRecoveryGuid                 =  {0x230f6679, 0xf703, 0x4dc2, {0xb2, 0xb7, 0x41, 0xc6, 0x70, 0xbc, 0xc0, 0xd1}}
+  gMemoryConfigVariableGuid             =  {0xc94f8c4d, 0x9b9a, 0x45fe, {0x8a, 0x55, 0x23, 0x8b, 0x67, 0x30, 0x26, 0x43}}
+
+## Include/BootState.h
+  gBootStateGuid                        =  {0x60b5e939, 0x0fcf, 0x4227, {0xba, 0x83, 0x6b, 0xbe, 0xd4, 0x5b, 0xc0, 0xe3}}
+
+#
+# FvImage File
+#
+  gFvAdvancedFileGuid                  =  {0xAD198BA5, 0xC330, 0x41CD, {0xB0, 0x97, 0x16, 0x48, 0x83, 0x28, 0xB7, 0x98}}
+  gFvOsBootFileGuid                    =  {0xB9020753, 0x84A8, 0x4BB6, {0x94, 0x7C, 0xCE, 0x7D, 0x41, 0xF5, 0xCE, 0x39}}
+  gFvUefiBootFileGuid                  =  {0x9E21FD93, 0x9C72, 0x4c15, {0x8C, 0x4B, 0xE7, 0x7F, 0x1D, 0xB2, 0xD7, 0x92}}
+  gTianoLogoGuid                        =  {0x7BB28B99, 0x61BB, 0x11D5, {0x9A, 0x5D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D}}
+
+  # gUefiShellFileGuid is FILE GUID for MinUefiShell.inf/UefiShell.inf/Shell.inf.
+  gUefiShellFileGuid                    =  {0x7c04a583, 0x9e3e, 0x4f1c, {0xad, 0x65, 0xe0, 0x52, 0x68, 0xd0, 0xb4, 0xd1}}
+
+[Protocols]
+  gPlatformNvsAreaProtocolGuid    =  {0xc77ae556, 0x40a3, 0x41c0, {0xac, 0xe6, 0x71, 0x43, 0x8c, 0x60, 0xf8, 0x71}}
+  gFvAppDispatchFlagProtocolGuid  =  {0x47458821, 0x44a3, 0x43f6, {0x90, 0xda, 0xdf, 0xdf, 0xce, 0x62, 0xf4, 0xfc}}
+
+[Ppis]
+  gReadyForGopConfigPpiGuid               =  {0x5f252c18, 0x1781, 0x4290, {0xa7, 0xb6, 0xfd, 0x99, 0x63, 0x4c, 0x6a, 0x8a}}
+  gPeiFvCnvDispatchFlagPpiGuid            =  {0x2ea45093, 0xa4e6, 0x42ac, {0x86, 0xcf, 0x5e, 0xc6, 0xbf, 0xfb, 0x88, 0x85}}
+  gPatchConfigurationDataPreMemPpiGuid    =  {0xa09b1a0c, 0x690c, 0x4d48, {0xa8, 0x98, 0xa1, 0x2c, 0x94, 0x26, 0xd7, 0x06}}
+  gSetupVariablesReadyPpiGuid             =  {0xda549f2b, 0xb2ed, 0x43a2, {0xb2, 0x4d, 0xc3, 0x67, 0x67, 0xa8, 0xcf, 0x27}}
+
+
+[LibraryClasses]
+
+[PcdsFixedAtBuild, PcdsPatchableInModule]
+##
+## PcdSmbiosOemTypeFirmwareVersionInfo determines the SMBIOS OEM type (0x80 to 0xFF) defined in SMBIOS,
+## values 0-0x7F will be treated as disable FVI reporting.
+## FVI structure uses it as SMBIOS OEM type to provide version information.
+##
+gPlatformModuleTokenSpaceGuid.PcdSmbiosOemTypeFirmwareVersionInfo|0xDD|UINT8|0x20000001
+
+[PcdsFixedAtBuild]
+  gBoardModuleTokenSpaceGuid.PcdDefaultBoardId|0|UINT16|0x10101009
+
+  gBoardModuleTokenSpaceGuid.PcdLpcIoDecodeRange|0x0010|UINT16|0x10001010
+  gBoardModuleTokenSpaceGuid.PchLpcIoEnableDecoding|0x3c03|UINT16|0x10001011
+
+  gBoardModuleTokenSpaceGuid.PcdLpcSioIndexPort|0x4e|UINT16|0x90000018
+  gBoardModuleTokenSpaceGuid.PcdLpcSioDataPort|0x4f|UINT16|0x9000001F
+
+  gBoardModuleTokenSpaceGuid.PcdLpcSioConfigDefaultPort|0x164E|UINT16|0x9000001C
+  gBoardModuleTokenSpaceGuid.PcdSioBaseAddress|0x0680|UINT16|0x9000001D
+
+  gBoardModuleTokenSpaceGuid.PcdSetupEnable                |FALSE|BOOLEAN|0xF0000027
+  gBoardModuleTokenSpaceGuid.PcdModularCryptoEnable        |FALSE|BOOLEAN|0xF000001B
+
+  ##
+  ## The Flash PCDs will be patched based on FDF definitions during build.
+  ## Set them to 0 here to prevent confusion.
+  ##
+
+  gBoardModuleTokenSpaceGuid.PcdFlashFvFirmwareBinariesBase|0x00000000|UINT32|0x20000040
+  gBoardModuleTokenSpaceGuid.PcdFlashFvFirmwareBinariesSize|0x00000000|UINT32|0x20000041
+  gBoardModuleTokenSpaceGuid.PcdFlashFvFirmwareBinariesOffset|0x00000000|UINT32|0x20000042
+  gBoardModuleTokenSpaceGuid.PcdFlashFvOptionalBase|0x00000000|UINT32|0x2000004C
+  gBoardModuleTokenSpaceGuid.PcdFlashFvOptionalSize|0x00000000|UINT32|0x2000004D
+  gBoardModuleTokenSpaceGuid.PcdFlashFvOptionalOffset|0x00000000|UINT32|0x2000004E
+  gBoardModuleTokenSpaceGuid.PcdFlashExtendRegionOffset|0x00000000|UINT32|0x20000050
+  gBoardModuleTokenSpaceGuid.PcdFlashExtendRegionSizeInUse|0x00000000|UINT32|0x20000051
+  gBoardModuleTokenSpaceGuid.PcdFlashFvExtendedPostMemoryBase|0x00000000|UINT32|0x20000052
+  gBoardModuleTokenSpaceGuid.PcdFlashFvExtendedPostMemorySize|0x00000000|UINT32|0x20000054
+  gBoardModuleTokenSpaceGuid.PcdFlashFvExtendedAdvancedBase|0x00000000|UINT32|0x20000055
+  gBoardModuleTokenSpaceGuid.PcdFlashFvExtendedAdvancedSize|0x00000000|UINT32|0x20000057
+
+  gBoardModuleTokenSpaceGuid.PcdSipkgBinaryEnable   |FALSE|BOOLEAN|0xF0000A50
+  gBoardModuleTokenSpaceGuid.PcdFlashObbSize|0x00000000|UINT32|0xF0000A53
+  gBoardModuleTokenSpaceGuid.PcdFlashIbbOffset|0x00000000|UINT32|0xF0000A58
+  gBoardModuleTokenSpaceGuid.PcdFlashIbbSize|0x00000000|UINT32|0xF0000A59
+  gBoardModuleTokenSpaceGuid.PcdFlashFvRsvdOffset|0x00000000|UINT32|0x20000A5E
+  gBoardModuleTokenSpaceGuid.PcdFlashFvRsvdSize|0x00000000|UINT32|0x20000A5F
+  gBoardModuleTokenSpaceGuid.PcdFlashIbbROffset|0x00000000|UINT32|0x20000A61
+
+#(ACPI.inf)
+ gPlatformModuleTokenSpaceGuid.PcdApicLocalAddress|0xFEE00000|UINT64|0x9000000B
+ gPlatformModuleTokenSpaceGuid.PcdApicIoAddress|0xFEC00000|UINT64|0x9000000D
+ gPlatformModuleTokenSpaceGuid.PcdAcpiEnableSwSmi|0xF0|UINT8|0x90000012
+ gPlatformModuleTokenSpaceGuid.PcdAcpiDisableSwSmi|0xF1|UINT8|0x90000013
+ gPlatformModuleTokenSpaceGuid.PcdApicIoIdPch|0x02|UINT8|0x9000001E
+
+#(PeiMultiBoardInitPreMemLib.inf)
+ gPlatformModuleTokenSpaceGuid.PcdDesktopLpcSioDataDefaultPort|0x2F|UINT16|0x9000001A
+ gPlatformModuleTokenSpaceGuid.PcdDesktopLpcSioIndexDefaultPort|0x2E|UINT16|0x9000001B
+
+#(BaseMmioInitLib.inf)
+gPlatformModuleTokenSpaceGuid.PcdDmiBaseAddress|0xFEDA0000|UINT64|0x90000003
+## From Client SNB EDS 0.7v3, 4KB window
+gPlatformModuleTokenSpaceGuid.PcdEpBaseAddress|0xFEDA1000|UINT64|0x90000005
+
+#(OpenBoardPlatformInitPreMem.inf)
+gPlatformModuleTokenSpaceGuid.PcdRamDebugEnable      |FALSE|BOOLEAN|0xF0000094
+gPlatformModuleTokenSpaceGuid.PcdSerialPortEnable    |FALSE|BOOLEAN|0xF000002D
+
+#(OpenBoardPlatformInitSmm.inf)
+gPlatformModuleTokenSpaceGuid.PcdSmcExtSmiBitPosition|0x01|UINT8|0x90000015
+
+## This PCD specifies whether StatusCode is reported via SerialIoUart
+gPlatformModuleTokenSpaceGuid.PcdStatusCodeUseSerialIoUart|FALSE|BOOLEAN|0xFF000002
+
+## This flag is used to initialize debug output interface.
+#  BIT0 - RAM debug interface.
+#  BIT1 - UART debug interface.
+#  BIT2 - USB debug interface.
+#  BIT3 - USB3 debug interface.
+#  BIT4 - Serial IO debug interface.
+#  BIT5 - TraceHub debug interface.
+#  BIT6 - Reserved.
+#  BIT7 - CMOS control.
+gPlatformModuleTokenSpaceGuid.PcdStatusCodeFlags|0x82|UINT8|0xF0000111
+
+gPlatformModuleTokenSpaceGuid.PcdGttMmAddress|0xAF000000|UINT64|0x9000000F
+gPlatformModuleTokenSpaceGuid.PcdGmAdrAddress|0xB0000000|UINT64|0x90000010
+
+gPlatformModuleTokenSpaceGuid.PcdEdramBaseAddress|0xFED80000|UINT64|0x90000009
+gPlatformModuleTokenSpaceGuid.PcdExtendedBiosRegionSupport|FALSE|BOOLEAN|0xF00000A3
+
+gPlatformModuleTokenSpaceGuid.PcdLzmaEnable          |FALSE|BOOLEAN|0xF000002B
+gPlatformModuleTokenSpaceGuid.PcdSymbolInReleaseEnable |FALSE|BOOLEAN|0xF0000063
+gPlatformModuleTokenSpaceGuid.PcdDeprecatedFunctionRemove    |TRUE|BOOLEAN|0xF000008D
+
+## Enable/Disable the ECC feature in openssl library. The default is disabled.
+#  If ECC feature is disabled, all related source files will not be compiled.
+gEfiCryptoPkgTokenSpaceGuid.PcdOpensslEcEnabled|FALSE|BOOLEAN|0x0000003
+
+
+[PcdsDynamic, PcdsPatchableInModule]
+
+[PcdsDynamic]
+
+  # PCH Misc Configuration
+  gBoardModuleTokenSpaceGuid.PcdMipiCamGpioEnable|FALSE|BOOLEAN|0x00000065
+  gBoardModuleTokenSpaceGuid.PcdUsbcEcPdNegotiation|FALSE|BOOLEAN|0x00000110
+
+  # DRAM Configuration
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdData00|0|UINT32|0x00000170
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdData01|0|UINT32|0x00000171
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdData10|0|UINT32|0x00000172
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdData11|0|UINT32|0x00000173
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdData|0|UINT32|0x00000174
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdDataSize|0|UINT16|0x00000175
+  gBoardModuleTokenSpaceGuid.PcdMrcDqMapCpu2Dram|0|UINT32|0x00000072
+  gBoardModuleTokenSpaceGuid.PcdMrcDqMapCpu2DramSize|0|UINT16|0x00000073
+
+  # SPD Address Table
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable0|0|UINT8|0x00000199
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable1|0|UINT8|0x0000019A
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable2|0|UINT8|0x0000019B
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable3|0|UINT8|0x0000019C
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable4|0|UINT8|0x0000019D
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable5|0|UINT8|0x0000019E
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable6|0|UINT8|0x0000019F
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable7|0|UINT8|0x000001A0
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable8|0|UINT8|0x000001A1
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable9|0|UINT8|0x000001A2
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable10|0|UINT8|0x000001A3
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable11|0|UINT8|0x000001A4
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable12|0|UINT8|0x000001A5
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable13|0|UINT8|0x000001A6
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable14|0|UINT8|0x000001A7
+  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable15|0|UINT8|0x000001A8
+
+  # CA Vref Configuration
+  gBoardModuleTokenSpaceGuid.PcdMrcCaVrefConfig|0|UINT8|0x0000009D
+
+  # Root Port Clock Info
+  gBoardModuleTokenSpaceGuid.PcdPcieClock0|0|UINT64|0x0000009E
+  gBoardModuleTokenSpaceGuid.PcdPcieClock1|0|UINT64|0x0000009F
+  gBoardModuleTokenSpaceGuid.PcdPcieClock2|0|UINT64|0x000000A0
+  gBoardModuleTokenSpaceGuid.PcdPcieClock3|0|UINT64|0x000000A1
+  gBoardModuleTokenSpaceGuid.PcdPcieClock4|0|UINT64|0x000000A2
+  gBoardModuleTokenSpaceGuid.PcdPcieClock5|0|UINT64|0x000000A3
+  gBoardModuleTokenSpaceGuid.PcdPcieClock6|0|UINT64|0x000000A4
+  gBoardModuleTokenSpaceGuid.PcdPcieClock7|0|UINT64|0x000000A5
+  gBoardModuleTokenSpaceGuid.PcdPcieClock8|0|UINT64|0x000000A6
+  gBoardModuleTokenSpaceGuid.PcdPcieClock9|0|UINT64|0x000000A7
+  gBoardModuleTokenSpaceGuid.PcdPcieClock10|0|UINT64|0x000000A8
+  gBoardModuleTokenSpaceGuid.PcdPcieClock11|0|UINT64|0x000000A9
+  gBoardModuleTokenSpaceGuid.PcdPcieClock12|0|UINT64|0x000000AA
+  gBoardModuleTokenSpaceGuid.PcdPcieClock13|0|UINT64|0x000000AB
+  gBoardModuleTokenSpaceGuid.PcdPcieClock14|0|UINT64|0x000000AC
+  gBoardModuleTokenSpaceGuid.PcdPcieClock15|0|UINT64|0x000000AD
+  gBoardModuleTokenSpaceGuid.PcdPcieClock16|0|UINT64|0x000000AE
+  gBoardModuleTokenSpaceGuid.PcdPcieClock17|0|UINT64|0x000000AF
+
+
+  # GPIO Group Tier
+  gBoardModuleTokenSpaceGuid.PcdGpioGroupToGpeDw0|0|UINT32|0x000000E9
+  gBoardModuleTokenSpaceGuid.PcdGpioGroupToGpeDw1|0|UINT32|0x000000EA
+  gBoardModuleTokenSpaceGuid.PcdGpioGroupToGpeDw2|0|UINT32|0x000000EB
+
+
+  # USB 3.0 Port Over Current Pin
+  gBoardModuleTokenSpaceGuid.PcdCpuXhciPortSupportMap|0|UINT8|0x00100031
+  gBoardModuleTokenSpaceGuid.PcdCpuUsb30PortEnable|0|UINT8|0x00100032
+
+  # Display DDI
+  gBoardModuleTokenSpaceGuid.PcdSaDisplayConfigTable|0|UINT32|0x00100033
+  gBoardModuleTokenSpaceGuid.PcdSaDisplayConfigTableSize|0|UINT16|0x00100034
+
+  # MISC
+  gBoardModuleTokenSpaceGuid.PcdPc8374SioKbcPresent|FALSE|BOOLEAN|0x000000ED
+  gBoardModuleTokenSpaceGuid.PcdOddPowerInitEnable|FALSE|BOOLEAN|0x000000EE
+  gBoardModuleTokenSpaceGuid.PcdSmbusAlertEnable|FALSE|BOOLEAN|0x0010101E
+  gBoardModuleTokenSpaceGuid.PcdGpioTier2WakeEnable|FALSE|BOOLEAN|0x00000100
+
+  # STAT
+  gBoardModuleTokenSpaceGuid.PcdSataPortsEnable0|0|UINT8|0x000000F0
+
+  # CPU
+  gBoardModuleTokenSpaceGuid.PcdCpuRatio|0x0|UINT8|0x00000200
+
+  # MISC
+  gBoardModuleTokenSpaceGuid.PcdPs2KbMsEnable|1|UINT8|0x40000A09
+  gBoardModuleTokenSpaceGuid.PcdStackBase|0x0|UINT32|0x40000A10
+  gBoardModuleTokenSpaceGuid.PcdStackSize|0x0|UINT32|0x40000A11
+  gBoardModuleTokenSpaceGuid.PcdNvsBufferPtr|0x0|UINT32|0x40000A12
+  gBoardModuleTokenSpaceGuid.PcdCleanMemory|0x0|UINT8|0x40000A13
+
+  #
+  # The PCD which is defined to enable/disable the SATA LED function.
+  #
+  gBoardModuleTokenSpaceGuid.PcdSataLedEnable|FALSE|BOOLEAN|0x0010111F
+
+  #
+  # The PCD which is defined to enable/disable the VR Alert function.
+  #
+  gBoardModuleTokenSpaceGuid.PcdVrAlertEnable|FALSE|BOOLEAN|0x00101020
+
+  #
+  # This PCD is defined to enable/disable TCSS BIOS handshake for PMC-PD solution
+  #
+  gBoardModuleTokenSpaceGuid.PcdBoardPmcPdEnable|TRUE|BOOLEAN|0x00101024
+
+  # TouchPanel
+  gBoardModuleTokenSpaceGuid.PcdBoardGpioTableTouchPanel1|0|UINT32|0x00000048
+  gBoardModuleTokenSpaceGuid.PcdBoardGpioTableTouchPanel1Size|0|UINT16|0x00000049
+
+
+  # SA Misc Configuration
+  gBoardModuleTokenSpaceGuid.PcdSaMiscUserBd|0|UINT8|0x00000066
+  gBoardModuleTokenSpaceGuid.PcdSaMiscMmioSizeAdjustment|0|UINT16|0x00000067
+  gBoardModuleTokenSpaceGuid.PcdSaDdrFreqLimit|0|UINT16|0x0000A101
+  gBoardModuleTokenSpaceGuid.PcdSaMiscFirstDimmBitMask|0|UINT8|0x0000A103
+  gBoardModuleTokenSpaceGuid.PcdSaMiscFirstDimmBitMaskEcc|0|UINT8|0x0000A104
+  gBoardModuleTokenSpaceGuid.PcdSaMiscDisableMrcRetrainingOnRtcPowerLoss|0|UINT8|0x0000A105
+
+  #CVF GPIO configuration
+  gBoardModuleTokenSpaceGuid.PcdBoardGpioTableCvf|0|UINT32|0x0000B101
+  gBoardModuleTokenSpaceGuid.PcdBoardGpioTableCvfSize|0|UINT16|0x0000B102
+
+  gBoardModuleTokenSpaceGuid.PcdGraphicsVbtGuid|{0x22, 0x61, 0xd4, 0x4a, 0xeb, 0xff, 0x52, 0x4a, 0xbf, 0xb0, 0x51, 0x8c, 0xfc, 0xa0, 0x2d, 0xb0}|VOID*|0x40000014
+
+  # Board Information
+  gBoardModuleTokenSpaceGuid.PcdPlatformGeneration|0x0|UINT8|0x00101011
+  gBoardModuleTokenSpaceGuid.PcdSpdPresent|FALSE|BOOLEAN|0x00101012
+  gBoardModuleTokenSpaceGuid.PcdPlatformType|0x0|UINT8|0x00101014
+  gBoardModuleTokenSpaceGuid.PcdPlatformFlavor|0x0|UINT8|0x00101015
+  gBoardModuleTokenSpaceGuid.PcdBoardRev|0x0|UINT16|0x00101016
+  gBoardModuleTokenSpaceGuid.PcdBoardBomId|0x0|UINT16|0x00101017
+  gBoardModuleTokenSpaceGuid.PcdBoardId|0|UINT16|0x00101018
+  gBoardModuleTokenSpaceGuid.PcdBoardType|0x0|UINT8|0x00101019
+  gBoardModuleTokenSpaceGuid.PcdSkuType|0x0|UINT8|0x0010101F
+  gBoardModuleTokenSpaceGuid.PcdWakeupType|0x0|UINT8|0x00101004
+  gBoardModuleTokenSpaceGuid.PcdDisplayId|0x0|UINT16|0x00101032
+
+  # MRC Config
+  gBoardModuleTokenSpaceGuid.PcdMrcRcompResistor|0|UINT32|0x00000A68
+  gBoardModuleTokenSpaceGuid.PcdMrcRcompTarget|0|UINT32|0x00000A69
+  gBoardModuleTokenSpaceGuid.PcdMrcDqByteMap|0|UINT32|0x00000A6A
+  gBoardModuleTokenSpaceGuid.PcdMrcDqByteMapSize|0|UINT16|0x00000A6B
+  gBoardModuleTokenSpaceGuid.PcdMrcDqsMapCpu2Dram|0|UINT32|0x00000A6C
+  gBoardModuleTokenSpaceGuid.PcdMrcDqsMapCpu2DramSize|0|UINT16|0x00000A6D
+  gBoardModuleTokenSpaceGuid.PcdMrcDqPinsInterleavedControl|FALSE|BOOLEAN|0x00000A6E
+  gBoardModuleTokenSpaceGuid.PcdMrcDqPinsInterleaved|FALSE|BOOLEAN|0x00000A6F
+  gBoardModuleTokenSpaceGuid.PcdMrcLp5CccConfig|0|UINT8|0x00000A73
+  gBoardModuleTokenSpaceGuid.PcdMrcCmdMirror|0|UINT8|0x00000A74
+  gBoardModuleTokenSpaceGuid.PcdRootPortIndex|0xFF|UINT8|0x00000A78
+
+  # USB 2.0 Port Over Current Pin
+  gBoardModuleTokenSpaceGuid.PcdUsb2OverCurrentPinTable|0|UINT32|0x000000BC
+
+  # USB 3.0 Port Over Current Pin
+  gBoardModuleTokenSpaceGuid.PcdUsb3OverCurrentPinTable|0|UINT32|0x000000BE
+
+  # Pch SerialIo I2c Pads Termination
+  gBoardModuleTokenSpaceGuid.PcdPchSerialIoI2c0PadInternalTerm|0x1|UINT8|0x00000020
+  gBoardModuleTokenSpaceGuid.PcdPchSerialIoI2c1PadInternalTerm|0x1|UINT8|0x00000021
+  gBoardModuleTokenSpaceGuid.PcdPchSerialIoI2c2PadInternalTerm|0x1|UINT8|0x00000022
+  gBoardModuleTokenSpaceGuid.PcdPchSerialIoI2c3PadInternalTerm|0x1|UINT8|0x00000023
+  gBoardModuleTokenSpaceGuid.PcdPchSerialIoI2c4PadInternalTerm|0x1|UINT8|0x00000030
+  gBoardModuleTokenSpaceGuid.PcdPchSerialIoI2c5PadInternalTerm|0x1|UINT8|0x00000031
+  gBoardModuleTokenSpaceGuid.PcdPchSerialIoI2c6PadInternalTerm|0x1|UINT8|0x00000032
+  gBoardModuleTokenSpaceGuid.PcdPchSerialIoI2c7PadInternalTerm|0x1|UINT8|0x00000033
+
+  # UCMC GPIO Table
+  gBoardModuleTokenSpaceGuid.PcdBoardUcmcGpio1|0|UINT32|0x0000011B
+  gBoardModuleTokenSpaceGuid.PcdBoardUcmcGpio2|0|UINT32|0x0000011C
+  gBoardModuleTokenSpaceGuid.PcdBoardUcmcGpio3|0|UINT32|0x0000011D
+  gBoardModuleTokenSpaceGuid.PcdBoardUcmcGpio4|0|UINT32|0x0000011E
+
+
+  gBoardModuleTokenSpaceGuid.PcdPreferredPmProfile|0x0|UINT8|0x00100205
+
+  #PlatformInfoPcd
+  gBoardModuleTokenSpaceGuid.PcdEnableVoltageMargining|FALSE|BOOLEAN|0x00101000
+
+  #
+  # The PCD defines the I2C bus number to which PSS chip connected.
+  #
+  gBoardModuleTokenSpaceGuid.PcdPssReadSN|FALSE|BOOLEAN|0x00101025
+  gBoardModuleTokenSpaceGuid.PcdPssI2cBusNumber|0x05|UINT8|0x00101026
+  gBoardModuleTokenSpaceGuid.PcdPssI2cSlaveAddress|0x6E|UINT8|0x00101027
+
+  # PCIE SLOT 1 - X4 CONNECTOR RTD3
+  gBoardModuleTokenSpaceGuid.PcdPcieSlot1GpioSupport|0|UINT8|0x00000A79
+  gBoardModuleTokenSpaceGuid.PcdPcieSlot1PwrEnableExpanderNo|0|UINT8|0x00000A7D
+  gBoardModuleTokenSpaceGuid.PcdPcieSlot1PwrEnableGpioNo|0|UINT32|0x00000A7E
+  gBoardModuleTokenSpaceGuid.PcdPcieSlot1WakeGpioPin|0x0|UINT32|0x00000A80
+  gBoardModuleTokenSpaceGuid.PcdDg1VramSRGpio|0x0|UINT32|0x00000A82
+
+
+  # PCIE SLOT 2 - X4 CONNECTOR RTD3
+  gBoardModuleTokenSpaceGuid.PcdPchPCIeSlot2PwrEnableGpioNo|0|UINT32|0x00000084
+  gBoardModuleTokenSpaceGuid.PcdPchPCIeSlot2PwrEnableGpioPolarity|0|BOOLEAN|0x00000085
+  gBoardModuleTokenSpaceGuid.PcdPcieSlot2WakeGpioPin|0|UINT32|0x00000088
+  gBoardModuleTokenSpaceGuid.PcdPcieSlot2RootPort|0|UINT8|0x0000008A
+
+  # CPU M.2 SSD Slot RTD3
+  gBoardModuleTokenSpaceGuid.PcdPcieSsd2PwrEnableGpioNo|0|UINT32|0x0000008B
+  gBoardModuleTokenSpaceGuid.PcdPcieSsd2PwrEnableGpioPolarity|0|BOOLEAN|0x0000008D
+  gBoardModuleTokenSpaceGuid.PcdPcieSsd3PwrEnableGpioNo|0|UINT32|0x00000101
+  gBoardModuleTokenSpaceGuid.PcdPcieSsd3PwrEnableGpioPolarity|0|BOOLEAN|0x00000109
+
+  # CPU Peg DG Slot RTD3
+  gBoardModuleTokenSpaceGuid.PcdPcieDG2PwrEnableGpioNo|0|UINT32|0x00000105
+  gBoardModuleTokenSpaceGuid.PcdPcieDG2PwrEnableGpioPolarity|0|BOOLEAN|0x00000107
+  gBoardModuleTokenSpaceGuid.PcdPcieDG2WakeGpioPin|0|UINT32|0x00000113
+
+  # PCH SATA port RTD3
+  gBoardModuleTokenSpaceGuid.PcdPchSataPortPwrEnableGpioNo|0|UINT32|0x0000008F
+  gBoardModuleTokenSpaceGuid.PcdPchSataPortPwrEnableGpioPolarity|0|BOOLEAN|0x00000400
+
+
+  # DXE PCDs
+  gBoardModuleTokenSpaceGuid.PcdBoardRtd3TableSignature|0x0|UINT64|0x00100250
+  gBoardModuleTokenSpaceGuid.PcdSpdAddressOverride|FALSE|BOOLEAN|0x00100203
+  gBoardModuleTokenSpaceGuid.PcdXhciAcpiTableSignature|0x0|UINT64|0x00100204
+  gBoardModuleTokenSpaceGuid.PcdTsOnDimmTemperature|FALSE|BOOLEAN|0x00100123
+  gBoardModuleTokenSpaceGuid.PcdDimmPopulationError|FALSE|BOOLEAN|0x00100221
+
+
+  # ASL PCDs
+  gBoardModuleTokenSpaceGuid.PcdBatteryPresent                       |0x0|UINT8|0x00100124
+  gBoardModuleTokenSpaceGuid.PcdRealBattery1Control                  |0x00|UINT8|0x00100103
+  gBoardModuleTokenSpaceGuid.PcdRealBattery2Control                  |0x00|UINT8|0x00100104
+  gBoardModuleTokenSpaceGuid.PcdNCT6776FCOM                          |FALSE|BOOLEAN|0x00100107
+  gBoardModuleTokenSpaceGuid.PcdNCT6776FSIO                          |FALSE|BOOLEAN|0x00100108
+  gBoardModuleTokenSpaceGuid.PcdNCT6776FHWMON                        |FALSE|BOOLEAN|0x00100109
+  gBoardModuleTokenSpaceGuid.PcdH8S2113SIO                           |FALSE|BOOLEAN|0x0010010A
+  gBoardModuleTokenSpaceGuid.PcdH8S2113UAR                           |FALSE|BOOLEAN|0x0010010B
+  gBoardModuleTokenSpaceGuid.PcdSmcRuntimeSciPin                     |0x00|UINT32|0x00100111
+  gBoardModuleTokenSpaceGuid.PcdVirtualButtonVolumeUpSupport         |FALSE|BOOLEAN|0x00100119
+  gBoardModuleTokenSpaceGuid.PcdVirtualButtonVolumeDownSupport       |FALSE|BOOLEAN|0x0010011A
+  gBoardModuleTokenSpaceGuid.PcdVirtualButtonHomeButtonSupport       |FALSE|BOOLEAN|0x0010011B
+  gBoardModuleTokenSpaceGuid.PcdVirtualButtonRotationLockSupport     |FALSE|BOOLEAN|0x0010011C
+  gBoardModuleTokenSpaceGuid.PcdSlateModeSwitchSupport               |FALSE|BOOLEAN|0x0010011D
+  gBoardModuleTokenSpaceGuid.PcdVirtualGpioButtonSupport             |FALSE|BOOLEAN|0x0010011E
+  gBoardModuleTokenSpaceGuid.PcdPmPowerButtonGpioPin                 |0x00|UINT32|0x00100120
+  gBoardModuleTokenSpaceGuid.PcdAcpiEnableAllButtonSupport           |FALSE|BOOLEAN|0x00100121
+  gBoardModuleTokenSpaceGuid.PcdAcpiHidDriverButtonSupport           |FALSE|BOOLEAN|0x00100122
+
+  # Policy Default Check with Setup Necessary
+  gBoardModuleTokenSpaceGuid.PcdPolicyCheckIsFirstBoot|0|BOOLEAN|0x00000275
+  gBoardModuleTokenSpaceGuid.PcdPolicyCheckIsRvpSupport|0|BOOLEAN|0x00000276
+  gBoardModuleTokenSpaceGuid.PcdPolicyCheckPcdInitDone|0|BOOLEAN|0x00000277
+
+[PcdsDynamicEx]
+# Flag to Disable Vpd Gpio
+gBoardModuleTokenSpaceGuid.PcdDisableVpdGpioTable|FALSE|BOOLEAN|0x50000015
+# Pre-Mem GPIO table
+  gBoardModuleTokenSpaceGuid.PcdBoardGpioTablePreMem|{0}|GPIO_INIT_CONFIG_ARRAY|0x50000017 {
+  <HeaderFiles>
+    Pins/GpioPinsVer2Lp.h
+    Library/GpioLib.h
+    PlatformGpioConfig.h
+  <Packages>
+    MdePkg/MdePkg.dec
+    AlderlakeSiliconPkg/SiPkg.dec
+    AlderlakeOpenBoardPkg/OpenBoardPkg.dec
+}
+
+  gBoardModuleTokenSpaceGuid.VpdPcdBoardGpioTablePreMem|{0}|GPIO_INIT_CONFIG[]|0x50000018 {
+  <HeaderFiles>
+    Pins/GpioPinsVer2Lp.h
+    Library/GpioLib.h
+    Library/GpioConfig.h
+  <Packages>
+    MdePkg/MdePkg.dec
+    AlderlakeSiliconPkg/SiPkg.dec
+    AlderlakeOpenBoardPkg/OpenBoardPkg.dec
+}
+
+# GPIO table
+  gBoardModuleTokenSpaceGuid.PcdBoardGpioTable|{0}|GPIO_INIT_CONFIG_ARRAY|0x50000019 {
+  <HeaderFiles>
+    Pins/GpioPinsVer2Lp.h
+    Library/GpioLib.h
+    PlatformGpioConfig.h
+  <Packages>
+    MdePkg/MdePkg.dec
+    AlderlakeSiliconPkg/SiPkg.dec
+    AlderlakeOpenBoardPkg/OpenBoardPkg.dec
+}
+  gBoardModuleTokenSpaceGuid.VpdPcdBoardGpioTable|{0}|GPIO_INIT_CONFIG[]|0x5000001C {
+  <HeaderFiles>
+    Pins/GpioPinsVer2Lp.h
+    Library/GpioConfig.h
+  <Packages>
+    MdePkg/MdePkg.dec
+    AlderlakeSiliconPkg/SiPkg.dec
+    AlderlakeOpenBoardPkg/OpenBoardPkg.dec
+}
+
+# PCIE CLOCKS USAGE
+  gBoardModuleTokenSpaceGuid.VpdPcdPcieClkUsageMap|{0}|PCIE_CLOCKS_USAGE|0x50000022 {
+  <HeaderFiles>
+    PlatformBoardConfig.h
+  <Packages>
+    MdePkg/MdePkg.dec
+    AlderlakeOpenBoardPkg/OpenBoardPkg.dec
+}
+
+# USB2 OC MAPPING
+  gBoardModuleTokenSpaceGuid.VpdPcdUSB2OCMap|{0}|USB_OC_MAP_TABLE|0x50000023 {
+  <HeaderFiles>
+    PlatformBoardConfig.h
+  <Packages>
+    MdePkg/MdePkg.dec
+    AlderlakeSiliconPkg/SiPkg.dec
+    AlderlakeOpenBoardPkg/OpenBoardPkg.dec
+}
+
+# USB3 OC MAPPING
+   gBoardModuleTokenSpaceGuid.VpdPcdUSB3OCMap|{0}|USB_OC_MAP_TABLE|0x50000024 {
+   <HeaderFiles>
+    PlatformBoardConfig.h
+  <Packages>
+    MdePkg/MdePkg.dec
+    AlderlakeSiliconPkg/SiPkg.dec
+    AlderlakeOpenBoardPkg/OpenBoardPkg.dec
+}
+
+
+#SBC SPD DATA
+  gBoardModuleTokenSpaceGuid.VpdPcdMrcSpdData|{0}|SPD_DATA|0x50000025 {
+  <HeaderFiles>
+   PlatformBoardConfig.h
+  <Packages>
+   MdePkg/MdePkg.dec
+   AlderlakeOpenBoardPkg/OpenBoardPkg.dec
+}
+
+# SBC MRC DQS MAPPING
+  gBoardModuleTokenSpaceGuid.VpdPcdMrcDqsMapCpu2Dram|{0}|MRC_DQS|0x50000026 {
+  <HeaderFiles>
+   PlatformBoardConfig.h
+  <Packages>
+   MdePkg/MdePkg.dec
+   AlderlakeSiliconPkg/SiPkg.dec
+   AlderlakeOpenBoardPkg/OpenBoardPkg.dec
+}
+
+# SBC MRC DQ MAPPING
+  gBoardModuleTokenSpaceGuid.VpdPcdMrcDqMapCpu2Dram|{0}|MRC_DQ|0x50000027 {
+  <HeaderFiles>
+    PlatformBoardConfig.h
+  <Packages>
+   MdePkg/MdePkg.dec
+   AlderlakeSiliconPkg/SiPkg.dec
+   AlderlakeOpenBoardPkg/OpenBoardPkg.dec
+}
+
+# CPU USB3 OC MAPPING
+   gBoardModuleTokenSpaceGuid.VpdPcdCpuUsb3OcMap|{0}|USB_OC_MAP_TABLE|0x50000028 {
+   <HeaderFiles>
+    PlatformBoardConfig.h
+  <Packages>
+    MdePkg/MdePkg.dec
+    AlderlakeSiliconPkg/SiPkg.dec
+    AlderlakeOpenBoardPkg/OpenBoardPkg.dec
+}
+
+# ACPI data
+  gBoardModuleTokenSpaceGuid.PcdBoardAcpiData|{0}|VOID*|0x5000001A
+
+# Early Pre-Mem GPIO table
+  gBoardModuleTokenSpaceGuid.PcdBoardGpioTableEarlyPreMem|{0}|GPIO_INIT_CONFIG_ARRAY|0x5000001B {
+  <HeaderFiles>
+    Pins/GpioPinsVer2Lp.h
+    Library/GpioLib.h
+    PlatformGpioConfig.h
+  <Packages>
+    MdePkg/MdePkg.dec
+    AlderlakeSiliconPkg/SiPkg.dec
+    AlderLakeOpenBoardPkg/OpenBoardPkg.dec
+}
+
+  # Onboard MR 1 RTD3 (for ADL S8 only, used when dTBT is enabled)
+  gBoardModuleTokenSpaceGuid.PcdOnBoardMr1PowerEnableGpioNo|0|UINT32|0x00000149
+  gBoardModuleTokenSpaceGuid.PcdOnBoardMr1PowerEnableGpioPolarity|0|BOOLEAN|0x00000150
+  gBoardModuleTokenSpaceGuid.PcdOnBoardMr1WakeGpioPin|0|UINT32|0x00000153
+  gBoardModuleTokenSpaceGuid.PcdOnBoardMr1RootPort|0|UINT8|0x00000154
+
+  # Onboard MR 2 RTD3 (Used when dTBT is enabled)
+  gBoardModuleTokenSpaceGuid.PcdOnBoardMr2PowerEnableGpioNo|0|UINT32|0x00000155
+  gBoardModuleTokenSpaceGuid.PcdOnBoardMr2PowerEnableGpioPolarity|0|BOOLEAN|0x00000156
+  gBoardModuleTokenSpaceGuid.PcdOnBoardMr2WakeGpioPin|0|UINT32|0x00000159
+  gBoardModuleTokenSpaceGuid.PcdOnBoardMr2RootPort|0|UINT8|0x00000160
+
+[PcdsDynamic, PcdsDynamicEx]
+
+[PcdsPatchableInModule]
+
+[PcdsFeatureFlag]
+  gBoardModuleTokenSpaceGuid.PcdUefiShellEnable         |FALSE|BOOLEAN|0xF0000B53
+  gBoardModuleTokenSpaceGuid.PcdIntelGopEnable          |FALSE|BOOLEAN|0xF0000B54
+
+[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
+  ## This is the GUID of the FFS which contains the Graphics Video BIOS Table (VBT)
+  # The VBT content is stored as a RAW section which is consumed by GOP PEI/UEFI driver.
+  # This MIPI GUID can be updated by patching or runtime if platform support multiple VBT configurations.
+  # @Prompt GUID of the FFS which contains the Graphics Video BIOS Table (VBT)
+  # { 0x8958d092, 0x7b26, 0x4e47, 0xbb, 0x98, 0x16, 0xae, 0x2d, 0xc3, 0x15, 0xa2 }
+  gBoardModuleTokenSpaceGuid.PcdVbtMipiGuid|{ 0x92, 0xd0, 0x58, 0x89, 0x26, 0x7b, 0x47, 0x4e, 0xbb, 0x98, 0x16, 0xae, 0x2d, 0xc3, 0x15, 0xa2 }|VOID*|0x00000001
+
+  ## PCDs for the MMIO base address range (default 1M) for ATA AHCI host controller used in PEI phase
+  gPlatformModuleTokenSpaceGuid.PcdAhciPeiMmioBase|0xD1000000|UINT32|0x0000C10E
+  gPlatformModuleTokenSpaceGuid.PcdAhciPeiMmioLimit|0xD10FFFFF|UINT32|0x0000C10F
+
+  # PCDs for the MMIO base address range (default 4M) for NVM Express host controller used in PEI phase
+  # @Prompt Temporary mmio base address of NVME host controller.
+  gPlatformModuleTokenSpaceGuid.PcdNvmeHcPeiMmioBase |0xFFFFFFFF|UINT32|0x0000C110
+  # @Prompt Temporary mmio address limitation of NVME host controller.
+  gPlatformModuleTokenSpaceGuid.PcdNvmeHcPeiMmioLimit|0xFFFFFFFF|UINT32|0x0000C111
+
+  # PCDs for the MMIO base address range (default 4M) for UFS host controller used in PEI phase
+  # @Prompt Temporary mmio base address of UFS host controller.
+  gPlatformModuleTokenSpaceGuid.PcdUfsPeiHcMmioBase  |0xFFFFFFFF|UINT32|0x0000C112
+
+  #
+  # This PCD use for UFS BlockIo maximum read size from deivce in PEI phase.
+  # Value need to take the Dma Buffer Size into account.
+  # Must be a multiple of the intrinsic block size of the device.
+  #
+  gPlatformModuleTokenSpaceGuid.PcdUfsReadPeiMaxTransferSize|0x00001000|UINT32|0x0000C113
+
+
+  ## This PCD defines initial setting of TCG2 Persistent Firmware Management Flags
+  # PCD can be configured for different settings in different scenarios
+  # Default setting is TCG2_BIOS_TPM_MANAGEMENT_FLAG_DEFAULT | TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_DEFAULT
+  # @Prompt Initial setting of TCG2 Persistent Firmware Management Flags
+  # Enabled PPI for PPRequiredForTurnOff, PPRequiredForChangeEPS, PPRequiredForChangePCRs, PPRequiredForEnable_BlockSIDFunc, PPRequiredForDisable_BlockSIDFunc
+  gEfiSecurityPkgTokenSpaceGuid.PcdTcg2PhysicalPresenceFlags|0x300E0|UINT32|0x0001001B
+
-- 
2.36.1.windows.1


       reply	other threads:[~2023-06-14 19:17 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <cover.1686770061.git.saloni.kasbekar@intel.com>
2023-06-14 19:17 ` Saloni Kasbekar [this message]
2023-06-14 19:17 ` [PATCH 2/6] AlderlakeOpenBoardPkg: Add modules Saloni Kasbekar
2023-06-14 19:17 ` [PATCH 3/6] AlderlakeOpenBoardPkg/AlderlakePRvp: Add library instances Saloni Kasbekar
2023-06-14 19:17 ` [PATCH 4/6] AlderlakeOpenBoardPkg: Add ACPI module Saloni Kasbekar
2023-06-14 19:17 ` [PATCH 5/6] AlderlakeOpenBoardPkg: Adds the Policy Module Saloni Kasbekar
2023-06-14 19:17 ` [PATCH 6/6] AlderlakeOpenBoardPkg: Add Library Instances Saloni Kasbekar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b16a55b52579d2aa031109d6a6c64247618ee0b4.1686770061.git.saloni.kasbekar@intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox