From 3853be02e71adb8f87d2c792b9f3f855b798e428 Mon Sep 17 00:00:00 2001 From: Nate DeSimone Date: Tue, 28 Jun 2022 16:37:59 -0700 Subject: [PATCH] Alder Lake FSP C.1.69.74 --- .../Client/AlderLakeP/AlderLakeFspBinPkg.dec | 19 + AlderLakeFspBinPkg/Client/AlderLakeP/Fsp.bsf | 6028 ++ AlderLakeFspBinPkg/Client/AlderLakeP/Fsp.fd | Bin 0 -> 1241088 bytes .../Client/AlderLakeP/FspPkgPcdShare.dsc | 90 + .../AlderLakeP/Include/FirmwareVersionInfo.h | 54 + .../Include/FirmwareVersionInfoHob.h | 65 + .../Client/AlderLakeP/Include/FspInfoHob.h | 32 + .../Client/AlderLakeP/Include/FspUpd.h | 48 + .../Client/AlderLakeP/Include/FspmUpd.h | 4029 + .../Client/AlderLakeP/Include/FspsUpd.h | 4280 + .../Client/AlderLakeP/Include/FsptUpd.h | 357 + .../Client/AlderLakeP/Include/GpioConfig.h | 332 + .../Client/AlderLakeP/Include/GpioSampleDef.h | 381 + .../AlderLakeP/Include/HobUsageDataHob.h | 35 + .../Client/AlderLakeP/Include/MemInfoHob.h | 315 + .../AlderLakeP/Include/SmbiosCacheInfoHob.h | 47 + .../Include/SmbiosProcessorInfoHob.h | 62 + .../Library/FspPcdListLib/FspPcdListLibNull.c | 25 + .../FspPcdListLib/FspPcdListLibNull.inf | 61 + .../Client/AlderLakeP/SampleCode/Vbt/Vbt.bin | Bin 0 -> 8704 bytes .../Client/AlderLakeP/SampleCode/Vbt/Vbt.json | 72466 ++++++++++++++++ 21 files changed, 88726 insertions(+) create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/AlderLakeFspBinPkg.dec create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Fsp.bsf create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Fsp.fd create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/FspPkgPcdShare.dsc create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Include/FirmwareVersionInfo.h create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Include/FirmwareVersionInfoHob.h create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Include/FspInfoHob.h create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Include/FspUpd.h create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Include/FspmUpd.h create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Include/FspsUpd.h create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Include/FsptUpd.h create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Include/GpioConfig.h create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Include/GpioSampleDef.h create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Include/HobUsageDataHob.h create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Include/MemInfoHob.h create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Include/SmbiosCacheInfoHob.h create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Include/SmbiosProcessorInfoHob.h create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Library/FspPcdListLib/FspPcdListLibNull.c create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/Library/FspPcdListLib/FspPcdListLibNull.inf create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/SampleCode/Vbt/Vbt.bin create mode 100644 AlderLakeFspBinPkg/Client/AlderLakeP/SampleCode/Vbt/Vbt.json diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/AlderLakeFspBinPkg.dec b/AlderLakeFspBinPkg/Client/AlderLakeP/AlderLakeFspBinPkg.dec new file mode 100644 index 0000000..6f2c09e --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/AlderLakeFspBinPkg.dec @@ -0,0 +1,19 @@ +## @file +# Component description file for AlderLake Fsp Bin package. +# +# @copyright +# Copyright (c) 2022, Intel Corporation. All rights reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +# @par Specification +## + +[Defines] + DEC_SPECIFICATION = 0x00010005 + PACKAGE_NAME = AlderLakeFspBinPkg + PACKAGE_GUID = 0F3DA8C5-37D9-4AF8-8302-3B6CB2D97FC1 + PACKAGE_VERSION = 1.02 + +[Includes] + Include diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Fsp.bsf b/AlderLakeFspBinPkg/Client/AlderLakeP/Fsp.bsf new file mode 100644 index 0000000..ea20a06 --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/Fsp.bsf @@ -0,0 +1,6028 @@ +/** @file + + Boot Setting File for Platform Configuration. + + Copyright (c) 2022, Intel Corporation. All rights reserved.
+ This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + + This file is automatically generated. Please do NOT modify !!! + +**/ + + + +GlobalDataDef + SKUID = 0, "DEFAULT" +EndGlobalData + + +StructDef + + Find "ADLUPD_T" + $gPlatformFspPkgTokenSpaceGuid_Revision 1 bytes $_DEFAULT_ = 0x02 + Skip 87 bytes + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartDebugEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartNumber 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartMode 1 bytes $_DEFAULT_ = 0x02 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartBaudRate 4 bytes $_DEFAULT_ = 115200 + $gPlatformFspPkgTokenSpaceGuid_PcdPciExpressBaseAddress 8 bytes $_DEFAULT_ = 0xC0000000 + $gPlatformFspPkgTokenSpaceGuid_PcdPciExpressRegionLength 4 bytes $_DEFAULT_ = 0x10000000 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartParity 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartDataBits 1 bytes $_DEFAULT_ = 0x08 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartStopBits 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartAutoFlow 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartRxPinMux 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartTxPinMux 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartRtsPinMux 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartCtsPinMux 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartDebugMmioBase 4 bytes $_DEFAULT_ = 0xFE036000 + $gPlatformFspPkgTokenSpaceGuid_PcdLpcUartDebugEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcdDebugInterfaceFlags 1 bytes $_DEFAULT_ = 0x012 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialDebugLevel 1 bytes $_DEFAULT_ = 0x03 + $gPlatformFspPkgTokenSpaceGuid_PcdIsaSerialUartBase 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartNumber 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartMode 1 bytes $_DEFAULT_ = 0x02 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartBaudRate 4 bytes $_DEFAULT_ = 115200 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartParity 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartDataBits 1 bytes $_DEFAULT_ = 0x08 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartStopBits 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartAutoFlow 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartRxPinMux 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartTxPinMux 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartRtsPinMux 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartCtsPinMux 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartMmioBase 4 bytes $_DEFAULT_ = 0xFE034000 + Skip 4 bytes + $gPlatformFspPkgTokenSpaceGuid_FspDebugHandler 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoSpiCsPolarity 2 bytes $_DEFAULT_ = 0x0, 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoSpiCsEnable 2 bytes $_DEFAULT_ = 0x0, 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoSpiMode 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoSpiDefaultCsOutput 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoSpiCsMode 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoSpiCsState 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoSpiNumber 1 bytes $_DEFAULT_ = 0x0 + Skip 3 bytes + $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoSpiMmioBase 4 bytes $_DEFAULT_ = 0x0 + + Find "ADLUPD_M" + $gPlatformFspPkgTokenSpaceGuid_Revision 1 bytes $_DEFAULT_ = 0x02 + Skip 55 bytes + $gPlatformFspPkgTokenSpaceGuid_PlatformMemorySize 8 bytes $_DEFAULT_ = 0x550000 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdDataLen 2 bytes $_DEFAULT_ = 0x200 + $gPlatformFspPkgTokenSpaceGuid_EnableAbove4GBMmio 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuCrashLogDevice 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr000 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr001 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr010 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr011 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr020 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr021 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr030 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr031 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr100 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr101 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr110 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr111 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr120 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr121 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr130 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr131 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_RcompResistor 2 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_RcompTarget 10 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_DqsMapCpu2DramMc0Ch0 2 bytes $_DEFAULT_ = 0, 1 + $gPlatformFspPkgTokenSpaceGuid_DqsMapCpu2DramMc0Ch1 2 bytes $_DEFAULT_ = 0, 1 + $gPlatformFspPkgTokenSpaceGuid_DqsMapCpu2DramMc0Ch2 2 bytes $_DEFAULT_ = 0, 1 + $gPlatformFspPkgTokenSpaceGuid_DqsMapCpu2DramMc0Ch3 2 bytes $_DEFAULT_ = 0, 1 + $gPlatformFspPkgTokenSpaceGuid_DqsMapCpu2DramMc1Ch0 2 bytes $_DEFAULT_ = 0, 1 + $gPlatformFspPkgTokenSpaceGuid_DqsMapCpu2DramMc1Ch1 2 bytes $_DEFAULT_ = 0, 1 + $gPlatformFspPkgTokenSpaceGuid_DqsMapCpu2DramMc1Ch2 2 bytes $_DEFAULT_ = 0, 1 + $gPlatformFspPkgTokenSpaceGuid_DqsMapCpu2DramMc1Ch3 2 bytes $_DEFAULT_ = 0, 1 + $gPlatformFspPkgTokenSpaceGuid_DqMapCpu2DramMc0Ch0 16 bytes $_DEFAULT_ = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 + $gPlatformFspPkgTokenSpaceGuid_DqMapCpu2DramMc0Ch1 16 bytes $_DEFAULT_ = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 + $gPlatformFspPkgTokenSpaceGuid_DqMapCpu2DramMc0Ch2 16 bytes $_DEFAULT_ = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 + $gPlatformFspPkgTokenSpaceGuid_DqMapCpu2DramMc0Ch3 16 bytes $_DEFAULT_ = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 + $gPlatformFspPkgTokenSpaceGuid_DqMapCpu2DramMc1Ch0 16 bytes $_DEFAULT_ = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 + $gPlatformFspPkgTokenSpaceGuid_DqMapCpu2DramMc1Ch1 16 bytes $_DEFAULT_ = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 + $gPlatformFspPkgTokenSpaceGuid_DqMapCpu2DramMc1Ch2 16 bytes $_DEFAULT_ = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 + $gPlatformFspPkgTokenSpaceGuid_DqMapCpu2DramMc1Ch3 16 bytes $_DEFAULT_ = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 + $gPlatformFspPkgTokenSpaceGuid_DqPinsInterleaved 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_SmramMask 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_Ibecc 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_IbeccOperationMode 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_IbeccProtectedRangeEnable 8 bytes $_DEFAULT_ = 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 + $gPlatformFspPkgTokenSpaceGuid_IbeccProtectedRangeBase 32 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_IbeccProtectedRangeMask 32 bytes $_DEFAULT_ = 0xE0,0xFF,0xFF,0x03,0xE0,0xFF,0xFF,0x03,0xE0,0xFF,0xFF,0x03,0xE0,0xFF,0xFF,0x03,0xE0,0xFF,0xFF,0x03,0xE0,0xFF,0xFF,0x03,0xE0,0xFF,0xFF,0x03,0xE0,0xFF,0xFF,0x03 + $gPlatformFspPkgTokenSpaceGuid_MrcFastBoot 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_RmtPerTask 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_TrainTrace 1 bytes $_DEFAULT_ = 0x0 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_TsegSize 4 bytes $_DEFAULT_ = 0x0400000 + $gPlatformFspPkgTokenSpaceGuid_MmioSize 2 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_ProbelessTrace 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SmbusEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_SpdAddressTable 16 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_PlatformDebugConsent 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DciEn 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DciDbcMode 1 bytes $_DEFAULT_ = 0x04 + $gPlatformFspPkgTokenSpaceGuid_DciModphyPg 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DciUsb3TypecUfpDbg 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_PchTraceHubMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchTraceHubMemReg0Size 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchTraceHubMemReg1Size 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkDmicClockSelect 2 bytes $_DEFAULT_ = 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPreMemRsvd 5 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_X2ApicOptOut 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DmaControlGuarantee 1 bytes $_DEFAULT_ = 0x1 + Skip 3 bytes + $gPlatformFspPkgTokenSpaceGuid_VtdBaseAddress 36 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_VtdDisable 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_VtdIgdEnable 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_VtdIpuEnable 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_VtdIopEnable 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_VtdItbtEnable 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_IgdDvmt50PreAlloc 1 bytes $_DEFAULT_ = 0xFE + $gPlatformFspPkgTokenSpaceGuid_InternalGfx 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_ApertureSize 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_UserBd 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DisableMrcRetrainingOnRtcPowerLoss 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DdrFreqLimit 2 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_SaGv 1 bytes $_DEFAULT_ = 0x05 + $gPlatformFspPkgTokenSpaceGuid_MemTestOnWarmBoot 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_DdrSpeedControl 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RMT 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DisableMc0Ch0 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DisableMc0Ch1 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DisableMc0Ch2 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DisableMc0Ch3 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DisableMc1Ch0 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DisableMc1Ch1 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DisableMc1Ch2 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DisableMc1Ch3 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ScramblerSupport 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_SpdProfileSelected 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RefClk 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_VddVoltage 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_Ratio 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_tCL 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_tCWL 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_tFAW 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_tRAS 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_tRCDtRP 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_tREFI 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_tRFC 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_tRRD 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_tRTP 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_tWR 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_tWTR 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_NModeSupport 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchHdaEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchIshEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuTraceHubMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuTraceHubMemReg0Size 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuTraceHubMemReg1Size 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SaGvGear 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SaGvFreq 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_GearRatio 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_HeciTimeouts 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_Heci1BarAddress 4 bytes $_DEFAULT_ = 0xFEDA2000 + $gPlatformFspPkgTokenSpaceGuid_Heci2BarAddress 4 bytes $_DEFAULT_ = 0xFEDA3000 + $gPlatformFspPkgTokenSpaceGuid_Heci3BarAddress 4 bytes $_DEFAULT_ = 0xFEDA4000 + $gPlatformFspPkgTokenSpaceGuid_HgDelayAfterPwrEn 2 bytes $_DEFAULT_ = 300 + $gPlatformFspPkgTokenSpaceGuid_HgDelayAfterHoldReset 2 bytes $_DEFAULT_ = 100 + $gPlatformFspPkgTokenSpaceGuid_MmioSizeAdjustment 2 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_InitPcieAspmAfterOprom 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PrimaryDisplay 1 bytes $_DEFAULT_ = 0x3 + $gPlatformFspPkgTokenSpaceGuid_PsmiRegionSize 1 bytes $_DEFAULT_ = 0x0 + Skip 3 bytes + $gPlatformFspPkgTokenSpaceGuid_GmAdr 4 bytes $_DEFAULT_ = 0xB0000000 + $gPlatformFspPkgTokenSpaceGuid_GttMmAdr 4 bytes $_DEFAULT_ = 0xAF000000 + $gPlatformFspPkgTokenSpaceGuid_GttSize 2 bytes $_DEFAULT_ = 0x3 + $gPlatformFspPkgTokenSpaceGuid_CpuPcie0Rtd3Gpio 24 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_TxtImplemented 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_SaOcSupport 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_GtVoltageMode 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_GtMaxOcRatio 1 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_GtVoltageOffset 2 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_GtVoltageOverride 2 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_GtExtraTurboVoltage 2 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_SaVoltageOffset 2 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_RootPortIndex 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_RealtimeMemoryTiming 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcieMultipleSegmentEnabled 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_SaIpuEnable 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_IpuLaneUsed 8 bytes $_DEFAULT_ = 0x04, 0x01, 0x02, 0x04, 0x04, 0x04, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CsiSpeed 8 bytes $_DEFAULT_ = 0x2, 0x1, 0x2, 0x2, 0x2, 0x2, 0x0, 0x0 + $gPlatformFspPkgTokenSpaceGuid_ImguClkOutEn 6 bytes $_DEFAULT_ = 0x1, 0x1, 0x1, 0x1, 0x0, 0x0 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpEnableMask 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpLinkDownGpios 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpClockReqMsgEnable 3 bytes $_DEFAULT_ = 0x1, 0x1, 0x1 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpPcieSpeed 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_GtPsmiSupport 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DdiPortAConfig 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_DdiPortBConfig 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DdiPortAHpd 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DdiPortBHpd 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_DdiPortCHpd 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DdiPort1Hpd 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DdiPort2Hpd 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DdiPort3Hpd 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DdiPort4Hpd 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DdiPortADdc 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DdiPortBDdc 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_DdiPortCDdc 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DdiPort1Ddc 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DdiPort2Ddc 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DdiPort3Ddc 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DdiPort4Ddc 1 bytes $_DEFAULT_ = 0x0 + Skip 7 bytes + $gPlatformFspPkgTokenSpaceGuid_GmAdr64 8 bytes $_DEFAULT_ = 0xB0000000 + $gPlatformFspPkgTokenSpaceGuid_PerCoreHtDisable 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_SaVoltageMode 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_SaVoltageOverride 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SaExtraTurboVoltage 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_TvbRatioClipping 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_TvbVoltageOptimization 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_DisplayAudioLink 1 bytes $_DEFAULT_ = 0x0 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_VddqVoltage 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_VppVoltage 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieNewFom 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_DmiNewFom 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DynamicMemoryBoost 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_HgSupport 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_RealtimeMemoryFrequency 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_SaPreMemProductionRsvd 97 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_GtClosEnable 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DmiMaxLinkSpeed 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_DmiGen3EqPh2Enable 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_DmiGen3EqPh3Method 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DmiGen3ProgramStaticEq 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_DmiDeEmphasis 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_DmiGen3RootPortPreset 8 bytes $_DEFAULT_ = 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08 + $gPlatformFspPkgTokenSpaceGuid_DmiGen3EndPointPreset 8 bytes $_DEFAULT_ = 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07 + $gPlatformFspPkgTokenSpaceGuid_DmiGen3EndPointHint 8 bytes $_DEFAULT_ = 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02 + $gPlatformFspPkgTokenSpaceGuid_DmiGen3RxCtlePeaking 4 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_DmiAspm 1 bytes $_DEFAULT_ = 0x2 + $gPlatformFspPkgTokenSpaceGuid_DmiHweq 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_Gen3EqPhase23Bypass 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_Gen3EqPhase3Bypass 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_Gen3LtcoEnable 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_Gen3RtcoRtpoEnable 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_DmiGen3Ltcpre 8 bytes $_DEFAULT_ = 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02 + $gPlatformFspPkgTokenSpaceGuid_DmiGen3Ltcpo 8 bytes $_DEFAULT_ = 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02 + $gPlatformFspPkgTokenSpaceGuid_CpuDmiHwEqGen3CoeffListCm 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuDmiHwEqGen3CoeffListCp 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_DmiGen3DsPresetEnable 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DmiGen3DsPortRxPreset 8 bytes $_DEFAULT_ = 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01 + $gPlatformFspPkgTokenSpaceGuid_DmiGen3DsPortTxPreset 8 bytes $_DEFAULT_ = 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07 + $gPlatformFspPkgTokenSpaceGuid_DmiGen3UsPresetEnable 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DmiGen3UsPortRxPreset 8 bytes $_DEFAULT_ = 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07 + $gPlatformFspPkgTokenSpaceGuid_DmiGen3UsPortTxPreset 8 bytes $_DEFAULT_ = 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07 + $gPlatformFspPkgTokenSpaceGuid_CpuDmiHwEqGen4CoeffListCm 8 bytes $_DEFAULT_ = 0x0, 0x7, 0x6, 0x7, 0x7, 0x7, 0x7, 0x7 + $gPlatformFspPkgTokenSpaceGuid_CpuDmiHwEqGen4CoeffListCp 8 bytes $_DEFAULT_ = 0x0, 0xE, 0xA, 0x7, 0x7, 0x7, 0x7, 0x7 + $gPlatformFspPkgTokenSpaceGuid_Gen4EqPhase23Bypass 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_Gen4EqPhase3Bypass 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DmiGen4DsPresetEnable 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DmiGen4DsPortTxPreset 8 bytes $_DEFAULT_ = 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07 + $gPlatformFspPkgTokenSpaceGuid_Gen4RtcoRtpoEnable 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_Gen4LtcoEnable 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DmiGen4Ltcpre 8 bytes $_DEFAULT_ = 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07 + $gPlatformFspPkgTokenSpaceGuid_DmiGen4Ltcpo 8 bytes $_DEFAULT_ = 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07 + $gPlatformFspPkgTokenSpaceGuid_DmiGen4UsPresetEnable 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DmiGen4UsPortTxPreset 8 bytes $_DEFAULT_ = 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07 + $gPlatformFspPkgTokenSpaceGuid_DmiAspmCtrl 1 bytes $_DEFAULT_ = 0x2 + $gPlatformFspPkgTokenSpaceGuid_DmiAspmL1ExitLatency 1 bytes $_DEFAULT_ = 0x4 + $gPlatformFspPkgTokenSpaceGuid_BistOnReset 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SkipStopPbet 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_EnableC6Dram 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_OcSupport 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_OcLock 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CoreMaxOcRatio 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CoreVoltageMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RingMaxOcRatio 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_HyperThreading 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuRatioOverride 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuRatio 1 bytes $_DEFAULT_ = 0x1C + $gPlatformFspPkgTokenSpaceGuid_BootFrequency 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_ActiveCoreCount 1 bytes $_DEFAULT_ = 0xFF + $gPlatformFspPkgTokenSpaceGuid_FClkFrequency 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_JtagC10PowerGateDisable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_VmxEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_Avx2RatioOffset 1 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_Avx3RatioOffset 1 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_BclkAdaptiveVoltage 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CoreVoltageOverride 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CoreVoltageAdaptive 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CoreVoltageOffset 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CorePllVoltageOffset 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_AtomPllVoltageOffset 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RingDownBin 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RingVoltageMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_TjMaxOffset 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_RingVoltageOverride 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RingVoltageAdaptive 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RingVoltageOffset 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_TmeEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuCrashLogEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_DebugInterfaceEnable 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_DebugInterfaceLockEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_AtomL2VoltageMode 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_AtomL2VoltageOverride 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_AtomL2VoltageAdaptive 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_AtomL2VoltageOffset 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PerAtomClusterVoltageOffset 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_PerAtomClusterVoltageOffsetPrefix 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_IaCepEnable 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_GtCepEnable 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_DlvrBypassModeEnable 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_ActiveSmallCoreCount 1 bytes $_DEFAULT_ = 0xFF + $gPlatformFspPkgTokenSpaceGuid_CoreVfPointOffsetMode 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_CoreVfPointOffset 30 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_CoreVfPointOffsetPrefix 15 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CoreVfPointRatio 15 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CoreVfPointCount 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CoreVfConfigScope 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PerCoreVoltageOffset 16 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_PerCoreVoltageOffsetPrefix 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PerCoreRatioOverride 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PerCoreRatio 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_AtomClusterRatio 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CoreRatioExtensionMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PvdRatioThreshold 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_UnlimitedIccMax 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CrashLogGprs 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RingVfPointOffsetMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RingVfPointOffset 30 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_RingVfPointOffsetPrefix 15 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_RingVfPointRatio 15 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_RingVfPointCount 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_BclkSource 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_GpioOverride 1 bytes $_DEFAULT_ = 0x00 + Skip 3 bytes + $gPlatformFspPkgTokenSpaceGuid_CpuBclkOcFrequency 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_DisablePerCoreMask 4 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DisablePerAtomMask 4 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SaPllFreqOverride 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SiSkipOverrideBootModeWhenFwUpdate 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_TscDisableHwFixup 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_IaIccUnlimitedMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_IaIccMax 2 bytes $_DEFAULT_ = 0x04 + $gPlatformFspPkgTokenSpaceGuid_GtIccUnlimitedMode 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_GtIccMax 2 bytes $_DEFAULT_ = 0x04 + $gPlatformFspPkgTokenSpaceGuid_TvbDownBinsTempThreshold0 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_TvbTempThreshold0 1 bytes $_DEFAULT_ = 0x46 + $gPlatformFspPkgTokenSpaceGuid_TvbTempThreshold1 1 bytes $_DEFAULT_ = 0x64 + $gPlatformFspPkgTokenSpaceGuid_TvbDownBinsTempThreshold1 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_FllOcModeEn 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_FllOverclockMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ConfigTdpLevel 1 bytes $_DEFAULT_ = 0x00 + Skip 3 bytes + $gPlatformFspPkgTokenSpaceGuid_CustomPowerLimit1 4 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_Etvb 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_UnderVoltProtection 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_ReservedCpuPreMem 6 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_BiosGuard 1 bytes $_DEFAULT_ = 0x01 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_Txt 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_PrmrrSize 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_SinitMemorySize 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_TxtDprMemoryBase 8 bytes $_DEFAULT_ = 0x0000000000000000 + $gPlatformFspPkgTokenSpaceGuid_TxtHeapMemorySize 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_TxtDprMemorySize 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_BiosAcmBase 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_BiosAcmSize 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_ApStartupBase 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_TgaSize 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_TxtLcpPdBase 8 bytes $_DEFAULT_ = 0x0000000000000000 + $gPlatformFspPkgTokenSpaceGuid_TxtLcpPdSize 8 bytes $_DEFAULT_ = 0x0000000000000000 + $gPlatformFspPkgTokenSpaceGuid_IsTPMPresence 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_ReservedSecurityPreMem 32 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioRxSetCtleEnable 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioRxSetCtle 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen1DownscaleAmpEnable 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen1DownscaleAmp 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen2DownscaleAmpEnable 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen2DownscaleAmp 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen3DownscaleAmpEnable 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen3DownscaleAmp 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen1DeEmphEnable 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen1DeEmph 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen2DeEmph3p5Enable 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen2DeEmph3p5 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen2DeEmph6p0Enable 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen2DeEmph6p0 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioRxGen1EqBoostMagEnable 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioRxGen1EqBoostMag 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioRxGen2EqBoostMagEnable 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioRxGen2EqBoostMag 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioRxGen3EqBoostMagEnable 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioRxGen3EqBoostMag 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen1DownscaleAmpEnable 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen1DownscaleAmp 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen2DownscaleAmpEnable 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen2DownscaleAmp 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen3DownscaleAmpEnable 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen3DownscaleAmp 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen1DeEmphEnable 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen1DeEmph 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen2DeEmphEnable 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen2DeEmph 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen3DeEmphEnable 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen3DeEmph 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchLpcEnhancePort8xhDecoding 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchPort80Route 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SmbusArpEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchNumRsvdSmbusAddresses 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_PchSmbusIoBase 2 bytes $_DEFAULT_ = 0xEFA0 + $gPlatformFspPkgTokenSpaceGuid_PchSmbAlertEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieClkSrcUsage 18 bytes $_DEFAULT_ = 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + Skip 14 bytes + $gPlatformFspPkgTokenSpaceGuid_PcieClkSrcClkReq 18 bytes $_DEFAULT_ = 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x00, 0x01 + Skip 17 bytes + $gPlatformFspPkgTokenSpaceGuid_PcieClkReqGpioMux 72 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_RsvdSmbusAddressTablePtr 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_PcieRpEnableMask 4 bytes $_DEFAULT_ = 0x00FFFFFF + $gPlatformFspPkgTokenSpaceGuid_PchHdaVcType 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchHdaDspUaaCompliance 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkHdaEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchHdaSdiEnable 2 bytes $_DEFAULT_ = 0x01, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchHdaTestPowerClockGating 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkDmicEnable 2 bytes $_DEFAULT_ = 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkDmicClkAPinMux 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkDmicClkBPinMux 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_PchHdaDspEnable 1 bytes $_DEFAULT_ = 0x01 + Skip 3 bytes + $gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkDmicDataPinMux 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkSspEnable 6 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkSndwEnable 4 bytes $_DEFAULT_ = 0x01, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchHdaIDispLinkFrequency 1 bytes $_DEFAULT_ = 0x04 + $gPlatformFspPkgTokenSpaceGuid_PchHdaIDispLinkTmode 1 bytes $_DEFAULT_ = 0x03 + $gPlatformFspPkgTokenSpaceGuid_PchHdaIDispCodecDisconnect 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CnviDdrRfim 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PcdDebugInterfaceFlags 1 bytes $_DEFAULT_ = 0x32 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugControllerNumber 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugAutoFlow 1 bytes $_DEFAULT_ = 0x0 + Skip 3 bytes + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugBaudRate 4 bytes $_DEFAULT_ = 115200 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugParity 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugStopBits 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugDataBits 1 bytes $_DEFAULT_ = 0x8 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugMmioBase 4 bytes $_DEFAULT_ = 0xFE036000 + $gPlatformFspPkgTokenSpaceGuid_PcdIsaSerialUartBase 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_GtPllVoltageOffset 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RingPllVoltageOffset 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SaPllVoltageOffset 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_McPllVoltageOffset 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_MrcSafeConfig 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_TcssItbtPcie0En 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_TcssItbtPcie1En 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_TcssItbtPcie2En 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_TcssItbtPcie3En 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_TcssXhciEn 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_TcssXdciEn 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_TcssDma0En 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_TcssDma1En 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialDebugBaudRate 1 bytes $_DEFAULT_ = 0x07 + $gPlatformFspPkgTokenSpaceGuid_HobBufferSize 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ECT 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_SOT 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ERDMPRTC2D 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RDMPRT 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RCVET 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_JWRL 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_EWRTC2D 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_ERDTC2D 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_WRTC1D 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_WRVC1D 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RDTC1D 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_DIMMODTT 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_DIMMRONT 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_WRDSEQT 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_WRSRT 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RDODTT 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RDEQT 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RDAPT 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_WRTC2D 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RDTC2D 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_WRVC2D 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RDVC2D 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CMDVC 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_LCT 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RTL 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_TAT 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_MEMTST 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ALIASCHK 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RCVENC1D 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RMC 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_WRDSUDT 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_EccSupport 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RemapEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RankInterleave 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_EnhancedInterleave 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_ChHashEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_ChHashOverride 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_EnableExtts 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_EnablePwrDn 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_EnablePwrDnLpddr 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_SrefCfgEna 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_ThrtCkeMinDefeatLpddr 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_ThrtCkeMinDefeat 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RhSelect 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_ExitOnFailure 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_NewFeatureEnable1 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_NewFeatureEnable2 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DCC 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RDVC1D 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_TXTCO 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CLKTCO 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CMDSR 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CMDDSEQ 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_DIMMODTCA 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_TXTCODQS 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CMDDRUD 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_VCCDLLBP 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PVTTDNLP 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RDVREFDC 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_VDDQT 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RMTBIT 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_EccDftEn 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_Write0 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_Ddr4DdpSharedClock 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_Ddr4DdpSharedZq 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ChHashInterleaveBit 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_ChHashMask 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_BClkFrequency 4 bytes $_DEFAULT_ = 100000000 + $gPlatformFspPkgTokenSpaceGuid_Idd3n 2 bytes $_DEFAULT_ = 0x1A + $gPlatformFspPkgTokenSpaceGuid_Idd3p 2 bytes $_DEFAULT_ = 0x0B + $gPlatformFspPkgTokenSpaceGuid_CMDNORM 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_EWRDSEQ 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_McRefresh2X 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_IdleEnergyMc0Ch0Dimm0 1 bytes $_DEFAULT_ = 0x0A + $gPlatformFspPkgTokenSpaceGuid_IdleEnergyMc0Ch0Dimm1 1 bytes $_DEFAULT_ = 0x0A + $gPlatformFspPkgTokenSpaceGuid_IdleEnergyMc0Ch1Dimm0 1 bytes $_DEFAULT_ = 0x0A + $gPlatformFspPkgTokenSpaceGuid_IdleEnergyMc0Ch1Dimm1 1 bytes $_DEFAULT_ = 0x0A + $gPlatformFspPkgTokenSpaceGuid_IdleEnergyMc1Ch0Dimm0 1 bytes $_DEFAULT_ = 0x0A + $gPlatformFspPkgTokenSpaceGuid_IdleEnergyMc1Ch0Dimm1 1 bytes $_DEFAULT_ = 0x0A + $gPlatformFspPkgTokenSpaceGuid_IdleEnergyMc1Ch1Dimm0 1 bytes $_DEFAULT_ = 0x0A + $gPlatformFspPkgTokenSpaceGuid_IdleEnergyMc1Ch1Dimm1 1 bytes $_DEFAULT_ = 0x0A + $gPlatformFspPkgTokenSpaceGuid_PdEnergyMc0Ch0Dimm0 1 bytes $_DEFAULT_ = 0x06 + $gPlatformFspPkgTokenSpaceGuid_PdEnergyMc0Ch0Dimm1 1 bytes $_DEFAULT_ = 0x06 + $gPlatformFspPkgTokenSpaceGuid_PdEnergyMc0Ch1Dimm0 1 bytes $_DEFAULT_ = 0x06 + $gPlatformFspPkgTokenSpaceGuid_PdEnergyMc0Ch1Dimm1 1 bytes $_DEFAULT_ = 0x06 + $gPlatformFspPkgTokenSpaceGuid_PdEnergyMc1Ch0Dimm0 1 bytes $_DEFAULT_ = 0x06 + $gPlatformFspPkgTokenSpaceGuid_PdEnergyMc1Ch0Dimm1 1 bytes $_DEFAULT_ = 0x06 + $gPlatformFspPkgTokenSpaceGuid_PdEnergyMc1Ch1Dimm0 1 bytes $_DEFAULT_ = 0x06 + $gPlatformFspPkgTokenSpaceGuid_PdEnergyMc1Ch1Dimm1 1 bytes $_DEFAULT_ = 0x06 + $gPlatformFspPkgTokenSpaceGuid_ActEnergyMc0Ch0Dimm0 1 bytes $_DEFAULT_ = 0xAC + $gPlatformFspPkgTokenSpaceGuid_ActEnergyMc0Ch0Dimm1 1 bytes $_DEFAULT_ = 0xAC + $gPlatformFspPkgTokenSpaceGuid_ActEnergyMc0Ch1Dimm0 1 bytes $_DEFAULT_ = 0xAC + $gPlatformFspPkgTokenSpaceGuid_ActEnergyMc0Ch1Dimm1 1 bytes $_DEFAULT_ = 0xAC + $gPlatformFspPkgTokenSpaceGuid_ActEnergyMc1Ch0Dimm0 1 bytes $_DEFAULT_ = 0xAC + $gPlatformFspPkgTokenSpaceGuid_ActEnergyMc1Ch0Dimm1 1 bytes $_DEFAULT_ = 0xAC + $gPlatformFspPkgTokenSpaceGuid_ActEnergyMc1Ch1Dimm0 1 bytes $_DEFAULT_ = 0xAC + $gPlatformFspPkgTokenSpaceGuid_ActEnergyMc1Ch1Dimm1 1 bytes $_DEFAULT_ = 0xAC + $gPlatformFspPkgTokenSpaceGuid_RdEnergyMc0Ch0Dimm0 1 bytes $_DEFAULT_ = 0xD4 + $gPlatformFspPkgTokenSpaceGuid_RdEnergyMc0Ch0Dimm1 1 bytes $_DEFAULT_ = 0xD4 + $gPlatformFspPkgTokenSpaceGuid_RdEnergyMc0Ch1Dimm0 1 bytes $_DEFAULT_ = 0xD4 + $gPlatformFspPkgTokenSpaceGuid_RdEnergyMc0Ch1Dimm1 1 bytes $_DEFAULT_ = 0xD4 + $gPlatformFspPkgTokenSpaceGuid_RdEnergyMc1Ch0Dimm0 1 bytes $_DEFAULT_ = 0xD4 + $gPlatformFspPkgTokenSpaceGuid_RdEnergyMc1Ch0Dimm1 1 bytes $_DEFAULT_ = 0xD4 + $gPlatformFspPkgTokenSpaceGuid_RdEnergyMc1Ch1Dimm0 1 bytes $_DEFAULT_ = 0xD4 + $gPlatformFspPkgTokenSpaceGuid_RdEnergyMc1Ch1Dimm1 1 bytes $_DEFAULT_ = 0xD4 + $gPlatformFspPkgTokenSpaceGuid_WrEnergyMc0Ch0Dimm0 1 bytes $_DEFAULT_ = 0xDD + $gPlatformFspPkgTokenSpaceGuid_WrEnergyMc0Ch0Dimm1 1 bytes $_DEFAULT_ = 0xDD + $gPlatformFspPkgTokenSpaceGuid_WrEnergyMc0Ch1Dimm0 1 bytes $_DEFAULT_ = 0xDD + $gPlatformFspPkgTokenSpaceGuid_WrEnergyMc0Ch1Dimm1 1 bytes $_DEFAULT_ = 0xDD + $gPlatformFspPkgTokenSpaceGuid_WrEnergyMc1Ch0Dimm0 1 bytes $_DEFAULT_ = 0xDD + $gPlatformFspPkgTokenSpaceGuid_WrEnergyMc1Ch0Dimm1 1 bytes $_DEFAULT_ = 0xDD + $gPlatformFspPkgTokenSpaceGuid_WrEnergyMc1Ch1Dimm0 1 bytes $_DEFAULT_ = 0xDD + $gPlatformFspPkgTokenSpaceGuid_WrEnergyMc1Ch1Dimm1 1 bytes $_DEFAULT_ = 0xDD + $gPlatformFspPkgTokenSpaceGuid_ThrtCkeMinTmr 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_AllowOppRefBelowWriteThrehold 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_WriteThreshold 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_RaplPwrFlCh0 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RaplPwrFlCh1 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_EnCmdRate 1 bytes $_DEFAULT_ = 0x07 + $gPlatformFspPkgTokenSpaceGuid_Refresh2X 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_EpgEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_Lfsr0Mask 1 bytes $_DEFAULT_ = 0xB + $gPlatformFspPkgTokenSpaceGuid_UserThresholdEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_UserBudgetEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PowerDownMode 1 bytes $_DEFAULT_ = 0xFF + $gPlatformFspPkgTokenSpaceGuid_PwdwnIdleCounter 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DisPgCloseIdleTimeout 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_CmdRanksTerminated 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PcdSerialDebugLevel 1 bytes $_DEFAULT_ = 0x03 + $gPlatformFspPkgTokenSpaceGuid_SafeMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CleanMemory 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_LpDdrDqDqsReTraining 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_UsbTcPortEnPreMem 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_PostCodeOutputPort 2 bytes $_DEFAULT_ = 0x80 + $gPlatformFspPkgTokenSpaceGuid_RMTLoopCount 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CridEnable 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_WrcFeatureEnable 1 bytes $_DEFAULT_ = 0x01 + Skip 3 bytes + $gPlatformFspPkgTokenSpaceGuid_BclkRfiFreq 16 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieImrSize 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieImrEnabled 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieImrRpLocation 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PcieImrRpSelection 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SerialDebugMrcLevel 1 bytes $_DEFAULT_ = 0x03 + $gPlatformFspPkgTokenSpaceGuid_Ddr4OneDpc 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_Lfsr1Mask 1 bytes $_DEFAULT_ = 0xB + $gPlatformFspPkgTokenSpaceGuid_LpddrRttWr 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_LpddrRttCa 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RefreshPanicWm 1 bytes $_DEFAULT_ = 0x08 + $gPlatformFspPkgTokenSpaceGuid_RefreshHpWm 1 bytes $_DEFAULT_ = 0x07 + $gPlatformFspPkgTokenSpaceGuid_Lp5CccConfig 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CmdMirror 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DIMMDFE 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_ExtendedBankHashing 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RefreshWm 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_McRefreshRate 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PeriodicDcc 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_LpMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_TXDQSDCC 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_DRAMDCA 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_EARLYDIMMDFE 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SkipExtGfxScan 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_BdatEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_LockPTMregs 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PegGen3Rsvd 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PanelPowerEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_BdatTestType 1 bytes $_DEFAULT_ = 0x00 + Skip 3 bytes + $gPlatformFspPkgTokenSpaceGuid_DmaBufferSize 4 bytes $_DEFAULT_ = 0x0400000 + $gPlatformFspPkgTokenSpaceGuid_PreBootDmaMask 1 bytes $_DEFAULT_ = 0x0 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_DeltaT12PowerCycleDelay 2 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_ReuseAdlSDdr5Board 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_OemT12DelayOverride 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_SaPreMemTestRsvd 89 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_TotalFlashSize 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_BiosSize 2 bytes $_DEFAULT_ = 0x2800 + $gPlatformFspPkgTokenSpaceGuid_SecurityTestRsvd 12 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SmbusDynamicPowerGating 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_WdtDisableAndLock 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SmbusSpdWriteDisable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_DidInitStat 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DisableCpuReplacedPolling 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_DisableMessageCheck 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_SkipMbpHob 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_HeciCommunication2 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_KtDeviceEnable 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_SkipCpuReplacementCheck 1 bytes $_DEFAULT_ = 0x00 + Skip 2 bytes + $gPlatformFspPkgTokenSpaceGuid_CpuPcie1Rtd3Gpio 96 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcie2Rtd3Gpio 96 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcie3Rtd3Gpio 96 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_Avx2VoltageScaleFactor 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_Avx512VoltageScaleFactor 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugMode 1 bytes $_DEFAULT_ = 0x02 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugRxPinMux 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugTxPinMux 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugRtsPinMux 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugCtsPinMux 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PprEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_MarginLimitCheck 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_MarginLimitL2 2 bytes $_DEFAULT_ = 100 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpCdrRelock 4 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_DmiCdrRelock 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_IbeccErrInjControl 1 bytes $_DEFAULT_ = 0x0 + Skip 6 bytes + $gPlatformFspPkgTokenSpaceGuid_IbeccErrInjAddress 8 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_IbeccErrInjMask 8 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_IbeccErrInjCount 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_EnableDmaBuffer 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PllMaxBandingRatio 1 bytes $_DEFAULT_ = 0x00 + Skip 3 bytes + $gPlatformFspPkgTokenSpaceGuid_DebugValue 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_BoardGpioTablePreMemAddress 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_tRFCpb 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_tRFC2 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_tRFC4 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_tRRD_L 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_tRRD_S 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_tWTR_L 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_tCCD_L 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_tWTR_S 1 bytes $_DEFAULT_ = 0x00 + Skip 5 bytes + $gPlatformFspPkgTokenSpaceGuid_EccErrInjAddress 8 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_EccErrInjMask 8 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_EccErrInjCount 4 bytes $_DEFAULT_ = 0xF + $gPlatformFspPkgTokenSpaceGuid_FreqLimitMixedConfig 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_FirstDimmBitMask 1 bytes $_DEFAULT_ = 0x0A + $gPlatformFspPkgTokenSpaceGuid_SagvSwitchFactorIA 1 bytes $_DEFAULT_ = 0x1E + $gPlatformFspPkgTokenSpaceGuid_SagvSwitchFactorGT 1 bytes $_DEFAULT_ = 0x1E + $gPlatformFspPkgTokenSpaceGuid_SagvSwitchFactorIO 1 bytes $_DEFAULT_ = 0x1E + $gPlatformFspPkgTokenSpaceGuid_SagvSwitchFactorStall 1 bytes $_DEFAULT_ = 0x1E + $gPlatformFspPkgTokenSpaceGuid_SagvHeuristicsDownControl 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_SagvHeuristicsUpControl 1 bytes $_DEFAULT_ = 0x01 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_FreqLimitMixedConfig_1R1R_8GB 2 bytes $_DEFAULT_ = 0x07D0 + $gPlatformFspPkgTokenSpaceGuid_FreqLimitMixedConfig_1R1R_16GB 2 bytes $_DEFAULT_ = 0x07D0 + $gPlatformFspPkgTokenSpaceGuid_FreqLimitMixedConfig_1R1R_8GB_16GB 2 bytes $_DEFAULT_ = 0x07D0 + $gPlatformFspPkgTokenSpaceGuid_FreqLimitMixedConfig_2R2R 2 bytes $_DEFAULT_ = 0x07D0 + $gPlatformFspPkgTokenSpaceGuid_PchDmiHwEqGen3CoeffListCm 8 bytes $_DEFAULT_ = 0x06, 0x05, 0x02, 0x09, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchDmiHwEqGen3CoeffListCp 8 bytes $_DEFAULT_ = 0x05, 0x03, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_LctCmdEyeWidth 2 bytes $_DEFAULT_ = 0x60 + $gPlatformFspPkgTokenSpaceGuid_ThrtCkeMinTmrLpddr 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_FirstDimmBitMaskEcc 1 bytes $_DEFAULT_ = 0x0A + $gPlatformFspPkgTokenSpaceGuid_Lp5BankMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_WRDS 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_OverloadSAM 1 bytes $_DEFAULT_ = 0x00 + + Find "ADLUPD_S" + $gPlatformFspPkgTokenSpaceGuid_Revision 1 bytes $_DEFAULT_ = 0x02 + Skip 55 bytes + $gPlatformFspPkgTokenSpaceGuid_LogoPtr 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_LogoSize 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_BltBufferAddress 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_BltBufferSize 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_GraphicsConfigPtr 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_Device4Enable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ShowSpiController 1 bytes $_DEFAULT_ = 0x00 + Skip 2 bytes + $gPlatformFspPkgTokenSpaceGuid_MicrocodeRegionBase 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_MicrocodeRegionSize 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_TurboMode 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_SataSalpSupport 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_SataPortsEnable 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataPortsDevSlp 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + Skip 2 bytes + $gPlatformFspPkgTokenSpaceGuid_SataPortDevSlpPinMux 32 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_PortUsb20Enable 16 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_PortUsb30Enable 10 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_XdciEnable 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_DevIntConfigPtr 4 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_NumOfDevIntConfig 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PxRcConfig 8 bytes $_DEFAULT_ = 0x0B, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B + $gPlatformFspPkgTokenSpaceGuid_GpioIrqRoute 1 bytes $_DEFAULT_ = 0x0E + $gPlatformFspPkgTokenSpaceGuid_SciIrqSelect 1 bytes $_DEFAULT_ = 0x09 + $gPlatformFspPkgTokenSpaceGuid_TcoIrqSelect 1 bytes $_DEFAULT_ = 0x09 + $gPlatformFspPkgTokenSpaceGuid_TcoIrqEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchHdaVerbTableEntryNum 1 bytes $_DEFAULT_ = 0 + Skip 2 bytes + $gPlatformFspPkgTokenSpaceGuid_PchHdaVerbTablePtr 4 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_PchHdaCodecSxWakeCapability 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_SataMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SerialIoSpiMode 7 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SerialIoSpiCsPolarity 14 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_SerialIoSpiCsEnable 14 bytes $_DEFAULT_ = 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SerialIoSpiDefaultCsOutput 7 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SerialIoSpiCsMode 7 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SerialIoSpiCsState 7 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartMode 7 bytes $_DEFAULT_ = 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 + Skip 2 bytes + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartBaudRate 28 bytes $_DEFAULT_ = 0x00,0xC2,0x01,0x00,0x00,0xC2,0x01,0x00,0x00,0xC2,0x01,0x00,0x00,0xC2,0x01,0x00,0x00,0xC2,0x01,0x00,0x00,0xC2,0x01,0x00,0x00,0xC2,0x01,0x00 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartParity 7 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDataBits 7 bytes $_DEFAULT_ = 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartStopBits 7 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartPowerGating 7 bytes $_DEFAULT_ = 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDmaEnable 7 bytes $_DEFAULT_ = 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartAutoFlow 7 bytes $_DEFAULT_ = 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00 + Skip 2 bytes + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartRtsPinMuxPolicy 28 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartCtsPinMuxPolicy 28 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartRxPinMuxPolicy 28 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartTxPinMuxPolicy 28 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_SerialIoDebugUartNumber 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDbg2 7 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SerialIoI2cMode 8 bytes $_DEFAULT_ = 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSerialIoI2cSdaPinMux 32 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSerialIoI2cSclPinMux 32 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSerialIoI2cPadsTermination 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_IshGpGpioPinMuxing 32 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_IshUartRxPinMuxing 12 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_IshUartTxPinMuxing 12 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_IshUartRtsPinMuxing 12 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_IshUartCtsPinMuxing 12 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_IshI2cSdaPinMuxing 12 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_IshI2cSclPinMuxing 12 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_IshSpiMosiPinMuxing 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_IshSpiMisoPinMuxing 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_IshSpiClkPinMuxing 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_IshSpiCsPinMuxing 16 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_IshGpGpioPadTermination 8 bytes $_DEFAULT_ = 0, 0, 0, 0, 0, 0, 0, 0 + $gPlatformFspPkgTokenSpaceGuid_IshUartRxPadTermination 3 bytes $_DEFAULT_ = 0, 0, 0 + $gPlatformFspPkgTokenSpaceGuid_IshUartTxPadTermination 3 bytes $_DEFAULT_ = 0, 0, 0 + $gPlatformFspPkgTokenSpaceGuid_IshUartRtsPadTermination 3 bytes $_DEFAULT_ = 0, 0, 0 + $gPlatformFspPkgTokenSpaceGuid_IshUartCtsPadTermination 3 bytes $_DEFAULT_ = 0, 0, 0 + $gPlatformFspPkgTokenSpaceGuid_IshI2cSdaPadTermination 3 bytes $_DEFAULT_ = 0, 0, 0 + $gPlatformFspPkgTokenSpaceGuid_IshI2cSclPadTermination 3 bytes $_DEFAULT_ = 0, 0, 0 + $gPlatformFspPkgTokenSpaceGuid_IshSpiMosiPadTermination 2 bytes $_DEFAULT_ = 0, 0 + $gPlatformFspPkgTokenSpaceGuid_IshSpiMisoPadTermination 2 bytes $_DEFAULT_ = 0, 0 + $gPlatformFspPkgTokenSpaceGuid_IshSpiClkPadTermination 2 bytes $_DEFAULT_ = 0, 0 + $gPlatformFspPkgTokenSpaceGuid_IshSpiCsPadTermination 4 bytes $_DEFAULT_ = 0, 0, 0, 0 + $gPlatformFspPkgTokenSpaceGuid_PchIshSpiCsEnable 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_Usb2PhyPetxiset 16 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_Usb2PhyTxiset 16 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_Usb2PhyPredeemp 16 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_Usb2PhyPehalfbit 16 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxDeEmphEnable 10 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxDeEmph 10 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxDownscaleAmpEnable 10 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxDownscaleAmp 10 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + Skip 80 bytes + $gPlatformFspPkgTokenSpaceGuid_PchLanEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchTsnEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchTsnLinkSpeed 1 bytes $_DEFAULT_ = 0x02 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_PchTsnMacAddressHigh 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_PchTsnMacAddressLow 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_PciePtm 28 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_PcieDpc 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieEdpc 28 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_UsbPdoProgramming 1 bytes $_DEFAULT_ = 0x01 + Skip 3 bytes + $gPlatformFspPkgTokenSpaceGuid_PmcPowerButtonDebounce 4 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchEspiBmeMasterSlaveEnabled 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchEspiLockLinkConfiguration 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchFivrExtV1p05RailEnabledStates 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PchFivrExtV1p05RailSupportedVoltageStates 1 bytes $_DEFAULT_ = 0x2 + $gPlatformFspPkgTokenSpaceGuid_PchFivrExtV1p05RailVoltage 2 bytes $_DEFAULT_ = 0x01A4 + $gPlatformFspPkgTokenSpaceGuid_PchFivrExtV1p05RailIccMax 1 bytes $_DEFAULT_ = 0x64 + $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailEnabledStates 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailSupportedVoltageStates 1 bytes $_DEFAULT_ = 0x2 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailVoltage 2 bytes $_DEFAULT_ = 0x01A4 + $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailIccMax 1 bytes $_DEFAULT_ = 0xC8 + $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailSxEnabledStates 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailSxVoltage 2 bytes $_DEFAULT_ = 0x01A4 + $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailSxIccMax 1 bytes $_DEFAULT_ = 0xC8 + $gPlatformFspPkgTokenSpaceGuid_PchFivrVccinAuxLowToHighCurModeVolTranTime 1 bytes $_DEFAULT_ = 0x0C + $gPlatformFspPkgTokenSpaceGuid_PchFivrVccinAuxRetToHighCurModeVolTranTime 1 bytes $_DEFAULT_ = 0x036 + $gPlatformFspPkgTokenSpaceGuid_PchFivrVccinAuxRetToLowCurModeVolTranTime 1 bytes $_DEFAULT_ = 0x2B + $gPlatformFspPkgTokenSpaceGuid_PchFivrVccinAuxOffToHighCurModeVolTranTime 2 bytes $_DEFAULT_ = 0x0096 + $gPlatformFspPkgTokenSpaceGuid_PmcDbgMsgEn 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_ChipsetInitBinPtr 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_ChipsetInitBinLen 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_PchFivrDynPm 1 bytes $_DEFAULT_ = 0x01 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_PchFivrExtV1p05RailIccMaximum 2 bytes $_DEFAULT_ = 0x1F4 + $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailIccMaximum 2 bytes $_DEFAULT_ = 0x1F4 + $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailSxIccMaximum 2 bytes $_DEFAULT_ = 0x1F4 + $gPlatformFspPkgTokenSpaceGuid_PchSpiExtendedBiosDecodeRangeEnable 1 bytes $_DEFAULT_ = 0x00 + Skip 3 bytes + $gPlatformFspPkgTokenSpaceGuid_PchSpiExtendedBiosDecodeRangeBase 4 bytes $_DEFAULT_ = 0xF8000000 + $gPlatformFspPkgTokenSpaceGuid_PchSpiExtendedBiosDecodeRangeLimit 4 bytes $_DEFAULT_ = 0xF9FFFFFF + $gPlatformFspPkgTokenSpaceGuid_PchXhciUaolEnable 1 bytes $_DEFAULT_ = 0x01 + Skip 3 bytes + $gPlatformFspPkgTokenSpaceGuid_SynpsPhyBinPtr 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_SynpsPhyBinLen 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_CnviMode 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CnviWifiCore 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CnviBtCore 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CnviBtAudioOffload 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CnviRfResetPinMux 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_CnviClkreqPinMux 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PchEspiHostC10ReportEnable 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PmcUsb2PhySusPgEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchUsbOverCurrentEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchEspiLgmrEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchFivrExtV1p05RailCtrlRampTmr 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailCtrlRampTmr 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_SataPortsDevSlpResetConfig 8 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchHotEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataLedEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPmVrAlert 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_AmtEnabled 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_WatchDogEnabled 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_FwProgress 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_AmtSolEnabled 1 bytes $_DEFAULT_ = 0x0 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_WatchDogTimerOs 2 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_WatchDogTimerBios 2 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_ForcMebxSyncUp 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcieRpSlotImplemented 28 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_PcieRpAcsEnabled 28 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_PcieRpEnableCpm 28 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_PcieRpDetectTimeoutMs 56 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_PmcModPhySusPgEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PmcV1p05PhyExtFetControlEn 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PmcV1p05IsExtFetControlEn 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PavpEnable 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_CdClock 1 bytes $_DEFAULT_ = 0xFF + $gPlatformFspPkgTokenSpaceGuid_PeiGraphicsPeimInit 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_D3HotEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_GnaEnable 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_IomTypeCPortPadCfg 32 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x06,0x11,0x00,0x04,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuUsb3OverCurrentPin 8 bytes $_DEFAULT_ = 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + $gPlatformFspPkgTokenSpaceGuid_D3ColdEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_ITbtPcieTunnelingForUsb4 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_SkipFspGop 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_TcCstateLimit 1 bytes $_DEFAULT_ = 0x0A + $gPlatformFspPkgTokenSpaceGuid_VbtSize 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_LidStatus 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_IomStayInTCColdSeconds 1 bytes $_DEFAULT_ = 0x32 + $gPlatformFspPkgTokenSpaceGuid_IomBeforeEnteringTCColdSeconds 1 bytes $_DEFAULT_ = 0x0A + $gPlatformFspPkgTokenSpaceGuid_SaPostMemRsvd 5 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchXhciHsiiEnable 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_VmdEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_VmdPort 31 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_VmdPortDev 31 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_VmdPortFunc 31 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_VmdCfgBarSize 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_VmdCfgBarAttr 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_VmdMemBarSize1 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_VmdMemBar1Attr 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_VmdMemBarSize2 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_VmdMemBar2Attr 1 bytes $_DEFAULT_ = 0x00 + Skip 3 bytes + $gPlatformFspPkgTokenSpaceGuid_VmdVariablePtr 4 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_VmdCfgBarBase 4 bytes $_DEFAULT_ = 0xA0000000 + $gPlatformFspPkgTokenSpaceGuid_VmdMemBar1Base 4 bytes $_DEFAULT_ = 0xA2000000 + $gPlatformFspPkgTokenSpaceGuid_VmdMemBar2Base 4 bytes $_DEFAULT_ = 0xA4000000 + $gPlatformFspPkgTokenSpaceGuid_TcssCpuUsbPdoProgramming 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PmcPdEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_TcssAuxOri 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_TcssHslOri 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_UsbOverride 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ITbtPcieRootPortEn 4 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_UsbTcPortEn 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ITbtForcePowerOnTimeoutInMs 2 bytes $_DEFAULT_ = 0x1F4 + $gPlatformFspPkgTokenSpaceGuid_ITbtConnectTopologyTimeoutInMs 2 bytes $_DEFAULT_ = 0x1388 + $gPlatformFspPkgTokenSpaceGuid_VccSt 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_ITbtDmaLtr 4 bytes $_DEFAULT_ = 0xFF,0x97,0xFF,0x97 + $gPlatformFspPkgTokenSpaceGuid_CpuCrashLogEnable 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_PtmEnabled 4 bytes $_DEFAULT_ = 0, 0, 0, 0 + $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpLtrEnable 4 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpSnoopLatencyOverrideMode 4 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpSnoopLatencyOverrideMultiplier 4 bytes $_DEFAULT_ = 0x02, 0x02, 0x02, 0x02 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpSnoopLatencyOverrideValue 8 bytes $_DEFAULT_ = 0xC8,0x00,0xC8,0x00,0x3C,0x00,0xC8,0x00 + $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpNonSnoopLatencyOverrideMode 4 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpNonSnoopLatencyOverrideMultiplier 4 bytes $_DEFAULT_ = 0x02, 0x02, 0x02, 0x02 + $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpNonSnoopLatencyOverrideValue 8 bytes $_DEFAULT_ = 0xC8,0x00,0xC8,0x00,0xC8,0x00,0xC8,0x00 + $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpForceLtrOverride 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpLtrConfigLock 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_AesEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_Psi3Enable 5 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_Psi4Enable 5 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01, 0x01 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_ImonSlope 10 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_ImonOffset 10 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_VrConfigEnable 5 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_TdcEnable 5 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00 + Skip 2 bytes + $gPlatformFspPkgTokenSpaceGuid_TdcTimeWindow 20 bytes $_DEFAULT_ = 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_TdcLock 5 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PsysSlope 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PsysOffset 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_AcousticNoiseMitigation 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_FastPkgCRampDisable 5 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SlowSlewRate 5 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_TdcCurrentLimit 10 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_AcLoadline 10 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_DcLoadline 10 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_Psi1Threshold 10 bytes $_DEFAULT_ = 0x50,0x00,0x50,0x00,0x50,0x00,0x50,0x00,0x50,0x00 + $gPlatformFspPkgTokenSpaceGuid_Psi2Threshold 10 bytes $_DEFAULT_ = 0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00,0x14,0x00 + $gPlatformFspPkgTokenSpaceGuid_Psi3Threshold 10 bytes $_DEFAULT_ = 0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00 + $gPlatformFspPkgTokenSpaceGuid_IccMax 10 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_TxtEnable 1 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_SkipMpInit 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_FivrRfiFrequency 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_FivrSpreadSpectrum 1 bytes $_DEFAULT_ = 0x08 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_CpuBistData 4 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_CpuMpPpi 4 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_PreWake 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RampUp 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RampDown 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_VrVoltageLimit 10 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_VccInAuxImonIccImax 2 bytes $_DEFAULT_ = 160 + $gPlatformFspPkgTokenSpaceGuid_EnableVsysCritical 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_VsysFullScale 1 bytes $_DEFAULT_ = 0x18 + $gPlatformFspPkgTokenSpaceGuid_VsysCriticalThreshold 1 bytes $_DEFAULT_ = 0x06 + $gPlatformFspPkgTokenSpaceGuid_VsysAssertionDeglitchMantissa 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_VsysAssertionDeglitchExponent 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_VsysDeassertionDeglitchMantissa 1 bytes $_DEFAULT_ = 0x0D + $gPlatformFspPkgTokenSpaceGuid_VsysDeassertionDeglitchExponent 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_VccInAuxImonSlope 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_VccInAuxImonOffset 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_FivrSpectrumEnable 1 bytes $_DEFAULT_ = 0x01 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_IccLimit 10 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + Skip 2 bytes + $gPlatformFspPkgTokenSpaceGuid_PpinSupport 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_EnableMinVoltageOverride 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_MinVoltageRuntime 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ProcessorTraceMemSize 1 bytes $_DEFAULT_ = 0xff + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_MinVoltageC8 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SmbiosType4MaxSpeedOverride 2 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_Irms 5 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_AvxDisable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_Avx3Disable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_X2ApicSupport 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_VrPowerDeliveryDesign 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_EnableFastVmode 5 bytes $_DEFAULT_ = 0x0, 0x0, 0x0, 0x0, 0x0 + $gPlatformFspPkgTokenSpaceGuid_ReservedCpuPostMemProduction 32 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPwrOptEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchWriteProtectionEnable 5 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchReadProtectionEnable 5 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_PchProtectedRangeLimit 10 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_PchProtectedRangeBase 10 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_PchHdaPme 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchHdaLinkFrequency 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_PchIshSpiCs0Enable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchIoApicEntry24_119 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchIoApicId 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_PchIshSpiEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchIshUartEnable 2 bytes $_DEFAULT_ = 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchIshI2cEnable 3 bytes $_DEFAULT_ = 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchIshGpEnable 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchIshPdtUnlock 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchLanLtrEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchLockDownBiosLock 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchCrid 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RtcBiosInterfaceLock 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_RtcMemoryLock 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PcieRpHotPlug 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpPmSci 28 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_PcieRpTransmitterHalfSwing 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpClkReqDetect 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpAdvancedErrorReporting 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpUnsupportedRequestReport 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpFatalErrorReport 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpNoFatalErrorReport 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpCorrectableErrorReport 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpSystemErrorOnFatalError 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpSystemErrorOnNonFatalError 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpSystemErrorOnCorrectableError 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpMaxPayload 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_ThcPort0Assignment 1 bytes $_DEFAULT_ = 0x0 + Skip 2 bytes + $gPlatformFspPkgTokenSpaceGuid_ThcPort0InterruptPinMuxing 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_ThcPort0WakeOnTouch 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_ThcPort1Assignment 1 bytes $_DEFAULT_ = 0x0 + Skip 2 bytes + $gPlatformFspPkgTokenSpaceGuid_ThcPort1InterruptPinMuxing 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_ThcPort1WakeOnTouch 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcieRpPcieSpeed 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpPhysicalSlotNumber 28 bytes $_DEFAULT_ = 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B + $gPlatformFspPkgTokenSpaceGuid_PcieRpCompletionTimeout 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpAspm 28 bytes $_DEFAULT_ = 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 + $gPlatformFspPkgTokenSpaceGuid_PcieRpL1Substates 28 bytes $_DEFAULT_ = 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 + $gPlatformFspPkgTokenSpaceGuid_PcieRpL1Low 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpLtrEnable 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpLtrConfigLock 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieEqOverrideDefault 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieEqMethod 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieEqMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieEqLocalTransmitterOverrideEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieEqPh3NumberOfPresetsOrCoefficients 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieEqPh3PreCursorList 10 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieEqPh3PostCursorList 10 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieEqPh3PresetList 11 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + Skip 3 bytes + $gPlatformFspPkgTokenSpaceGuid_PcieEqPh1DownstreamPortTransmitterPreset 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcieEqPh1UpstreamPortTransmitterPreset 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcieEqPh2LocalTransmitterOverridePreset 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PcieEnablePeerMemoryWrite 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieComplianceTestMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpFunctionSwap 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieGen3ProgramStaticEq 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieGen4ProgramStaticEq 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_PchPmPmeB0S5Dis 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpImrEnabled 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PcieRpImrSelection 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPmWolEnableOverride 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchPmPcieWakeFromDeepSx 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPmWoWlanEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPmWoWlanDeepSxEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPmLanWakeFromDeepSx 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchPmDeepSxPol 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPmSlpS3MinAssert 1 bytes $_DEFAULT_ = 0x03 + $gPlatformFspPkgTokenSpaceGuid_PchPmSlpS4MinAssert 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchPmSlpSusMinAssert 1 bytes $_DEFAULT_ = 0x04 + $gPlatformFspPkgTokenSpaceGuid_PchPmSlpAMinAssert 1 bytes $_DEFAULT_ = 0x04 + $gPlatformFspPkgTokenSpaceGuid_PchEnableDbcObs 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPmSlpStrchSusUp 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPmSlpLanLowDc 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchPmPwrBtnOverridePeriod 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPmDisableDsxAcPresentPulldown 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPmDisableNativePowerButton 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPmMeWakeSts 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchPmWolOvrWkSts 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchPmPwrCycDur 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPmPciePllSsc 1 bytes $_DEFAULT_ = 0xFF + $gPlatformFspPkgTokenSpaceGuid_PchLegacyIoLowLatency 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataPwrOptEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_EsataSpeedLimit 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataSpeedLimit 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataPortsHotPlug 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataPortsInterlockSw 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataPortsExternal 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataPortsSpinUp 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataPortsSolidStateDrive 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataPortsEnableDitoConfig 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataPortsDmVal 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataPortsDitoVal 16 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_SataPortsZpOdd 8 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataRstRaidDeviceId 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataRstPcieEnable 3 bytes $_DEFAULT_ = 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataRstPcieStoragePort 3 bytes $_DEFAULT_ = 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataRstPcieDeviceResetDelay 3 bytes $_DEFAULT_ = 100, 100, 100 + $gPlatformFspPkgTokenSpaceGuid_UfsEnable 2 bytes $_DEFAULT_ = 0, 0 + $gPlatformFspPkgTokenSpaceGuid_IehMode 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_PchT0Level 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_PchT1Level 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_PchT2Level 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_PchTTEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchTTState13Enable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchTTLock 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_TTSuggestedSetting 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_TTCrossThrottling 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchDmiTsawEn 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_DmiSuggestedSetting 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_DmiTS0TW 1 bytes $_DEFAULT_ = 0x03 + $gPlatformFspPkgTokenSpaceGuid_DmiTS1TW 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_DmiTS2TW 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_DmiTS3TW 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataP0T1M 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_SataP0T2M 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_SataP0T3M 1 bytes $_DEFAULT_ = 0x03 + $gPlatformFspPkgTokenSpaceGuid_SataP0TDisp 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataP1T1M 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_SataP1T2M 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_SataP1T3M 1 bytes $_DEFAULT_ = 0x03 + $gPlatformFspPkgTokenSpaceGuid_SataP1TDisp 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataP0Tinact 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataP0TDispFinit 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataP1Tinact 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataP1TDispFinit 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataThermalSuggestedSetting 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchMemoryThrottlingEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchMemoryPmsyncEnable 2 bytes $_DEFAULT_ = 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchMemoryC0TransmitEnable 2 bytes $_DEFAULT_ = 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchMemoryPinSelection 2 bytes $_DEFAULT_ = 0x00, 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_PchTemperatureHotLevel 2 bytes $_DEFAULT_ = 0x0073 + $gPlatformFspPkgTokenSpaceGuid_Usb2OverCurrentPin 16 bytes $_DEFAULT_ = 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07 + $gPlatformFspPkgTokenSpaceGuid_Usb3OverCurrentPin 10 bytes $_DEFAULT_ = 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04 + $gPlatformFspPkgTokenSpaceGuid_PchUsbLtrOverrideEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ThcMode 2 bytes $_DEFAULT_ = 0x0, 0x0 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_PchUsbLtrHighIdleTimeOverride 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_PchUsbLtrMediumIdleTimeOverride 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_PchUsbLtrLowIdleTimeOverride 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_Enable8254ClockGating 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_Enable8254ClockGatingOnS3 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_EnableTcoTimer 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_HybridStorageMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuRootportUsedForHybridStorage 1 bytes $_DEFAULT_ = 0xFF + $gPlatformFspPkgTokenSpaceGuid_PchRootportUsedForCpuAttach 1 bytes $_DEFAULT_ = 0xFF + $gPlatformFspPkgTokenSpaceGuid_PchAcpiL6dPmeHandling 1 bytes $_DEFAULT_ = 0x0 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_BgpdtHash 32 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_BiosGuardAttr 4 bytes $_DEFAULT_ = 0xFFFFFFFF + Skip 4 bytes + $gPlatformFspPkgTokenSpaceGuid_BiosGuardModulePtr 8 bytes $_DEFAULT_ = 0xFFFFFFFFFFFFFFFF + $gPlatformFspPkgTokenSpaceGuid_SendEcCmd 8 bytes $_DEFAULT_ = 0xFFFFFFFFFFFFFFFF + $gPlatformFspPkgTokenSpaceGuid_EcCmdProvisionEav 1 bytes $_DEFAULT_ = 0xFF + $gPlatformFspPkgTokenSpaceGuid_EcCmdLock 1 bytes $_DEFAULT_ = 0xFF + $gPlatformFspPkgTokenSpaceGuid_SiSkipSsidProgramming 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_SiCustomizedSvid 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_SiCustomizedSsid 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_SiSsidTablePtr 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_SiNumberOfSsidTableEntry 2 bytes $_DEFAULT_ = 0x0000 + $gPlatformFspPkgTokenSpaceGuid_PortResetMessageEnable 16 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataRstInterrupt 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_MeUnconfigOnRtcClear 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_EnforceEDebugMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PsOnEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PmcCpuC10GatePinEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchDmiAspmCtrl 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_PchDmiCwbEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PmcOsIdleEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchS0ixAutoDemotion 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchPmLatchEventsC10Exit 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PmcAdrEn 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PmcAdrTimerEn 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PmcAdrTimer1Val 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PmcAdrMultiplier1Val 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PmcAdrHostPartitionReset 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PmcAdrSrcOverride 1 bytes $_DEFAULT_ = 0x00 + Skip 2 bytes + $gPlatformFspPkgTokenSpaceGuid_PmcAdrSrcSel 4 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieEqPh3LaneParamCm 32 bytes $_DEFAULT_ = 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieEqPh3LaneParamCp 32 bytes $_DEFAULT_ = 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieGen3RootPortPreset 20 bytes $_DEFAULT_ = 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieGen4RootPortPreset 20 bytes $_DEFAULT_ = 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieGen3EndPointPreset 20 bytes $_DEFAULT_ = 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieGen4EndPointPreset 20 bytes $_DEFAULT_ = 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieGen3EndPointHint 20 bytes $_DEFAULT_ = 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieGen4EndPointHint 20 bytes $_DEFAULT_ = 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieFiaProgramming 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieClockGating 4 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuPciePowerGating 4 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieComplianceTestMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieEnablePeerMemoryWrite 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpFunctionSwap 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieSlotSelection 1 bytes $_DEFAULT_ = 0x01 + Skip 3 bytes + $gPlatformFspPkgTokenSpaceGuid_CpuPcieDeviceOverrideTablePtr 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpHotPlug 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpPmSci 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpTransmitterHalfSwing 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpAcsEnabled 4 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpEnableCpm 4 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpAdvancedErrorReporting 4 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpUnsupportedRequestReport 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpFatalErrorReport 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpNoFatalErrorReport 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpCorrectableErrorReport 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpSystemErrorOnFatalError 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpSystemErrorOnNonFatalError 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpSystemErrorOnCorrectableError 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpMaxPayload 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpDpcEnabled 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpDpcExtensionsEnabled 4 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpSlotImplemented 4 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpGen3EqPh3Method 4 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpGen4EqPh3Method 4 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpPhysicalSlotNumber 4 bytes $_DEFAULT_ = 0x00, 0x01, 0x02, 0x03 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpAspm 4 bytes $_DEFAULT_ = 0x03, 0x03, 0x03, 0x03 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpL1Substates 4 bytes $_DEFAULT_ = 0x02, 0x02, 0x02, 0x02 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpLtrEnable 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpLtrConfigLock 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpPtmEnabled 4 bytes $_DEFAULT_ = 0x01, 0x01, 0x01, 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpDetectTimeoutMs 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpMultiVcEnabled 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxRate3UniqTranEnable 10 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxRate3UniqTran 10 bytes $_DEFAULT_ = 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C + $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxRate2UniqTranEnable 10 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxRate2UniqTran 10 bytes $_DEFAULT_ = 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C + $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxRate1UniqTranEnable 10 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxRate1UniqTran 10 bytes $_DEFAULT_ = 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C + $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxRate0UniqTranEnable 10 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxRate0UniqTran 10 bytes $_DEFAULT_ = 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C + $gPlatformFspPkgTokenSpaceGuid_SkipPamLock 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_EdramTestMode 1 bytes $_DEFAULT_ = 0x2 + $gPlatformFspPkgTokenSpaceGuid_RenderStandby 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_PmSupport 1 bytes $_DEFAULT_ = 0x1 + $gPlatformFspPkgTokenSpaceGuid_CdynmaxClampEnable 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_GtFreqMax 1 bytes $_DEFAULT_ = 0xFF + $gPlatformFspPkgTokenSpaceGuid_DisableTurboGt 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_SkipCdClockInit 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_RC1pFreqEnable 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PchTsnMultiVcEnable 1 bytes $_DEFAULT_ = 0x0 + Skip 2 bytes + $gPlatformFspPkgTokenSpaceGuid_LogoPixelHeight 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_LogoPixelWidth 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_Usb4CmMode 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieResizableBarSupport 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_SaPostMemTestRsvd 3 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_EnableRsr 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_ReservedCpuPostMem1 4 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_Hwp 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_HdcControl 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PowerLimit1Time 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PowerLimit2 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_TurboPowerLimitLock 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PowerLimit3Time 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PowerLimit3DutyCycle 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PowerLimit3Lock 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PowerLimit4Lock 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_TccActivationOffset 1 bytes $_DEFAULT_ = 0x0A + $gPlatformFspPkgTokenSpaceGuid_TccOffsetClamp 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_TccOffsetLock 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_NumberOfEntries 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_Custom1PowerLimit1Time 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_Custom1TurboActivationRatio 1 bytes $_DEFAULT_ = 0x14 + $gPlatformFspPkgTokenSpaceGuid_Custom1ConfigTdpControl 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_Custom2PowerLimit1Time 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_Custom2TurboActivationRatio 1 bytes $_DEFAULT_ = 0x14 + $gPlatformFspPkgTokenSpaceGuid_Custom2ConfigTdpControl 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_Custom3PowerLimit1Time 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_Custom3TurboActivationRatio 1 bytes $_DEFAULT_ = 0x14 + $gPlatformFspPkgTokenSpaceGuid_Custom3ConfigTdpControl 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ConfigTdpLock 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ConfigTdpBios 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PsysPowerLimit1 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PsysPowerLimit1Time 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PsysPowerLimit2 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_MlcStreamerPrefetcher 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_MlcSpatialPrefetcher 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_MonitorMwaitEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_MachineCheckEnable 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_ApIdleManner 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_ProcessorTraceOutputScheme 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ProcessorTraceEnable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_Eist 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_EnergyEfficientPState 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_EnergyEfficientTurbo 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_TStates 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_BiProcHot 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_DisableProcHotOut 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_ProcHotResponse 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_DisableVrThermalAlert 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_EnableAllThermalFunctions 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ThermalMonitor 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_Cx 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PmgCstCfgCtrlLock 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_C1e 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PkgCStateDemotion 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PkgCStateUnDemotion 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CStatePreWake 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_TimedMwait 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CstCfgCtrIoMwaitRedirection 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PkgCStateLimit 1 bytes $_DEFAULT_ = 0x08 + $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl0TimeUnit 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl1TimeUnit 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl2TimeUnit 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl3TimeUnit 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl4TimeUnit 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl5TimeUnit 1 bytes $_DEFAULT_ = 0x02 + $gPlatformFspPkgTokenSpaceGuid_PpmIrmSetting 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ProcHotLock 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_ConfigTdpLevel 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_MaxRatio 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_StateRatio 40 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_StateRatioMax16 16 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_PsysPmax 2 bytes $_DEFAULT_ = 0xAC + $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl1Irtl 2 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl2Irtl 2 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl3Irtl 2 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl4Irtl 2 bytes $_DEFAULT_ = 0 + $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl5Irtl 2 bytes $_DEFAULT_ = 0 + Skip 2 bytes + $gPlatformFspPkgTokenSpaceGuid_PowerLimit1 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PowerLimit2Power 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PowerLimit3 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PowerLimit4 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_TccOffsetTimeWindowForRatl 4 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_Custom1PowerLimit1 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_Custom1PowerLimit2 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_Custom2PowerLimit1 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_Custom2PowerLimit2 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_Custom3PowerLimit1 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_Custom3PowerLimit2 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PsysPowerLimit1Power 4 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PsysPowerLimit2Power 4 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_RaceToHalt 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_ThreeStrikeCounterDisable 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_HwpInterruptControl 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_ReservedCpuPostMem2 4 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_EnableItbm 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_C1StateAutoDemotion 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_C1StateUnDemotion 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_MinRingRatioLimit 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_MaxRingRatioLimit 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_EnablePerCorePState 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_EnableHwpAutoPerCorePstate 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_EnableHwpAutoEppGrouping 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_EnableEpbPeciOverride 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_EnableFastMsrHwpReq 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ApplyConfigTdp 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_HwpLock 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_DualTauBoost 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_ReservedCpuPostMemTest 16 bytes $_DEFAULT_ = 0x00 + Skip 16 bytes + $gPlatformFspPkgTokenSpaceGuid_EndOfPostMessage 1 bytes $_DEFAULT_ = 0x2 + $gPlatformFspPkgTokenSpaceGuid_DisableD0I3SettingForHeci 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_MctpBroadcastCycle 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_PchLockDownGlobalSmi 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchLockDownBiosInterface 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PchUnlockGpioPads 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchSbAccessUnlock 1 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_PcieRpLtrMaxSnoopLatency 56 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpLtrMaxNoSnoopLatency 56 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpSnoopLatencyOverrideMode 28 bytes $_DEFAULT_ = 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02 + $gPlatformFspPkgTokenSpaceGuid_PcieRpSnoopLatencyOverrideMultiplier 28 bytes $_DEFAULT_ = 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02 + $gPlatformFspPkgTokenSpaceGuid_PcieRpSnoopLatencyOverrideValue 56 bytes $_DEFAULT_ = 0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpNonSnoopLatencyOverrideMode 28 bytes $_DEFAULT_ = 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02 + $gPlatformFspPkgTokenSpaceGuid_PcieRpNonSnoopLatencyOverrideMultiplier 28 bytes $_DEFAULT_ = 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02 + $gPlatformFspPkgTokenSpaceGuid_PcieRpNonSnoopLatencyOverrideValue 56 bytes $_DEFAULT_ = 0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpSlotPowerLimitScale 28 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieRpSlotPowerLimitValue 56 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_PcieEnablePort8xhDecode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPciePort8xhDecodePortIndex 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchPmDisableEnergyReport 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_SataTestMode 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_PchXhciOcLock 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_PmcLpmS0ixSubStateEnableMask 1 bytes $_DEFAULT_ = 0x9 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpLtrMaxSnoopLatency 8 bytes $_DEFAULT_ = 0x0F,0x10,0x0F,0x10,0x0F,0x10,0x0F,0x10 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpLtrMaxNoSnoopLatency 8 bytes $_DEFAULT_ = 0x0F,0x10,0x0F,0x10,0x0F,0x10,0x0F,0x10 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpSnoopLatencyOverrideMode 4 bytes $_DEFAULT_ = 0x02, 0x02, 0x02, 0x02 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpSnoopLatencyOverrideMultiplier 4 bytes $_DEFAULT_ = 0x02, 0x02, 0x02, 0x02 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpSnoopLatencyOverrideValue 8 bytes $_DEFAULT_ = 0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpNonSnoopLatencyOverrideMode 4 bytes $_DEFAULT_ = 0x02, 0x02, 0x02, 0x02 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpNonSnoopLatencyOverrideMultiplier 4 bytes $_DEFAULT_ = 0x02, 0x02, 0x02, 0x02 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpNonSnoopLatencyOverrideValue 8 bytes $_DEFAULT_ = 0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpGen3Uptp 4 bytes $_DEFAULT_ = 0x07, 0x07, 0x07, 0x07 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpGen3Dptp 4 bytes $_DEFAULT_ = 0x07, 0x07, 0x07, 0x07 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpGen4Uptp 4 bytes $_DEFAULT_ = 0x08, 0x08, 0x08, 0x08 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpGen4Dptp 4 bytes $_DEFAULT_ = 0x09, 0x09, 0x09, 0x09 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpGen5Uptp 4 bytes $_DEFAULT_ = 0x07, 0x07, 0x07, 0x07 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpGen5Dptp 4 bytes $_DEFAULT_ = 0x07, 0x07, 0x07, 0x07 + $gPlatformFspPkgTokenSpaceGuid_EnableTcssCovTypeA 4 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_MappingPchXhciUsbA 4 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieFomsCp 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PmcC10DynamicThresholdAdjustment 1 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpPeerToPeerMode 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_TurboRatioLimitRatio 8 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_TurboRatioLimitNumCore 8 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_AtomTurboRatioLimitRatio 8 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_AtomTurboRatioLimitNumCore 8 bytes $_DEFAULT_ = 0x00 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_FspEventHandler 4 bytes $_DEFAULT_ = 0x0 + $gPlatformFspPkgTokenSpaceGuid_VmdGlobalMapping 1 bytes $_DEFAULT_ = 0x01 + $gPlatformFspPkgTokenSpaceGuid_CpuPcieFunc0LinkDisable 4 bytes $_DEFAULT_ = 0x00, 0x00, 0x00, 0x00 + $gPlatformFspPkgTokenSpaceGuid_PmcSkipVccInConfig 1 bytes $_DEFAULT_ = 0x00 + $gPlatformFspPkgTokenSpaceGuid_CseDataResilience 1 bytes $_DEFAULT_ = 0x01 + Skip 1 bytes + $gPlatformFspPkgTokenSpaceGuid_HorizontalResolution 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_VerticalResolution 4 bytes $_DEFAULT_ = 0x00000000 + $gPlatformFspPkgTokenSpaceGuid_ThcActiveLtr 8 bytes $_DEFAULT_ = 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF + $gPlatformFspPkgTokenSpaceGuid_ThcIdleLtr 8 bytes $_DEFAULT_ = 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF + $gPlatformFspPkgTokenSpaceGuid_ThcHidResetPad 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_ThcHidResetPadTrigger 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_ThcHidConnectionSpeed 8 bytes $_DEFAULT_ = 0x40,0x66,0x03,0x01,0x40,0x66,0x03,0x01 + $gPlatformFspPkgTokenSpaceGuid_ThcLimitPacketSize 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_ThcPerformanceLimitation 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_ThcHidInputReportHeaderAddress 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_ThcHidInputReportBodyAddress 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_ThcHidOutputReportAddress 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_ThcHidReadOpcode 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_ThcHidWriteOpcode 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $gPlatformFspPkgTokenSpaceGuid_ThcHidFlags 8 bytes $_DEFAULT_ = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + +EndStruct + + +List &EN_DIS + Selection 0x1 , "Enabled" + Selection 0x0 , "Disabled" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartDebugEnable + Selection 0 , "Disable" + Selection 1 , "Enable and Initialize" + Selection 2 , "Enable without Initializing" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartNumber + Selection 0 , "SerialIoUart0" + Selection 1 , "SerialIoUart1" + Selection 2 , "SerialIoUart2" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartMode + Selection 0 , "SerialIoUartDisabled" + Selection 1 , "SerialIoUartPci" + Selection 2 , "SerialIoUartHidden" + Selection 3 , "SerialIoUartCom" + Selection 4 , "SerialIoUartSkipInit" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartParity + Selection 0 , " DefaultParity" + Selection 1 , " NoParity" + Selection 2 , " EvenParity" + Selection 3 , " OddParity" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartStopBits + Selection 0 , " DefaultStopBits" + Selection 1 , " OneStopBit" + Selection 2 , " OneFiveStopBits" + Selection 3 , " TwoStopBits" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartAutoFlow + Selection 0 , " Disable" + Selection 1 , "Enable" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcdLpcUartDebugEnable + Selection 0 , "Disable" + Selection 1 , "Enable" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcdSerialDebugLevel + Selection 0 , "Disable" + Selection 1 , "Error Only" + Selection 2 , "Error and Warnings" + Selection 3 , "Load Error Warnings and Info" + Selection 4 , "Load Error Warnings and Info & Event" + Selection 5 , "Load Error Warnings Info and Verbose" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcdIsaSerialUartBase + Selection 0 , "0x3F8" + Selection 1 , "0x2F8" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartEnable + Selection 0 , "Disable" + Selection 1 , "Enable and Initialize" + Selection 2 , "Enable without Initializing" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartNumber + Selection 0 , "SerialIoUart0" + Selection 1 , "SerialIoUart1" + Selection 2 , "SerialIoUart2" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartMode + Selection 0 , "SerialIoUartDisabled" + Selection 1 , "SerialIoUartPci" + Selection 2 , "SerialIoUartHidden" + Selection 3 , "SerialIoUartCom" + Selection 4 , "SerialIoUartSkipInit" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartParity + Selection 0 , " DefaultParity" + Selection 1 , " NoParity" + Selection 2 , " EvenParity" + Selection 3 , " OddParity" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartStopBits + Selection 0 , " DefaultStopBits" + Selection 1 , " OneStopBit" + Selection 2 , " OneFiveStopBits" + Selection 3 , " TwoStopBits" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartAutoFlow + Selection 0 , " Disable" + Selection 1 , "Enable" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_MemorySpdDataLen + Selection 0x100 , "256 Bytes" + Selection 0x200 , "512 Bytes" + Selection 0x400 , "1024 Bytes" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_SmramMask + Selection 0 , " Neither" + Selection 1 , "AB-SEG" + Selection 2 , "H-SEG" + Selection 3 , " Both" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_IbeccOperationMode + Selection 0 , "Protect base on address range" + Selection 1 , "Non-protected" + Selection 2 , "All protected" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_TsegSize + Selection 0x0400000 , "4MB" + Selection 0x01000000 , "16MB" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PlatformDebugConsent + Selection 0 , "Disabled" + Selection 2 , "Enabled (All Probes+TraceHub)" + Selection 6 , "Enable (Low Power)" + Selection 7 , "Manual" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DciDbcMode + Selection 0 , "Disabled" + Selection 1 , "USB2 DbC" + Selection 2 , "USB3 DbC" + Selection 3 , "Both" + Selection 4 , "No Change" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DciUsb3TypecUfpDbg + Selection 0 , "Disabled" + Selection 1 , "Enabled" + Selection 2 , "No Change" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PchTraceHubMode + Selection 0 , " Disable" + Selection 1 , " Target Debugger Mode" + Selection 2 , " Host Debugger Mode" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PchTraceHubMemReg0Size + Selection 0 , "0" + Selection 1 , "1MB" + Selection 2 , "8MB" + Selection 3 , "64MB" + Selection 4 , "128MB" + Selection 5 , "256MB" + Selection 6 , "512MB" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PchTraceHubMemReg1Size + Selection 0 , "0" + Selection 1 , "1MB" + Selection 2 , "8MB" + Selection 3 , "64MB" + Selection 4 , "128MB" + Selection 5 , "256MB" + Selection 6 , "512MB" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkDmicClockSelect + Selection 0 , " Both" + Selection 1 , " ClkA" + Selection 2 , " ClkB" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_IgdDvmt50PreAlloc + Selection 0x00 , "0MB" + Selection 0x01 , "32MB" + Selection 0x02 , "64MB" + Selection 0x03 , "96MB" + Selection 0x04 , "128MB" + Selection 0x05 , "160MB" + Selection 0xF0 , "4MB" + Selection 0xF1 , "8MB" + Selection 0xF2 , "12MB" + Selection 0xF3 , "16MB" + Selection 0xF4 , "20MB" + Selection 0xF5 , "24MB" + Selection 0xF6 , "28MB" + Selection 0xF7 , "32MB" + Selection 0xF8 , "36MB" + Selection 0xF9 , "40MB" + Selection 0xFA , "44MB" + Selection 0xFB , "48MB" + Selection 0xFC , "52MB" + Selection 0xFD , "56MB" + Selection 0xFE , "60MB" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_ApertureSize + Selection 0 , "128 MB" + Selection 1 , "256 MB" + Selection 3 , "512 MB" + Selection 7 , "1024 MB" + Selection 15 , " 2048 MB" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_UserBd + Selection 0 , "Mobile" + Selection 1 , "Desktop1Dpc" + Selection 2 , "Desktop2DpcDaisyChain" + Selection 3 , "Desktop2DpcTeeTopologyAsymmetrical" + Selection 4 , "Desktop2DpcTeeTopology" + Selection 5 , "UltMobile" + Selection 7 , "UP Server" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DisableMrcRetrainingOnRtcPowerLoss + Selection 0 , "Disabled" + Selection 1 , "Enabled" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DdrFreqLimit + Selection 1067 , "1067" + Selection 1333 , "1333" + Selection 1600 , "1600" + Selection 1867 , "1867" + Selection 2133 , "2133" + Selection 2400 , "2400" + Selection 2667 , "2667" + Selection 2933 , "2933" + Selection 0 , "Auto" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_SaGv + Selection 0 , "Disabled" + Selection 1 , "FixedPoint0" + Selection 2 , "FixedPoint1" + Selection 3 , "FixedPoint2" + Selection 4 , "FixedPoint3" + Selection 5 , "Enabled" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_MemTestOnWarmBoot + Selection 0 , "Disable" + Selection 1 , "Enable" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DdrSpeedControl + Selection 0 , "Auto" + Selection 1 , "Manual" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_SpdProfileSelected + Selection 0 , "Default SPD Profile" + Selection 1 , "Custom Profile" + Selection 2 , "XMP Profile 1" + Selection 3 , "XMP Profile 2" + Selection 4 , "XMP Profile 3" + Selection 5 , "XMP User Profile 4" + Selection 6 , "XMP User Profile 5" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_RefClk + Selection 0 , "133MHz" + Selection 1 , "100MHz" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_Ratio + Selection 0 , "Auto" + Selection 4 , "4" + Selection 5 , "5" + Selection 6 , "6" + Selection 7 , "7" + Selection 8 , "8" + Selection 9 , "9" + Selection 10 , "10" + Selection 11 , "11" + Selection 12 , "12" + Selection 13 , "13" + Selection 14 , "14" + Selection 15 , "15" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_tWR + Selection 0 , "Auto" + Selection 5 , "5" + Selection 6 , "6" + Selection 7 , "7" + Selection 8 , "8" + Selection 10 , "10" + Selection 12 , "12" + Selection 14 , "14" + Selection 16 , "16" + Selection 18 , "18" + Selection 20 , "20" + Selection 24 , "24" + Selection 30 , "30" + Selection 34 , "34" + Selection 40 , "40" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_CpuTraceHubMode + Selection 0 , " Disable" + Selection 1 , "Target Debugger Mode" + Selection 2 , "Host Debugger Mode" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_CpuTraceHubMemReg0Size + Selection 0 , "0" + Selection 1 , "1MB" + Selection 2 , "8MB" + Selection 3 , "64MB" + Selection 4 , "128MB" + Selection 5 , "256MB" + Selection 6 , "512MB" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_CpuTraceHubMemReg1Size + Selection 0 , "0" + Selection 1 , "1MB" + Selection 2 , "8MB" + Selection 3 , "64MB" + Selection 4 , "128MB" + Selection 5 , "256MB" + Selection 6 , "512MB" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_InitPcieAspmAfterOprom + Selection 0 , "Before" + Selection 1 , "After" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PrimaryDisplay + Selection 0 , "iGFX" + Selection 1 , "PEG" + Selection 2 , "PCIe Graphics on PCH" + Selection 3 , "AUTO" + Selection 4 , "Hybrid Graphics" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PsmiRegionSize + Selection 0 , "32MB" + Selection 1 , "288MB" + Selection 2 , "544MB" + Selection 3 , "800MB" + Selection 4 , "1024MB" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_GttSize + Selection 1 , "2MB" + Selection 2 , "4MB" + Selection 3 , "8MB" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_GtVoltageMode + Selection 0 , " Adaptive" + Selection 1 , " Override" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_RealtimeMemoryTiming + Selection 0 , " Disabled" + Selection 1 , " Enabled" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_IpuLaneUsed + Selection 1 , "x1" + Selection 2 , "x2" + Selection 3 , "x3" + Selection 4 , "x4" + Selection 8 , "x8" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_CsiSpeed + Selection 0 , "Sensor default" + Selection 1 , "<416Mbps" + Selection 2 , "<1.5Gbps" + Selection 3 , "<2Gbps" + Selection 4 , "<2.5Gbps" + Selection 5 , "<4Gbps" + Selection 6 , ">4Gbps" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_CpuPcieRpLinkDownGpios + Selection 0 , "Disable" + Selection 1 , "Enable" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_CpuPcieRpClockReqMsgEnable + Selection 0 , "Disable" + Selection 1 , "Enable" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DdiPortAConfig + Selection 0 , "Disabled" + Selection 1 , "eDP" + Selection 2 , "MIPI DSI" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DdiPortBConfig + Selection 0 , "Disabled" + Selection 1 , "eDP" + Selection 2 , "MIPI DSI" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_TvbRatioClipping + Selection 0 , " Disabled" + Selection 1 , " Enabled" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_TvbVoltageOptimization + Selection 0 , " Disabled" + Selection 1 , " Enabled" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DisplayAudioLink + Selection 0 , " Disabled" + Selection 1 , " Enabled" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DmiMaxLinkSpeed + Selection 0 , "Auto" + Selection 1 , "Gen1" + Selection 2 , "Gen2" + Selection 3 , "Gen3" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DmiGen3EqPh2Enable + Selection 0 , "Disable phase2" + Selection 1 , "Enable phase2" + Selection 2 , "Auto" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DmiGen3EqPh3Method + Selection 0 , "Auto" + Selection 1 , "HwEq" + Selection 2 , "SwEq" + Selection 3 , "StaticEq" + Selection 4 , "BypassPhase3" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DmiDeEmphasis + Selection 0 , " -6dB" + Selection 1 , " -3.5dB" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_BootFrequency + Selection 0 , "0" + Selection 1 , "1" + Selection 2 , "2" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_ActiveCoreCount + Selection 0 , "Disable all big cores" + Selection 1 , "1" + Selection 2 , "2" + Selection 3 , "3" + Selection 0xFF , "Active all big cores" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_FClkFrequency + Selection 0 , "800 MHz" + Selection 1 , " 1 GHz" + Selection 2 , " 400 MHz" + Selection 3 , " Reserved" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_JtagC10PowerGateDisable + Selection 0 , " False" + Selection 1 , " True" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DebugInterfaceEnable + Selection 0 , "Disabled" + Selection 1 , "Enabled" + Selection 2 , "No Change" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_ActiveSmallCoreCount + Selection 0 , "Disable all small cores" + Selection 1 , "1" + Selection 2 , "2" + Selection 3 , "3" + Selection 0xFF , "Active all small cores" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_CoreVfPointOffsetMode + Selection 0 , "Legacy" + Selection 1 , "Selection" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_CoreVfPointOffsetPrefix + Selection 0 , "Positive" + Selection 1 , "Negative" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_CoreVfConfigScope + Selection 0 , "All-core" + Selection 1 , "Per-core" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_CrashLogGprs + Selection 0 , "Disabled" + Selection 1 , "Enabled" + Selection 2 , "Only Smm GPRs Disabled" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_RingVfPointOffsetMode + Selection 0 , "Legacy" + Selection 1 , "Selection" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_BclkSource + Selection 1 , "CPU BCLK" + Selection 2 , "PCH BCLK" + Selection 3 , "External CLK" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_SaPllFreqOverride + Selection 0 , " 3200MHz" + Selection 1 , " 1600MHz" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_TscDisableHwFixup + Selection 0 , "Enable" + Selection 1 , "Disable" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PchPort80Route + Selection 0 , "LPC" + Selection 1 , "PCI" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PchHdaVcType + Selection 0 , " VC0" + Selection 1 , " VC1" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PchHdaTestPowerClockGating + Selection 0 , " POR" + Selection 1 , " Force Enable" + Selection 2 , " Force Disable" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PchHdaIDispLinkFrequency + Selection 4 , " 96MHz" + Selection 3 , " 48MHz" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PchHdaIDispLinkTmode + Selection 0 , " 2T" + Selection 2 , " 4T" + Selection 3 , " 8T" + Selection 4 , " 16T" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugControllerNumber + Selection 0 , "SerialIoUart0" + Selection 1 , "SerialIoUart1" + Selection 2 , "SerialIoUart2" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugParity + Selection 0 , " DefaultParity" + Selection 1 , " NoParity" + Selection 2 , " EvenParity" + Selection 3 , " OddParity" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugStopBits + Selection 0 , " DefaultStopBits" + Selection 1 , " OneStopBit" + Selection 2 , " OneFiveStopBits" + Selection 3 , " TwoStopBits" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcdSerialDebugBaudRate + Selection 3 , "9600" + Selection 4 , "19200" + Selection 6 , "56700" + Selection 7 , "115200" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_HobBufferSize + Selection 0 , "Default" + Selection 1 , " 1 Byte" + Selection 2 , " 1 KB" + Selection 3 , " Max value" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_RhSelect + Selection 0 , "Disable" + Selection 1 , "RFM" + Selection 2 , "pTRR" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_NewFeatureEnable1 + Selection 0 , "Disable" + Selection 1 , "Enable" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_NewFeatureEnable2 + Selection 0 , "Disable" + Selection 1 , "Enable" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_ChHashInterleaveBit + Selection 0 , "BIT6" + Selection 1 , "BIT7" + Selection 2 , "BIT8" + Selection 3 , "BIT9" + Selection 4 , "BIT10" + Selection 5 , "BIT11" + Selection 6 , "BIT12" + Selection 7 , "BIT13" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_BClkFrequency + Selection 100000000 , "100Hz" + Selection 125000000 , "125Hz" + Selection 167000000 , "167Hz" + Selection 250000000 , "250Hz" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_EnCmdRate + Selection 0 , "Disable" + Selection 5 , "2 CMDS" + Selection 7 , "3 CMDS" + Selection 9 , "4 CMDS" + Selection 11 , "5 CMDS" + Selection 13 , "6 CMDS" + Selection 15 , "7 CMDS" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_Refresh2X + Selection 0 , "Disable" + Selection 1 , "Enabled for WARM or HOT" + Selection 2 , "Enabled HOT only" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PowerDownMode + Selection 0x0 , "No Power Down" + Selection 0x1 , "APD" + Selection 0x6 , "PPD DLL OFF" + Selection 0xFF , "Auto" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DisPgCloseIdleTimeout + Selection 0 , "Enabled" + Selection 1 , "Disabled" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_SerialDebugMrcLevel + Selection 0 , "Disable" + Selection 1 , "Error Only" + Selection 2 , "Error and Warnings" + Selection 3 , "Load Error Warnings and Info" + Selection 4 , "Load Error Warnings and Info & Event" + Selection 5 , "Load Error Warnings Info and Verbose" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_Ddr4OneDpc + Selection 0 , " Disabled" + Selection 1 , " Enabled on DIMM0 only" + Selection 2 , " Enabled on DIMM1 only" + Selection 3 , " Enabled" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_RefreshWm + Selection 0 , "Set Refresh Watermarks to Low" + Selection 1 , "Set Refresh Watermarks to High (Default)" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_McRefreshRate + Selection 0 , "NORMAL Refresh" + Selection 1 , "1x Refresh" + Selection 2 , "2x Refresh" + Selection 3 , "4x Refresh" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_LpMode + Selection 0 , " Auto (default)" + Selection 1 , " Enabled" + Selection 2 , " Disabled" + Selection 3 , " Reserved" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_BdatTestType + Selection 0 , "RMT per Rank" + Selection 1 , "RMT per Bit" + Selection 2 , "Margin2D" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DeltaT12PowerCycleDelay + Selection 0 , " No Delay" + Selection 0xFFFF , " Auto Calulate T12 Delay" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_ReuseAdlSDdr5Board + Selection 0 , " no" + Selection 1 , " yes" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugMode + Selection 0 , "SerialIoUartDisabled" + Selection 1 , "SerialIoUartPci" + Selection 2 , "SerialIoUartHidden" + Selection 3 , "SerialIoUartCom" + Selection 4 , "SerialIoUartSkipInit" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PprEnable + Selection 0 , "Disable" + Selection 2 , "Hard PPR" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_MarginLimitCheck + Selection 0 , "Disable" + Selection 1 , "L1" + Selection 2 , "L2" + Selection 3 , "Both" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_IbeccErrInjControl + Selection 0 , " No Error Injection" + Selection 1 , "Inject Correctable Error Address match" + Selection 3 , "Inject Correctable Error on insertion counter" + Selection 5 , " Inject Uncorrectable Error Address match" + Selection 7 , "Inject Uncorrectable Error on insertion counter" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_Lp5BankMode + Selection 0 , "Auto" + Selection 1 , "8 Bank Mode" + Selection 2 , "16 Bank Mode" + Selection 3 , "BG Mode" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_SataMode + Selection 0 , "AHCI" + Selection 1 , "RAID" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_SerialIoDebugUartNumber + Selection 0 , "UART0" + Selection 1 , "UART1" + Selection 2 , "UART2" + Selection 3 , "UART3" + Selection 4 , "UART4" + Selection 5 , "UART5" + Selection 6 , "UART6" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PchTsnLinkSpeed + Selection 0 , " 24Mhz 2.5Gbps" + Selection 1 , " 24Mhz 1Gbps" + Selection 2 , " 38.4Mhz 2.5Gbps" + Selection 3 , " 38.4Mhz 1Gbps" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_CnviMode + Selection 0 , "Disable" + Selection 1 , "Auto" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_CdClock + Selection 0xFF , " Auto (Max based on reference clock frequency)" + Selection 0 , " 192" + Selection 1 , " 307.2" + Selection 2 , " 312 Mhz" + Selection 3 , " 324Mhz" + Selection 4 , " 326.4 Mhz" + Selection 5 , " 552 Mhz" + Selection 6 , " 556.8 Mhz" + Selection 7 , " 648 Mhz" + Selection 8 , " 652.8 Mhz" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_LidStatus + Selection 0 , " LidClosed" + Selection 1 , " LidOpen" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_VmdCfgBarAttr + Selection 0 , " VMD_32BIT_NONPREFETCH" + Selection 1 , " VMD_64BIT_NONPREFETCH" + Selection 2 , " VMD_64BIT_PREFETCH" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_VmdMemBar1Attr + Selection 0 , " VMD_32BIT_NONPREFETCH" + Selection 1 , " VMD_64BIT_NONPREFETCH" + Selection 2 , " VMD_64BIT_PREFETCH" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_VmdMemBar2Attr + Selection 0 , " VMD_32BIT_NONPREFETCH" + Selection 1 , " VMD_64BIT_NONPREFETCH" + Selection 2 , " VMD_64BIT_PREFETCH" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_SlowSlewRate + Selection 0 , " Fast/2" + Selection 1 , " Fast/4" + Selection 2 , " Fast/8" + Selection 3 , " Fast/16" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PpinSupport + Selection 0 , " Disable" + Selection 1 , " Enable" + Selection 2 , " Auto" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_AvxDisable + Selection 0 , " Enable" + Selection 1 , " Disable" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_Avx3Disable + Selection 0 , " Enable" + Selection 1 , " Disable" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_EnableFastVmode + Selection 0 , " Disable" + Selection 1 , " Enable" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PchHdaLinkFrequency + Selection 0 , " 6MHz" + Selection 1 , " 12MHz" + Selection 2 , " 24MHz" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_ThcPort0Assignment + Selection 0x0 , "ThcAssignmentNone" + Selection 0x1 , "ThcAssignmentThc0" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_ThcPort1Assignment + Selection 0x0 , "ThcAssignmentNone" + Selection 0x1 , "ThcPort1AssignmentThc0" + Selection 0x2 , "ThcAssignmentThc1" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcieEqMethod + Selection 0 , " HardwareEq" + Selection 1 , " FixedEq" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PcieEqMode + Selection 0 , " PresetEq" + Selection 1 , " CoefficientEq" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_IehMode + Selection 0 , " Bypass" + Selection 1 , "Enable" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DmiTS0TW + Selection 0 , "x1" + Selection 1 , "x2" + Selection 2 , "x4" + Selection 3 , "x8" + Selection 4 , "x16" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DmiTS1TW + Selection 0 , "x1" + Selection 1 , "x2" + Selection 2 , "x4" + Selection 3 , "x8" + Selection 4 , "x16" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DmiTS2TW + Selection 0 , "x1" + Selection 1 , "x2" + Selection 2 , "x4" + Selection 3 , "x8" + Selection 4 , "x16" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_DmiTS3TW + Selection 0 , "x1" + Selection 1 , "x2" + Selection 2 , "x4" + Selection 3 , "x8" + Selection 4 , "x16" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_HybridStorageMode + Selection 0 , " Disabled" + Selection 1 , " Dynamic Configuration" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_SataRstInterrupt + Selection 0 , "Msix" + Selection 1 , "Msi" + Selection 2 , "Legacy" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_MeUnconfigOnRtcClear + Selection 0 , " Disable ME Unconfig On Rtc Clear" + Selection 1 , " Enable ME Unconfig On Rtc Clear" + Selection 2 , " Cmos is clear" + Selection 3 , " Reserved" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_PchDmiAspmCtrl + Selection 0 , "Disabled" + Selection 1 , "L0s" + Selection 2 , "L1" + Selection 3 , "L0sL1" + Selection 4 , "Auto" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_EdramTestMode + Selection 0 , " EDRAM SW disable" + Selection 1 , " EDRAM SW Enable" + Selection 2 , " EDRAM HW mode" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_GtFreqMax + Selection 0xFF , " Auto(Default)" + Selection 2 , " 100 Mhz" + Selection 3 , " 150 Mhz" + Selection 4 , " 200 Mhz" + Selection 5 , " 250 Mhz" + Selection 6 , " 300 Mhz" + Selection 7 , " 350 Mhz" + Selection 8 , " 400 Mhz" + Selection 9 , " 450 Mhz" + Selection 0xA , " 500 Mhz" + Selection 0xB , " 550 Mhz" + Selection 0xC , " 600 Mhz" + Selection 0xD , " 650 Mhz" + Selection 0xE , " 700 Mhz" + Selection 0xF , " 750 Mhz" + Selection 0x10 , " 800 Mhz" + Selection 0x11 , " 850 Mhz" + Selection 0x12 , "900 Mhz" + Selection 0x13 , " 950 Mhz" + Selection 0x14 , " 1000 Mhz" + Selection 0x15 , " 1050 Mhz" + Selection 0x16 , " 1100 Mhz" + Selection 0x17 , " 1150 Mhz" + Selection 0x18 , " 1200 Mhz" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_ApIdleManner + Selection 1 , " HALT loop" + Selection 2 , " MWAIT loop" + Selection 3 , " RUN loop" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_ProcessorTraceOutputScheme + Selection 0 , " Single Range Output" + Selection 1 , " ToPA Output" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_ThreeStrikeCounterDisable + Selection 0 , " False" + Selection 1 , " True" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_EndOfPostMessage + Selection 0 , "Disable" + Selection 1 , "Send in PEI" + Selection 2 , "Send in DXE" + Selection 3 , "Reserved" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_CpuPcieFomsCp + Selection 0 , " Auto" + Selection 1 , " Gen3 Foms" + Selection 2 , " Gen4 Foms" + Selection 3 , " Gen3 and Gen4 Foms" +EndList + +List &gPlatformFspPkgTokenSpaceGuid_CpuPcieRpPeerToPeerMode + Selection 0 , " Disable" + Selection 1 , " Enable" +EndList + +BeginInfoBlock + PPVer "0.1" + Description "Alder Lake Platform" +EndInfoBlock + +Page "FSP-T Settings" + Combo $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartDebugEnable, "PcdSerialIoUartDebugEnable", &gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartDebugEnable, + Help "Enable SerialIo Uart debug library with/without initializing SerialIo Uart device in FSP. " + Combo $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartNumber, "PcdSerialIoUartNumber", &gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartNumber, + Help "Select SerialIo Uart Controller for debug. Note: If UART0 is selected as CNVi BT Core interface, it cannot be used for debug purpose." + Combo $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartMode, "PcdSerialIoUartMode - FSPT", &gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartMode, + Help "Select SerialIo Uart Controller mode" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartBaudRate, "PcdSerialIoUartBaudRate - FSPT", DEC, + Help "Set default BaudRate Supported from 0 - default to 6000000" + "Valid range: 0 ~ 6000000" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdPciExpressBaseAddress, "Pci Express Base Address", HEX, + Help "Base address to be programmed for Pci Express " + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdPciExpressRegionLength, "Pci Express Region Length", HEX, + Help "Region Length to be programmed for Pci Express " + "Valid range: 0x00 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartParity, "PcdSerialIoUartParity - FSPT", &gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartParity, + Help "Set default Parity." + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartDataBits, "PcdSerialIoUartDataBits - FSPT", HEX, + Help "Set default word length. 0: Default, 5,6,7,8" + "Valid range: 0x0 ~ 0x08" + Combo $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartStopBits, "PcdSerialIoUartStopBits - FSPT", &gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartStopBits, + Help "Set default stop bits." + Combo $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartAutoFlow, "PcdSerialIoUartAutoFlow - FSPT", &gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartAutoFlow, + Help "Enables UART hardware flow control, CTS and RTS lines." + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartRxPinMux, "PcdSerialIoUartRxPinMux - FSPT", HEX, + Help "Select RX pin muxing for SerialIo UART used for debug" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartTxPinMux, "PcdSerialIoUartTxPinMux - FSPT", HEX, + Help "Select TX pin muxing for SerialIo UART used for debug" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartRtsPinMux, "PcdSerialIoUartRtsPinMux - FSPT", HEX, + Help "Select SerialIo Uart used for debug Rts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_RTS* for possible values." + "Valid range: 0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartCtsPinMux, "PcdSerialIoUartCtsPinMux - FSPT", HEX, + Help "Select SerialIo Uart used for debug Cts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_CTS* for possible values." + "Valid range: 0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoUartDebugMmioBase, "PcdSerialIoUartDebugMmioBase - FSPT", HEX, + Help "Select SerialIo Uart default MMIO resource in SEC/PEI phase when PcdSerialIoUartMode = SerialIoUartPci." + "Valid range: 0 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PcdLpcUartDebugEnable, "PcdLpcUartDebugEnable", &gPlatformFspPkgTokenSpaceGuid_PcdLpcUartDebugEnable, + Help "Enable to initialize LPC Uart device in FSP." + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdDebugInterfaceFlags, "Debug Interfaces", HEX, + Help "Debug Interfaces. BIT0-RAM, BIT1-UART, BIT3-USB3, BIT4-Serial IO, BIT5-TraceHub, BIT2 - Not used." + "Valid range: 0x00 ~ 0x3F" + Combo $gPlatformFspPkgTokenSpaceGuid_PcdSerialDebugLevel, "PcdSerialDebugLevel", &gPlatformFspPkgTokenSpaceGuid_PcdSerialDebugLevel, + Help "Serial Debug Message Level. 0:Disable, 1:Error Only, 2:Error & Warnings, 3:Load, Error, Warnings & Info, 4:Load, Error, Warnings, Info & Event, 5:Load, Error, Warnings, Info & Verbose." + Combo $gPlatformFspPkgTokenSpaceGuid_PcdIsaSerialUartBase, "ISA Serial Base selection", &gPlatformFspPkgTokenSpaceGuid_PcdIsaSerialUartBase, + Help "Select ISA Serial Base address. Default is 0x3F8." + Combo $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartEnable, "PcdSerialIo2ndUartEnable", &gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartEnable, + Help "Enable Additional SerialIo Uart device in FSP." + Combo $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartNumber, "PcdSerialIo2ndUartNumber", &gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartNumber, + Help "Select SerialIo Uart Controller Number" + Combo $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartMode, "PcdSerialIo2ndUartMode - FSPT", &gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartMode, + Help "Select SerialIo Uart Controller mode" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartBaudRate, "PcdSerialIo2ndUartBaudRate - FSPT", DEC, + Help "Set default BaudRate Supported from 0 - default to 6000000" + "Valid range: 0 ~ 6000000" + Combo $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartParity, "PcdSerialIo2ndUartParity - FSPT", &gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartParity, + Help "Set default Parity." + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartDataBits, "PcdSerialIo2ndUartDataBits - FSPT", HEX, + Help "Set default word length. 0: Default, 5,6,7,8" + "Valid range: 0x0 ~ 0x08" + Combo $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartStopBits, "PcdSerialIo2ndUartStopBits - FSPT", &gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartStopBits, + Help "Set default stop bits." + Combo $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartAutoFlow, "PcdSerialIo2ndUartAutoFlow - FSPT", &gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartAutoFlow, + Help "Enables UART hardware flow control, CTS and RTS lines." + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartRxPinMux, "PcdSerialIo2ndUartRxPinMux - FSPT", HEX, + Help "Select RX pin muxing for SerialIo UART" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartTxPinMux, "PcdSerialIo2ndUartTxPinMux - FSPT", HEX, + Help "Select TX pin muxing for SerialIo UART" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartRtsPinMux, "PcdSerialIo2ndUartRtsPinMux - FSPT", HEX, + Help "Select SerialIo Uart Rts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_RTS* for possible values." + "Valid range: 0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartCtsPinMux, "PcdSerialIo2ndUartCtsPinMux - FSPT", HEX, + Help "Select SerialIo Uart Cts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_CTS* for possible values." + "Valid range: 0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIo2ndUartMmioBase, "PcdSerialIo2ndUartMmioBase - FSPT", HEX, + Help "Select SerialIo Uart default MMIO resource in SEC/PEI phase when PcdSerialIo2ndUartMode = SerialIoUartPci." + "Valid range: 0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_FspDebugHandler, "FspDebugHandler", HEX, + Help "Optional pointer to the boot loader's implementation of FSP_DEBUG_HANDLER." + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoSpiCsPolarity, "Serial Io SPI Chip Select Polarity", HEX, + Help "Sets polarity for each chip Select. Available options: 0:SerialIoSpiCsActiveLow, 1:SerialIoSpiCsActiveHigh" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoSpiCsEnable, "Serial Io SPI Chip Select Enable", HEX, + Help "0:Disabled, 1:Enabled. Enables GPIO for CS0 or CS1 if it is Enabled" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoSpiDefaultCsOutput, "Serial Io SPI Default Chip Select Output", HEX, + Help "Sets Default CS as Output. Available options: 0:CS0, 1:CS1" + "Valid range: 0x00 ~ 0x1" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoSpiCsMode, "Serial Io SPI Default Chip Select Mode HW/SW", HEX, + Help "Sets Default CS Mode Hardware or Software. Available options: 0:HW, 1:SW" + "Valid range: 0x00 ~ 0x1" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoSpiCsState, "Serial Io SPI Default Chip Select State Low/High", HEX, + Help "Sets Default CS State Low or High. Available options: 0:Low, 1:High" + "Valid range: 0x00 ~ 0x1" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdSerialIoSpiMmioBase, "Serial Io SPI Device MMIO Base", HEX, + Help "Assigns MMIO for Serial Io SPI controller usage in early stage." + "Valid range: 0x0 ~ 0xFFFFFFFF" +EndPage + +Page "Memory Reference Code" + EditNum $gPlatformFspPkgTokenSpaceGuid_PlatformMemorySize, "Platform Reserved Memory Size", HEX, + Help "The minimum platform memory size required to pass control into DXE" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_MemorySpdDataLen, "SPD Data Length", &gPlatformFspPkgTokenSpaceGuid_MemorySpdDataLen, + Help "Length of SPD Data" + Combo $gPlatformFspPkgTokenSpaceGuid_EnableAbove4GBMmio, "Enable above 4GB MMIO resource support", &EN_DIS, + Help "Enable/disable above 4GB MMIO resource support" + EditNum $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr000, "Memory SPD Pointer Controller 0 Channel 0 Dimm 0", HEX, + Help "Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr001, "Memory SPD Pointer Controller 0 Channel 0 Dimm 1", HEX, + Help "Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr010, "Memory SPD Pointer Controller 0 Channel 1 Dimm 0", HEX, + Help "Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr011, "Memory SPD Pointer Controller 0 Channel 1 Dimm 1", HEX, + Help "Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr020, "Memory SPD Pointer Controller 0 Channel 2 Dimm 0", HEX, + Help "Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr021, "Memory SPD Pointer Controller 0 Channel 2 Dimm 1", HEX, + Help "Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr030, "Memory SPD Pointer Controller 0 Channel 3 Dimm 0", HEX, + Help "Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr031, "Memory SPD Pointer Controller 0 Channel 3 Dimm 1", HEX, + Help "Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr100, "Memory SPD Pointer Controller 1 Channel 0 Dimm 0", HEX, + Help "Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr101, "Memory SPD Pointer Controller 1 Channel 0 Dimm 1", HEX, + Help "Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr110, "Memory SPD Pointer Controller 1 Channel 1 Dimm 0", HEX, + Help "Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr111, "Memory SPD Pointer Controller 1 Channel 1 Dimm 1", HEX, + Help "Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr120, "Memory SPD Pointer Controller 1 Channel 2 Dimm 0", HEX, + Help "Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr121, "Memory SPD Pointer Controller 1 Channel 2 Dimm 1", HEX, + Help "Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr130, "Memory SPD Pointer Controller 1 Channel 3 Dimm 0", HEX, + Help "Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MemorySpdPtr131, "Memory SPD Pointer Controller 1 Channel 3 Dimm 1", HEX, + Help "Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RcompResistor, "RcompResistor settings", HEX, + Help "Indicates RcompResistor settings: Board-dependent" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RcompTarget, "RcompTarget settings", HEX, + Help "RcompTarget settings: board-dependent" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DqsMapCpu2DramMc0Ch0, "Dqs Map CPU to DRAM MC 0 CH 0", HEX, + Help "Set Dqs mapping relationship between CPU and DRAM, Channel 0: board-dependent" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DqsMapCpu2DramMc0Ch1, "Dqs Map CPU to DRAM MC 0 CH 1", HEX, + Help "Set Dqs mapping relationship between CPU and DRAM, Channel 1: board-dependent" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DqsMapCpu2DramMc0Ch2, "Dqs Map CPU to DRAM MC 0 CH 2", HEX, + Help "Set Dqs mapping relationship between CPU and DRAM, Channel 2: board-dependent" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DqsMapCpu2DramMc0Ch3, "Dqs Map CPU to DRAM MC 0 CH 3", HEX, + Help "Set Dqs mapping relationship between CPU and DRAM, Channel 3: board-dependent" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DqsMapCpu2DramMc1Ch0, "Dqs Map CPU to DRAM MC 1 CH 0", HEX, + Help "Set Dqs mapping relationship between CPU and DRAM, Channel 0: board-dependent" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DqsMapCpu2DramMc1Ch1, "Dqs Map CPU to DRAM MC 1 CH 1", HEX, + Help "Set Dqs mapping relationship between CPU and DRAM, Channel 1: board-dependent" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DqsMapCpu2DramMc1Ch2, "Dqs Map CPU to DRAM MC 1 CH 2", HEX, + Help "Set Dqs mapping relationship between CPU and DRAM, Channel 2: board-dependent" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DqsMapCpu2DramMc1Ch3, "Dqs Map CPU to DRAM MC 1 CH 3", HEX, + Help "Set Dqs mapping relationship between CPU and DRAM, Channel 3: board-dependent" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DqMapCpu2DramMc0Ch0, "Dq Map CPU to DRAM MC 0 CH 0", HEX, + Help "Set Dq mapping relationship between CPU and DRAM, Channel 0: board-dependent" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DqMapCpu2DramMc0Ch1, "Dq Map CPU to DRAM MC 0 CH 1", HEX, + Help "Set Dq mapping relationship between CPU and DRAM, Channel 1: board-dependent" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DqMapCpu2DramMc0Ch2, "Dq Map CPU to DRAM MC 0 CH 2", HEX, + Help "Set Dq mapping relationship between CPU and DRAM, Channel 2: board-dependet" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DqMapCpu2DramMc0Ch3, "Dq Map CPU to DRAM MC 0 CH 3", HEX, + Help "Set Dq mapping relationship between CPU and DRAM, Channel 3: board-dependent" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DqMapCpu2DramMc1Ch0, "Dq Map CPU to DRAM MC 1 CH 0", HEX, + Help "Set Dq mapping relationship between CPU and DRAM, Channel 0: board-dependent" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DqMapCpu2DramMc1Ch1, "Dq Map CPU to DRAM MC 1 CH 1", HEX, + Help "Set Dq mapping relationship between CPU and DRAM, Channel 1: board-dependent" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DqMapCpu2DramMc1Ch2, "Dq Map CPU to DRAM MC 1 CH 2", HEX, + Help "Set Dq mapping relationship between CPU and DRAM, Channel 2: board-dependent" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DqMapCpu2DramMc1Ch3, "Dq Map CPU to DRAM MC 1 CH 3", HEX, + Help "Set Dq mapping relationship between CPU and DRAM, Channel 3: board-dependent" + "Valid range: 0x00 ~ 0xFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_DqPinsInterleaved, "Dqs Pins Interleaved Setting", &EN_DIS, + Help "Indicates DqPinsInterleaved setting: board-dependent" + Combo $gPlatformFspPkgTokenSpaceGuid_SmramMask, "Smram Mask", &gPlatformFspPkgTokenSpaceGuid_SmramMask, + Help "The SMM Regions AB-SEG and/or H-SEG reserved" + Combo $gPlatformFspPkgTokenSpaceGuid_Ibecc, "Ibecc", &EN_DIS, + Help "Enable/Disable Ibecc" + Combo $gPlatformFspPkgTokenSpaceGuid_IbeccOperationMode, "IbeccOperationMode", &gPlatformFspPkgTokenSpaceGuid_IbeccOperationMode, + Help "In-Band ECC Operation Mode" + Combo $gPlatformFspPkgTokenSpaceGuid_IbeccProtectedRangeEnable, "IbeccProtectedRangeEnable", &EN_DIS, + Help "In-Band ECC Protected Region Enable" + EditNum $gPlatformFspPkgTokenSpaceGuid_IbeccProtectedRangeBase, "IbeccProtectedRangeBase", HEX, + Help "IBECC Protected Region Base" + "Valid range: 0x00000000 ~ 0x03FFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IbeccProtectedRangeMask, "IbeccProtectedRangeMask", HEX, + Help "IBECC Protected Region Mask" + "Valid range: 0x00000001 ~ 0x03FFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_MrcFastBoot, "MRC Fast Boot", &EN_DIS, + Help "Enables/Disable the MRC fast path thru the MRC" + Combo $gPlatformFspPkgTokenSpaceGuid_RmtPerTask, "Rank Margin Tool per Task", &EN_DIS, + Help "This option enables the user to execute Rank Margin Tool per major training step in the MRC." + Combo $gPlatformFspPkgTokenSpaceGuid_TrainTrace, "Training Trace", &EN_DIS, + Help "This option enables the trained state tracing feature in MRC. This feature will print out the key training parameters state across major training steps." + Combo $gPlatformFspPkgTokenSpaceGuid_TsegSize, "Tseg Size", &gPlatformFspPkgTokenSpaceGuid_TsegSize, + Help "Size of SMRAM memory reserved. 0x400000 for Release build and 0x1000000 for Debug build" + EditNum $gPlatformFspPkgTokenSpaceGuid_MmioSize, "MMIO Size", HEX, + Help "Size of MMIO space reserved for devices. 0(Default)=Auto, non-Zero=size in MB" + "Valid range: 0 ~ 0xC00" + Combo $gPlatformFspPkgTokenSpaceGuid_ProbelessTrace, "Probeless Trace", &EN_DIS, + Help "Probeless Trace: 0=Disabled, 1=Enable. Enabling Probeless Trace will reserve 128MB. This also requires IED to be enabled." + EditNum $gPlatformFspPkgTokenSpaceGuid_SpdAddressTable, "Spd Address Tabl", HEX, + Help "Specify SPD Address table for CH0D0/CH0D1/CH1D0&CH1D1. MemorySpdPtr will be used if SPD Address is 00" + "Valid range: 0x00 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_UserBd, "Board Type", &gPlatformFspPkgTokenSpaceGuid_UserBd, + Help "MrcBoardType, Options are 0:Mobile, 1:Desktop1Dpc, 2:Desktop2DpcDaisyChain, 3:Desktop2DpcTeeTopologyAsymmetrical, 4:Desktop2DpcTeeTopology, 5:UltMobile, 7:UP Server" + Combo $gPlatformFspPkgTokenSpaceGuid_DisableMrcRetrainingOnRtcPowerLoss, "MRC Retraining on RTC Power Loss", &gPlatformFspPkgTokenSpaceGuid_DisableMrcRetrainingOnRtcPowerLoss, + Help "Specifies whether MRC memory training will occur when RTC power loss is detected. Options are 0=Memory will be re-trained if RTC power loss is detected. 1=Memory will not be re-trained when RTC power loss is detected. (Typically used on board designs without a dedicated RTC battery)" + Combo $gPlatformFspPkgTokenSpaceGuid_DdrFreqLimit, "DDR Frequency Limit", &gPlatformFspPkgTokenSpaceGuid_DdrFreqLimit, + Help "Maximum Memory Frequency Selections in Mhz. Options are 1067, 1333, 1600, 1867, 2133, 2400, 2667, 2933 and 0 for Auto." + Combo $gPlatformFspPkgTokenSpaceGuid_SaGv, "SA GV", &gPlatformFspPkgTokenSpaceGuid_SaGv, + Help "System Agent dynamic frequency support and when enabled memory will be training at four different frequencies." + Combo $gPlatformFspPkgTokenSpaceGuid_MemTestOnWarmBoot, "Memory Test on Warm Boot", &gPlatformFspPkgTokenSpaceGuid_MemTestOnWarmBoot, + Help "Run Base Memory Test on Warm Boot" + Combo $gPlatformFspPkgTokenSpaceGuid_DdrSpeedControl, "DDR Speed Control", &gPlatformFspPkgTokenSpaceGuid_DdrSpeedControl, + Help "DDR Frequency and Gear control for all SAGV points." + Combo $gPlatformFspPkgTokenSpaceGuid_RMT, "Rank Margin Tool", &EN_DIS, + Help "Enable/disable Rank Margin Tool." + Combo $gPlatformFspPkgTokenSpaceGuid_DisableMc0Ch0, "Controller 0 Channel 0 DIMM Control", &EN_DIS, + Help "Enable / Disable DIMMs on Controller 0 Channel 0" + Combo $gPlatformFspPkgTokenSpaceGuid_DisableMc0Ch1, "Controller 0 Channel 1 DIMM Control", &EN_DIS, + Help "Enable / Disable DIMMs on Controller 0 Channel 1" + Combo $gPlatformFspPkgTokenSpaceGuid_DisableMc0Ch2, "Controller 0 Channel 2 DIMM Control", &EN_DIS, + Help "Enable / Disable DIMMs on Controller 0 Channel 2" + Combo $gPlatformFspPkgTokenSpaceGuid_DisableMc0Ch3, "Controller 0 Channel 3 DIMM Control", &EN_DIS, + Help "Enable / Disable DIMMs on Controller 0 Channel 3" + Combo $gPlatformFspPkgTokenSpaceGuid_DisableMc1Ch0, "Controller 1 Channel 0 DIMM Control", &EN_DIS, + Help "Enable / Disable DIMMs on Controller 1 Channel 0" + Combo $gPlatformFspPkgTokenSpaceGuid_DisableMc1Ch1, "Controller 1 Channel 1 DIMM Control", &EN_DIS, + Help "Enable / Disable DIMMs on Controller 1 Channel 1" + Combo $gPlatformFspPkgTokenSpaceGuid_DisableMc1Ch2, "Controller 1 Channel 2 DIMM Control", &EN_DIS, + Help "Enable / Disable DIMMs on Controller 1 Channel 2" + Combo $gPlatformFspPkgTokenSpaceGuid_DisableMc1Ch3, "Controller 1 Channel 3 DIMM Control", &EN_DIS, + Help "Enable / Disable DIMMs on Controller 1 Channel 3" + Combo $gPlatformFspPkgTokenSpaceGuid_ScramblerSupport, "Scrambler Support", &EN_DIS, + Help "This option enables data scrambling in memory." + Combo $gPlatformFspPkgTokenSpaceGuid_SpdProfileSelected, "SPD Profile Selected", &gPlatformFspPkgTokenSpaceGuid_SpdProfileSelected, + Help "Select DIMM timing profile. Options are 0:Default SPD Profile, 1:Custom Profile, 2:XMP Profile 1, 3:XMP Profile 2, 4:XMP Profile 3, 5:XMP User Profile 4, 6:XMP User Profile 5" + Combo $gPlatformFspPkgTokenSpaceGuid_RefClk, "Memory Reference Clock", &gPlatformFspPkgTokenSpaceGuid_RefClk, + Help "100MHz, 133MHz." + EditNum $gPlatformFspPkgTokenSpaceGuid_VddVoltage, "Memory Voltage", DEC, + Help "DRAM voltage (Vdd) (supply voltage for input buffers and core logic of the DRAM chips) in millivolts from 0 - default to 1435mv." + "Valid range: 0 ~ 1435" + Combo $gPlatformFspPkgTokenSpaceGuid_Ratio, "Memory Ratio", &gPlatformFspPkgTokenSpaceGuid_Ratio, + Help "Automatic or the frequency will equal ratio times reference clock. Set to Auto to recalculate memory timings listed below." + EditNum $gPlatformFspPkgTokenSpaceGuid_tCL, "tCL", HEX, + Help "CAS Latency, 0: AUTO, max: 31. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0x1F" + EditNum $gPlatformFspPkgTokenSpaceGuid_tCWL, "tCWL", HEX, + Help "Min CAS Write Latency Delay Time, 0: AUTO, max: 34. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0x22" + EditNum $gPlatformFspPkgTokenSpaceGuid_tFAW, "tFAW", HEX, + Help "Min Four Activate Window Delay Time, 0: AUTO, max: 63. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_tRAS, "tRAS", HEX, + Help "RAS Active Time, 0: AUTO, max: 64. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0x40" + EditNum $gPlatformFspPkgTokenSpaceGuid_tRCDtRP, "tRCD/tRP", HEX, + Help "RAS to CAS delay time and Row Precharge delay time, 0: AUTO, max: 63. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_tREFI, "tREFI", HEX, + Help "Refresh Interval, 0: AUTO, max: 65535. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_tRFC, "tRFC", HEX, + Help "Min Refresh Recovery Delay Time, 0: AUTO, max: 1023. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0x3FF" + EditNum $gPlatformFspPkgTokenSpaceGuid_tRRD, "tRRD", HEX, + Help "Min Row Active to Row Active Delay Time, 0: AUTO, max: 15. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0x0F" + EditNum $gPlatformFspPkgTokenSpaceGuid_tRTP, "tRTP", HEX, + Help "Min Internal Read to Precharge Command Delay Time, 0: AUTO, max: 15. DDR4 legal values: 5, 6, 7, 8, 9, 10, 12. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0x0F" + Combo $gPlatformFspPkgTokenSpaceGuid_tWR, "tWR", &gPlatformFspPkgTokenSpaceGuid_tWR, + Help "Min Write Recovery Time, 0: AUTO, legal values: 5, 6, 7, 8, 10, 12, 14, 16, 18, 20, 24, 30, 34, 40. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + EditNum $gPlatformFspPkgTokenSpaceGuid_tWTR, "tWTR", HEX, + Help "Min Internal Write to Read Command Delay Time, 0: AUTO, max: 28. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0x1C" + EditNum $gPlatformFspPkgTokenSpaceGuid_NModeSupport, "NMode", HEX, + Help "System command rate, range 0-2, 0 means auto, 1 = 1N, 2 = 2N" + "Valid range: 0x00 ~ 0x02" + EditNum $gPlatformFspPkgTokenSpaceGuid_SaGvGear, "SAGV Gear Ratio", HEX, + Help "Gear Selection for SAGV points. 0 - Auto, 1-1 Gear 1, 2-Gear 2" + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SaGvFreq, "SAGV Frequency", HEX, + Help "SAGV Frequency per point in Mhz. 0 for Auto and a ratio of 133/100MHz: 1333/1300." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_GearRatio, "SAGV Disabled Gear Ratio", HEX, + Help "Gear Selection for SAGV Disabled. 0 - Auto, 1-1 Gear 1, 2-Gear 2" + "Valid range: 0x00 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_TxtImplemented, "Enable/Disable MRC TXT dependency", &EN_DIS, + Help "When enabled MRC execution will wait for TXT initialization to be done first. Disabled(0x0)(Default): MRC will not wait for TXT initialization, Enabled(0x1): MRC will wait for TXT initialization" + Combo $gPlatformFspPkgTokenSpaceGuid_RealtimeMemoryTiming, "Realtime Memory Timing", &gPlatformFspPkgTokenSpaceGuid_RealtimeMemoryTiming, + Help "0(Default): Disabled, 1: Enabled. When enabled, it will allow the system to perform realtime memory timing changes after MRC_DONE." + EditNum $gPlatformFspPkgTokenSpaceGuid_VddqVoltage, "Memory VDDQ Voltage", DEC, + Help "DRAM voltage (Vddq) (supply voltage for DQ/DQS of the DRAM chips) in millivolts from 0 - default to 1435mv." + "Valid range: 0 ~ 1435" + EditNum $gPlatformFspPkgTokenSpaceGuid_VppVoltage, "Memory VPP Voltage", DEC, + Help "DRAM voltage (Vpp) (supply voltage for VPP of the DRAM chips) in millivolts from 0 - default to 2135mv." + "Valid range: 0 ~ 2135" + Combo $gPlatformFspPkgTokenSpaceGuid_CpuPcieNewFom, "CPU PCIe New FOM", &EN_DIS, + Help "Enable/Disable NewFom for DEKEL Programming. 0: Disable(Default); 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DmiNewFom, "DMI DEKEL New FOM", &EN_DIS, + Help "Enable/Disable NewFom for DEKEL Programming. 0: Disable(Default); 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DynamicMemoryBoost, "Dynamic Memory Boost", &EN_DIS, + Help "0(Default): Disable, 1: Enable. When enabled, MRC will train the Default SPD Profile, and also the profile selected by SpdProfileSelected, to allow automatic switching during runtime. Only valid if SpdProfileSelected is an XMP Profile, otherwise ignored." + EditNum $gPlatformFspPkgTokenSpaceGuid_HgSupport, "Hybrid Graphics Support ", HEX, + Help "0(Default): PEG10, 1: PEG60, 2:PEG62. Help to select Hybrid Graphics Support on Peg Port" + "Valid range: 0x00 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_RealtimeMemoryFrequency, "Realtime Memory Frequency", &EN_DIS, + Help "0(Default): Disabled, 1: Enabled. Ignored unless SpdProfileSelected is an XMP Profile. If enabled, MRC will train the Default SPD Profile, and also the selected XMP Profile, to allow manually triggered switching between frequencies at runtime." + Combo $gPlatformFspPkgTokenSpaceGuid_SaPreMemProductionRsvd, "SaPreMemProductionRsvd", &EN_DIS, + Help "Reserved for SA Pre-Mem Production" + Combo $gPlatformFspPkgTokenSpaceGuid_GtClosEnable, "Enable Gt CLOS", &EN_DIS, + Help "0(Default)=Disable, 1=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DmiMaxLinkSpeed, "DMI Max Link Speed", &gPlatformFspPkgTokenSpaceGuid_DmiMaxLinkSpeed, + Help "Auto (Default)(0x0): Maximum possible link speed, Gen1(0x1): Limit Link to Gen1 Speed, Gen2(0x2): Limit Link to Gen2 Speed, Gen3(0x3):Limit Link to Gen3 Speed" + Combo $gPlatformFspPkgTokenSpaceGuid_DmiGen3EqPh2Enable, "DMI Equalization Phase 2", &gPlatformFspPkgTokenSpaceGuid_DmiGen3EqPh2Enable, + Help "DMI Equalization Phase 2. (0x0): Disable phase 2, (0x1): Enable phase 2, (0x2)(Default): AUTO - Use the current default method" + Combo $gPlatformFspPkgTokenSpaceGuid_DmiGen3EqPh3Method, "DMI Gen3 Equalization Phase3", &gPlatformFspPkgTokenSpaceGuid_DmiGen3EqPh3Method, + Help "DMI Gen3 Equalization Phase3. Auto(0x0)(Default): Use the current default method, HwEq(0x1): Use Adaptive Hardware Equalization, SwEq(0x2): Use Adaptive Software Equalization (Implemented in BIOS Reference Code), Static(0x3): Use the Static EQs provided in DmiGen3EndPointPreset array for Phase1 AND Phase3 (Instead of just Phase1), Disabled(0x4): Bypass Equalization Phase 3" + Combo $gPlatformFspPkgTokenSpaceGuid_DmiGen3ProgramStaticEq, "Enable/Disable DMI GEN3 Static EQ Phase1 programming", &EN_DIS, + Help "Program DMI Gen3 EQ Phase1 Static Presets. Disabled(0x0): Disable EQ Phase1 Static Presets Programming, Enabled(0x1)(Default): Enable EQ Phase1 Static Presets Programming" + Combo $gPlatformFspPkgTokenSpaceGuid_DmiDeEmphasis, "DeEmphasis control for DMI", &gPlatformFspPkgTokenSpaceGuid_DmiDeEmphasis, + Help "DeEmphasis control for DMI. 0=-6dB, 1(Default)=-3.5 dB" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiGen3RootPortPreset, "DMI Gen3 Root port preset values per lane", HEX, + Help "Used for programming DMI Gen3 preset values per lane. Range: 0-9, 8 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiGen3EndPointPreset, "DMI Gen3 End port preset values per lane", HEX, + Help "Used for programming DMI Gen3 preset values per lane. Range: 0-9, 7 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiGen3EndPointHint, "DMI Gen3 End port Hint values per lane", HEX, + Help "Used for programming DMI Gen3 Hint values per lane. Range: 0-6, 2 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiGen3RxCtlePeaking, "DMI Gen3 RxCTLEp per-Bundle control", HEX, + Help "Range: 0-15, 0 is default for each bundle, must be specified based upon platform design" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiAspm, "DMI ASPM Configuration:{Combo", HEX, + Help "Set ASPM Configuration" + "Valid range: 0x00 ~ 0xFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_DmiHweq, "Enable/Disable DMI GEN3 Hardware Eq", &EN_DIS, + Help "Enable/Disable DMI GEN3 Hardware Eq. Disabled(0x0)(Default): Disable Hardware Eq, Enabled(0x1): Enable EQ Phase1 Static Presets Programming" + Combo $gPlatformFspPkgTokenSpaceGuid_Gen3EqPhase23Bypass, "Enable/Disable CPU DMI GEN3 Phase 23 Bypass", &EN_DIS, + Help "CPU DMI GEN3 Phase 23 Bypass. Disabled(0x0)(Default): Disable Phase 23 Bypass, Enabled(0x1): Enable Phase 23 Bypass" + Combo $gPlatformFspPkgTokenSpaceGuid_Gen3EqPhase3Bypass, "Enable/Disable CPU DMI GEN3 Phase 3 Bypass", &EN_DIS, + Help "CPU DMI GEN3 Phase 3 Bypass. Disabled(0x0)(Default): Disable Phase 3 Bypass, Enabled(0x1): Enable Phase 3 Bypass" + Combo $gPlatformFspPkgTokenSpaceGuid_Gen3LtcoEnable, "Enable/Disable CPU DMI Gen3 EQ Local Transmitter Coefficient Override Enable", &EN_DIS, + Help "Program Gen3 EQ Local Transmitter Coefficient Override. Disabled(0x0)(Default): Disable Local Transmitter Coefficient Override, Enabled(0x1): Enable Local Transmitter Coefficient Override" + Combo $gPlatformFspPkgTokenSpaceGuid_Gen3RtcoRtpoEnable, "Enable/Disable CPU DMI Gen3 EQ Remote Transmitter Coefficient/Preset Override Enable", &EN_DIS, + Help "Program Remote Transmitter Coefficient/Preset Override. Disabled(0x0)(Default): Disable Remote Transmitter Coefficient/Preset Override, Enabled(0x1): Enable Remote Transmitter Coefficient/Preset Override" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiGen3Ltcpre, "DMI Gen3 Transmitter Pre-Cursor Coefficient ", HEX, + Help "Used for programming DMI Gen3 Transmitter Pre-Cursor Coefficient . Range: 0-10, 2 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiGen3Ltcpo, "DMI Gen3 Transmitter Post-Cursor Coefficient", HEX, + Help "Used for programming Transmitter Post-Cursor Coefficient. Range: 0-9, 2 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuDmiHwEqGen3CoeffListCm, "PCIE Hw Eq Gen3 CoeffList Cm", HEX, + Help "CPU_PCIE_EQ_PARAM. Coefficient C-1." + "Valid range: 0x00 ~ 0xFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuDmiHwEqGen3CoeffListCp, "PCIE Hw Eq Gen3 CoeffList Cp", HEX, + Help "CPU_PCIE_EQ_PARAM. Coefficient C+1." + "Valid range: 0x00 ~ 0xFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_DmiGen3DsPresetEnable, "Enable/Disable DMI GEN3 DmiGen3DsPresetEnable", &EN_DIS, + Help "Enable/Disable DMI GEN3 DmiGen3DsPreset. Auto(0x0)(Default): DmiGen3DsPresetEnable, Manual(0x1): Enable DmiGen3DsPresetEnable" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiGen3DsPortRxPreset, "DMI Gen3 Root port preset Rx values per lane", HEX, + Help "Used for programming DMI Gen3 preset values per lane. Range: 0-10, 1 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiGen3DsPortTxPreset, "DMI Gen3 Root port preset Tx values per lane", HEX, + Help "Used for programming DMI Gen3 preset values per lane. Range: 0-10, 7 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_DmiGen3UsPresetEnable, "Enable/Disable DMI GEN3 DmiGen3UsPresetEnable", &EN_DIS, + Help "Enable/Disable DMI GEN3 DmiGen3UsPreset. Auto(0x0)(Default): DmiGen3UsPresetEnable, Manual(0x1): Enable DmiGen3UsPresetEnable" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiGen3UsPortRxPreset, "DMI Gen3 Root port preset Rx values per lane", HEX, + Help "Used for programming DMI Gen3 preset values per lane. Range: 0-10, 7 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiGen3UsPortTxPreset, "DMI Gen3 Root port preset Tx values per lane", HEX, + Help "Used for programming DMI Gen3 preset values per lane. Range: 0-10, 7 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuDmiHwEqGen4CoeffListCm, "DMI Hw Eq Gen4 CoeffList Cm", HEX, + Help "CPU_PCIE_EQ_PARAM. Coefficient C-1." + "Valid range: 0x00 ~ 0xFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuDmiHwEqGen4CoeffListCp, "DMI Hw Eq Gen4 CoeffList Cp", HEX, + Help "CPU_PCIE_EQ_PARAM. Coefficient C+1." + "Valid range: 0x00 ~ 0xFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_Gen4EqPhase23Bypass, "Enable/Disable CPU DMI GEN4 Phase 23 Bypass", &EN_DIS, + Help "CPU DMI GEN4 Phase 23 Bypass. Disabled(0x0)(Default): Disable Phase 23 Bypass, Enabled(0x1): Enable Phase 23 Bypass" + Combo $gPlatformFspPkgTokenSpaceGuid_Gen4EqPhase3Bypass, "Enable/Disable CPU DMI GEN4 Phase 3 Bypass", &EN_DIS, + Help "CPU DMI GEN3 Phase 4 Bypass. Disabled(0x0)(Default): Disable Phase 3 Bypass, Enabled(0x1): Enable Phase 3 Bypass" + Combo $gPlatformFspPkgTokenSpaceGuid_DmiGen4DsPresetEnable, "Enable/Disable DMI GEN4 DmiGen4DsPresetEnable", &EN_DIS, + Help "Enable/Disable DMI GEN4 DmiGen4DsPreset. Auto(0x0)(Default): DmiGen4DsPresetEnable, Manual(0x1): Enable DmiGen4DsPresetEnable" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiGen4DsPortTxPreset, "DMI Gen4 Root port preset Tx values per lane", HEX, + Help "Used for programming DMI Gen4 preset values per lane. Range: 0-10, 7 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_Gen4RtcoRtpoEnable, "Enable/Disable CPU DMI Gen4 EQ Remote Transmitter Coefficient/Preset Override Enable", &EN_DIS, + Help "Program Remote Transmitter Coefficient/Preset Override. Disabled(0x0)(Default): Disable Remote Transmitter Coefficient/Preset Override, Enabled(0x1): Enable Remote Transmitter Coefficient/Preset Override" + Combo $gPlatformFspPkgTokenSpaceGuid_Gen4LtcoEnable, "Enable/Disable CPU DMI Gen4 EQ Local Transmitter Coefficient Override Enable", &EN_DIS, + Help "Program Gen3 EQ Local Transmitter Coefficient Override. Disabled(0x0)(Default): Disable Local Transmitter Coefficient Override, Enabled(0x1): Enable Local Transmitter Coefficient Override" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiGen4Ltcpre, "DMI Gen4 Transmitter Pre-Cursor Coefficient ", HEX, + Help "Used for programming DMI Gen4 Transmitter Pre-Cursor Coefficient . Range: 0-10, 7 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiGen4Ltcpo, "DMI Gen4 Transmitter Post-Cursor Coefficient", HEX, + Help "Used for programming DMI Gen4 Transmitter Post-Cursor Coefficient. Range: 0-9, 7 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_DmiGen4UsPresetEnable, "Enable/Disable DMI GEN4 DmiGen4UsPresetEnable", &EN_DIS, + Help "Enable/Disable DMI GEN4 DmiGen4UsPreset. Auto(0x0)(Default): DmiGen4UsPresetEnable, Manual(0x1): Enable DmiGen4UsPresetEnable" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiGen4UsPortTxPreset, "DMI Gen4 Root port preset Tx values per lane", HEX, + Help "Used for programming DMI Gen4 preset values per lane. Range: 0-10, 1 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiAspmCtrl, "DMI ASPM Control Configuration:{Combo", HEX, + Help "Set ASPM Control configuration" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmiAspmL1ExitLatency, "DMI ASPM L1 exit Latency", HEX, + Help "Range: 0-7, 4 is default L1 exit Latency" + "Valid range: 0x00 ~ 0x07" + Combo $gPlatformFspPkgTokenSpaceGuid_SiSkipOverrideBootModeWhenFwUpdate, "Skip override boot mode When Fw Update.", &EN_DIS, + Help "When set to TRUE and boot mode is BOOT_ON_FLASH_UPDATE, skip setting boot mode to BOOT_WITH_FULL_CONFIGURATION in PEI memory init." + Combo $gPlatformFspPkgTokenSpaceGuid_TscDisableHwFixup, "TSC HW Fixup disable", &gPlatformFspPkgTokenSpaceGuid_TscDisableHwFixup, + Help "TSC HW Fixup disable during TSC copy from PMA to APIC. 0: Enable; 1: Disable" + Combo $gPlatformFspPkgTokenSpaceGuid_IaIccUnlimitedMode, "Support IA Unlimited ICCMAX", &EN_DIS, + Help "Support IA Unlimited ICCMAX up to maximum value 512A; 0: Disabled; 1: Enabled." + EditNum $gPlatformFspPkgTokenSpaceGuid_IaIccMax, "IA ICCMAX", HEX, + Help "IA ICCMAX value is represented in 1/4 A increments. A value of 400 = 100A. 4 . Range is 4-2047." + "Valid range: 0x00 ~ 0x7FF" + Combo $gPlatformFspPkgTokenSpaceGuid_GtIccUnlimitedMode, "Support GT Unlimited ICCMAX", &EN_DIS, + Help "Support GT Unlimited ICCMAX up to maximum value 512A; 0: Disabled; 1: Enabled." + EditNum $gPlatformFspPkgTokenSpaceGuid_GtIccMax, "GT ICCMAX", HEX, + Help "GT ICCMAX value is represented in 1/4 A increments. A value of 400 = 100A. 4 . Range is 4-2047." + "Valid range: 0x00 ~ 0x7FF" + EditNum $gPlatformFspPkgTokenSpaceGuid_TvbDownBinsTempThreshold0, "TVB Down Bins for Temp Threshold 0", DEC, + Help "Down Bins (delta) for Temperature Threshold 0. When running above Temperature Threshold 0, the ratio will be clipped by MAX_RATIO[n]-This value, when TVB ratio clipping is enabled. Default is 1." + "Valid range: 0 ~ 10" + EditNum $gPlatformFspPkgTokenSpaceGuid_TvbTempThreshold0, "TVB Temperature Threshold 0", DEC, + Help "TVB Temp (degrees C) - Temperature Threshold 0. Running ABOVE this temperature will clip delta Down Bins for Threshold 0 from the resolved OC Ratio, when TVB ratio clipping is enabled. Default is 70." + "Valid range: 0 ~ 100" + EditNum $gPlatformFspPkgTokenSpaceGuid_TvbTempThreshold1, "TVB Temperature Threshold 1", DEC, + Help "TVB Temp (degrees C) - Temperature Threshold 1. Running ABOVE this temperature will clip delta Down Bins for Threshold 1 from the resolved OC Ratio, when TVB ratio clipping is enabled. Default is 100." + "Valid range: 0 ~ 100" + EditNum $gPlatformFspPkgTokenSpaceGuid_TvbDownBinsTempThreshold1, "TVB Down Bins for Temp Threshold 1", DEC, + Help "Down Bins (delta) for Temperature Threshold 1. When running above Temperature Threshold 1, the ratio will be clipped by MAX_RATIO[n]-Down Bin Threshold 1-This value, when TVB ratio clipping is enabled. Default is 2." + "Valid range: 0 ~ 10" + Combo $gPlatformFspPkgTokenSpaceGuid_FllOcModeEn, "FLL Overclock Mode Enable", &EN_DIS, + Help "Select FLL Mode Value from 0 to 3. 0x0 = no overclocking, 0x1 = ratio overclocking with nominal (0.5-1x) reference clock frequency, 0x2 = BCLK overclocking with elevated (1-3x) reference clock frequency, 0x3 = BCLK overclocking with extreme elevated (3-5x) reference clock frequency and ratio limited to 63." + EditNum $gPlatformFspPkgTokenSpaceGuid_FllOverclockMode, "FLL Overclock Mode", HEX, + Help "Select FLL Mode Value from 0 to 3. 0x0 = no overclocking, 0x1 = ratio overclocking with nominal (0.5-1x) reference clock frequency, 0x2 = BCLK overclocking with elevated (1-3x) reference clock frequency, 0x3 = BCLK overclocking with extreme elevated (3-5x) reference clock frequency and ratio limited to 63." + "Valid range: 0x0 ~ 0x3" + EditNum $gPlatformFspPkgTokenSpaceGuid_ConfigTdpLevel, "Configuration for boot TDP selection", HEX, + Help "Configuration for boot TDP selection; 0: TDP Nominal; 1: TDP Down; 2: TDP Up;0xFF : Deactivate" + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CustomPowerLimit1, "Short term Power Limit value for custom cTDP level 1", HEX, + Help "Short term Power Limit value for custom cTDP level 1. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range 0 to 4095875 in Step size of 125" + "Valid range: 0x00 ~ 0x3E7F83" + Combo $gPlatformFspPkgTokenSpaceGuid_Etvb, "Enhanced Thermal Turbo Mode", &EN_DIS, + Help "When eTVB mode is enabled user will be clipped when temperatures reach 70C 0: Disabled; 1: Enabled." + Combo $gPlatformFspPkgTokenSpaceGuid_UnderVoltProtection, "UnderVolt Protection", &EN_DIS, + Help "When UnderVolt Protection is enabled, user will be not be able to program under voltage in OS runtime. 0: Disabled; 1: Enabled" + Combo $gPlatformFspPkgTokenSpaceGuid_ReservedCpuPreMem, "ReservedCpuPreMem", &EN_DIS, + Help "Reserved for Cpu Pre-Mem" + EditNum $gPlatformFspPkgTokenSpaceGuid_MrcSafeConfig, "MRC Safe Config", HEX, + Help "Enables/Disable MRC Safe Config" + "Valid range: 0x00 ~ 0x0F" + Combo $gPlatformFspPkgTokenSpaceGuid_HobBufferSize, "HobBufferSize", &gPlatformFspPkgTokenSpaceGuid_HobBufferSize, + Help "Size to set HOB Buffer. 0:Default, 1: 1 Byte, 2: 1 KB, 3: Max value(assuming 63KB total HOB size)." + Combo $gPlatformFspPkgTokenSpaceGuid_ECT, "Early Command Training", &EN_DIS, + Help "Enables/Disable Early Command Training" + Combo $gPlatformFspPkgTokenSpaceGuid_SOT, "SenseAmp Offset Training", &EN_DIS, + Help "Enables/Disable SenseAmp Offset Training" + Combo $gPlatformFspPkgTokenSpaceGuid_ERDMPRTC2D, "Early ReadMPR Timing Centering 2D", &EN_DIS, + Help "Enables/Disable Early ReadMPR Timing Centering 2D" + Combo $gPlatformFspPkgTokenSpaceGuid_RDMPRT, "Read MPR Training", &EN_DIS, + Help "Enables/Disable Read MPR Training" + Combo $gPlatformFspPkgTokenSpaceGuid_RCVET, "Receive Enable Training", &EN_DIS, + Help "Enables/Disable Receive Enable Training" + Combo $gPlatformFspPkgTokenSpaceGuid_JWRL, "Jedec Write Leveling", &EN_DIS, + Help "Enables/Disable Jedec Write Leveling" + Combo $gPlatformFspPkgTokenSpaceGuid_EWRTC2D, "Early Write Time Centering 2D", &EN_DIS, + Help "Enables/Disable Early Write Time Centering 2D" + Combo $gPlatformFspPkgTokenSpaceGuid_ERDTC2D, "Early Read Time Centering 2D", &EN_DIS, + Help "Enables/Disable Early Read Time Centering 2D" + Combo $gPlatformFspPkgTokenSpaceGuid_WRTC1D, "Write Timing Centering 1D", &EN_DIS, + Help "Enables/Disable Write Timing Centering 1D" + Combo $gPlatformFspPkgTokenSpaceGuid_WRVC1D, "Write Voltage Centering 1D", &EN_DIS, + Help "Enables/Disable Write Voltage Centering 1D" + Combo $gPlatformFspPkgTokenSpaceGuid_RDTC1D, "Read Timing Centering 1D", &EN_DIS, + Help "Enables/Disable Read Timing Centering 1D" + Combo $gPlatformFspPkgTokenSpaceGuid_DIMMODTT, "Dimm ODT Training", &EN_DIS, + Help "Enables/Disable Dimm ODT Training" + Combo $gPlatformFspPkgTokenSpaceGuid_DIMMRONT, "DIMM RON Training", &EN_DIS, + Help "Enables/Disable DIMM RON Training" + Combo $gPlatformFspPkgTokenSpaceGuid_WRDSEQT, "Write Drive Strength/Equalization 2D", &EN_DIS, + Help "Enables/Disable Write Drive Strength/Equalization 2D" + Combo $gPlatformFspPkgTokenSpaceGuid_WRSRT, "Write Slew Rate Training", &EN_DIS, + Help "Enables/Disable Write Slew Rate Training" + Combo $gPlatformFspPkgTokenSpaceGuid_RDODTT, "Read ODT Training", &EN_DIS, + Help "Enables/Disable Read ODT Training" + Combo $gPlatformFspPkgTokenSpaceGuid_RDEQT, "Read Equalization Training", &EN_DIS, + Help "Enables/Disable Read Equalization Training" + Combo $gPlatformFspPkgTokenSpaceGuid_RDAPT, "Read Amplifier Training", &EN_DIS, + Help "Enables/Disable Read Amplifier Training" + Combo $gPlatformFspPkgTokenSpaceGuid_WRTC2D, "Write Timing Centering 2D", &EN_DIS, + Help "Enables/Disable Write Timing Centering 2D" + Combo $gPlatformFspPkgTokenSpaceGuid_RDTC2D, "Read Timing Centering 2D", &EN_DIS, + Help "Enables/Disable Read Timing Centering 2D" + Combo $gPlatformFspPkgTokenSpaceGuid_WRVC2D, "Write Voltage Centering 2D", &EN_DIS, + Help "Enables/Disable Write Voltage Centering 2D" + Combo $gPlatformFspPkgTokenSpaceGuid_RDVC2D, "Read Voltage Centering 2D", &EN_DIS, + Help "Enables/Disable Read Voltage Centering 2D" + Combo $gPlatformFspPkgTokenSpaceGuid_CMDVC, "Command Voltage Centering", &EN_DIS, + Help "Enables/Disable Command Voltage Centering" + Combo $gPlatformFspPkgTokenSpaceGuid_LCT, "Late Command Training", &EN_DIS, + Help "Enables/Disable Late Command Training" + Combo $gPlatformFspPkgTokenSpaceGuid_RTL, "Round Trip Latency Training", &EN_DIS, + Help "Enables/Disable Round Trip Latency Training" + Combo $gPlatformFspPkgTokenSpaceGuid_TAT, "Turn Around Timing Training", &EN_DIS, + Help "Enables/Disable Turn Around Timing Training" + Combo $gPlatformFspPkgTokenSpaceGuid_MEMTST, "Memory Test", &EN_DIS, + Help "Enables/Disable Memory Test" + Combo $gPlatformFspPkgTokenSpaceGuid_ALIASCHK, "DIMM SPD Alias Test", &EN_DIS, + Help "Enables/Disable DIMM SPD Alias Test" + Combo $gPlatformFspPkgTokenSpaceGuid_RCVENC1D, "Receive Enable Centering 1D", &EN_DIS, + Help "Enables/Disable Receive Enable Centering 1D" + Combo $gPlatformFspPkgTokenSpaceGuid_RMC, "Retrain Margin Check", &EN_DIS, + Help "Enables/Disable Retrain Margin Check" + Combo $gPlatformFspPkgTokenSpaceGuid_WRDSUDT, "Write Drive Strength Up/Dn independently", &EN_DIS, + Help "Enables/Disable Write Drive Strength Up/Dn independently" + Combo $gPlatformFspPkgTokenSpaceGuid_EccSupport, "ECC Support", &EN_DIS, + Help "Enables/Disable ECC Support" + Combo $gPlatformFspPkgTokenSpaceGuid_RemapEnable, "Memory Remap", &EN_DIS, + Help "Enables/Disable Memory Remap" + Combo $gPlatformFspPkgTokenSpaceGuid_RankInterleave, "Rank Interleave support", &EN_DIS, + Help "Enables/Disable Rank Interleave support. NOTE: RI and HORI can not be enabled at the same time." + Combo $gPlatformFspPkgTokenSpaceGuid_EnhancedInterleave, "Enhanced Interleave support", &EN_DIS, + Help "Enables/Disable Enhanced Interleave support" + Combo $gPlatformFspPkgTokenSpaceGuid_ChHashEnable, "Ch Hash Support", &EN_DIS, + Help "Enable/Disable Channel Hash Support. NOTE: ONLY if Memory interleaved Mode" + Combo $gPlatformFspPkgTokenSpaceGuid_ChHashOverride, "Ch Hash Settings Override", &EN_DIS, + Help "Channel Hash Settings Override" + Combo $gPlatformFspPkgTokenSpaceGuid_EnableExtts, "Extern Therm Status", &EN_DIS, + Help "Enables/Disable Extern Therm Status" + Combo $gPlatformFspPkgTokenSpaceGuid_EnablePwrDn, "DDR PowerDown and idle counter", &EN_DIS, + Help "Enables/Disable DDR PowerDown and idle counter(For LPDDR Only)" + Combo $gPlatformFspPkgTokenSpaceGuid_EnablePwrDnLpddr, "DDR PowerDown and idle counter", &EN_DIS, + Help "Enables/Disable DDR PowerDown and idle counter(For LPDDR Only)" + Combo $gPlatformFspPkgTokenSpaceGuid_SrefCfgEna, "SelfRefresh Enable", &EN_DIS, + Help "Enables/Disable SelfRefresh Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_ThrtCkeMinDefeatLpddr, "Throttler CKEMin Defeature", &EN_DIS, + Help "Enables/Disable Throttler CKEMin Defeature(For LPDDR Only)" + Combo $gPlatformFspPkgTokenSpaceGuid_ThrtCkeMinDefeat, "Throttler CKEMin Defeature", &EN_DIS, + Help "Enables/Disable Throttler CKEMin Defeature" + Combo $gPlatformFspPkgTokenSpaceGuid_RhSelect, "Row Hammer Select", &gPlatformFspPkgTokenSpaceGuid_RhSelect, + Help "Row Hammer Select" + Combo $gPlatformFspPkgTokenSpaceGuid_ExitOnFailure, "Exit On Failure (MRC)", &EN_DIS, + Help "Enables/Disable Exit On Failure (MRC)" + Combo $gPlatformFspPkgTokenSpaceGuid_NewFeatureEnable1, "New Features 1 - MRC", &gPlatformFspPkgTokenSpaceGuid_NewFeatureEnable1, + Help "New Feature Enabling 1, 0:Disable, 1:Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_NewFeatureEnable2, "New Features 2 - MRC", &gPlatformFspPkgTokenSpaceGuid_NewFeatureEnable2, + Help "New Feature Enabling 2, 0:Disable, 1:Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DCC, "Duty Cycle Correction Training", &EN_DIS, + Help "Enable/Disable Duty Cycle Correction Training" + Combo $gPlatformFspPkgTokenSpaceGuid_RDVC1D, "Read Voltage Centering 1D", &EN_DIS, + Help "Enable/Disable Read Voltage Centering 1D" + Combo $gPlatformFspPkgTokenSpaceGuid_TXTCO, "TxDqTCO Comp Training", &EN_DIS, + Help "Enable/Disable TxDqTCO Comp Training" + Combo $gPlatformFspPkgTokenSpaceGuid_CLKTCO, "ClkTCO Comp Training", &EN_DIS, + Help "Enable/Disable ClkTCO Comp Training" + Combo $gPlatformFspPkgTokenSpaceGuid_CMDSR, "CMD Slew Rate Training", &EN_DIS, + Help "Enable/Disable CMD Slew Rate Training" + Combo $gPlatformFspPkgTokenSpaceGuid_CMDDSEQ, "CMD Drive Strength and Tx Equalization", &EN_DIS, + Help "Enable/Disable CMD Drive Strength and Tx Equalization" + Combo $gPlatformFspPkgTokenSpaceGuid_DIMMODTCA, "DIMM CA ODT Training", &EN_DIS, + Help "Enable/Disable DIMM CA ODT Training" + Combo $gPlatformFspPkgTokenSpaceGuid_TXTCODQS, "TxDqsTCO Comp Training", &EN_DIS, + Help "Enable/Disable TxDqsTCO Comp Training" + Combo $gPlatformFspPkgTokenSpaceGuid_CMDDRUD, "CMD/CTL Drive Strength Up/Dn 2D", &EN_DIS, + Help "Enable/Disable CMD/CTL Drive Strength Up/Dn 2D" + Combo $gPlatformFspPkgTokenSpaceGuid_VCCDLLBP, "VccDLL Bypass Training", &EN_DIS, + Help "Enable/Disable VccDLL Bypass Training" + Combo $gPlatformFspPkgTokenSpaceGuid_PVTTDNLP, "PanicVttDnLp Training", &EN_DIS, + Help "Enable/Disable PanicVttDnLp Training" + Combo $gPlatformFspPkgTokenSpaceGuid_RDVREFDC, "Read Vref Decap Training*", &EN_DIS, + Help "Enable/Disable Read Vref Decap Training*" + Combo $gPlatformFspPkgTokenSpaceGuid_VDDQT, "Vddq Training", &EN_DIS, + Help "Enable/Disable Vddq Training" + Combo $gPlatformFspPkgTokenSpaceGuid_RMTBIT, "Rank Margin Tool Per Bit", &EN_DIS, + Help "Enable/Disable Rank Margin Tool Per Bit" + Combo $gPlatformFspPkgTokenSpaceGuid_EccDftEn, "ECC DFT feature", &EN_DIS, + Help "Enables/Disable ECC DFT feature" + Combo $gPlatformFspPkgTokenSpaceGuid_Write0, "Write0 feature", &EN_DIS, + Help "Enables/Disable Write0 feature" + Combo $gPlatformFspPkgTokenSpaceGuid_Ddr4DdpSharedClock, "Select if CLK0 is shared between Rank0 and Rank1 in DDR4 DDP", &EN_DIS, + Help "Select if CLK0 is shared between Rank0 and Rank1 in DDR4 DDP" + Combo $gPlatformFspPkgTokenSpaceGuid_Ddr4DdpSharedZq, "Select if ZQ pin is shared between Rank0 and Rank1 in DDR4 DDP", &EN_DIS, + Help "ESelect if ZQ pin is shared between Rank0 and Rank1 in DDR4 DDP" + Combo $gPlatformFspPkgTokenSpaceGuid_ChHashInterleaveBit, "Ch Hash Interleaved Bit", &gPlatformFspPkgTokenSpaceGuid_ChHashInterleaveBit, + Help "Select the BIT to be used for Channel Interleaved mode. NOTE: BIT7 will interlave the channels at a 2 cacheline granularity, BIT8 at 4 and BIT9 at 8. Default is BIT8" + EditNum $gPlatformFspPkgTokenSpaceGuid_ChHashMask, "Ch Hash Mask", HEX, + Help "Set the BIT(s) to be included in the XOR function. NOTE BIT mask corresponds to BITS [19:6] Default is 0x30CC" + "Valid range: 0x0000 ~ 0x3FFF" + Combo $gPlatformFspPkgTokenSpaceGuid_BClkFrequency, "Base reference clock value", &gPlatformFspPkgTokenSpaceGuid_BClkFrequency, + Help "Base reference clock value, in Hertz(Default is 100Hz)" + EditNum $gPlatformFspPkgTokenSpaceGuid_Idd3n, "EPG DIMM Idd3N", HEX, + Help "Active standby current (Idd3N) in milliamps from datasheet. Must be calculated on a per DIMM basis. Default is 26" + "Valid range: 0x00 ~ 0x7D0" + EditNum $gPlatformFspPkgTokenSpaceGuid_Idd3p, "EPG DIMM Idd3P", HEX, + Help "Active power-down current (Idd3P) in milliamps from datasheet. Must be calculated on a per DIMM basis. Default is 11" + "Valid range: 0x00 ~ 0x7D0" + Combo $gPlatformFspPkgTokenSpaceGuid_CMDNORM, "CMD Normalization", &EN_DIS, + Help "Enable/Disable CMD Normalization" + Combo $gPlatformFspPkgTokenSpaceGuid_EWRDSEQ, "Early DQ Write Drive Strength and Equalization Training", &EN_DIS, + Help "Enable/Disable Early DQ Write Drive Strength and Equalization Training" + Combo $gPlatformFspPkgTokenSpaceGuid_McRefresh2X, "MC_REFRESH_2X_MODE", &EN_DIS, + Help "DEPRECATED" + EditNum $gPlatformFspPkgTokenSpaceGuid_IdleEnergyMc0Ch0Dimm0, "Idle Energy Mc0Ch0Dimm0", HEX, + Help "Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def)" + "Valid range: 0x0 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_IdleEnergyMc0Ch0Dimm1, "Idle Energy Mc0Ch0Dimm1", HEX, + Help "Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def)" + "Valid range: 0x0 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_IdleEnergyMc0Ch1Dimm0, "Idle Energy Mc0Ch1Dimm0", HEX, + Help "Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def)" + "Valid range: 0x0 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_IdleEnergyMc0Ch1Dimm1, "Idle Energy Mc0Ch1Dimm1", HEX, + Help "Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def)" + "Valid range: 0x0 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_IdleEnergyMc1Ch0Dimm0, "Idle Energy Mc1Ch0Dimm0", HEX, + Help "Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def)" + "Valid range: 0x0 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_IdleEnergyMc1Ch0Dimm1, "Idle Energy Mc1Ch0Dimm1", HEX, + Help "Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def)" + "Valid range: 0x0 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_IdleEnergyMc1Ch1Dimm0, "Idle Energy Mc1Ch1Dimm0", HEX, + Help "Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def)" + "Valid range: 0x0 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_IdleEnergyMc1Ch1Dimm1, "Idle Energy Mc1Ch1Dimm1", HEX, + Help "Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def)" + "Valid range: 0x0 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_PdEnergyMc0Ch0Dimm0, "PowerDown Energy Mc0Ch0Dimm0", HEX, + Help "PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def)" + "Valid range: 0x0 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_PdEnergyMc0Ch0Dimm1, "PowerDown Energy Mc0Ch0Dimm1", HEX, + Help "PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def)" + "Valid range: 0x0 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_PdEnergyMc0Ch1Dimm0, "PowerDown Energy Mc0Ch1Dimm0", HEX, + Help "PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def)" + "Valid range: 0x0 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_PdEnergyMc0Ch1Dimm1, "PowerDown Energy Mc0Ch1Dimm1", HEX, + Help "PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def)" + "Valid range: 0x0 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_PdEnergyMc1Ch0Dimm0, "PowerDown Energy Mc1Ch0Dimm0", HEX, + Help "PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def)" + "Valid range: 0x0 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_PdEnergyMc1Ch0Dimm1, "PowerDown Energy Mc1Ch0Dimm1", HEX, + Help "PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def)" + "Valid range: 0x0 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_PdEnergyMc1Ch1Dimm0, "PowerDown Energy Mc1Ch1Dimm0", HEX, + Help "PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def)" + "Valid range: 0x0 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_PdEnergyMc1Ch1Dimm1, "PowerDown Energy Mc1Ch1Dimm1", HEX, + Help "PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def)" + "Valid range: 0x0 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_ActEnergyMc0Ch0Dimm0, "Activate Energy Mc0Ch0Dimm0", HEX, + Help "Activate Energy Contribution, range[255;0],(172= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ActEnergyMc0Ch0Dimm1, "Activate Energy Mc0Ch0Dimm1", HEX, + Help "Activate Energy Contribution, range[255;0],(172= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ActEnergyMc0Ch1Dimm0, "Activate Energy Mc0Ch1Dimm0", HEX, + Help "Activate Energy Contribution, range[255;0],(172= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ActEnergyMc0Ch1Dimm1, "Activate Energy Mc0Ch1Dimm1", HEX, + Help "Activate Energy Contribution, range[255;0],(172= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ActEnergyMc1Ch0Dimm0, "Activate Energy Mc1Ch0Dimm0", HEX, + Help "Activate Energy Contribution, range[255;0],(172= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ActEnergyMc1Ch0Dimm1, "Activate Energy Mc1Ch0Dimm1", HEX, + Help "Activate Energy Contribution, range[255;0],(172= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ActEnergyMc1Ch1Dimm0, "Activate Energy Mc1Ch1Dimm0", HEX, + Help "Activate Energy Contribution, range[255;0],(172= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ActEnergyMc1Ch1Dimm1, "Activate Energy Mc1Ch1Dimm1", HEX, + Help "Activate Energy Contribution, range[255;0],(172= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RdEnergyMc0Ch0Dimm0, "Read Energy Mc0Ch0Dimm0", HEX, + Help "Read Energy Contribution, range[255;0],(212= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RdEnergyMc0Ch0Dimm1, "Read Energy Mc0Ch0Dimm1", HEX, + Help "Read Energy Contribution, range[255;0],(212= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RdEnergyMc0Ch1Dimm0, "Read Energy Mc0Ch1Dimm0", HEX, + Help "Read Energy Contribution, range[255;0],(212= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RdEnergyMc0Ch1Dimm1, "Read Energy Mc0Ch1Dimm1", HEX, + Help "Read Energy Contribution, range[255;0],(212= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RdEnergyMc1Ch0Dimm0, "Read Energy Mc1Ch0Dimm0", HEX, + Help "Read Energy Contribution, range[255;0],(212= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RdEnergyMc1Ch0Dimm1, "Read Energy Mc1Ch0Dimm1", HEX, + Help "Read Energy Contribution, range[255;0],(212= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RdEnergyMc1Ch1Dimm0, "Read Energy Mc1Ch1Dimm0", HEX, + Help "Read Energy Contribution, range[255;0],(212= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RdEnergyMc1Ch1Dimm1, "Read Energy Mc1Ch1Dimm1", HEX, + Help "Read Energy Contribution, range[255;0],(212= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_WrEnergyMc0Ch0Dimm0, "Write Energy Mc0Ch0Dimm0", HEX, + Help "Write Energy Contribution, range[255;0],(221= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_WrEnergyMc0Ch0Dimm1, "Write Energy Mc0Ch0Dimm1", HEX, + Help "Write Energy Contribution, range[255;0],(221= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_WrEnergyMc0Ch1Dimm0, "Write Energy Mc0Ch1Dimm0", HEX, + Help "Write Energy Contribution, range[255;0],(221= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_WrEnergyMc0Ch1Dimm1, "Write Energy Mc0Ch1Dimm1", HEX, + Help "Write Energy Contribution, range[255;0],(221= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_WrEnergyMc1Ch0Dimm0, "Write Energy Mc1Ch0Dimm0", HEX, + Help "Write Energy Contribution, range[255;0],(221= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_WrEnergyMc1Ch0Dimm1, "Write Energy Mc1Ch0Dimm1", HEX, + Help "Write Energy Contribution, range[255;0],(221= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_WrEnergyMc1Ch1Dimm0, "Write Energy Mc1Ch1Dimm0", HEX, + Help "Write Energy Contribution, range[255;0],(221= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_WrEnergyMc1Ch1Dimm1, "Write Energy Mc1Ch1Dimm1", HEX, + Help "Write Energy Contribution, range[255;0],(221= Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThrtCkeMinTmr, "Throttler CKEMin Timer", HEX, + Help "Timer value for CKEMin, range[255;0]. Req'd min of SC_ROUND_T + BYTE_LENGTH (4). Dfault is 0x00" + "Valid range: 0x0 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_AllowOppRefBelowWriteThrehold, "Allow Opp Ref Below Write Threhold", &EN_DIS, + Help "Allow opportunistic refreshes while we don't exit power down." + EditNum $gPlatformFspPkgTokenSpaceGuid_WriteThreshold, "Write Threshold", HEX, + Help "Number of writes that can be accumulated while CKE is low before CKE is asserted." + "Valid range: 0x00 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_RaplPwrFlCh0, "Rapl Power Floor Ch0", HEX, + Help "Power budget ,range[255;0],(0= 5.3W Def)" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RaplPwrFlCh1, "Rapl Power Floor Ch1", HEX, + Help "Power budget ,range[255;0],(0= 5.3W Def)" + "Valid range: 0x0 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_EnCmdRate, "Command Rate Support", &gPlatformFspPkgTokenSpaceGuid_EnCmdRate, + Help "CMD Rate and Limit Support Option. NOTE: ONLY supported in 1N Mode, Default is 3 CMDs" + Combo $gPlatformFspPkgTokenSpaceGuid_Refresh2X, "REFRESH_2X_MODE", &gPlatformFspPkgTokenSpaceGuid_Refresh2X, + Help "0- (Default)Disabled 1-iMC enables 2xRef when Warm and Hot 2- iMC enables 2xRef when Hot" + Combo $gPlatformFspPkgTokenSpaceGuid_EpgEnable, "Energy Performance Gain", &EN_DIS, + Help "Enable/disable(default) Energy Performance Gain." + EditNum $gPlatformFspPkgTokenSpaceGuid_Lfsr0Mask, "RH pTRR LFSR0 Mask", HEX, + Help "Row Hammer pTRR LFSR0 Mask, 1/2^(value)" + "Valid range: 0x01 ~ 0xF" + Combo $gPlatformFspPkgTokenSpaceGuid_UserThresholdEnable, "User Manual Threshold", &EN_DIS, + Help "Disabled: Predefined threshold will be used.\nEnabled: User Input will be used." + Combo $gPlatformFspPkgTokenSpaceGuid_UserBudgetEnable, "User Manual Budget", &EN_DIS, + Help "Disabled: Configuration of memories will defined the Budget value.\nEnabled: User Input will be used." + Combo $gPlatformFspPkgTokenSpaceGuid_PowerDownMode, "Power Down Mode", &gPlatformFspPkgTokenSpaceGuid_PowerDownMode, + Help "This option controls command bus tristating during idle periods" + EditNum $gPlatformFspPkgTokenSpaceGuid_PwdwnIdleCounter, "Pwr Down Idle Timer", HEX, + Help "The minimum value should = to the worst case Roundtrip delay + Burst_Length. 0 means AUTO: 64 for ULX/ULT, 128 for DT/Halo" + "Valid range: 0x0 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_DisPgCloseIdleTimeout, "Page Close Idle Timeout", &gPlatformFspPkgTokenSpaceGuid_DisPgCloseIdleTimeout, + Help "This option controls Page Close Idle Timeout" + EditNum $gPlatformFspPkgTokenSpaceGuid_CmdRanksTerminated, "Bitmask of ranks that have CA bus terminated", HEX, + Help "Offset 225 LPDDR4: Bitmask of ranks that have CA bus terminated. 0x01=Default, Rank0 is terminating and Rank1 is non-terminating" + "Valid range: 0x0 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_SafeMode, "Safe Mode Support", &EN_DIS, + Help "This option configures the varous items in the IO and MC to be more conservative.(def=Disable)" + Combo $gPlatformFspPkgTokenSpaceGuid_CleanMemory, "Ask MRC to clear memory content", &EN_DIS, + Help "Ask MRC to clear memory content 0: Do not Clear Memory; 1: Clear Memory." + Combo $gPlatformFspPkgTokenSpaceGuid_LpDdrDqDqsReTraining, "LpDdrDqDqsReTraining", &EN_DIS, + Help "Enable/Disable TxDqDqs ReTraining for LP4/5 and DDR5" + EditNum $gPlatformFspPkgTokenSpaceGuid_RMTLoopCount, "RMTLoopCount", HEX, + Help "Specifies the Loop Count to be used during Rank Margin Tool Testing. 0 - AUTO" + "Valid range: 0 ~ 0x20" + EditNum $gPlatformFspPkgTokenSpaceGuid_BclkRfiFreq, "BCLK RFI Frequency", HEX, + Help "Bclk RFI Frequency for each SAGV point in Hz units. 98000000Hz = 98MHz 0 - No RFI Tuning. Range is 98Mhz-100Mhz." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RefreshPanicWm, "REFRESH_PANIC_WM", HEX, + Help "DEPRECATED" + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RefreshHpWm, "REFRESH_HP_WM", HEX, + Help "DEPRECATED" + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Lp5CccConfig, "Command Pins Mapping", HEX, + Help "BitMask where bits [3:0] are Controller 0 Channel [3:0] and bits [7:4] are Controller 1 Channel [3:0]. 0 = CCC pin mapping is Ascending, 1 = CCC pin mapping is Descending." + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CmdMirror, "Command Pins Mirrored", HEX, + Help "BitMask where bits [3:0] are Controller 0 Channel [3:0] and bits [7:4] are Controller 1 Channel [3:0]. 0 = No Command Mirror and 1 = Command Mirror." + "Valid range: 0x00 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_DIMMDFE, "DIMM DFE Training", &EN_DIS, + Help "Enable/Disable DIMM DFE Training" + Combo $gPlatformFspPkgTokenSpaceGuid_ExtendedBankHashing, "Extended Bank Hashing", &EN_DIS, + Help "Enable/Disable Extended Bank Hashing" + Combo $gPlatformFspPkgTokenSpaceGuid_RefreshWm, "Refresh Watermarks", &gPlatformFspPkgTokenSpaceGuid_RefreshWm, + Help "Refresh Watermarks: 0-Low, 1-High (default)" + Combo $gPlatformFspPkgTokenSpaceGuid_McRefreshRate, "MC_REFRESH_RATE", &gPlatformFspPkgTokenSpaceGuid_McRefreshRate, + Help "Type of Refresh Rate used to prevent Row Hammer. Default is NORMAL Refresh" + Combo $gPlatformFspPkgTokenSpaceGuid_PeriodicDcc, "Periodic DCC", &EN_DIS, + Help "Enable/Disable Periodic DCC; default: Disabled" + Combo $gPlatformFspPkgTokenSpaceGuid_LpMode, "LpMode", &gPlatformFspPkgTokenSpaceGuid_LpMode, + Help "LpMode feature" + Combo $gPlatformFspPkgTokenSpaceGuid_TXDQSDCC, "TX DQS DCC Training", &EN_DIS, + Help "Enable/Disable TX DQS DCC Training" + Combo $gPlatformFspPkgTokenSpaceGuid_DRAMDCA, "DRAM DCA Training", &EN_DIS, + Help "Enable/Disable DRAM DCA Training" + Combo $gPlatformFspPkgTokenSpaceGuid_EARLYDIMMDFE, "EARLY DIMM DFE Training", &EN_DIS, + Help "Enable/Disable EARLY DIMM DFE Training" + Combo $gPlatformFspPkgTokenSpaceGuid_BdatEnable, "Generate BIOS Data ACPI Table", &EN_DIS, + Help "Enable: Generate BDAT for MRC RMT or SA PCIe data. Disable (Default): Do not generate it" + Combo $gPlatformFspPkgTokenSpaceGuid_LockPTMregs, "Lock PCU Thermal Management registers", &EN_DIS, + Help "Lock PCU Thermal Management registers. Enable(Default)=1, Disable=0" + Combo $gPlatformFspPkgTokenSpaceGuid_PegGen3Rsvd, "Rsvd", &EN_DIS, + Help "Disable(0x0)(Default): Normal Operation - RxCTLE adaptive behavior enabled, Enable(0x1): Override RxCTLE - Disable RxCTLE adaptive behavior to keep the configured RxCTLE peak values unmodified" + Combo $gPlatformFspPkgTokenSpaceGuid_PanelPowerEnable, "Panel Power Enable", &EN_DIS, + Help "Control for enabling/disabling VDD force bit (Required only for early enabling of eDP panel). 0=Disable, 1(Default)=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_BdatTestType, "BdatTestType", &gPlatformFspPkgTokenSpaceGuid_BdatTestType, + Help "Indicates the type of Memory Training data to populate into the BDAT ACPI table." + Combo $gPlatformFspPkgTokenSpaceGuid_ReuseAdlSDdr5Board, "Reuse Adl DDR5 Board or not", &gPlatformFspPkgTokenSpaceGuid_ReuseAdlSDdr5Board, + Help "Indicate whether adl ddr5 board is reused." + Combo $gPlatformFspPkgTokenSpaceGuid_OemT12DelayOverride, "Oem T12 Delay Override", &EN_DIS, + Help "Oem T12 Delay Override. 0(Default)=Disable 1=Enable " + Combo $gPlatformFspPkgTokenSpaceGuid_SaPreMemTestRsvd, "SaPreMemTestRsvd", &EN_DIS, + Help "Reserved for SA Pre-Mem Test" + Combo $gPlatformFspPkgTokenSpaceGuid_MarginLimitCheck, "Margin Limit Check", &gPlatformFspPkgTokenSpaceGuid_MarginLimitCheck, + Help "Margin Limit Check. Choose level of margin check" + EditNum $gPlatformFspPkgTokenSpaceGuid_MarginLimitL2, "Margin Limit L2", HEX, + Help "% of L1 check for margin limit check" + "Valid range: 0x01 ~ 0x12C" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpCdrRelock, "DEKEL CDR Relock", HEX, + Help "Enable/Disable CDR Relock. 0: Disable(Default); 1: Enable" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_DmiCdrRelock, "DMI DEKEL CDR Relock", &EN_DIS, + Help "Enable/Disable CPU DMI CDR Relock. 0: Disable(Default); 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_IbeccErrInjControl, "IbeccErrInjControl", &gPlatformFspPkgTokenSpaceGuid_IbeccErrInjControl, + Help "IBECC Error Injection Control" + EditNum $gPlatformFspPkgTokenSpaceGuid_IbeccErrInjAddress, "IbeccErrInjAddress", HEX, + Help "Address to match against for ECC error injection" + "Valid range: 0x0 ~ 0x3FFFFFFFFFC0" + EditNum $gPlatformFspPkgTokenSpaceGuid_IbeccErrInjMask, "IbeccErrInjMask", HEX, + Help "Mask to match against for ECC error injection" + "Valid range: 0x0 ~ 0x3FFFFFFFFFC0" + EditNum $gPlatformFspPkgTokenSpaceGuid_IbeccErrInjCount, "IbeccErrInjCount", HEX, + Help "Number of transactions between ECC error injection" + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_EnableDmaBuffer, "Pointer EnableDmaBuffer", HEX, + Help "Pointer of EnableDmaBuffer Callback Function." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PllMaxBandingRatio, "PLL Max Banding Ratio", HEX, + Help "DEPRECATED" + "Valid range: 0x0 ~ 0x78" + EditNum $gPlatformFspPkgTokenSpaceGuid_DebugValue, "Debug Value", HEX, + Help "Debug Value" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_BoardGpioTablePreMemAddress, "Pre-Mem GPIO table address", HEX, + Help "AlderLake S needs to assert PCIe SLOT RTD3 and PEG reset pins in early PreMem phase. 0: Skip FSP PCIe pins programming. Refer to mAdlSPcieRstPinGpioTable[] in GpioSampleDef.h." + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_tRFCpb, "tRFCpb", HEX, + Help "Min Internal per bank refresh recovery delay time, 0: AUTO, max: 0xFFFF. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_tRFC2, "tRFC2", HEX, + Help "Min Internal refresh recovery delay time, 0: AUTO, max: 0xFFFF. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_tRFC4, "tRFC4", HEX, + Help "Min Internal refresh recovery delay time, 0: AUTO, max: 0xFFFF. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_tRRD_L, "tRRD_L", HEX, + Help "Min Internal row active to row active delay time for same bank groups, 0: AUTO, max: 80. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_tRRD_S, "tRRD_S", HEX, + Help "Min Internal row active to row active delay time for different bank groups, 0: AUTO, max: 80. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_tWTR_L, "tWTR_L", HEX, + Help "Min Internal write to read command delay time for same bank groups, 0: AUTO, max: 127. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_tCCD_L, "tCCD_L", HEX, + Help "Min Internal CAS-to-CAS delay for same bank group, 0: AUTO, max: 80. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_tWTR_S, "tWTR_S", HEX, + Help "Min Internal write to read command delay time for different bank groups, 0: AUTO, max: 50. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile)." + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_EccErrInjAddress, "EccErrInjAddress", HEX, + Help "Address to match against for ECC error injection" + "Valid range: 0x0 ~ 0x1FFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_EccErrInjMask, "EccErrInjMask", HEX, + Help "Mask to match against for ECC error injection" + "Valid range: 0x0 ~ 0x1FFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_EccErrInjCount, "EccErrInjCount", HEX, + Help "Number of transactions between ECC error injection" + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_FreqLimitMixedConfig, "Frequency Limit for 2DPC Mixed or non-POR Config", DEC, + Help "Frequency Limit for 2DPC Mixed or non-POR Config. 0: Auto (default), otherwise a frequency in MT/s" + "Valid range: 0 ~ 10000" + EditNum $gPlatformFspPkgTokenSpaceGuid_FirstDimmBitMask, "First Dimm BitMask", HEX, + Help "Defines which DIMM should be populated first on a 2DPC board. Bit0: MC0 DIMM0, Bit1: MC0 DIMM1, Bit2: MC1 DIMM0, Bit3: MC1 DIMM1. For each MC, the first DIMM to be populated should be set to '1'" + "Valid range: 0x00 ~ 0x0F" + EditNum $gPlatformFspPkgTokenSpaceGuid_SagvSwitchFactorIA, "SAGV Switch Factor IA DDR BW", DEC, + Help "SAGV Switch Factor IA DDR BW: IA DDR load percentage when system switch to high SAGV point from 1 to 50%." + "Valid range: 1 ~ 50" + EditNum $gPlatformFspPkgTokenSpaceGuid_SagvSwitchFactorGT, "SAGV Switch Factor GT DDR BW", DEC, + Help "SAGV Switch Factor GT DDR BW: GT DDR load percentage when system switch to high SAGV point from 1 to 50%." + "Valid range: 1 ~ 50" + EditNum $gPlatformFspPkgTokenSpaceGuid_SagvSwitchFactorIO, "SAGV Switch Factor IO DDR BW", DEC, + Help "SAGV Switch Factor IO DDR BW: IO DDR load percentage when system switch to high SAGV point from 1 to 50%." + "Valid range: 1 ~ 50" + EditNum $gPlatformFspPkgTokenSpaceGuid_SagvSwitchFactorStall, "SAGV Switch Factor IA and GT Stall", DEC, + Help "SAGV Switch Factor IA and GT Stall: IA and GT percentage when system switch to high SAGV point from 1 to 50%." + "Valid range: 1 ~ 50" + EditNum $gPlatformFspPkgTokenSpaceGuid_SagvHeuristicsDownControl, "Threshold For Switch Down", DEC, + Help "SAGV heuristics down control: Duration in ms of low activity after which SAGV will switch down, from 1 to 50ms." + "Valid range: 1 ~ 50" + EditNum $gPlatformFspPkgTokenSpaceGuid_SagvHeuristicsUpControl, "Threshold For Switch Up", DEC, + Help "SAGV heuristics up control: Duration in ms of low activity after which SAGV will switch up, from 1 to 50ms." + "Valid range: 1 ~ 50" + EditNum $gPlatformFspPkgTokenSpaceGuid_FreqLimitMixedConfig_1R1R_8GB, "Frequency Limit for Mixed 2DPC DDR5 1 Rank 8GB and 8GB", DEC, + Help "Frequency Limit for 2DPC Mixed or non-POR Config. 0: Auto, otherwise a frequency in MT/s, default is 2000" + "Valid range: 0 ~ 10000" + EditNum $gPlatformFspPkgTokenSpaceGuid_FreqLimitMixedConfig_1R1R_16GB, "Frequency Limit for Mixed 2DPC DDR5 1 Rank 16GB and 16GB", DEC, + Help "Frequency Limit for 2DPC Mixed or non-POR Config. 0: Auto, otherwise a frequency in MT/s, default is 2000" + "Valid range: 0 ~ 10000" + EditNum $gPlatformFspPkgTokenSpaceGuid_FreqLimitMixedConfig_1R1R_8GB_16GB, "Frequency Limit for Mixed 2DPC DDR5 1 Rank 8GB and 16GB", DEC, + Help "Frequency Limit for 2DPC Mixed or non-POR Config. 0: Auto, otherwise a frequency in MT/s, default is 2000" + "Valid range: 0 ~ 10000" + EditNum $gPlatformFspPkgTokenSpaceGuid_FreqLimitMixedConfig_2R2R, "Frequency Limit for Mixed 2DPC DDR5 2 Rank", DEC, + Help "Frequency Limit for 2DPC Mixed or non-POR Config. 0: Auto, otherwise a frequency in MT/s, default is 2000" + "Valid range: 0 ~ 10000" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchDmiHwEqGen3CoeffListCm, "DMI Hw Eq Gen3 CoeffList Cm", HEX, + Help "PCH_DMI_EQ_PARAM. Coefficient C-1." + "Valid range: 0x00 ~ 0xFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchDmiHwEqGen3CoeffListCp, "DMI Hw Eq Gen3 CoeffList Cp", HEX, + Help "PCH_DMI_EQ_PARAM. Coefficient C+1." + "Valid range: 0x00 ~ 0xFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_LctCmdEyeWidth, " LCT Command eyewidth", DEC, + Help " LCT Command eyewidth. 0: Auto, otherwise eyewidth , default is 96" + "Valid range: 0 ~ 256" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThrtCkeMinTmrLpddr, "For LPDDR Only: Throttler CKEMin Timer", HEX, + Help "For LPDDR Only: Timer value for CKEMin, range[255;0]. Reqd min of SC_ROUND_T + BYTE_LENGTH (4). Dfault is 0x00" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_FirstDimmBitMaskEcc, "First ECC Dimm BitMask", HEX, + Help "Defines which ECC DIMM should be populated first on a 2DPC board. Bit0: MC0 DIMM0, Bit1: MC0 DIMM1, Bit2: MC1 DIMM0, Bit3: MC1 DIMM1. For each MC, the first DIMM to be populated should be set to '1'" + "Valid range: 0x00 ~ 0x0F" + Combo $gPlatformFspPkgTokenSpaceGuid_Lp5BankMode, " LP5 Bank Mode", &gPlatformFspPkgTokenSpaceGuid_Lp5BankMode, + Help " LP5 Bank Mode. 0: Auto, 1: 8 Bank Mode, 2: 16 Bank Mode, 3: BG Mode, default is 0" + Combo $gPlatformFspPkgTokenSpaceGuid_WRDS, "Write DS Training", &EN_DIS, + Help "Enable/Disable Write DS Training" + Combo $gPlatformFspPkgTokenSpaceGuid_OverloadSAM, "SAM Overlaoding", &EN_DIS, + Help "Enable: copy the sagv frequency point. Disable: not copy." +EndPage + +Page "CPU (Pre-Mem)" + Combo $gPlatformFspPkgTokenSpaceGuid_CpuTraceHubMode, "CPU Trace Hub Mode", &gPlatformFspPkgTokenSpaceGuid_CpuTraceHubMode, + Help "Select 'Host Debugger' if Trace Hub is used with host debugger tool or 'Target Debugger' if Trace Hub is used by target debugger software or 'Disable' trace hub functionality." + Combo $gPlatformFspPkgTokenSpaceGuid_CpuTraceHubMemReg0Size, "CPU Trace Hub Memory Region 0", &gPlatformFspPkgTokenSpaceGuid_CpuTraceHubMemReg0Size, + Help "CPU Trace Hub Memory Region 0, The avaliable memory size is : 0MB, 1MB, 8MB, 64MB, 128MB, 256MB, 512MB" + Combo $gPlatformFspPkgTokenSpaceGuid_CpuTraceHubMemReg1Size, "CPU Trace Hub Memory Region 1", &gPlatformFspPkgTokenSpaceGuid_CpuTraceHubMemReg1Size, + Help "CPU Trace Hub Memory Region 1. The avaliable memory size is : 0MB, 1MB, 8MB, 64MB, 128MB, 256MB, 512MB" + Combo $gPlatformFspPkgTokenSpaceGuid_BistOnReset, "BIST on Reset", &EN_DIS, + Help "Enable or Disable BIST on Reset; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_SkipStopPbet, "Skip Stop PBET Timer Enable/Disable", &EN_DIS, + Help "Skip Stop PBET Timer; 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_EnableC6Dram, "C6DRAM power gating feature", &EN_DIS, + Help "This policy indicates whether or not BIOS should allocate PRMRR memory for C6DRAM power gating feature.- 0: Don't allocate any PRMRR memory for C6DRAM power gating feature.- 1: Allocate PRMRR memory for C6DRAM power gating feature." + Combo $gPlatformFspPkgTokenSpaceGuid_OcSupport, "Over clocking support", &EN_DIS, + Help "Over clocking support; 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_OcLock, "Over clocking Lock", &EN_DIS, + Help "Over clocking Lock Enable/Disable; 0: Disable; 1: Enable" + EditNum $gPlatformFspPkgTokenSpaceGuid_CoreMaxOcRatio, "Maximum Core Turbo Ratio Override", HEX, + Help "Maximum core turbo ratio override allows to increase CPU core frequency beyond the fused max turbo ratio limit. 0: Hardware defaults. Range: 0-85" + "Valid range: 0x00 ~ 0x53" + Combo $gPlatformFspPkgTokenSpaceGuid_CoreVoltageMode, "Core voltage mode", &EN_DIS, + Help "Core voltage mode; 0: Adaptive; 1: Override." + EditNum $gPlatformFspPkgTokenSpaceGuid_RingMaxOcRatio, "Maximum clr turbo ratio override", HEX, + Help "Maximum clr turbo ratio override allows to increase CPU clr frequency beyond the fused max turbo ratio limit. 0: Hardware defaults. Range: 0-85" + "Valid range: 0x00 ~ 0x53" + Combo $gPlatformFspPkgTokenSpaceGuid_HyperThreading, "Hyper Threading Enable/Disable", &EN_DIS, + Help "Enable or Disable Hyper Threading; 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_CpuRatioOverride, "Enable or Disable CPU Ratio Override", &EN_DIS, + Help "Enable or Disable CPU Ratio Override; 0: Disable; 1: Enable." + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuRatio, "CPU ratio value", HEX, + Help "CPU ratio value. Valid Range 0 to 63" + "Valid range: 0x00 ~ 0x3F" + Combo $gPlatformFspPkgTokenSpaceGuid_BootFrequency, "Boot frequency", &gPlatformFspPkgTokenSpaceGuid_BootFrequency, + Help "Sets the boot frequency starting from reset vector.- 0: Maximum battery performance. 1: Maximum non-turbo performance. 2: Turbo performance " + Combo $gPlatformFspPkgTokenSpaceGuid_ActiveCoreCount, "Number of active big cores", &gPlatformFspPkgTokenSpaceGuid_ActiveCoreCount, + Help "Number of active big cores(Depends on Number of big cores). Default 0xFF means to active all system supported big cores. 0xFF: Active all big cores; 0: Disable all big cores; 1: 1; 2: 2; 3: 3;" + Combo $gPlatformFspPkgTokenSpaceGuid_FClkFrequency, "Processor Early Power On Configuration FCLK setting", &gPlatformFspPkgTokenSpaceGuid_FClkFrequency, + Help " 0: 800 MHz (ULT/ULX). 1: 1 GHz (DT/Halo). Not supported on ULT/ULX.- 2: 400 MHz. - 3: Reserved" + Combo $gPlatformFspPkgTokenSpaceGuid_JtagC10PowerGateDisable, "Set JTAG power in C10 and deeper power states", &gPlatformFspPkgTokenSpaceGuid_JtagC10PowerGateDisable, + Help "False: JTAG is power gated in C10 state. True: keeps the JTAG power up during C10 and deeper power states for debug purpose. 0: False; 1: True." + Combo $gPlatformFspPkgTokenSpaceGuid_VmxEnable, "Enable or Disable VMX", &EN_DIS, + Help "Enable or Disable VMX; 0: Disable; 1: Enable." + EditNum $gPlatformFspPkgTokenSpaceGuid_Avx2RatioOffset, "AVX2 Ratio Offset", HEX, + Help "0(Default)= No Offset. Range 0 - 31. Specifies number of bins to decrease AVX ratio vs. Core Ratio. Uses Mailbox MSR 0x150, cmd 0x1B." + "Valid range: 0x00 ~ 0x1F" + EditNum $gPlatformFspPkgTokenSpaceGuid_Avx3RatioOffset, "AVX3 Ratio Offset", HEX, + Help "DEPRECATED" + "Valid range: 0x00 ~ 0x1F" + Combo $gPlatformFspPkgTokenSpaceGuid_BclkAdaptiveVoltage, "BCLK Adaptive Voltage Enable", &EN_DIS, + Help "When enabled, the CPU V/F curves are aware of BCLK frequency when calculated. 0: Disable; 1: Enable" + EditNum $gPlatformFspPkgTokenSpaceGuid_CoreVoltageOverride, "core voltage override", HEX, + Help "The core voltage override which is applied to the entire range of cpu core frequencies. Valid Range 0 to 2000" + "Valid range: 0x00 ~ 0x7D0" + EditNum $gPlatformFspPkgTokenSpaceGuid_CoreVoltageAdaptive, "Core Turbo voltage Adaptive", HEX, + Help "Extra Turbo voltage applied to the cpu core when the cpu is operating in turbo mode. Valid Range 0 to 2000" + "Valid range: 0x00 ~ 0x7D0" + EditNum $gPlatformFspPkgTokenSpaceGuid_CoreVoltageOffset, "Core Turbo voltage Offset", HEX, + Help "The voltage offset applied to the core while operating in turbo mode.Valid Range 0 to 1000" + "Valid range: 0x00 ~ 0x3E8" + EditNum $gPlatformFspPkgTokenSpaceGuid_CorePllVoltageOffset, "Core PLL voltage offset", HEX, + Help "Core PLL voltage offset. 0: No offset. Range 0-15" + "Valid range: 0x00 ~ 0x0F" + EditNum $gPlatformFspPkgTokenSpaceGuid_AtomPllVoltageOffset, "Atom Core PLL voltage offset", HEX, + Help "Atom Core PLL voltage offset. 0: No offset. Range 0-15" + "Valid range: 0x00 ~ 0x0F" + Combo $gPlatformFspPkgTokenSpaceGuid_RingDownBin, "Ring Downbin", &EN_DIS, + Help "Ring Downbin enable/disable. When enabled, CPU will ensure the ring ratio is always lower than the core ratio.0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_RingVoltageMode, "Ring voltage mode", &EN_DIS, + Help "Ring voltage mode; 0: Adaptive; 1: Override." + EditNum $gPlatformFspPkgTokenSpaceGuid_TjMaxOffset, "TjMax Offset", HEX, + Help "TjMax offset.Specified value here is clipped by pCode (125 - TjMax Offset) to support TjMax in the range of 62 to 115 deg Celsius. Valid Range 10 - 63" + "Valid range: 0x0A ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_RingVoltageOverride, "Ring voltage override", HEX, + Help "The ring voltage override which is applied to the entire range of cpu ring frequencies. Valid Range 0 to 2000" + "Valid range: 0x00 ~ 0x7D0" + EditNum $gPlatformFspPkgTokenSpaceGuid_RingVoltageAdaptive, "Ring Turbo voltage Adaptive", HEX, + Help "Extra Turbo voltage applied to the cpu ring when the cpu is operating in turbo mode. Valid Range 0 to 2000" + "Valid range: 0x00 ~ 0x7D0" + EditNum $gPlatformFspPkgTokenSpaceGuid_RingVoltageOffset, "Ring Turbo voltage Offset", HEX, + Help "The voltage offset applied to the ring while operating in turbo mode. Valid Range 0 to 1000" + "Valid range: 0x00 ~ 0x3E8" + Combo $gPlatformFspPkgTokenSpaceGuid_TmeEnable, "Enable or Disable TME", &EN_DIS, + Help "Enable or Disable TME; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_CpuCrashLogEnable, "Enable CPU CrashLog", &EN_DIS, + Help "Enable or Disable CPU CrashLog; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_DebugInterfaceEnable, "CPU Run Control", &gPlatformFspPkgTokenSpaceGuid_DebugInterfaceEnable, + Help "Enable, Disable or Do not configure CPU Run Control; 0: Disable; 1: Enable ; 2: No Change" + Combo $gPlatformFspPkgTokenSpaceGuid_DebugInterfaceLockEnable, "CPU Run Control Lock", &EN_DIS, + Help "Lock or Unlock CPU Run Control; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_AtomL2VoltageMode, "Atom L2 voltage mode", &EN_DIS, + Help "Atom L2 voltage mode; 0: Adaptive; 1: Override." + EditNum $gPlatformFspPkgTokenSpaceGuid_AtomL2VoltageOverride, "Atom L2 Voltage Override", HEX, + Help "The atom L2 voltage override which is applied to the entire range of atom L2 frequencies. Valid Range 0 to 2000" + "Valid range: 0x00 ~ 0x7D0" + EditNum $gPlatformFspPkgTokenSpaceGuid_AtomL2VoltageAdaptive, "Atom L2 Turbo voltage Adaptive", HEX, + Help "Extra Turbo voltage applied to the atom L2 when the atom L2 is operating in turbo mode. Valid Range 0 to 2000" + "Valid range: 0x00 ~ 0x7D0" + EditNum $gPlatformFspPkgTokenSpaceGuid_AtomL2VoltageOffset, "Atom L2 Turbo voltage Offset", HEX, + Help "The voltage offset applied to the atom while operating in turbo mode.Valid Range 0 to 1000" + "Valid range: 0x00 ~ 0x3E8" + EditNum $gPlatformFspPkgTokenSpaceGuid_PerAtomClusterVoltageOffset, "Per-Atom-Cluster VF Offset", HEX, + Help "Array used to specifies the selected Atom Core Cluster Offset Voltage. This voltage is specified in millivolts." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PerAtomClusterVoltageOffsetPrefix, "Per-Atom-Cluster VF Offset Prefix", HEX, + Help "Sets the PerAtomClusterVoltageOffset value as positive or negative for the selected Core; 0: Positive ; 1: Negative." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_IaCepEnable, "Enable IA CEP", &EN_DIS, + Help "Control for enabling/disabling IA CEP (Current Excursion Protection)). 1: Enable; 0: Disable" + Combo $gPlatformFspPkgTokenSpaceGuid_GtCepEnable, "Enable GT CEP", &EN_DIS, + Help "Control for enabling/disabling GT CEP (Current Excursion Protection)). 1: Enable; 0: Disable" + Combo $gPlatformFspPkgTokenSpaceGuid_DlvrBypassModeEnable, "Enable CPU DLVR bypass mode support", &EN_DIS, + Help "Control for enabling/disabling CPU DLVR bypass mode). 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_ActiveSmallCoreCount, "Number of active small cores", &gPlatformFspPkgTokenSpaceGuid_ActiveSmallCoreCount, + Help "Number of active small cores(Depends on Number of small cores). Default 0xFF means to active all system supported small cores. 0xFF: Active all small cores; 0: Disable all small cores; 1: 1; 2: 2; 3: 3;" + Combo $gPlatformFspPkgTokenSpaceGuid_CoreVfPointOffsetMode, "Core VF Point Offset Mode", &gPlatformFspPkgTokenSpaceGuid_CoreVfPointOffsetMode, + Help "Selects Core Voltage & Frequency Offset mode between Legacy and Selection modes. In Legacy Mode, setting a global offset for the entire VF curve. In Selection Mode, setting a selected VF point; 0: Legacy; 1: Selection." + EditNum $gPlatformFspPkgTokenSpaceGuid_CoreVfPointOffset, "Core VF Point Offset", HEX, + Help "Array used to specifies the Core Voltage Offset applied to the each selected VF Point. This voltage is specified in millivolts." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_CoreVfPointOffsetPrefix, "Core VF Point Offset Prefix", &gPlatformFspPkgTokenSpaceGuid_CoreVfPointOffsetPrefix, + Help "Sets the CoreVfPointOffset value as positive or negative for corresponding core VF Point; 0: Positive ; 1: Negative." + EditNum $gPlatformFspPkgTokenSpaceGuid_CoreVfPointRatio, "Core VF Point Ratio", HEX, + Help "Array for the each selected Core VF Point to display the ration." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CoreVfPointCount, "Core VF Point Count", HEX, + Help "Number of supported Core Voltage & Frequency Point Offset" + "Valid range: 0x0 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_CoreVfConfigScope, "Core VF Configuration Scope", &gPlatformFspPkgTokenSpaceGuid_CoreVfConfigScope, + Help "Alows both all-core VF curve or per-core VF curve configuration; 0: All-core; 1: Per-core." + EditNum $gPlatformFspPkgTokenSpaceGuid_PerCoreVoltageOffset, "Per-core VF Offset", HEX, + Help "Array used to specifies the selected Core Offset Voltage. This voltage is specified in millivolts." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PerCoreVoltageOffsetPrefix, "Per-core VF Offset Prefix", HEX, + Help "Sets the PerCoreVoltageOffset value as positive or negative for the selected Core; 0: Positive ; 1: Negative." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PerCoreRatioOverride, "Per Core Max Ratio override", &EN_DIS, + Help "Enable or disable Per Core PState OC supported by writing OCMB 0x1D to program new favored core ratio to each Core. 0: Disable, 1: enable" + EditNum $gPlatformFspPkgTokenSpaceGuid_PerCoreRatio, "Per Core Current Max Ratio", HEX, + Help "Array for the Per Core Max Ratio" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_AtomClusterRatio, "Atom Cluster Max Ratio", HEX, + Help "Array for Atom Cluster Max Ratio, 4 ATOM cores are in the same Cluster and their max core ratio will be aligned." + "Valid range: 0x00 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_CoreRatioExtensionMode, "Core Ratio Extension Mode", &EN_DIS, + Help "Enable or disable Core Ratio above 85 Extension Mode by writing BIOS MB 0x37 to enable FULL_RANGE_MULTIPLIER_UNLOCK_EN. 0: Disable, 1: enable" + EditNum $gPlatformFspPkgTokenSpaceGuid_PvdRatioThreshold, "Pvd Ratio Threshold", HEX, + Help "Select PVD Ratio Threshold Value from Range 1 to 40. 0 - Auto/Default." + "Valid range: 0x0 ~ 0x28" + Combo $gPlatformFspPkgTokenSpaceGuid_UnlimitedIccMax, "Support Unlimited ICCMAX", &EN_DIS, + Help "DEPRECATED" + Combo $gPlatformFspPkgTokenSpaceGuid_CrashLogGprs, "Enable CPU CrashLog GPRs dump", &gPlatformFspPkgTokenSpaceGuid_CrashLogGprs, + Help "Enable or Disable CPU CrashLog GPRs dump; 0: Disable; 1: Enable; 2: Only disable Smm GPRs dump" + Combo $gPlatformFspPkgTokenSpaceGuid_RingVfPointOffsetMode, "Ring VF Point Offset Mode", &gPlatformFspPkgTokenSpaceGuid_RingVfPointOffsetMode, + Help "Selects Ring Voltage & Frequency Offset mode between Legacy and Selection modes. In Legacy Mode, setting a global offset for the entire VF curve. In Selection Mode, setting a selected VF point; 0: Legacy; 1: Selection." + EditNum $gPlatformFspPkgTokenSpaceGuid_RingVfPointOffset, "Ring VF Point Offset", HEX, + Help "Array used to specifies the Ring Voltage Offset applied to the each selected VF Point. This voltage is specified in millivolts." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RingVfPointOffsetPrefix, "Ring VF Point Offset Prefix", HEX, + Help "Sets the RingVfPointOffset value as positive or negative for corresponding core VF Point; 0: Positive ; 1: Negative." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RingVfPointRatio, "Ring VF Point Ratio", HEX, + Help "Array for the each selected Ring VF Point to display the ration." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RingVfPointCount, "Ring VF Point Count", HEX, + Help "Number of supported Ring Voltage & Frequency Point Offset" + "Valid range: 0x0 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_BclkSource, "BCLK Frequency Source", &gPlatformFspPkgTokenSpaceGuid_BclkSource, + Help "Clock source of BCLK OC frequency, 1:CPU BCLK, 2:PCH BCLK, 3:External CLK" + EditNum $gPlatformFspPkgTokenSpaceGuid_GpioOverride, "GPIO Override", HEX, + Help "Gpio Override Level - FSP will not configure any GPIOs and rely on GPIO setings before moved to FSP. Available configurations 0: Disable; 1: Level 1 - Skips GPIO configuration in PEI/FSPM/FSPT phase;2: Level 2 - Reserved for future use" + "Valid range: 0x00 ~ 0x7" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuBclkOcFrequency, "CPU BCLK OC Frequency", HEX, + Help "CPU BCLK OC Frequency in 10KHz units increasing. Value 9800 (10KHz) = 98MHz 0 - Auto. Range is 8000-50000 (10KHz)." + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DisablePerCoreMask, "Bitmask of disable cores", HEX, + Help "Core mask is a bitwise indication of which core should be disabled. 0x00=Default; Bit 0 - core 0, bit 7 - core 7." + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DisablePerAtomMask, "Bitmask of disable atoms", HEX, + Help "DEPRECATED" + "Valid range: 0x0 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_SaPllFreqOverride, "Sa PLL Frequency", &gPlatformFspPkgTokenSpaceGuid_SaPllFreqOverride, + Help "Configure Sa PLL Frequency. 0: 3200MHz , 1: 1600MHz" +EndPage + +Page "CPU (Post-Mem)" + EditNum $gPlatformFspPkgTokenSpaceGuid_MicrocodeRegionBase, "MicrocodeRegionBase", HEX, + Help "Memory Base of Microcode Updates" + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MicrocodeRegionSize, "MicrocodeRegionSize", HEX, + Help "Size of Microcode Updates" + "Valid range: 0x0 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_TurboMode, "Turbo Mode", &EN_DIS, + Help "Enable/Disable Turbo mode. 0: disable, 1: enable" + Combo $gPlatformFspPkgTokenSpaceGuid_AesEnable, "Advanced Encryption Standard (AES) feature", &EN_DIS, + Help "Enable or Disable Advanced Encryption Standard (AES) feature; 0: Disable; 1: Enable" + EditNum $gPlatformFspPkgTokenSpaceGuid_Psi3Enable, "Power State 3 enable/disable", HEX, + Help "PCODE MMIO Mailbox: Power State 3 enable/disable; 0: Disable; 1: Enable. For all VR Indexes" + "Valid range: 0x00 ~ 0xFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Psi4Enable, "Power State 4 enable/disable", HEX, + Help "PCODE MMIO Mailbox: Power State 4 enable/disable; 0: Disable; 1: Enable.For all VR Indexes" + "Valid range: 0x00 ~ 0xFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ImonSlope, "Imon slope correction", HEX, + Help "PCODE MMIO Mailbox: Imon slope correction. Specified in 1/100 increment values. Range is 0-200. 125 = 1.25. 0: Auto.For all VR Indexes" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ImonOffset, "Imon offset correction", HEX, + Help "PCODE MMIO Mailbox: Imon offset correction. Value is a 2's complement signed integer. Units 1/1000, Range 0-63999. For an offset = 12.580, use 12580. 0: Auto" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_VrConfigEnable, "Enable/Disable BIOS configuration of VR", HEX, + Help "Enable/Disable BIOS configuration of VR; 0: Disable; 1: Enable.For all VR Indexes" + "Valid range: 0x00 ~ 0xFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_TdcEnable, "Thermal Design Current enable/disable", HEX, + Help "PCODE MMIO Mailbox: Thermal Design Current enable/disable; 0: Disable; 1: Enable.For all VR Indexes" + "Valid range: 0x00 ~ 0xFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_TdcTimeWindow, "Thermal Design Current time window", HEX, + Help "PCODE MMIO Mailbox: Thermal Design Current time window. Defined in milli seconds. Range 1ms to 448s" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_TdcLock, "Thermal Design Current Lock", HEX, + Help "PCODE MMIO Mailbox: Thermal Design Current Lock; 0: Disable; 1: Enable.For all VR Indexes" + "Valid range: 0x00 ~ 0xFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PsysSlope, "Platform Psys slope correction", HEX, + Help "PCODE MMIO Mailbox: Platform Psys slope correction. 0 - Auto Specified in 1/100 increment values. Range is 0-200. 125 = 1.25" + "Valid range: 0x00 ~ 0xC8" + EditNum $gPlatformFspPkgTokenSpaceGuid_PsysOffset, "Platform Psys offset correction", HEX, + Help "PCODE MMIO Mailbox: Platform Psys offset correction. 0 - Auto Units 1/1000, Range 0-63999. For an offset of 25.348, enter 25348." + "Valid range: 0x0000 ~ 0xFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_AcousticNoiseMitigation, "Acoustic Noise Mitigation feature", &EN_DIS, + Help "Enable or Disable Acoustic Noise Mitigation feature. 0: Disabled; 1: Enabled" + Combo $gPlatformFspPkgTokenSpaceGuid_FastPkgCRampDisable, "Disable Fast Slew Rate for Deep Package C States for VR domains", &EN_DIS, + Help "Disable Fast Slew Rate for Deep Package C States based on Acoustic Noise Mitigation feature enabled. 0: False; 1: True" + Combo $gPlatformFspPkgTokenSpaceGuid_SlowSlewRate, "Slew Rate configuration for Deep Package C States for VR domains", &gPlatformFspPkgTokenSpaceGuid_SlowSlewRate, + Help "Slew Rate configuration for Deep Package C States for VR domains based on Acoustic Noise Mitigation feature enabled. ADL supports VCCIA FAST/2/4/8/16, VCCGT FAST/2/4/8 and VCCSA FAST/2 0: Fast/2; 1: Fast/4; 2: Fast/8; 3: Fast/16" + EditNum $gPlatformFspPkgTokenSpaceGuid_TdcCurrentLimit, "Thermal Design Current current limit", HEX, + Help "PCODE MMIO Mailbox: Thermal Design Current current limit. Specified in 1/8A units. Range is 0-4095. 1000 = 125A. 0: Auto. For all VR Indexes" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_AcLoadline, "AcLoadline", HEX, + Help "PCODE MMIO Mailbox: AcLoadline in 1/100 mOhms (ie. 1250 = 12.50 mOhm); Range is 0-6249. Intel Recommended Defaults vary by domain and SKU." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_DcLoadline, "DcLoadline", HEX, + Help "PCODE MMIO Mailbox: DcLoadline in 1/100 mOhms (ie. 1250 = 12.50 mOhm); Range is 0-6249.Intel Recommended Defaults vary by domain and SKU." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Psi1Threshold, "Power State 1 Threshold current", HEX, + Help "PCODE MMIO Mailbox: Power State 1 current cuttof in 1/4 Amp increments. Range is 0-128A." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Psi2Threshold, "Power State 2 Threshold current", HEX, + Help "PCODE MMIO Mailbox: Power State 2 current cuttof in 1/4 Amp increments. Range is 0-128A." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Psi3Threshold, "Power State 3 Threshold current", HEX, + Help "PCODE MMIO Mailbox: Power State 3 current cuttof in 1/4 Amp increments. Range is 0-128A." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IccMax, "Icc Max limit", HEX, + Help "PCODE MMIO Mailbox: VR Icc Max limit. 0-512A in 1/4 A units. 400 = 100A" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_TxtEnable, "Enable or Disable TXT", &EN_DIS, + Help "Enable or Disable TXT; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_SkipMpInit, "Skip Multi-Processor Initialization", &EN_DIS, + Help "When this is skipped, boot loader must initialize processors before SilicionInit API. 0: Initialize; 1: Skip" + EditNum $gPlatformFspPkgTokenSpaceGuid_FivrRfiFrequency, "FIVR RFI Frequency", HEX, + Help "PCODE MMIO Mailbox: Set the desired RFI frequency, in increments of 100KHz. 0: Auto. Range varies based on XTAL clock: 0-1918 (Up to 191.8HMz) for 24MHz clock; 0-1535 (Up to 153.5MHz) for 19MHz clock." + "Valid range: 0x0 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_FivrSpreadSpectrum, "FIVR RFI Spread Spectrum", HEX, + Help "Set the Spread Spectrum Range. 1.5%; Range: 0.5%, 1%, 1.5%, 2%, 3%, 4%, 5%, 6%. Each Range is translated to an encoded value for FIVR register. 0.5% = 0, 1% = 3, 1.5% = 8, 2% = 18, 3% = 28, 4% = 34, 5% = 39, 6% = 44." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuBistData, "CpuBistData", HEX, + Help "Pointer CPU BIST Data" + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuMpPpi, "CpuMpPpi", HEX, + Help "Optional pointer to the boot loader's implementation of EFI_PEI_MP_SERVICES_PPI. If not NULL, FSP will use the boot loader's implementation of multiprocessing. See section 5.1.4 of the FSP Integration Guide for more details." + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PreWake, "Pre Wake Randomization time", HEX, + Help "PCODE MMIO Mailbox: Acoustic Noise Mitigation Range.Defines the maximum pre-wake randomization time in micro ticks.This can be programmed only if AcousticNoiseMitigation is enabled. Range 0-255 0." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RampUp, "Ramp Up Randomization time", HEX, + Help "PCODE MMIO Mailbox: Acoustic Noise Mitigation Range.Defines the maximum Ramp Up randomization time in micro ticks.This can be programmed only if AcousticNoiseMitigation is enabled.Range 0-255 0." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RampDown, "Ramp Down Randomization time", HEX, + Help "PCODE MMIO Mailbox: Acoustic Noise Mitigation Range.Defines the maximum Ramp Down randomization time in micro ticks.This can be programmed only if AcousticNoiseMitigation is enabled.Range 0-255 0." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_VrVoltageLimit, "VR Voltage Limit", HEX, + Help "PCODE MMIO Mailbox: Voltage Limit. Range is 0 - 7999mV" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_VccInAuxImonIccImax, "VccIn Aux Imon IccMax", HEX, + Help "PCODE MMIO Mailbox: VccIn Aux Imon IccMax. 0 - Auto Values are in 1/4 Amp increments. Range is 0-512." + "Valid range: 0x0000 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_EnableVsysCritical, "Vsys Critical", HEX, + Help "PCODE MMIO Mailbox: Vsys Critical. 0: Disable; 1: Enable Range is 0-255." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_VsysFullScale, "Vsys Full Scale", HEX, + Help "Vsys Full Scale, Range is 0-255" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_VsysCriticalThreshold, "Vsys Critical Threshold", HEX, + Help "Vsys Critical Threshold, Range is 0-255 " + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_VsysAssertionDeglitchMantissa, "Assertion Deglitch Mantissa", HEX, + Help "Assertion Deglitch Mantissa, Range is 0-255" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_VsysAssertionDeglitchExponent, "Assertion Deglitch Exponent", HEX, + Help "Assertion Deglitch Exponent, Range is 0-255" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_VsysDeassertionDeglitchMantissa, "De assertion Deglitch Mantissa", HEX, + Help "De assertion Deglitch Mantissa, Range is 0-255" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_VsysDeassertionDeglitchExponent, "De assertion Deglitch Exponent", HEX, + Help "De assertion Deglitch Exponent, Range is 0-255" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_VccInAuxImonSlope, "VccIn Aux Imon slope correction", HEX, + Help "PCODE MMIO Mailbox: VccIn Aux Imon slope correction. 0 - Auto Specified in 1/100 increment values. Range is 0-200. 125 = 1.25" + "Valid range: 0x00 ~ 0xC8" + EditNum $gPlatformFspPkgTokenSpaceGuid_VccInAuxImonOffset, "VccIn Aux Imon offset correction", HEX, + Help "PCODE MMIO Mailbox: VccIn Aux Imon offset correction. 0 - Auto Units 1/1000, Range 0-63999. For an offset of 25.348, enter 25348." + "Valid range: 0x0000 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_FivrSpectrumEnable, "FIVR RFI Spread Spectrum Enable or disable", HEX, + Help "Enable or Disable FIVR RFI Spread Spectrum. 0: Disable ; 1: Enable " + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IccLimit, "VR Fast Vmode ICC Limit support", HEX, + Help "PCODE MMIO Mailbox: VR Fast Vmode ICC Limit support. 0-255A in 1/4 A units. 400 = 100A" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PpinSupport, "PpinSupport to view Protected Processor Inventory Number", &gPlatformFspPkgTokenSpaceGuid_PpinSupport, + Help "Enable or Disable or Auto (Based on End of Manufacturing flag. Disabled if this flag is set) for PPIN Support" + Combo $gPlatformFspPkgTokenSpaceGuid_EnableMinVoltageOverride, "Enable or Disable Minimum Voltage Override", &EN_DIS, + Help "Enable or disable Minimum Voltage overrides ; 0: Disable; 1: Enable." + EditNum $gPlatformFspPkgTokenSpaceGuid_MinVoltageRuntime, "Min Voltage for Runtime ", HEX, + Help "PCODE MMIO Mailbox: Minimum voltage for runtime. Valid if EnableMinVoltageOverride = 1. Range 0 to 1999mV. 0: 0mV " + "Valid range: 0x00 ~ 0x7CF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MinVoltageC8, "Min Voltage for C8 ", HEX, + Help "PCODE MMIO Mailbox: Minimum voltage for C8. Valid if EnableMinVoltageOverride = 1. Range 0 to 1999mV. 0: 0mV " + "Valid range: 0x00 ~ 0x7CF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SmbiosType4MaxSpeedOverride, "Smbios Type4 Max Speed Override", HEX, + Help "Provide the option for platform to override the MaxSpeed field of Smbios Type 4. If this value is not zero, it dominates the field." + "Valid range: 0x0000 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Irms, "Current root mean square", HEX, + Help "PCODE MMIO Mailbox: Current root mean square; 0: Disable; 1: Enable.For all VR Indexes" + "Valid range: 0x00 ~ 0xFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_AvxDisable, "AvxDisable", &gPlatformFspPkgTokenSpaceGuid_AvxDisable, + Help "Enable or Disable AVX Support. This only applicable when all small core is disabled." + Combo $gPlatformFspPkgTokenSpaceGuid_Avx3Disable, "Avx3Disable", &gPlatformFspPkgTokenSpaceGuid_Avx3Disable, + Help "DEPRECATED" + Combo $gPlatformFspPkgTokenSpaceGuid_X2ApicSupport, "X2ApicSupport", &EN_DIS, + Help "Enable or Disable X2APIC Support" + EditNum $gPlatformFspPkgTokenSpaceGuid_VrPowerDeliveryDesign, "CPU VR Power Delivery Design", HEX, + Help "Used to communicate the power delivery design capability of the board. This value is an enum of the available power delivery segments that are defined in the Platform Design Guide." + "Valid range: 0x00 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_EnableFastVmode, "Enable/Disable VR FastVmode. The VR will initiate reactive protection if Fast Vmode is enabled.", &gPlatformFspPkgTokenSpaceGuid_EnableFastVmode, + Help "Enable/Disable VR FastVmode; 0: Disable; 1: Enable.For all VR by domain" + Combo $gPlatformFspPkgTokenSpaceGuid_ReservedCpuPostMemProduction, "ReservedCpuPostMemProduction", &EN_DIS, + Help "Reserved for CPU Post-Mem Production" + EditNum $gPlatformFspPkgTokenSpaceGuid_BgpdtHash, "BgpdtHash[4]", HEX, + Help "BgpdtHash values" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_BiosGuardAttr, "BiosGuardAttr", HEX, + Help "BiosGuardAttr default values" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_BiosGuardModulePtr, "BiosGuardModulePtr", HEX, + Help "BiosGuardModulePtr default values" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_EnableRsr, "RSR feature", &EN_DIS, + Help "Enable or Disable RSR feature; 0: Disable; 1: Enable " + Combo $gPlatformFspPkgTokenSpaceGuid_ReservedCpuPostMem1, "ReservedCpuPostMem1", &EN_DIS, + Help "Reserved for CPU Post-Mem 1" + Combo $gPlatformFspPkgTokenSpaceGuid_Hwp, "Enable or Disable HWP", &EN_DIS, + Help "Enable or Disable HWP(Hardware P states) Support. 0: Disable; 1: Enable; 2-3:Reserved" + Combo $gPlatformFspPkgTokenSpaceGuid_HdcControl, "Hardware Duty Cycle Control", &EN_DIS, + Help "Hardware Duty Cycle Control configuration. 0: Disabled; 1: Enabled 2-3:Reserved" + EditNum $gPlatformFspPkgTokenSpaceGuid_PowerLimit1Time, "Package Long duration turbo mode time", HEX, + Help "Package Long duration turbo mode time window in seconds. Valid values(Unit in seconds) 0 to 8 , 10 , 12 ,14 , 16 , 20 , 24 , 28 , 32 , 40 , 48 , 56 , 64 , 80 , 96 , 112 , 128" + "Valid range: 0x00 ~ 0x80" + Combo $gPlatformFspPkgTokenSpaceGuid_PowerLimit2, "Short Duration Turbo Mode", &EN_DIS, + Help "Enable or Disable short duration Turbo Mode. 0 : Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_TurboPowerLimitLock, "Turbo settings Lock", &EN_DIS, + Help "Lock all Turbo settings Enable/Disable; 0: Disable , 1: Enable" + EditNum $gPlatformFspPkgTokenSpaceGuid_PowerLimit3Time, "Package PL3 time window", HEX, + Help "Package PL3 time window range for this policy from 0 to 64ms" + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PowerLimit3DutyCycle, "Package PL3 Duty Cycle", HEX, + Help "Package PL3 Duty Cycle; Valid Range is 0 to 100" + "Valid range: 0x00 ~ 0x64" + Combo $gPlatformFspPkgTokenSpaceGuid_PowerLimit3Lock, "Package PL3 Lock", &EN_DIS, + Help "Package PL3 Lock Enable/Disable; 0: Disable ; 1:Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_PowerLimit4Lock, "Package PL4 Lock", &EN_DIS, + Help "Package PL4 Lock Enable/Disable; 0: Disable ; 1:Enable" + EditNum $gPlatformFspPkgTokenSpaceGuid_TccActivationOffset, "TCC Activation Offset", HEX, + Help "TCC Activation Offset. Offset from factory set TCC activation temperature at which the Thermal Control Circuit must be activated. TCC will be activated at TCC Activation Temperature, in volts.For SKL Y SKU, the recommended default for this policy is 10, For all other SKUs the recommended default are 0" + "Valid range: 0x00 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_TccOffsetClamp, "Tcc Offset Clamp Enable/Disable", &EN_DIS, + Help "Tcc Offset Clamp for Runtime Average Temperature Limit (RATL) allows CPU to throttle below P1.For SKL Y SKU, the recommended default for this policy is 1: Enabled, For all other SKUs the recommended default are 0: Disabled." + Combo $gPlatformFspPkgTokenSpaceGuid_TccOffsetLock, "Tcc Offset Lock", &EN_DIS, + Help "Tcc Offset Lock for Runtime Average Temperature Limit (RATL) to lock temperature target; 0: Disabled; 1: Enabled." + EditNum $gPlatformFspPkgTokenSpaceGuid_NumberOfEntries, "Custom Ratio State Entries", HEX, + Help "The number of custom ratio state entries, ranges from 0 to 40 for a valid custom ratio table.Sets the number of custom P-states. At least 2 states must be present" + "Valid range: 0x00 ~ 0x28" + EditNum $gPlatformFspPkgTokenSpaceGuid_Custom1PowerLimit1Time, "Custom Short term Power Limit time window", HEX, + Help "Short term Power Limit time window value for custom CTDP level 1. Valid Range 0 to 128" + "Valid range: 0x00 ~ 0x80" + EditNum $gPlatformFspPkgTokenSpaceGuid_Custom1TurboActivationRatio, "Custom Turbo Activation Ratio", HEX, + Help "Turbo Activation Ratio for custom cTDP level 1. Valid Range 0 to 255" + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Custom1ConfigTdpControl, "Custom Config Tdp Control", HEX, + Help "Config Tdp Control (0/1/2) value for custom cTDP level 1. Valid Range is 0 to 2" + "Valid range: 0x00 ~ 0x2" + EditNum $gPlatformFspPkgTokenSpaceGuid_Custom2PowerLimit1Time, "Custom Short term Power Limit time window", HEX, + Help "Short term Power Limit time window value for custom CTDP level 2. Valid Range 0 to 128" + "Valid range: 0x00 ~ 0x80" + EditNum $gPlatformFspPkgTokenSpaceGuid_Custom2TurboActivationRatio, "Custom Turbo Activation Ratio", HEX, + Help "Turbo Activation Ratio for custom cTDP level 2. Valid Range 0 to 255" + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Custom2ConfigTdpControl, "Custom Config Tdp Control", HEX, + Help "Config Tdp Control (0/1/2) value for custom cTDP level 1. Valid Range is 0 to 2" + "Valid range: 0x00 ~ 0x2" + EditNum $gPlatformFspPkgTokenSpaceGuid_Custom3PowerLimit1Time, "Custom Short term Power Limit time window", HEX, + Help "Short term Power Limit time window value for custom CTDP level 3. Valid Range 0 to 128" + "Valid range: 0x00 ~ 0x80" + EditNum $gPlatformFspPkgTokenSpaceGuid_Custom3TurboActivationRatio, "Custom Turbo Activation Ratio", HEX, + Help "Turbo Activation Ratio for custom cTDP level 3. Valid Range 0 to 255" + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Custom3ConfigTdpControl, "Custom Config Tdp Control", HEX, + Help "Config Tdp Control (0/1/2) value for custom cTDP level 1. Valid Range is 0 to 2" + "Valid range: 0x00 ~ 0x2" + Combo $gPlatformFspPkgTokenSpaceGuid_ConfigTdpLock, "ConfigTdp mode settings Lock", &EN_DIS, + Help "Lock the ConfigTdp mode settings from runtime changes; 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_ConfigTdpBios, "Load Configurable TDP SSDT", &EN_DIS, + Help "Configure whether to load Configurable TDP SSDT; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_PsysPowerLimit1, "PL1 Enable value", &EN_DIS, + Help "PL1 Enable value to limit average platform power. 0: Disable; 1: Enable." + EditNum $gPlatformFspPkgTokenSpaceGuid_PsysPowerLimit1Time, "PL1 timewindow", HEX, + Help "PL1 timewindow in seconds.Valid values(Unit in seconds) 0 to 8 , 10 , 12 ,14 , 16 , 20 , 24 , 28 , 32 , 40 , 48 , 56 , 64 , 80 , 96 , 112 , 128" + "Valid range: 0x00 ~ 0x80" + Combo $gPlatformFspPkgTokenSpaceGuid_PsysPowerLimit2, "PL2 Enable Value", &EN_DIS, + Help "PL2 Enable activates the PL2 value to limit average platform power.0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_MlcStreamerPrefetcher, "Enable or Disable MLC Streamer Prefetcher", &EN_DIS, + Help "Enable or Disable MLC Streamer Prefetcher; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_MlcSpatialPrefetcher, "Enable or Disable MLC Spatial Prefetcher", &EN_DIS, + Help "Enable or Disable MLC Spatial Prefetcher; 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_MonitorMwaitEnable, "Enable or Disable Monitor /MWAIT instructions", &EN_DIS, + Help "Enable or Disable Monitor /MWAIT instructions; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_MachineCheckEnable, "Enable or Disable initialization of machine check registers", &EN_DIS, + Help "Enable or Disable initialization of machine check registers; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_ApIdleManner, "AP Idle Manner of waiting for SIPI", &gPlatformFspPkgTokenSpaceGuid_ApIdleManner, + Help "AP Idle Manner of waiting for SIPI; 1: HALT loop; 2: MWAIT loop; 3: RUN loop." + Combo $gPlatformFspPkgTokenSpaceGuid_ProcessorTraceOutputScheme, "Control on Processor Trace output scheme", &gPlatformFspPkgTokenSpaceGuid_ProcessorTraceOutputScheme, + Help "Control on Processor Trace output scheme; 0: Single Range Output; 1: ToPA Output." + Combo $gPlatformFspPkgTokenSpaceGuid_ProcessorTraceEnable, "Enable or Disable Processor Trace feature", &EN_DIS, + Help "Enable or Disable Processor Trace feature; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_Eist, "Enable or Disable Intel SpeedStep Technology", &EN_DIS, + Help "Enable or Disable Intel SpeedStep Technology. 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_EnergyEfficientPState, "Enable or Disable Energy Efficient P-state", &EN_DIS, + Help "Enable or Disable Energy Efficient P-state will be applied in Turbo mode. Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_EnergyEfficientTurbo, "Enable or Disable Energy Efficient Turbo", &EN_DIS, + Help "Enable or Disable Energy Efficient Turbo, will be applied in Turbo mode. 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_TStates, "Enable or Disable T states", &EN_DIS, + Help "Enable or Disable T states; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_BiProcHot, "Enable or Disable Bi-Directional PROCHOT#", &EN_DIS, + Help "Enable or Disable Bi-Directional PROCHOT#; 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DisableProcHotOut, "Enable or Disable PROCHOT# signal being driven externally", &EN_DIS, + Help "Enable or Disable PROCHOT# signal being driven externally; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_ProcHotResponse, "Enable or Disable PROCHOT# Response", &EN_DIS, + Help "Enable or Disable PROCHOT# Response; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_DisableVrThermalAlert, "Enable or Disable VR Thermal Alert", &EN_DIS, + Help "Enable or Disable VR Thermal Alert; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_EnableAllThermalFunctions, "Enable or Disable Thermal Reporting", &EN_DIS, + Help "Enable or Disable Thermal Reporting through ACPI tables; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_ThermalMonitor, "Enable or Disable Thermal Monitor", &EN_DIS, + Help "Enable or Disable Thermal Monitor; 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_Cx, "Enable or Disable CPU power states (C-states)", &EN_DIS, + Help "Enable or Disable CPU power states (C-states). 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_PmgCstCfgCtrlLock, "Configure C-State Configuration Lock", &EN_DIS, + Help "Configure C-State Configuration Lock; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_C1e, "Enable or Disable Enhanced C-states", &EN_DIS, + Help "Enable or Disable Enhanced C-states. 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_PkgCStateDemotion, "Enable or Disable Package Cstate Demotion", &EN_DIS, + Help "Enable or Disable Package Cstate Demotion. 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_PkgCStateUnDemotion, "Enable or Disable Package Cstate UnDemotion", &EN_DIS, + Help "Enable or Disable Package Cstate UnDemotion. 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_CStatePreWake, "Enable or Disable CState-Pre wake", &EN_DIS, + Help "Enable or Disable CState-Pre wake. 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_TimedMwait, "Enable or Disable TimedMwait Support.", &EN_DIS, + Help "Enable or Disable TimedMwait Support. 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_CstCfgCtrIoMwaitRedirection, "Enable or Disable IO to MWAIT redirection", &EN_DIS, + Help "Enable or Disable IO to MWAIT redirection; 0: Disable; 1: Enable." + EditNum $gPlatformFspPkgTokenSpaceGuid_PkgCStateLimit, "Set the Max Pkg Cstate", HEX, + Help "Set the Max Pkg Cstate. Default set to Auto which limits the Max Pkg Cstate to deep C-state. Valid values 0 - C0/C1 , 1 - C2 , 2 - C3 , 3 - C6 , 4 - C7 , 5 - C7S , 6 - C8 , 7 - C9 , 8 - C10 , 254 - CPU Default , 255 - Auto" + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl0TimeUnit, "TimeUnit for C-State Latency Control0", HEX, + Help "TimeUnit for C-State Latency Control0; Valid values 0 - 1ns , 1 - 32ns , 2 - 1024ns , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns" + "Valid range: 0x00 ~ 0x5" + EditNum $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl1TimeUnit, "TimeUnit for C-State Latency Control1", HEX, + Help "TimeUnit for C-State Latency Control1;Valid values 0 - 1ns , 1 - 32ns , 2 - 1024ns , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns" + "Valid range: 0x00 ~ 0x5" + EditNum $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl2TimeUnit, "TimeUnit for C-State Latency Control2", HEX, + Help "TimeUnit for C-State Latency Control2;Valid values 0 - 1ns , 1 - 32ns , 2 - 1024ns , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns" + "Valid range: 0x00 ~ 0x5" + EditNum $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl3TimeUnit, "TimeUnit for C-State Latency Control3", HEX, + Help "TimeUnit for C-State Latency Control3;Valid values 0 - 1ns , 1 - 32ns , 2 - 1024ns , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns" + "Valid range: 0x00 ~ 0x5" + EditNum $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl4TimeUnit, "TimeUnit for C-State Latency Control4", HEX, + Help "Time - 1ns , 1 - 32ns , 2 - 1024ns , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns" + "Valid range: 0x00 ~ 0x5" + EditNum $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl5TimeUnit, "TimeUnit for C-State Latency Control5", HEX, + Help "TimeUnit for C-State Latency Control5;Valid values 0 - 1ns , 1 - 32ns , 2 - 1024ns , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns" + "Valid range: 0x00 ~ 0x5" + EditNum $gPlatformFspPkgTokenSpaceGuid_PpmIrmSetting, "Interrupt Redirection Mode Select", HEX, + Help "Interrupt Redirection Mode Select.0: Fixed priority; 1: Round robin;2: Hash vector;7: No change." + "Valid range: 0x00 ~ 0x7" + Combo $gPlatformFspPkgTokenSpaceGuid_ProcHotLock, "Lock prochot configuration", &EN_DIS, + Help "Lock prochot configuration Enable/Disable; 0: Disable; 1: Enable" + EditNum $gPlatformFspPkgTokenSpaceGuid_ConfigTdpLevel, "Configuration for boot TDP selection", HEX, + Help "Deprecated. Move to premem." + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_MaxRatio, "Max P-State Ratio", HEX, + Help "Max P-State Ratio, Valid Range 0 to 0x7F" + "Valid range: 0x00 ~ 0x7F" + EditNum $gPlatformFspPkgTokenSpaceGuid_StateRatio, "P-state ratios for custom P-state table", HEX, + Help "P-state ratios for custom P-state table. NumberOfEntries has valid range between 0 to 40. For no. of P-States supported(NumberOfEntries) , StateRatio[NumberOfEntries] are configurable. Valid Range of each entry is 0 to 0x7F" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_StateRatioMax16, "P-state ratios for max 16 version of custom P-state table", HEX, + Help "P-state ratios for max 16 version of custom P-state table. This table is used for OS versions limited to a max of 16 P-States. If the first entry of this table is 0, or if Number of Entries is 16 or less, then this table will be ignored, and up to the top 16 values of the StateRatio table will be used instead. Valid Range of each entry is 0 to 0x7F" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PsysPmax, "Platform Power Pmax", HEX, + Help "PCODE MMIO Mailbox: Platform Power Pmax. 0 - Auto Specified in 1/8 Watt increments. Range 0-1024 Watts. Value of 800 = 100W" + "Valid range: 0x00 ~ 0x400" + EditNum $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl1Irtl, "Interrupt Response Time Limit of C-State LatencyContol1", HEX, + Help "Interrupt Response Time Limit of C-State LatencyContol1.Range of value 0 to 0x3FF. 0 is Auto." + "Valid range: 0x00 ~ 0x3FF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl2Irtl, "Interrupt Response Time Limit of C-State LatencyContol2", HEX, + Help "Interrupt Response Time Limit of C-State LatencyContol2.Range of value 0 to 0x3FF. 0 is Auto." + "Valid range: 0x00 ~ 0x3FF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl3Irtl, "Interrupt Response Time Limit of C-State LatencyContol3", HEX, + Help "Interrupt Response Time Limit of C-State LatencyContol3.Range of value 0 to 0x3FF. 0 is Auto." + "Valid range: 0x00 ~ 0x3FF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl4Irtl, "Interrupt Response Time Limit of C-State LatencyContol4", HEX, + Help "Interrupt Response Time Limit of C-State LatencyContol4.Range of value 0 to 0x3FF. 0 is Auto." + "Valid range: 0x00 ~ 0x3FF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CstateLatencyControl5Irtl, "Interrupt Response Time Limit of C-State LatencyContol5", HEX, + Help "Interrupt Response Time Limit of C-State LatencyContol5.Range of value 0 to 0x3FF. 0 is Auto." + "Valid range: 0x00 ~ 0x3FF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PowerLimit1, "Package Long duration turbo mode power limit", HEX, + Help "Package Long duration turbo mode power limit. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit. Valid Range 0 to 4095875 in Step size of 125" + "Valid range: 0x00 ~ 0x3E7F83" + EditNum $gPlatformFspPkgTokenSpaceGuid_PowerLimit2Power, "Package Short duration turbo mode power limit", HEX, + Help "Package Short duration turbo mode power limit. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range 0 to 4095875 in Step size of 125" + "Valid range: 0x00 ~ 0x3E7F83" + EditNum $gPlatformFspPkgTokenSpaceGuid_PowerLimit3, "Package PL3 power limit", HEX, + Help "Package PL3 power limit. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range 0 to 4095875 in Step size of 125" + "Valid range: 0x00 ~ 0x3E7F83" + EditNum $gPlatformFspPkgTokenSpaceGuid_PowerLimit4, "Package PL4 power limit", HEX, + Help "Package PL4 power limit. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range 0 to 4095875 in Step size of 125" + "Valid range: 0x00 ~ 0x3E7F83" + EditNum $gPlatformFspPkgTokenSpaceGuid_TccOffsetTimeWindowForRatl, "Tcc Offset Time Window for RATL", HEX, + Help "Package PL4 power limit. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range 0 to 4095875 in Step size of 125" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Custom1PowerLimit1, "Short term Power Limit value for custom cTDP level 1", HEX, + Help "Short term Power Limit value for custom cTDP level 1. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range 0 to 4095875 in Step size of 125" + "Valid range: 0x00 ~ 0x3E7F83" + EditNum $gPlatformFspPkgTokenSpaceGuid_Custom1PowerLimit2, "Long term Power Limit value for custom cTDP level 1", HEX, + Help "Long term Power Limit value for custom cTDP level 1. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range 0 to 4095875 in Step size of 125" + "Valid range: 0x00 ~ 0x3E7F83" + EditNum $gPlatformFspPkgTokenSpaceGuid_Custom2PowerLimit1, "Short term Power Limit value for custom cTDP level 2", HEX, + Help "Short term Power Limit value for custom cTDP level 2. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range 0 to 4095875 in Step size of 125" + "Valid range: 0x00 ~ 0x3E7F83" + EditNum $gPlatformFspPkgTokenSpaceGuid_Custom2PowerLimit2, "Long term Power Limit value for custom cTDP level 2", HEX, + Help "Long term Power Limit value for custom cTDP level 2. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range 0 to 4095875 in Step size of 125" + "Valid range: 0x00 ~ 0x3E7F83" + EditNum $gPlatformFspPkgTokenSpaceGuid_Custom3PowerLimit1, "Short term Power Limit value for custom cTDP level 3", HEX, + Help "Short term Power Limit value for custom cTDP level 3. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range 0 to 4095875 in Step size of 125" + "Valid range: 0x00 ~ 0x3E7F83" + EditNum $gPlatformFspPkgTokenSpaceGuid_Custom3PowerLimit2, "Long term Power Limit value for custom cTDP level 3", HEX, + Help "Long term Power Limit value for custom cTDP level 3. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range 0 to 4095875 in Step size of 125" + "Valid range: 0x00 ~ 0x3E7F83" + EditNum $gPlatformFspPkgTokenSpaceGuid_PsysPowerLimit1Power, "Platform PL1 power", HEX, + Help "Platform PL1 power. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range 0 to 4095875 in Step size of 125" + "Valid range: 0x00 ~ 0x3E7F83" + EditNum $gPlatformFspPkgTokenSpaceGuid_PsysPowerLimit2Power, "Platform PL2 power", HEX, + Help "Platform PL2 power. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range 0 to 4095875 in Step size of 125" + "Valid range: 0x00 ~ 0x3E7F83" + Combo $gPlatformFspPkgTokenSpaceGuid_RaceToHalt, "Race To Halt", &EN_DIS, + Help "Enable/Disable Race To Halt feature. RTH will dynamically increase CPU frequency in order to enter pkg C-State faster to reduce overall power. (RTH is controlled through MSR 1FC bit 20)Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_ThreeStrikeCounterDisable, "Set Three Strike Counter Disable", &gPlatformFspPkgTokenSpaceGuid_ThreeStrikeCounterDisable, + Help "False (default): Three Strike counter will be incremented and True: Prevents Three Strike counter from incrementing; 0: False; 1: True." + Combo $gPlatformFspPkgTokenSpaceGuid_HwpInterruptControl, "Set HW P-State Interrupts Enabled for for MISC_PWR_MGMT", &EN_DIS, + Help "Set HW P-State Interrupts Enabled for for MISC_PWR_MGMT; 0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_ReservedCpuPostMem2, "ReservedCpuPostMem2", &EN_DIS, + Help "Reserved for CPU Post-Mem 2" + Combo $gPlatformFspPkgTokenSpaceGuid_EnableItbm, "Intel Turbo Boost Max Technology 3.0", &EN_DIS, + Help "Intel Turbo Boost Max Technology 3.0. 0: Disabled; 1: Enabled" + Combo $gPlatformFspPkgTokenSpaceGuid_C1StateAutoDemotion, "Enable or Disable C1 Cstate Demotion", &EN_DIS, + Help "Enable or Disable C1 Cstate Demotion. Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_C1StateUnDemotion, "Enable or Disable C1 Cstate UnDemotion", &EN_DIS, + Help "Enable or Disable C1 Cstate UnDemotion. Disable; 1: Enable" + EditNum $gPlatformFspPkgTokenSpaceGuid_MinRingRatioLimit, "Minimum Ring ratio limit override", HEX, + Help "Minimum Ring ratio limit override. 0: Hardware defaults. Range: 0 - Max turbo ratio limit" + "Valid range: 0x00 ~ 0x53" + EditNum $gPlatformFspPkgTokenSpaceGuid_MaxRingRatioLimit, "Maximum Ring ratio limit override", HEX, + Help "Maximum Ring ratio limit override. 0: Hardware defaults. Range: 0 - Max turbo ratio limit" + "Valid range: 0x00 ~ 0x53" + Combo $gPlatformFspPkgTokenSpaceGuid_EnablePerCorePState, "Enable or Disable Per Core P State OS control", &EN_DIS, + Help "Enable or Disable Per Core P State OS control. 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_EnableHwpAutoPerCorePstate, "Enable or Disable HwP Autonomous Per Core P State OS control", &EN_DIS, + Help "Enable or Disable HwP Autonomous Per Core P State OS control. 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_EnableHwpAutoEppGrouping, "Enable or Disable HwP Autonomous EPP Grouping", &EN_DIS, + Help "Enable or Disable HwP Autonomous EPP Grouping. 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_EnableEpbPeciOverride, "Enable or Disable EPB override over PECI", &EN_DIS, + Help "Enable or Disable EPB override over PECI. 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_EnableFastMsrHwpReq, "Enable or Disable Fast MSR for IA32_HWP_REQUEST", &EN_DIS, + Help "Enable or Disable Fast MSR for IA32_HWP_REQUEST. 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_ApplyConfigTdp, "Enable Configurable TDP", &EN_DIS, + Help "Applies TDP initialization settings based on non-cTDP or cTDP.; 0: Applies to non-cTDP; 1: Applies to cTDP" + Combo $gPlatformFspPkgTokenSpaceGuid_HwpLock, "Misc Power Management MSR Lock", &EN_DIS, + Help "Lock Misc Power Management MSR. Enable/Disable; 0: Disable , 1: Enable " + Combo $gPlatformFspPkgTokenSpaceGuid_DualTauBoost, "Dual Tau Boost", &EN_DIS, + Help "Enable, Disable Dual Tau Boost feature. This is only applicable for Desktop; 0: Disable; 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_ReservedCpuPostMemTest, "ReservedCpuPostMemTest", &EN_DIS, + Help "Reserved for CPU Post-Mem Test" +EndPage + +Page "System Agent (Pre-Mem)" + Combo $gPlatformFspPkgTokenSpaceGuid_CpuCrashLogDevice, "Enable/Disable CrashLog Device 10", &EN_DIS, + Help "Enable(Default): Enable CPU CrashLog Device 10, Disable: Disable CPU CrashLog" + Combo $gPlatformFspPkgTokenSpaceGuid_X2ApicOptOut, "State of X2APIC_OPT_OUT bit in the DMAR table", &EN_DIS, + Help "0=Disable/Clear, 1=Enable/Set" + Combo $gPlatformFspPkgTokenSpaceGuid_DmaControlGuarantee, "State of DMA_CONTROL_GUARANTEE bit in the DMAR table", &EN_DIS, + Help "0=Disable/Clear, 1=Enable/Set" + EditNum $gPlatformFspPkgTokenSpaceGuid_VtdBaseAddress, "Base addresses for VT-d function MMIO access", HEX, + Help "Base addresses for VT-d MMIO access per VT-d engine" + "Valid range: 0 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_VtdDisable, "Disable VT-d", &EN_DIS, + Help "0=Enable/FALSE(VT-d enabled), 1=Disable/TRUE (VT-d disabled)" + Combo $gPlatformFspPkgTokenSpaceGuid_VtdIgdEnable, "Vtd Programming for Igd", &EN_DIS, + Help "1=Enable/TRUE (Igd VT-d Bar programming enabled), 0=Disable/FLASE (Igd VT-d Bar programming disabled)" + Combo $gPlatformFspPkgTokenSpaceGuid_VtdIpuEnable, "Vtd Programming for Ipu", &EN_DIS, + Help "1=Enable/TRUE (Ipu VT-d Bar programming enabled), 0=Disable/FLASE (Ipu VT-d Bar programming disabled)" + Combo $gPlatformFspPkgTokenSpaceGuid_VtdIopEnable, "Vtd Programming for Iop", &EN_DIS, + Help "1=Enable/TRUE (Iop VT-d Bar programming enabled), 0=Disable/FLASE (Iop VT-d Bar programming disabled)" + Combo $gPlatformFspPkgTokenSpaceGuid_VtdItbtEnable, "Vtd Programming for ITbt", &EN_DIS, + Help "DEPRECATED" + Combo $gPlatformFspPkgTokenSpaceGuid_IgdDvmt50PreAlloc, "Internal Graphics Pre-allocated Memory", &gPlatformFspPkgTokenSpaceGuid_IgdDvmt50PreAlloc, + Help "Size of memory preallocated for internal graphics." + Combo $gPlatformFspPkgTokenSpaceGuid_InternalGfx, "Internal Graphics", &EN_DIS, + Help "Enable/disable internal graphics." + Combo $gPlatformFspPkgTokenSpaceGuid_ApertureSize, "Aperture Size", &gPlatformFspPkgTokenSpaceGuid_ApertureSize, + Help "Select the Aperture Size." + EditNum $gPlatformFspPkgTokenSpaceGuid_HgDelayAfterPwrEn, "HG dGPU Power Delay", HEX, + Help "HG dGPU delay interval after power enabling: 0=Minimal, 1000=Maximum, default is 300=300 microseconds" + "Valid range: 0x00 ~ 0x3E8" + EditNum $gPlatformFspPkgTokenSpaceGuid_HgDelayAfterHoldReset, "HG dGPU Reset Delay", HEX, + Help "HG dGPU delay interval for Reset complete: 0=Minimal, 1000=Maximum, default is 100=100 microseconds" + "Valid range: 0x00 ~ 0x3E8" + EditNum $gPlatformFspPkgTokenSpaceGuid_MmioSizeAdjustment, "MMIO size adjustment for AUTO mode", HEX, + Help "Positive number means increasing MMIO size, Negative value means decreasing MMIO size: 0 (Default)=no change to AUTO mode MMIO size" + "Valid range: 0 ~ 0xFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_InitPcieAspmAfterOprom, "PCIe ASPM programming will happen in relation to the Oprom", &gPlatformFspPkgTokenSpaceGuid_InitPcieAspmAfterOprom, + Help "Select when PCIe ASPM programming will happen in relation to the Oprom. Before(0x0)(Default): Do PCIe ASPM programming before Oprom, After(0x1): Do PCIe ASPM programming after Oprom, requires an SMI handler to save/restore ASPM settings during S3 resume" + Combo $gPlatformFspPkgTokenSpaceGuid_PrimaryDisplay, "Selection of the primary display device", &gPlatformFspPkgTokenSpaceGuid_PrimaryDisplay, + Help "0=iGFX, 1=PEG, 2=PCIe Graphics on PCH, 3(Default)=AUTO, 4=Hybrid Graphics" + Combo $gPlatformFspPkgTokenSpaceGuid_PsmiRegionSize, "Selection of PSMI Region size", &gPlatformFspPkgTokenSpaceGuid_PsmiRegionSize, + Help "0=32MB, 1=288MB, 2=544MB, 3=800MB, 4=1024MB Default is 0" + EditNum $gPlatformFspPkgTokenSpaceGuid_GmAdr, "Temporary MMIO address for GMADR", HEX, + Help "Obsolete field now and it has been extended to 64 bit address, used GmAdr64 " + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_GttMmAdr, "Temporary MMIO address for GTTMMADR", HEX, + Help "The reference code will use this as Temporary MMIO address space to access GTTMMADR Registers.Platform should provide conflict free Temporary MMIO Range: GttMmAdr to (GttMmAdr + 2MB MMIO + 6MB Reserved + GttSize). Default is (GmAdr - (2MB MMIO + 6MB Reserved + GttSize)) to (GmAdr - 0x1) (Where GttSize = 8MB)" + "Valid range: 0x00 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_GttSize, "Selection of iGFX GTT Memory size", &gPlatformFspPkgTokenSpaceGuid_GttSize, + Help "1=2MB, 2=4MB, 3=8MB, Default is 3" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcie0Rtd3Gpio, "Hybrid Graphics GPIO information for PEG 0", HEX, + Help "Hybrid Graphics GPIO information for PEG 0, for Reset, power and wake GPIOs" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_SaOcSupport, "Enable/Disable SA OcSupport", &EN_DIS, + Help "Enable: Enable SA OcSupport, Disable(Default): Disable SA OcSupport" + Combo $gPlatformFspPkgTokenSpaceGuid_GtVoltageMode, "GT slice Voltage Mode", &gPlatformFspPkgTokenSpaceGuid_GtVoltageMode, + Help "0(Default): Adaptive, 1: Override" + EditNum $gPlatformFspPkgTokenSpaceGuid_GtMaxOcRatio, "Maximum GTs turbo ratio override", HEX, + Help "0(Default)=Minimal/Auto, 60=Maximum" + "Valid range: 0x00 ~ 0x3C" + EditNum $gPlatformFspPkgTokenSpaceGuid_GtVoltageOffset, "The voltage offset applied to GT slice", HEX, + Help "0(Default)=Minimal, 1000=Maximum" + "Valid range: 0x00 ~ 0x3E8" + EditNum $gPlatformFspPkgTokenSpaceGuid_GtVoltageOverride, "The GT slice voltage override which is applied to the entire range of GT frequencies", HEX, + Help "0(Default)=Minimal, 2000=Maximum" + "Valid range: 0x00 ~ 0x7D0" + EditNum $gPlatformFspPkgTokenSpaceGuid_GtExtraTurboVoltage, "adaptive voltage applied during turbo frequencies", HEX, + Help "0(Default)=Minimal, 2000=Maximum" + "Valid range: 0x00 ~ 0x7D0" + EditNum $gPlatformFspPkgTokenSpaceGuid_SaVoltageOffset, "voltage offset applied to the SA", HEX, + Help "0(Default)=Minimal, 1000=Maximum" + "Valid range: 0x00 ~ 0x3E8" + EditNum $gPlatformFspPkgTokenSpaceGuid_RootPortIndex, "PCIe root port Function number for Hybrid Graphics dGPU", HEX, + Help "Root port Index number to indicate which PCIe root port has dGPU" + "Valid range: 0x00 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_SaIpuEnable, "Enable/Disable SA IPU", &EN_DIS, + Help "Enable(Default): Enable SA IPU, Disable: Disable SA IPU" + Combo $gPlatformFspPkgTokenSpaceGuid_IpuLaneUsed, "Lane Used of CSI port", &gPlatformFspPkgTokenSpaceGuid_IpuLaneUsed, + Help " Lane Used of each CSI port" + Combo $gPlatformFspPkgTokenSpaceGuid_CsiSpeed, "Lane Used of CSI port", &gPlatformFspPkgTokenSpaceGuid_CsiSpeed, + Help " Speed of each CSI port" + Combo $gPlatformFspPkgTokenSpaceGuid_ImguClkOutEn, "IMGU CLKOUT Configuration", &EN_DIS, + Help "The configuration of IMGU CLKOUT, 0: Disable;1: Enable." + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpEnableMask, "Enable PCIE RP Mask", HEX, + Help "Enable/disable PCIE Root Ports. 0: disable, 1: enable. One bit for each port, bit0 for port1, bit1 for port2, and so on." + "Valid range: 0x00 ~ 0x00FFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpLinkDownGpios, "Assertion on Link Down GPIOs", &gPlatformFspPkgTokenSpaceGuid_CpuPcieRpLinkDownGpios, + Help "GPIO Assertion on Link Down. Disabled(0x0)(Default): Disable assertion on Link Down GPIOs, Enabled(0x1): Enable assertion on Link Down GPIOs" + Combo $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpClockReqMsgEnable, "Enable ClockReq Messaging ", &gPlatformFspPkgTokenSpaceGuid_CpuPcieRpClockReqMsgEnable, + Help "ClockReq Messaging. Disabled(0x0): Disable ClockReq Messaging, Enabled(0x1)(Default): Enable ClockReq Messaging" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpPcieSpeed, "PCIE RP Pcie Speed", HEX, + Help "Determines each PCIE Port speed capability. 0: Auto; 1: Gen1; 2: Gen2; 3: Gen3; 4: Gen4 (see: CPU_PCIE_SPEED)." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_GtPsmiSupport, "Selection of PSMI Support On/Off", &EN_DIS, + Help "0(Default) = FALSE, 1 = TRUE. When TRUE, it will allow the PSMI Support" + Combo $gPlatformFspPkgTokenSpaceGuid_DdiPortAConfig, "Program GPIOs for LFP on DDI port-A device", &gPlatformFspPkgTokenSpaceGuid_DdiPortAConfig, + Help "0=Disabled,1(Default)=eDP, 2=MIPI DSI" + Combo $gPlatformFspPkgTokenSpaceGuid_DdiPortBConfig, "Program GPIOs for LFP on DDI port-B device", &gPlatformFspPkgTokenSpaceGuid_DdiPortBConfig, + Help "0(Default)=Disabled,1=eDP, 2=MIPI DSI" + Combo $gPlatformFspPkgTokenSpaceGuid_DdiPortAHpd, "Enable or disable HPD of DDI port A", &EN_DIS, + Help "0(Default)=Disable, 1=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DdiPortBHpd, "Enable or disable HPD of DDI port B", &EN_DIS, + Help "0=Disable, 1(Default)=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DdiPortCHpd, "Enable or disable HPD of DDI port C", &EN_DIS, + Help "0(Default)=Disable, 1=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DdiPort1Hpd, "Enable or disable HPD of DDI port 1", &EN_DIS, + Help "0=Disable, 1(Default)=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DdiPort2Hpd, "Enable or disable HPD of DDI port 2", &EN_DIS, + Help "0(Default)=Disable, 1=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DdiPort3Hpd, "Enable or disable HPD of DDI port 3", &EN_DIS, + Help "0(Default)=Disable, 1=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DdiPort4Hpd, "Enable or disable HPD of DDI port 4", &EN_DIS, + Help "0(Default)=Disable, 1=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DdiPortADdc, "Enable or disable DDC of DDI port A", &EN_DIS, + Help "0(Default)=Disable, 1=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DdiPortBDdc, "Enable or disable DDC of DDI port B", &EN_DIS, + Help "0=Disable, 1(Default)=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DdiPortCDdc, "Enable or disable DDC of DDI port C", &EN_DIS, + Help "0(Default)=Disable, 1=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DdiPort1Ddc, "Enable DDC setting of DDI Port 1", &EN_DIS, + Help "0(Default)=Disable, 1=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DdiPort2Ddc, "Enable DDC setting of DDI Port 2", &EN_DIS, + Help "0(Default)=Disable, 1=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DdiPort3Ddc, "Enable DDC setting of DDI Port 3", &EN_DIS, + Help "0(Default)=Disable, 1=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_DdiPort4Ddc, "Enable DDC setting of DDI Port 4", &EN_DIS, + Help "0(Default)=Disable, 1=Enable" + EditNum $gPlatformFspPkgTokenSpaceGuid_GmAdr64, "Temporary MMIO address for GMADR", HEX, + Help "The reference code will use this as Temporary MMIO address space to access GMADR Registers.Platform should provide conflict free Temporary MMIO Range: GmAdr to (GmAdr + ApertureSize). Default is (PciExpressBaseAddress - ApertureSize) to (PciExpressBaseAddress - 0x1) (Where ApertureSize = 256MB, 512MB, 1024MB and 2048MB)" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PerCoreHtDisable, "Per-core HT Disable", HEX, + Help "Defines the per-core HT disable mask where: 1 - Disable selected logical core HT, 0 - is ignored. Input is in HEX and each bit maps to a logical core. Ex. A value of '1F' would disable HT for cores 4,3,2,1 and 0. Default is 0, all cores have HT enabled. Range is 0 - 0x7F for max 8 cores. You can only disable up to MAX_CORE_COUNT - 1." + "Valid range: 0x00 ~ 0x7F" + Combo $gPlatformFspPkgTokenSpaceGuid_SaVoltageMode, "SA/Uncore voltage mode", &EN_DIS, + Help "SA/Uncore voltage mode; 0: Adaptive; 1: Override." + EditNum $gPlatformFspPkgTokenSpaceGuid_SaVoltageOverride, "SA/Uncore Voltage Override", HEX, + Help "The SA/Uncore voltage override applicable when SA/Uncore voltage mode is in Override mode. Valid Range 0 to 2000" + "Valid range: 0x00 ~ 0x7D0" + EditNum $gPlatformFspPkgTokenSpaceGuid_SaExtraTurboVoltage, "SA/Uncore Extra Turbo voltage", HEX, + Help "Extra Turbo voltage applicable when SA/Uncore voltage mode is in Adaptive mode. Valid Range 0 to 2000" + "Valid range: 0x00 ~ 0x7D0" + Combo $gPlatformFspPkgTokenSpaceGuid_TvbRatioClipping, "Thermal Velocity Boost Ratio clipping", &gPlatformFspPkgTokenSpaceGuid_TvbRatioClipping, + Help "0(Default): Disabled, 1: Enabled. This service controls Core frequency reduction caused by high package temperatures for processors that implement the Intel Thermal Velocity Boost (TVB) feature" + Combo $gPlatformFspPkgTokenSpaceGuid_TvbVoltageOptimization, "Thermal Velocity Boost voltage optimization", &gPlatformFspPkgTokenSpaceGuid_TvbVoltageOptimization, + Help "0: Disabled, 1: Enabled(Default). This service controls thermal based voltage optimizations for processors that implement the Intel Thermal Velocity Boost (TVB) feature." + Combo $gPlatformFspPkgTokenSpaceGuid_DisplayAudioLink, "Enable/Disable Display Audio Link in Pre-OS", &gPlatformFspPkgTokenSpaceGuid_DisplayAudioLink, + Help "0(Default)= Disable, 1 = Enable" + EditNum $gPlatformFspPkgTokenSpaceGuid_GtPllVoltageOffset, "GT PLL voltage offset", HEX, + Help "Core PLL voltage offset. 0: No offset. Range 0-15" + "Valid range: 0x00 ~ 0x0F" + EditNum $gPlatformFspPkgTokenSpaceGuid_RingPllVoltageOffset, "Ring PLL voltage offset", HEX, + Help "Core PLL voltage offset. 0: No offset. Range 0-15" + "Valid range: 0x00 ~ 0x0F" + EditNum $gPlatformFspPkgTokenSpaceGuid_SaPllVoltageOffset, "System Agent PLL voltage offset", HEX, + Help "Core PLL voltage offset. 0: No offset. Range 0-15" + "Valid range: 0x00 ~ 0x0F" + EditNum $gPlatformFspPkgTokenSpaceGuid_McPllVoltageOffset, "Memory Controller PLL voltage offset", HEX, + Help "Core PLL voltage offset. 0: No offset. Range 0-15" + "Valid range: 0x00 ~ 0x0F" + Combo $gPlatformFspPkgTokenSpaceGuid_CridEnable, "Enable/Disable SA CRID", &EN_DIS, + Help "Enable: SA CRID, Disable (Default): SA CRID" + Combo $gPlatformFspPkgTokenSpaceGuid_WrcFeatureEnable, "WRC Feature", &EN_DIS, + Help "Enable/Disable WRC (Write Cache) feature of IOP. When feature is enabled, supports IO devices allocating onto the ring and into LLC. WRC is fused on by default." + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieImrSize, "Size of PCIe IMR.", HEX, + Help "Size of PCIe IMR in megabytes" + "Valid range: 0x00 ~ 0xFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PcieImrEnabled, "Enable PCIe IMR", &EN_DIS, + Help "0: Disable(AUTO), 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_PcieImrRpLocation, "Enable PCIe IMR", &EN_DIS, + Help "1: PCH PCIE, 2: SA PCIE. If PCIeImrEnabled is TRUE then this will use to select the Root port location from PCH PCIe or SA PCIe" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieImrRpSelection, "Root port number for IMR.", HEX, + Help "Root port number for IMR.If PCieImrRpLocation is PCH PCIe then select root port from 0 to 23 and if it is SA PCIe then select root port from 0 to 3" + "Valid range: 0x00 ~ 0x17" + Combo $gPlatformFspPkgTokenSpaceGuid_SkipExtGfxScan, "Skip external display device scanning", &EN_DIS, + Help "Enable: Do not scan for external display device, Disable (Default): Scan external display devices" + EditNum $gPlatformFspPkgTokenSpaceGuid_DmaBufferSize, "PMR Size", HEX, + Help "Size of PMR memory buffer. 0x400000 for normal boot and 0x200000 for S3 boot" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PreBootDmaMask, "VT-d/IOMMU Boot Policy", HEX, + Help "BIT0: Enable IOMMU during boot, BIT1: Enable IOMMU when transfer control to OS" + "Valid range: 0x00 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_DeltaT12PowerCycleDelay, "Delta T12 Power Cycle Delay required in ms", &gPlatformFspPkgTokenSpaceGuid_DeltaT12PowerCycleDelay, + Help "Select the value for delay required. 0= No delay, 0xFFFF(Default) = Auto calculate T12 Delay to max 500ms" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcie1Rtd3Gpio, "Hybrid Graphics GPIO information for PEG 1", HEX, + Help "Hybrid Graphics GPIO information for PEG 1, for Reset, power and wake GPIOs" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcie2Rtd3Gpio, "Hybrid Graphics GPIO information for PEG 2", HEX, + Help "Hybrid Graphics GPIO information for PEG 2, for Reset, power and wake GPIOs" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcie3Rtd3Gpio, "Hybrid Graphics GPIO information for PEG 3", HEX, + Help "Hybrid Graphics GPIO information for PEG 3, for Reset, power and wake GPIOs" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Avx2VoltageScaleFactor, "Avx2 Voltage Guardband Scaling Factor", HEX, + Help "AVX2 Voltage Guardband Scale factor applied to AVX2 workloads. Range is 0-200 in 1/100 units, where a value of 125 would apply a 1.25 scale factor." + "Valid range: 0x00 ~ 0xC8" + EditNum $gPlatformFspPkgTokenSpaceGuid_Avx512VoltageScaleFactor, "Avx512 Voltage Guardband Scaling Factor", HEX, + Help "DEPRECATED" + "Valid range: 0x00 ~ 0xC8" +EndPage + +Page "System Agent (Post-Mem)" + EditNum $gPlatformFspPkgTokenSpaceGuid_LogoPtr, "Logo Pointer", HEX, + Help "Points to PEI Display Logo Image" + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_LogoSize, "Logo Size", HEX, + Help "Size of PEI Display Logo Image" + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_BltBufferAddress, "Blt Buffer Address", HEX, + Help "Address of Blt buffer" + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_BltBufferSize, "Blt Buffer Size", HEX, + Help "Size of Blt Buffer, is equal to PixelWidth * PixelHeight * 4 bytes (the size of EFI_GRAPHICS_OUTPUT_BLT_PIXEL)" + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_GraphicsConfigPtr, "Graphics Configuration Ptr", HEX, + Help "Points to VBT" + "Valid range: 0x0 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_Device4Enable, "Enable Device 4", &EN_DIS, + Help "Enable/disable Device 4" + Combo $gPlatformFspPkgTokenSpaceGuid_PavpEnable, "Enable/Disable PavpEnable", &EN_DIS, + Help "Enable(Default): Enable PavpEnable, Disable: Disable PavpEnable" + Combo $gPlatformFspPkgTokenSpaceGuid_CdClock, "CdClock Frequency selection", &gPlatformFspPkgTokenSpaceGuid_CdClock, + Help "0 (Default) Auto (Max based on reference clock frequency), 0: 192, 1: 307.2, 2: 312 Mhz, 3: 324Mhz, 4: 326.4 Mhz, 5: 552 Mhz, 6: 556.8 Mhz, 7: 648 Mhz, 8: 652.8 Mhz" + Combo $gPlatformFspPkgTokenSpaceGuid_PeiGraphicsPeimInit, "Enable/Disable PeiGraphicsPeimInit", &EN_DIS, + Help "Enable(Default): FSP will initialize the framebuffer and provide it via EFI_PEI_GRAPHICS_INFO_HOB. Disable: FSP will NOT initialize the framebuffer." + Combo $gPlatformFspPkgTokenSpaceGuid_GnaEnable, "Enable or disable GNA device", &EN_DIS, + Help "0=Disable, 1(Default)=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_SkipFspGop, "Enable/Disable SkipFspGop", &EN_DIS, + Help "Enable: Skip FSP provided GOP driver, Disable(Default): Use FSP provided GOP driver" + Combo $gPlatformFspPkgTokenSpaceGuid_SaPostMemRsvd, "SaPostMemRsvd", &EN_DIS, + Help "Reserved for PCH Post-Mem" + EditNum $gPlatformFspPkgTokenSpaceGuid_SendEcCmd, "SendEcCmd", HEX, + Help "SendEcCmd function pointer. \n @code typedef EFI_STATUS (EFIAPI *PLATFORM_SEND_EC_COMMAND) (IN EC_COMMAND_TYPE EcCmdType, IN UINT8 EcCmd, IN UINT8 SendData, IN OUT UINT8 *ReceiveData); @endcode" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_EcCmdProvisionEav, "EcCmdProvisionEav", HEX, + Help "Ephemeral Authorization Value default values. Provisions an ephemeral shared secret to the EC" + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_EcCmdLock, "EcCmdLock", HEX, + Help "EcCmdLock default values. Locks Ephemeral Authorization Value sent previously" + "Valid range: 0x00 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_SiSkipSsidProgramming, "Skip Ssid Programming.", &EN_DIS, + Help "When set to TRUE, silicon code will not do any SSID programming and platform code needs to handle that by itself properly." + EditNum $gPlatformFspPkgTokenSpaceGuid_SiCustomizedSvid, "Change Default SVID", HEX, + Help "Change the default SVID used in FSP to programming internal devices. This is only valid when SkipSsidProgramming is FALSE." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SiCustomizedSsid, "Change Default SSID", HEX, + Help "Change the default SSID used in FSP to programming internal devices. This is only valid when SkipSsidProgramming is FALSE." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SiSsidTablePtr, "SVID SDID table Poniter.", HEX, + Help "The address of the table of SVID SDID to customize each SVID SDID entry. This is only valid when SkipSsidProgramming is FALSE." + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SiNumberOfSsidTableEntry, "Number of ssid table.", HEX, + Help "SiNumberOfSsidTableEntry should match the table entries created in SiSsidTablePtr. This is only valid when SkipSsidProgramming is FALSE." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PortResetMessageEnable, "USB2 Port Reset Message Enable", HEX, + Help "0: Disable USB2 Port Reset Message; 1: Enable USB2 Port Reset Message; This must be enable for USB2 Port those are paired with CPU XHCI Port" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_SataRstInterrupt, "SATA RST Interrupt Mode", &gPlatformFspPkgTokenSpaceGuid_SataRstInterrupt, + Help "Allowes to choose which interrupts will be implemented by SATA controller in RAID mode." + Combo $gPlatformFspPkgTokenSpaceGuid_SkipPamLock, "Skip PAM regsiter lock", &EN_DIS, + Help "Enable: PAM register will not be locked by RC, platform code should lock it, Disable(Default): PAM registers will be locked by RC" + Combo $gPlatformFspPkgTokenSpaceGuid_EdramTestMode, "EDRAM Test Mode", &gPlatformFspPkgTokenSpaceGuid_EdramTestMode, + Help "Enable: PAM register will not be locked by RC, platform code should lock it, Disable(Default): PAM registers will be locked by RC" + Combo $gPlatformFspPkgTokenSpaceGuid_RenderStandby, "Enable/Disable IGFX RenderStandby", &EN_DIS, + Help "Enable(Default): Enable IGFX RenderStandby, Disable: Disable IGFX RenderStandby" + Combo $gPlatformFspPkgTokenSpaceGuid_PmSupport, "Enable/Disable IGFX PmSupport", &EN_DIS, + Help "Enable(Default): Enable IGFX PmSupport, Disable: Disable IGFX PmSupport" + Combo $gPlatformFspPkgTokenSpaceGuid_CdynmaxClampEnable, "Enable/Disable CdynmaxClamp", &EN_DIS, + Help "Enable: Enable CdynmaxClamp, Disable(Default): Disable CdynmaxClamp" + Combo $gPlatformFspPkgTokenSpaceGuid_GtFreqMax, "GT Frequency Limit", &gPlatformFspPkgTokenSpaceGuid_GtFreqMax, + Help "0xFF: Auto(Default), 2: 100 Mhz, 3: 150 Mhz, 4: 200 Mhz, 5: 250 Mhz, 6: 300 Mhz, 7: 350 Mhz, 8: 400 Mhz, 9: 450 Mhz, 0xA: 500 Mhz, 0xB: 550 Mhz, 0xC: 600 Mhz, 0xD: 650 Mhz, 0xE: 700 Mhz, 0xF: 750 Mhz, 0x10: 800 Mhz, 0x11: 850 Mhz, 0x12:900 Mhz, 0x13: 950 Mhz, 0x14: 1000 Mhz, 0x15: 1050 Mhz, 0x16: 1100 Mhz, 0x17: 1150 Mhz, 0x18: 1200 Mhz" + Combo $gPlatformFspPkgTokenSpaceGuid_DisableTurboGt, "Disable Turbo GT", &EN_DIS, + Help " 0=Disable: GT frequency is not limited, 1=Enable: Disables Turbo GT frequency" + Combo $gPlatformFspPkgTokenSpaceGuid_SkipCdClockInit, "Enable/Disable CdClock Init", &EN_DIS, + Help "Enable: Skip Full CD clock initializaton, Disable(Default): Initialize the full CD clock if not initialized by Gfx PEIM" + Combo $gPlatformFspPkgTokenSpaceGuid_RC1pFreqEnable, "Enable RC1p frequency request to PMA (provided all other conditions are met)", &EN_DIS, + Help "0(Default)=Disable, 1=Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_PchTsnMultiVcEnable, "Enable TSN Multi-VC", &EN_DIS, + Help "Enable/disable Multi Virtual Channels(VC) in TSN." + EditNum $gPlatformFspPkgTokenSpaceGuid_LogoPixelHeight, "LogoPixelHeight Address", HEX, + Help "Address of LogoPixelHeight" + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_LogoPixelWidth, "LogoPixelWidth Address", HEX, + Help "Address of LogoPixelWidth" + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb4CmMode, "ITbt Usb4CmMode value", HEX, + Help "ITbt Usb4CmMode value. 0:Firmware CM, 1:Software CM" + "Valid range: 0x00 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_CpuPcieResizableBarSupport, "PCIE Resizable BAR Support", &EN_DIS, + Help "Enable/Disable PCIE Resizable BAR Support.0: Disable; 1: Enable; 2: Auto(Default)." + Combo $gPlatformFspPkgTokenSpaceGuid_SaPostMemTestRsvd, "SaPostMemTestRsvd", &EN_DIS, + Help "Reserved for SA Post-Mem Test" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpLtrMaxSnoopLatency, "PCIE RP Ltr Max Snoop Latency", HEX, + Help "Latency Tolerance Reporting, Max Snoop Latency." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpLtrMaxNoSnoopLatency, "PCIE RP Ltr Max No Snoop Latency", HEX, + Help "Latency Tolerance Reporting, Max Non-Snoop Latency." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpSnoopLatencyOverrideMode, "PCIE RP Snoop Latency Override Mode", HEX, + Help "Latency Tolerance Reporting, Snoop Latency Override Mode." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpSnoopLatencyOverrideMultiplier, "PCIE RP Snoop Latency Override Multiplier", HEX, + Help "Latency Tolerance Reporting, Snoop Latency Override Multiplier." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpSnoopLatencyOverrideValue, "PCIE RP Snoop Latency Override Value", HEX, + Help "Latency Tolerance Reporting, Snoop Latency Override Value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpNonSnoopLatencyOverrideMode, "PCIE RP Non Snoop Latency Override Mode", HEX, + Help "Latency Tolerance Reporting, Non-Snoop Latency Override Mode." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpNonSnoopLatencyOverrideMultiplier, "PCIE RP Non Snoop Latency Override Multiplier", HEX, + Help "Latency Tolerance Reporting, Non-Snoop Latency Override Multiplier." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpNonSnoopLatencyOverrideValue, "PCIE RP Non Snoop Latency Override Value", HEX, + Help "Latency Tolerance Reporting, Non-Snoop Latency Override Value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpGen3Uptp, "PCIE RP Upstream Port Transmiter Preset", HEX, + Help "Used during Gen3 Link Equalization. Used for all lanes. Default is 7." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpGen3Dptp, "PCIE RP Downstream Port Transmiter Preset", HEX, + Help "Used during Gen3 Link Equalization. Used for all lanes. Default is 7." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpGen4Uptp, "PCIE RP Upstream Port Transmiter Preset", HEX, + Help "Used during Gen4 Link Equalization. Used for all lanes. Default is 8." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpGen4Dptp, "PCIE RP Downstream Port Transmiter Preset", HEX, + Help "Used during Gen4 Link Equalization. Used for all lanes. Default is 9." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpGen5Uptp, "PCIE RP Upstream Port Transmiter Preset", HEX, + Help "Used during Gen5 Link Equalization. Used for all lanes. Default is 7." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpGen5Dptp, "PCIE RP Downstream Port Transmiter Preset", HEX, + Help "Used during Gen5 Link Equalization. Used for all lanes. Default is 7." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_CpuPcieFomsCp, "FOMS Control Policy", &gPlatformFspPkgTokenSpaceGuid_CpuPcieFomsCp, + Help "Choose the Foms Control Policy, Default = 0 " + Combo $gPlatformFspPkgTokenSpaceGuid_PmcC10DynamicThresholdAdjustment, "PMC C10 dynamic threshold dajustment enable", &EN_DIS, + Help "Set if you want to enable PMC C10 dynamic threshold adjustment. Only works on supported SKUs" + Combo $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpPeerToPeerMode, "P2P mode for PCIE RP", &gPlatformFspPkgTokenSpaceGuid_CpuPcieRpPeerToPeerMode, + Help "Enable/disable peer to peer mode for PCIE Root Ports. 0: Disable, 1: Enable." + EditNum $gPlatformFspPkgTokenSpaceGuid_TurboRatioLimitRatio, "Turbo Ratio Limit Ratio array", HEX, + Help "TurboRatioLimitRatio[7-0] will pair with TurboRatioLimitNumCore[7-0] to determine the active core ranges for each frequency point." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_TurboRatioLimitNumCore, "Turbo Ratio Limit Num Core array", HEX, + Help "TurboRatioLimitNumCore[7-0] will pair with TurboRatioLimitRatio[7-0] to determine the active core ranges for each frequency point." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_AtomTurboRatioLimitRatio, "ATOM Turbo Ratio Limit Ratio array", HEX, + Help "AtomTurboRatioLimitRatio[7-0] will pair with AtomTurboRatioLimitNumCore[7-0] to determine the active core ranges for each frequency point." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_AtomTurboRatioLimitNumCore, "ATOM Turbo Ratio Limit Num Core array", HEX, + Help "AtomTurboRatioLimitNumCore[7-0] will pair with AtomTurboRatioLimitRatio[7-0] to determine the active core ranges for each frequency point." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_FspEventHandler, "FspEventHandler", HEX, + Help "Optional pointer to the boot loader's implementation of FSP_EVENT_HANDLER." + "Valid range: 0x0 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_VmdGlobalMapping, "Enable VMD Global Mapping", &EN_DIS, + Help "Enable/disable to VMD controller.0: Disable; 1: Enable(Default)" + Combo $gPlatformFspPkgTokenSpaceGuid_CpuPcieFunc0LinkDisable, "CPU PCIE Port0 Link Disable", &EN_DIS, + Help "CPU PCIE Port0 Link Disable while Device attached into Port0 and Port1.0: Disable(Default); 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_PmcSkipVccInConfig, "Skip VccIn Configuration", &EN_DIS, + Help "Skips VccIn configuration when enabled" + Combo $gPlatformFspPkgTokenSpaceGuid_CseDataResilience, "CSE Data Resilience Support", &EN_DIS, + Help "0: Disable CSE Data Resilience Support. ; 1: Enable CSE Data Resilience Support." + EditNum $gPlatformFspPkgTokenSpaceGuid_HorizontalResolution, "HorizontalResolution for PEI Logo", HEX, + Help "HorizontalResolution from PEIm Gfx for PEI Logo" + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_VerticalResolution, "VerticalResolution for PEI Logo", HEX, + Help "VerticalResolution from PEIm Gfx for PEI Logo" + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThcActiveLtr, "Touch Host Controller Active Ltr", HEX, + Help "Expose Active Ltr for OS driver to set" + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThcIdleLtr, "Touch Host Controller Idle Ltr", HEX, + Help "Expose Idle Ltr for OS driver to set" + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThcHidResetPad, "Touch Host Controller Hid Over Spi ResetPad", HEX, + Help "Hid Over Spi ResetPad 0x0 - Use THC HW default Pad, For other pad setting refer to GpioPins" + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThcHidResetPadTrigger, "Touch Host Controller Hid Over Spi ResetPad Trigger", HEX, + Help "Hid Over Spi Reset Pad Trigger 0x0:Low, 0x1:High" + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThcHidConnectionSpeed, "Touch Host Controller Hid Over Spi Connection Speed", HEX, + Help "Hid Over Spi Connection Speed - SPI Frequency" + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThcLimitPacketSize, "Touch Host Controller Hid Over Spi Limit PacketSize", HEX, + Help "When set, limits SPI read & write packet size to 64B. Otherwise, THC uses Max Soc packet size for SPI Read and Write 0x0- Max Soc Packet Size, 0x11 - 64 Bytes" + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThcPerformanceLimitation, "Touch Host Controller Hid Over Spi Limit PacketSize", HEX, + Help "Minimum amount of delay the THC/QUICKSPI driver must wait between end of write operation and begin of read operation. This value shall be in 10us multiples 0x0: Disabled, 1-65535 (0xFFFF) - up to 655350 us" + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThcHidInputReportHeaderAddress, "Touch Host Controller Hid Over Spi Input Report Header Address", HEX, + Help "Hid Over Spi Input Report Header Address" + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThcHidInputReportBodyAddress, "Touch Host Controller Hid Over Spi Input Report Body Address", HEX, + Help "Hid Over Spi Input Report Body Address" + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThcHidOutputReportAddress, "Touch Host Controller Hid Over Spi Output Report Address", HEX, + Help "Hid Over Spi Output Report Address" + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThcHidReadOpcode, "Touch Host Controller Hid Over Spi Read Opcode", HEX, + Help "Hid Over Spi Read Opcode" + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThcHidWriteOpcode, "Touch Host Controller Hid Over Spi Write Opcode", HEX, + Help "Hid Over Spi Write Opcode" + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThcHidFlags, "Touch Host Controller Hid Over Spi Flags", HEX, + Help "Hid Over Spi Flags 0x0:Single SPI Mode, 0x4000:Dual SPI Mode, 0x8000:Quad SPI Mode" + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFF" +EndPage + +Page "PCH (Pre-Mem)" + Combo $gPlatformFspPkgTokenSpaceGuid_SmbusEnable, "Enable SMBus", &EN_DIS, + Help "Enable/disable SMBus controller." + Combo $gPlatformFspPkgTokenSpaceGuid_PchTraceHubMode, "PCH Trace Hub Mode", &gPlatformFspPkgTokenSpaceGuid_PchTraceHubMode, + Help "Select 'Host Debugger' if Trace Hub is used with host debugger tool or 'Target Debugger' if Trace Hub is used by target debugger software or 'Disable' trace hub functionality." + Combo $gPlatformFspPkgTokenSpaceGuid_PchTraceHubMemReg0Size, "PCH Trace Hub Memory Region 0 buffer Size", &gPlatformFspPkgTokenSpaceGuid_PchTraceHubMemReg0Size, + Help "Specify size of Pch trace memory region 0 buffer, the size can be 0, 1MB, 8MB, 64MB, 128MB, 256MB, 512MB" + Combo $gPlatformFspPkgTokenSpaceGuid_PchTraceHubMemReg1Size, "PCH Trace Hub Memory Region 1 buffer Size", &gPlatformFspPkgTokenSpaceGuid_PchTraceHubMemReg1Size, + Help "Specify size of Pch trace memory region 1 buffer, the size can be 0, 1MB, 8MB, 64MB, 128MB, 256MB, 512MB" + Combo $gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkDmicClockSelect, "HD Audio DMIC Link Clock Select", &gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkDmicClockSelect, + Help "Determines DMIC Clock Source. 0: Both, 1: ClkA, 2: ClkB" + Combo $gPlatformFspPkgTokenSpaceGuid_PchPreMemRsvd, "PchPreMemRsvd", &EN_DIS, + Help "Reserved for PCH Pre-Mem Reserved" + Combo $gPlatformFspPkgTokenSpaceGuid_PchHdaEnable, "Enable Intel HD Audio (Azalia)", &EN_DIS, + Help "0: Disable, 1: Enable (Default) Azalia controller" + Combo $gPlatformFspPkgTokenSpaceGuid_PchIshEnable, "Enable PCH ISH Controller", &EN_DIS, + Help "0: Disable, 1: Enable (Default) ISH Controller" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioRxSetCtleEnable, "Enable PCH HSIO PCIE Rx Set Ctle", HEX, + Help "Enable PCH PCIe Gen 3 Set CTLE Value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioRxSetCtle, "PCH HSIO PCIE Rx Set Ctle Value", HEX, + Help "PCH PCIe Gen 3 Set CTLE Value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen1DownscaleAmpEnable, "Enble PCH HSIO PCIE TX Gen 1 Downscale Amplitude Adjustment value override", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen1DownscaleAmp, "PCH HSIO PCIE Gen 2 TX Output Downscale Amplitude Adjustment value", HEX, + Help "PCH PCIe Gen 2 TX Output Downscale Amplitude Adjustment value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen2DownscaleAmpEnable, "Enable PCH HSIO PCIE TX Gen 2 Downscale Amplitude Adjustment value override", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen2DownscaleAmp, "PCH HSIO PCIE Gen 2 TX Output Downscale Amplitude Adjustment value", HEX, + Help "PCH PCIe Gen 2 TX Output Downscale Amplitude Adjustment value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen3DownscaleAmpEnable, "Enable PCH HSIO PCIE TX Gen 3 Downscale Amplitude Adjustment value override", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen3DownscaleAmp, "PCH HSIO PCIE Gen 3 TX Output Downscale Amplitude Adjustment value", HEX, + Help "PCH PCIe Gen 3 TX Output Downscale Amplitude Adjustment value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen1DeEmphEnable, "Enable PCH HSIO PCIE Gen 1 TX Output De-Emphasis Adjustment Setting value override", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen1DeEmph, "PCH HSIO PCIE Gen 1 TX Output De-Emphasis Adjustment value", HEX, + Help "PCH PCIe Gen 1 TX Output De-Emphasis Adjustment Setting." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen2DeEmph3p5Enable, "Enable PCH HSIO PCIE Gen 2 TX Output -3.5dB De-Emphasis Adjustment Setting value override", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen2DeEmph3p5, "PCH HSIO PCIE Gen 2 TX Output -3.5dB De-Emphasis Adjustment value", HEX, + Help "PCH PCIe Gen 2 TX Output -3.5dB De-Emphasis Adjustment Setting." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen2DeEmph6p0Enable, "Enable PCH HSIO PCIE Gen 2 TX Output -6.0dB De-Emphasis Adjustment Setting value override", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPcieHsioTxGen2DeEmph6p0, "PCH HSIO PCIE Gen 2 TX Output -6.0dB De-Emphasis Adjustment value", HEX, + Help "PCH PCIe Gen 2 TX Output -6.0dB De-Emphasis Adjustment Setting." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioRxGen1EqBoostMagEnable, "Enable PCH HSIO SATA Receiver Equalization Boost Magnitude Adjustment Value override", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioRxGen1EqBoostMag, "PCH HSIO SATA 1.5 Gb/s Receiver Equalization Boost Magnitude Adjustment value", HEX, + Help "PCH HSIO SATA 1.5 Gb/s Receiver Equalization Boost Magnitude Adjustment value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioRxGen2EqBoostMagEnable, "Enable PCH HSIO SATA Receiver Equalization Boost Magnitude Adjustment Value override", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioRxGen2EqBoostMag, "PCH HSIO SATA 3.0 Gb/s Receiver Equalization Boost Magnitude Adjustment value", HEX, + Help "PCH HSIO SATA 3.0 Gb/s Receiver Equalization Boost Magnitude Adjustment value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioRxGen3EqBoostMagEnable, "Enable PCH HSIO SATA Receiver Equalization Boost Magnitude Adjustment Value override", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioRxGen3EqBoostMag, "PCH HSIO SATA 6.0 Gb/s Receiver Equalization Boost Magnitude Adjustment value", HEX, + Help "PCH HSIO SATA 6.0 Gb/s Receiver Equalization Boost Magnitude Adjustment value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen1DownscaleAmpEnable, "Enable PCH HSIO SATA 1.5 Gb/s TX Output Downscale Amplitude Adjustment value override", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen1DownscaleAmp, "PCH HSIO SATA 1.5 Gb/s TX Output Downscale Amplitude Adjustment value", HEX, + Help "PCH HSIO SATA 1.5 Gb/s TX Output Downscale Amplitude Adjustment value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen2DownscaleAmpEnable, "Enable PCH HSIO SATA 3.0 Gb/s TX Output Downscale Amplitude Adjustment value override", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen2DownscaleAmp, "PCH HSIO SATA 3.0 Gb/s TX Output Downscale Amplitude Adjustment value", HEX, + Help "PCH HSIO SATA 3.0 Gb/s TX Output Downscale Amplitude Adjustment value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen3DownscaleAmpEnable, "Enable PCH HSIO SATA 6.0 Gb/s TX Output Downscale Amplitude Adjustment value override", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen3DownscaleAmp, "PCH HSIO SATA 6.0 Gb/s TX Output Downscale Amplitude Adjustment value", HEX, + Help "PCH HSIO SATA 6.0 Gb/s TX Output Downscale Amplitude Adjustment value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen1DeEmphEnable, "Enable PCH HSIO SATA 1.5 Gb/s TX Output De-Emphasis Adjustment Setting value override", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen1DeEmph, "PCH HSIO SATA 1.5 Gb/s TX Output De-Emphasis Adjustment Setting", HEX, + Help "PCH HSIO SATA 1.5 Gb/s TX Output De-Emphasis Adjustment Setting." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen2DeEmphEnable, "Enable PCH HSIO SATA 3.0 Gb/s TX Output De-Emphasis Adjustment Setting value override", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen2DeEmph, "PCH HSIO SATA 3.0 Gb/s TX Output De-Emphasis Adjustment Setting", HEX, + Help "PCH HSIO SATA 3.0 Gb/s TX Output De-Emphasis Adjustment Setting." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen3DeEmphEnable, "Enable PCH HSIO SATA 6.0 Gb/s TX Output De-Emphasis Adjustment Setting value override", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSataHsioTxGen3DeEmph, "PCH HSIO SATA 6.0 Gb/s TX Output De-Emphasis Adjustment Setting", HEX, + Help "PCH HSIO SATA 6.0 Gb/s TX Output De-Emphasis Adjustment Setting." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_SmbusArpEnable, "Enable SMBus ARP support", &EN_DIS, + Help "Enable SMBus ARP support." + EditNum $gPlatformFspPkgTokenSpaceGuid_PchNumRsvdSmbusAddresses, "Number of RsvdSmbusAddressTable.", HEX, + Help "The number of elements in the RsvdSmbusAddressTable." + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSmbusIoBase, "SMBUS Base Address", HEX, + Help "SMBUS Base Address (IO space)." + "Valid range: 0x00 ~ 0xFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchSmbAlertEnable, "Enable SMBus Alert Pin", &EN_DIS, + Help "Enable SMBus Alert Pin." + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieClkSrcUsage, "Usage type for ClkSrc", HEX, + Help "0-23: PCH rootport, 0x40-0x43: PEG port, 0x70:LAN, 0x80: unspecified but in use (free running), 0xFF: not used" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieClkSrcClkReq, "ClkReq-to-ClkSrc mapping", HEX, + Help "Number of ClkReq signal assigned to ClkSrc" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieClkReqGpioMux, "Clk Req GPIO Pin", HEX, + Help "Select Clk Req Pin. Refer to GPIO_*_MUXING_SRC_CLKREQ_x* for possible values." + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_RsvdSmbusAddressTablePtr, "Point of RsvdSmbusAddressTable", HEX, + Help "Array of addresses reserved for non-ARP-capable SMBus devices." + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpEnableMask, "Enable PCIE RP Mask", HEX, + Help "Enable/disable PCIE Root Ports. 0: disable, 1: enable. One bit for each port, bit0 for port1, bit1 for port2, and so on." + "Valid range: 0x00 ~ 0x00FFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchHdaVcType, "VC Type", &gPlatformFspPkgTokenSpaceGuid_PchHdaVcType, + Help "Virtual Channel Type Select: 0: VC0, 1: VC1." + Combo $gPlatformFspPkgTokenSpaceGuid_PchHdaDspUaaCompliance, "Universal Audio Architecture compliance for DSP enabled system", &EN_DIS, + Help "0: Not-UAA Compliant (Intel SST driver supported only), 1: UAA Compliant (HDA Inbox driver or SST driver supported)." + Combo $gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkHdaEnable, "Enable HD Audio Link", &EN_DIS, + Help "Enable/disable HD Audio Link. Muxed with SSP0/SSP1/SNDW1." + EditNum $gPlatformFspPkgTokenSpaceGuid_PchHdaSdiEnable, "Enable HDA SDI lanes", HEX, + Help "Enable/disable HDA SDI lanes." + "Valid range: 0x00 ~ 0xFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchHdaTestPowerClockGating, "HDA Power/Clock Gating (PGD/CGD)", &gPlatformFspPkgTokenSpaceGuid_PchHdaTestPowerClockGating, + Help "Enable/Disable HD Audio Power and Clock Gating(POR: Enable). 0: PLATFORM_POR, 1: FORCE_ENABLE, 2: FORCE_DISABLE." + EditNum $gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkDmicEnable, "Enable HD Audio DMIC_N Link", HEX, + Help "Enable/disable HD Audio DMIC1 link. Muxed with SNDW3." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkDmicClkAPinMux, "DMIC ClkA Pin Muxing (N - DMIC number)", HEX, + Help "Determines DMIC ClkA Pin muxing. See GPIO_*_MUXING_DMIC_CLKA_*" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkDmicClkBPinMux, "DMIC ClkB Pin Muxing", HEX, + Help "Determines DMIC ClkA Pin muxing. See GPIO_*_MUXING_DMIC_CLKB_*" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchHdaDspEnable, "Enable HD Audio DSP", &EN_DIS, + Help "Enable/disable HD Audio DSP feature." + EditNum $gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkDmicDataPinMux, "DMIC Data Pin Muxing", HEX, + Help "Determines DMIC Data Pin muxing. See GPIO_*_MUXING_DMIC_DATA_*" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkSspEnable, "Enable HD Audio SSP0 Link", HEX, + Help "Enable/disable HD Audio SSP_N/I2S link. Muxed with HDA. N-number 0-5" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchHdaAudioLinkSndwEnable, "Enable HD Audio SoundWire#N Link", HEX, + Help "Enable/disable HD Audio SNDW#N link. Muxed with HDA." + "Valid range: 0x00 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchHdaIDispLinkFrequency, "iDisp-Link Frequency", &gPlatformFspPkgTokenSpaceGuid_PchHdaIDispLinkFrequency, + Help "iDisp-Link Freq (PCH_HDAUDIO_LINK_FREQUENCY enum): 4: 96MHz, 3: 48MHz." + Combo $gPlatformFspPkgTokenSpaceGuid_PchHdaIDispLinkTmode, "iDisp-Link T-mode", &gPlatformFspPkgTokenSpaceGuid_PchHdaIDispLinkTmode, + Help "iDisp-Link T-Mode (PCH_HDAUDIO_IDISP_TMODE enum): 0: 2T, 2: 4T, 3: 8T, 4: 16T" + Combo $gPlatformFspPkgTokenSpaceGuid_PchHdaIDispCodecDisconnect, "iDisplay Audio Codec disconnection", &EN_DIS, + Help "0: Not disconnected, enumerable, 1: Disconnected SDI, not enumerable." + Combo $gPlatformFspPkgTokenSpaceGuid_CnviDdrRfim, "CNVi DDR RFI Mitigation", &EN_DIS, + Help "Enable/Disable DDR RFI Mitigation. Default is ENABLE. 0: DISABLE, 1: ENABLE" + Combo $gPlatformFspPkgTokenSpaceGuid_PcdIsaSerialUartBase, "ISA Serial Base selection", &gPlatformFspPkgTokenSpaceGuid_PcdIsaSerialUartBase, + Help "Select ISA Serial Base address. Default is 0x3F8." + Combo $gPlatformFspPkgTokenSpaceGuid_SmbusDynamicPowerGating, "Smbus dynamic power gating", &EN_DIS, + Help "Disable or Enable Smbus dynamic power gating." + Combo $gPlatformFspPkgTokenSpaceGuid_WdtDisableAndLock, "Disable and Lock Watch Dog Register", &EN_DIS, + Help "Set 1 to clear WDT status, then disable and lock WDT registers." + Combo $gPlatformFspPkgTokenSpaceGuid_SmbusSpdWriteDisable, "SMBUS SPD Write Disable", &EN_DIS, + Help "Set/Clear Smbus SPD Write Disable. 0: leave SPD Write Disable bit; 1: set SPD Write Disable bit. For security recommendations, SPD write disable bit must be set." + Combo $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugMode, "Serial Io Uart Debug Mode", &gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugMode, + Help "Select SerialIo Uart Controller mode" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugRxPinMux, "SerialIoUartDebugRxPinMux - FSPT", HEX, + Help "Select RX pin muxing for SerialIo UART used for debug" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugTxPinMux, "SerialIoUartDebugTxPinMux - FSPM", HEX, + Help "Select TX pin muxing for SerialIo UART used for debug" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugRtsPinMux, "SerialIoUartDebugRtsPinMux - FSPM", HEX, + Help "Select SerialIo Uart used for debug Rts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_RTS* for possible values." + "Valid range: 0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugCtsPinMux, "SerialIoUartDebugCtsPinMux - FSPM", HEX, + Help "Select SerialIo Uart used for debug Cts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_CTS* for possible values." + "Valid range: 0 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PprEnable, "Ppr Enable Type", &gPlatformFspPkgTokenSpaceGuid_PprEnable, + Help "Enable Soft or Hard PPR 0:Disable, 2:Hard PPR" +EndPage + +Page "PCH (Post-Mem)" + Combo $gPlatformFspPkgTokenSpaceGuid_ShowSpiController, "Show SPI controller", &EN_DIS, + Help "Enable/disable to show SPI controller." + Combo $gPlatformFspPkgTokenSpaceGuid_SataSalpSupport, "Enable SATA SALP Support", &EN_DIS, + Help "Enable/disable SATA Aggressive Link Power Management." + EditNum $gPlatformFspPkgTokenSpaceGuid_SataPortsEnable, "Enable SATA ports", HEX, + Help "Enable/disable SATA ports. One byte for each port, byte0 for port0, byte1 for port1, and so on." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataPortsDevSlp, "Enable SATA DEVSLP Feature", HEX, + Help "Enable/disable SATA DEVSLP per port. 0 is disable, 1 is enable. One byte for each port, byte0 for port0, byte1 for port1, and so on." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataPortDevSlpPinMux, "SATA DEVSLP GPIO Pin", HEX, + Help "Select SATA DEVSLP Pin. Refer to GPIO_*_MUXING_SATA_DEVSLP_x* for possible values." + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PortUsb20Enable, "Enable USB2 ports", HEX, + Help "Enable/disable per USB2 ports. One byte for each port, byte0 for port0, byte1 for port1, and so on." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PortUsb30Enable, "Enable USB3 ports", HEX, + Help "Enable/disable per USB3 ports. One byte for each port, byte0 for port0, byte1 for port1, and so on." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_XdciEnable, "Enable xDCI controller", &EN_DIS, + Help "Enable/disable to xDCI controller." + EditNum $gPlatformFspPkgTokenSpaceGuid_DevIntConfigPtr, "Address of PCH_DEVICE_INTERRUPT_CONFIG table.", HEX, + Help "The address of the table of PCH_DEVICE_INTERRUPT_CONFIG." + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_NumOfDevIntConfig, "Number of DevIntConfig Entry", HEX, + Help "Number of Device Interrupt Configuration Entry. If this is not zero, the DevIntConfigPtr must not be NULL." + "Valid range: 0x00 ~ 0x40" + EditNum $gPlatformFspPkgTokenSpaceGuid_PxRcConfig, "PIRQx to IRQx Map Config", HEX, + Help "PIRQx to IRQx mapping. The valid value is 0x00 to 0x0F for each. First byte is for PIRQA, second byte is for PIRQB, and so on. The setting is only available in Legacy 8259 PCI mode." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_GpioIrqRoute, "Select GPIO IRQ Route", HEX, + Help "GPIO IRQ Select. The valid value is 14 or 15." + "Valid range: 0x00 ~ 0x0F" + EditNum $gPlatformFspPkgTokenSpaceGuid_SciIrqSelect, "Select SciIrqSelect", HEX, + Help "SCI IRQ Select. The valid value is 9, 10, 11, and 20, 21, 22, 23 for APIC only." + "Valid range: 0x00 ~ 0x17" + EditNum $gPlatformFspPkgTokenSpaceGuid_TcoIrqSelect, "Select TcoIrqSelect", HEX, + Help "TCO IRQ Select. The valid value is 9, 10, 11, 20, 21, 22, 23." + "Valid range: 0x00 ~ 0x17" + Combo $gPlatformFspPkgTokenSpaceGuid_TcoIrqEnable, "Enable/Disable Tco IRQ", &EN_DIS, + Help "Enable/disable TCO IRQ" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchHdaVerbTableEntryNum, "PCH HDA Verb Table Entry Number", HEX, + Help "Number of Entries in Verb Table." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchHdaVerbTablePtr, "PCH HDA Verb Table Pointer", HEX, + Help "Pointer to Array of pointers to Verb Table." + "Valid range: 0x0 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_SataEnable, "Enable SATA", &EN_DIS, + Help "Enable/disable SATA controller." + Combo $gPlatformFspPkgTokenSpaceGuid_SataMode, "SATA Mode", &gPlatformFspPkgTokenSpaceGuid_SataMode, + Help "Select SATA controller working mode." + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoSpiMode, "SPIn Device Mode", HEX, + Help "Selects SPI operation mode. N represents controller index: SPI0, SPI1, ... Available modes: 0:SerialIoSpiDisabled, 1:SerialIoSpiPci, 2:SerialIoSpiHidden" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoSpiCsPolarity, "SPI Chip Select Polarity", HEX, + Help "Sets polarity for each chip Select. Available options: 0:SerialIoSpiCsActiveLow, 1:SerialIoSpiCsActiveHigh" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoSpiCsEnable, "SPI Chip Select Enable", HEX, + Help "0:Disabled, 1:Enabled. Enables GPIO for CS0 or CS1 if it is Enabled" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoSpiDefaultCsOutput, "SPIn Default Chip Select Output", HEX, + Help "Sets Default CS as Output. N represents controller index: SPI0, SPI1, ... Available options: 0:CS0, 1:CS1" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoSpiCsMode, "SPIn Default Chip Select Mode HW/SW", HEX, + Help "Sets Default CS Mode Hardware or Software. N represents controller index: SPI0, SPI1, ... Available options: 0:HW, 1:SW" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoSpiCsState, "SPIn Default Chip Select State Low/High", HEX, + Help "Sets Default CS State Low or High. N represents controller index: SPI0, SPI1, ... Available options: 0:Low, 1:High" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartMode, "UARTn Device Mode", HEX, + Help "Selects Uart operation mode. N represents controller index: Uart0, Uart1, ... Available modes: 0:SerialIoUartDisabled, 1:SerialIoUartPci, 2:SerialIoUartHidden, 3:SerialIoUartCom, 4:SerialIoUartSkipInit" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartBaudRate, "Default BaudRate for each Serial IO UART", HEX, + Help "Set default BaudRate Supported from 0 - default to 6000000" + "Valid range: 0x0 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartParity, "Default ParityType for each Serial IO UART", HEX, + Help "Set default Parity. 0: DefaultParity, 1: NoParity, 2: EvenParity, 3: OddParity" + "Valid range: 0x0 ~ 0xFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDataBits, "Default DataBits for each Serial IO UART", HEX, + Help "Set default word length. 0: Default, 5,6,7,8" + "Valid range: 0x0 ~ 0xFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartStopBits, "Default StopBits for each Serial IO UART", HEX, + Help "Set default stop bits. 0: DefaultStopBits, 1: OneStopBit, 2: OneFiveStopBits, 3: TwoStopBits" + "Valid range: 0x0 ~ 0xFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartPowerGating, "Power Gating mode for each Serial IO UART that works in COM mode", HEX, + Help "Set Power Gating. 0: Disabled, 1: Enabled, 2: Auto" + "Valid range: 0x0 ~ 0xFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDmaEnable, "Enable Dma for each Serial IO UART that supports it", HEX, + Help "Set DMA/PIO mode. 0: Disabled, 1: Enabled" + "Valid range: 0x0 ~ 0xFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartAutoFlow, "Enables UART hardware flow control, CTS and RTS lines", HEX, + Help "Enables UART hardware flow control, CTS and RTS lines." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartRtsPinMuxPolicy, "SerialIoUartRtsPinMuxPolicy", HEX, + Help "Select SerialIo Uart Rts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_RTS* for possible values." + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartCtsPinMuxPolicy, "SerialIoUartCtsPinMuxPolicy", HEX, + Help "Select SerialIo Uart Cts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_CTS* for possible values." + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartRxPinMuxPolicy, "SerialIoUartRxPinMuxPolicy", HEX, + Help "Select SerialIo Uart Rx pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_RX* for possible values." + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartTxPinMuxPolicy, "SerialIoUartTxPinMuxPolicy", HEX, + Help "Select SerialIo Uart Tx pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_TX* for possible values." + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoI2cMode, "I2Cn Device Mode", HEX, + Help "Selects I2c operation mode. N represents controller index: I2c0, I2c1, ... Available modes: 0:SerialIoI2cDisabled, 1:SerialIoI2cPci, 2:SerialIoI2cHidden" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSerialIoI2cSdaPinMux, "Serial IO I2C SDA Pin Muxing", HEX, + Help "Select SerialIo I2c Sda pin muxing. Refer to GPIO_*_MUXING_SERIALIO_I2Cx_SDA* for possible values." + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSerialIoI2cSclPinMux, "Serial IO I2C SCL Pin Muxing", HEX, + Help "Select SerialIo I2c Scl pin muxing. Refer to GPIO_*_MUXING_SERIALIO_I2Cx_SCL* for possible values." + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSerialIoI2cPadsTermination, "PCH SerialIo I2C Pads Termination", HEX, + Help "0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, 0x19: 20kOhm weak pull-up - Enable/disable SerialIo I2C0,I2C1,... pads termination respectively. One byte for each controller, byte0 for I2C0, byte1 for I2C1, and so on." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshGpGpioPinMuxing, "ISH GP GPIO Pin Muxing", HEX, + Help "Determines ISH GP GPIO Pin muxing. See GPIO_*_MUXING_ISH_GP_x_GPIO_*. 'x' are GP_NUMBER" + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshUartRxPinMuxing, "ISH UART Rx Pin Muxing", HEX, + Help "Determines ISH UART Rx Pin muxing. See GPIO_*_MUXING_ISH_UARTx_TXD_*" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshUartTxPinMuxing, "ISH UART Tx Pin Muxing", HEX, + Help "Determines ISH UART Tx Pin muxing. See GPIO_*_MUXING_ISH_UARTx_RXD_*" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshUartRtsPinMuxing, "ISH UART Rts Pin Muxing", HEX, + Help "Select ISH UART Rts Pin muxing. Refer to GPIO_*_MUXING_ISH_UARTx_RTS_* for possible values." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshUartCtsPinMuxing, "ISH UART Rts Pin Muxing", HEX, + Help "Select ISH UART Cts Pin muxing. Refer to GPIO_*_MUXING_ISH_UARTx_CTS_* for possible values." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshI2cSdaPinMuxing, "ISH I2C SDA Pin Muxing", HEX, + Help "Select ISH I2C SDA Pin muxing. Refer to GPIO_*_MUXING_ISH_I2Cx_SDA_* for possible values." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshI2cSclPinMuxing, "ISH I2C SCL Pin Muxing", HEX, + Help "Select ISH I2C SCL Pin muxing. Refer to GPIO_*_MUXING_ISH_I2Cx_SCL_* for possible values." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshSpiMosiPinMuxing, "ISH SPI MOSI Pin Muxing", HEX, + Help "Select ISH SPI MOSI Pin muxing. Refer to GPIO_*_MUXING_ISH_SPIx_MOSI_* for possible values." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshSpiMisoPinMuxing, "ISH SPI MISO Pin Muxing", HEX, + Help "Select ISH SPI MISO Pin muxing. Refer to GPIO_*_MUXING_ISH_SPIx_MISO_* for possible values." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshSpiClkPinMuxing, "ISH SPI CLK Pin Muxing", HEX, + Help "Select ISH SPI CLK Pin muxing. Refer to GPIO_*_MUXING_ISH_SPIx_CLK_* for possible values." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshSpiCsPinMuxing, "ISH SPI CS#N Pin Muxing", HEX, + Help "Select ISH SPI CS#N Pin muxing. Refer to GPIO_*_MUXING_ISH_SPIx_CS_* for possible values. N-SPI number, 0-1." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshGpGpioPadTermination, "ISH GP GPIO Pad termination", HEX, + Help "0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, 0x19: 20kOhm weak pull-up - Enable/disable SerialIo GP#N GPIO pads termination respectively. #N are GP_NUMBER, not strictly relate to indexes of this table. Index 0-23 -> ISH_GP_0-23, Index 24-25 -> ISH_GP_30-31" + "Valid range: 0 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshUartRxPadTermination, "ISH UART Rx Pad termination", HEX, + Help "0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, 0x19: 20kOhm weak pull-up - Enable/disable SerialIo UART#N Rx pads termination respectively. #N-byte for each controller, byte0 for UART0 Rx, byte1 for UART1 Rx, and so on." + "Valid range: 0x00 ~ 0xFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshUartTxPadTermination, "ISH UART Tx Pad termination", HEX, + Help "0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, 0x19: 20kOhm weak pull-up - Enable/disable SerialIo UART#N Tx pads termination respectively. #N-byte for each controller, byte0 for UART0 Tx, byte1 for UART1 Tx, and so on." + "Valid range: 0x00 ~ 0xFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshUartRtsPadTermination, "ISH UART Rts Pad termination", HEX, + Help "0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, 0x19: 20kOhm weak pull-up - Enable/disable SerialIo UART#N Rts pads termination respectively. #N-byte for each controller, byte0 for UART0 Rts, byte1 for UART1 Rts, and so on." + "Valid range: 0x00 ~ 0xFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshUartCtsPadTermination, "ISH UART Rts Pad termination", HEX, + Help "0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, 0x19: 20kOhm weak pull-up - Enable/disable SerialIo UART#N Cts pads termination respectively. #N-byte for each controller, byte0 for UART0 Cts, byte1 for UART1 Cts, and so on." + "Valid range: 0x00 ~ 0xFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshI2cSdaPadTermination, "ISH I2C SDA Pad termination", HEX, + Help "0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, 0x19: 20kOhm weak pull-up - Enable/disable SerialIo I2C#N Sda pads termination respectively. #N-byte for each controller, byte0 for I2C0 Sda, byte1 for I2C1 Sda, and so on." + "Valid range: 0x00 ~ 0xFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshI2cSclPadTermination, "ISH I2C SCL Pad termination", HEX, + Help "0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, 0x19: 20kOhm weak pull-up - Enable/disable SerialIo I2C#N Scl pads termination respectively. #N-byte for each controller, byte0 for I2C0 Scl, byte1 for I2C1 Scl, and so on." + "Valid range: 0x00 ~ 0xFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshSpiMosiPadTermination, "ISH SPI MOSI Pad termination", HEX, + Help "0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, 0x19: 20kOhm weak pull-up - Enable/disable SerialIo SPI#N Mosi pads termination respectively. #N-byte for each controller, byte0 for SPI0 Mosi, byte1 for SPI1 Mosi, and so on." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshSpiMisoPadTermination, "ISH SPI MISO Pad termination", HEX, + Help "0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, 0x19: 20kOhm weak pull-up - Enable/disable SerialIo SPI#N Miso pads termination respectively. #N-byte for each controller, byte0 for SPI0 Miso, byte1 for SPI1 Miso, and so on." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshSpiClkPadTermination, "ISH SPI CLK Pad termination", HEX, + Help "0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, 0x19: 20kOhm weak pull-up - Enable/disable SerialIo SPI#N Clk pads termination respectively. #N-byte for each controller, byte0 for SPI0 Clk, byte1 for SPI1 Clk, and so on." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IshSpiCsPadTermination, "ISH SPI CS#N Pad termination", HEX, + Help "0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, 0x19: 20kOhm weak pull-up - Enable/disable SerialIo SPI#N Cs#M pads termination respectively. N*M-byte for each controller, byte0 for SPI0 Cs0, byte1 for SPI1 Cs1, SPI1 Cs0, byte2, SPI1 Cs1, byte3" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchIshSpiCsEnable, "Enable PCH ISH SPI Cs#N pins assigned", HEX, + Help "Set if ISH SPI Cs#N pins are to be enabled by BIOS. 0: Disable; 1: Enable. N-Cs number: 0-1" + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb2PhyPetxiset, "USB Per Port HS Preemphasis Bias", HEX, + Help "USB Per Port HS Preemphasis Bias. 000b-0mV, 001b-11.25mV, 010b-16.9mV, 011b-28.15mV, 100b-28.15mV, 101b-39.35mV, 110b-45mV, 111b-56.3mV. One byte for each port." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb2PhyTxiset, "USB Per Port HS Transmitter Bias", HEX, + Help "USB Per Port HS Transmitter Bias. 000b-0mV, 001b-11.25mV, 010b-16.9mV, 011b-28.15mV, 100b-28.15mV, 101b-39.35mV, 110b-45mV, 111b-56.3mV, One byte for each port." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb2PhyPredeemp, "USB Per Port HS Transmitter Emphasis", HEX, + Help "USB Per Port HS Transmitter Emphasis. 00b - Emphasis OFF, 01b - De-emphasis ON, 10b - Pre-emphasis ON, 11b - Pre-emphasis & De-emphasis ON. One byte for each port." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb2PhyPehalfbit, "USB Per Port Half Bit Pre-emphasis", HEX, + Help "USB Per Port Half Bit Pre-emphasis. 1b - half-bit pre-emphasis, 0b - full-bit pre-emphasis. One byte for each port." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxDeEmphEnable, "Enable the write to USB 3.0 TX Output -3.5dB De-Emphasis Adjustment", HEX, + Help "Enable the write to USB 3.0 TX Output -3.5dB De-Emphasis Adjustment. Each value in arrary can be between 0-1. One byte for each port." + "Valid range: 0x00 ~ 0x01010101010101010101" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxDeEmph, "USB 3.0 TX Output -3.5dB De-Emphasis Adjustment Setting", HEX, + Help "USB 3.0 TX Output -3.5dB De-Emphasis Adjustment Setting, HSIO_TX_DWORD5[21:16], Default = 29h (approximately -3.5dB De-Emphasis). One byte for each port." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxDownscaleAmpEnable, "Enable the write to USB 3.0 TX Output Downscale Amplitude Adjustment", HEX, + Help "Enable the write to USB 3.0 TX Output Downscale Amplitude Adjustment, Each value in arrary can be between 0-1. One byte for each port." + "Valid range: 0x00 ~ 0x01010101010101010101" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxDownscaleAmp, "USB 3.0 TX Output Downscale Amplitude Adjustment", HEX, + Help "USB 3.0 TX Output Downscale Amplitude Adjustment, HSIO_TX_DWORD8[21:16], Default = 00h. One byte for each port." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchLanEnable, "Enable LAN", &EN_DIS, + Help "Enable/disable LAN controller." + Combo $gPlatformFspPkgTokenSpaceGuid_PchTsnEnable, "Enable PCH TSN", &EN_DIS, + Help "Enable/disable TSN on the PCH." + Combo $gPlatformFspPkgTokenSpaceGuid_PchTsnLinkSpeed, "TSN Link Speed", &gPlatformFspPkgTokenSpaceGuid_PchTsnLinkSpeed, + Help "Set TSN Link Speed." + EditNum $gPlatformFspPkgTokenSpaceGuid_PchTsnMacAddressHigh, "PCH TSN MAC Address High Bits", HEX, + Help "Set TSN MAC Address High." + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchTsnMacAddressLow, "PCH TSN MAC Address Low Bits", HEX, + Help "Set TSN MAC Address Low." + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PciePtm, "PCIe PTM enable/disable", HEX, + Help "Enable/disable Precision Time Measurement for PCIE Root Ports." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieDpc, "PCIe DPC enable/disable", HEX, + Help "Enable/disable Downstream Port Containment for PCIE Root Ports." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieEdpc, "PCIe DPC extensions enable/disable", HEX, + Help "Enable/disable Downstream Port Containment Extensions for PCIE Root Ports." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_UsbPdoProgramming, "USB PDO Programming", &EN_DIS, + Help "Enable/disable PDO programming for USB in PEI phase. Disabling will allow for programming during later phase. 1: enable, 0: disable" + EditNum $gPlatformFspPkgTokenSpaceGuid_PmcPowerButtonDebounce, "Power button debounce configuration", HEX, + Help "Debounce time for PWRBTN in microseconds. For values not supported by HW, they will be rounded down to closest supported on. 0: disable, 250-1024000us: supported range" + "Valid range: 0x00 ~ 0x009C4000" + Combo $gPlatformFspPkgTokenSpaceGuid_PchEspiBmeMasterSlaveEnabled, "PCH eSPI Host and Device BME enabled", &EN_DIS, + Help "PCH eSPI Host and Device BME enabled" + Combo $gPlatformFspPkgTokenSpaceGuid_PchEspiLockLinkConfiguration, "PCH eSPI Link Configuration Lock (SBLCL)", &EN_DIS, + Help "Enable/Disable lock of communication through SET_CONFIG/GET_CONFIG to eSPI slaves addresseses from range 0x0 - 0x7FF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrExtV1p05RailEnabledStates, "Mask to enable the usage of external V1p05 VR rail in specific S0ix or Sx states", HEX, + Help "Enable External V1P05 Rail in: BIT0:S0i1/S0i2, BIT1:S0i3, BIT2:S3, BIT3:S4, BIT4:S5, BIT5:S0" + "Valid range: 0x00 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrExtV1p05RailSupportedVoltageStates, "Mask to enable the platform configuration of external V1p05 VR rail", HEX, + Help "External V1P05 Rail Supported Configuration" + "Valid range: 0x00 ~ 0x0F" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrExtV1p05RailVoltage, "External V1P05 Voltage Value that will be used in S0i2/S0i3 states", HEX, + Help "Value is given in 2.5mV increments (0=0mV, 1=2.5mV, 2=5mV...)" + "Valid range: 0x0 ~ 0x07FF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrExtV1p05RailIccMax, "External V1P05 Icc Max Value", HEX, + Help "Granularity of this setting is 1mA and maximal possible value is 200mA" + "Valid range: 0x0 ~ 0xC8" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailEnabledStates, "Mask to enable the usage of external Vnn VR rail in specific S0ix or Sx states", HEX, + Help "Enable External Vnn Rail in: BIT0:S0i1/S0i2, BIT1:S0i3, BIT2:S3, BIT3:S4, BIT5:S5" + "Valid range: 0x00 ~ 0x1F" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailSupportedVoltageStates, "Mask to enable the platform configuration of external Vnn VR rail", HEX, + Help "External Vnn Rail Supported Configuration" + "Valid range: 0x00 ~ 0x0F" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailVoltage, "External Vnn Voltage Value that will be used in S0ix/Sx states", HEX, + Help "Value is given in 2.5mV increments (0=0mV, 1=2.5mV, 2=5mV...), Default is set to 420" + "Valid range: 0x0 ~ 0x07FF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailIccMax, "External Vnn Icc Max Value that will be used in S0ix/Sx states", HEX, + Help "Granularity of this setting is 1mA and maximal possible value is 200mA" + "Valid range: 0x0 ~ 0xC8" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailSxEnabledStates, "Mask to enable the usage of external Vnn VR rail in Sx states", HEX, + Help "Use only if Ext Vnn Rail config is different in Sx. Enable External Vnn Rail in Sx: BIT0-1:Reserved, BIT2:S3, BIT3:S4, BIT4:S5, BIT5:S0" + "Valid range: 0x00 ~ 0x3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailSxVoltage, "External Vnn Voltage Value that will be used in Sx states", HEX, + Help "Use only if Ext Vnn Rail config is different in Sx. Value is given in 2.5mV increments (0=0mV, 1=2.5mV, 2=5mV...)" + "Valid range: 0x0 ~ 0x07FF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailSxIccMax, "External Vnn Icc Max Value that will be used in Sx states", HEX, + Help "Use only if Ext Vnn Rail config is different in Sx. Granularity of this setting is 1mA and maximal possible value is 200mA" + "Valid range: 0x0 ~ 0xC8" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrVccinAuxLowToHighCurModeVolTranTime, "Transition time in microseconds from Low Current Mode Voltage to High Current Mode Voltage", HEX, + Help "This field has 1us resolution. When value is 0 PCH will not transition VCCIN_AUX to low current mode voltage." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrVccinAuxRetToHighCurModeVolTranTime, "Transition time in microseconds from Retention Mode Voltage to High Current Mode Voltage", HEX, + Help "This field has 1us resolution. When value is 0 PCH will not transition VCCIN_AUX to retention mode voltage." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrVccinAuxRetToLowCurModeVolTranTime, "Transition time in microseconds from Retention Mode Voltage to Low Current Mode Voltage", HEX, + Help "This field has 1us resolution. When value is 0 PCH will not transition VCCIN_AUX to retention mode voltage." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrVccinAuxOffToHighCurModeVolTranTime, "Transition time in microseconds from Off (0V) to High Current Mode Voltage", HEX, + Help "This field has 1us resolution. When value is 0 Transition to 0V is disabled." + "Valid range: 0x0 ~ 0x7FF" + Combo $gPlatformFspPkgTokenSpaceGuid_PmcDbgMsgEn, "PMC Debug Message Enable", &EN_DIS, + Help "When Enabled, PMC HW will send debug messages to trace hub; When Disabled, PMC HW will never send debug meesages to trace hub. Noted: When Enabled, may not enter S0ix" + EditNum $gPlatformFspPkgTokenSpaceGuid_ChipsetInitBinPtr, "Pointer of ChipsetInit Binary", HEX, + Help "ChipsetInit Binary Pointer." + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ChipsetInitBinLen, "Length of ChipsetInit Binary", HEX, + Help "ChipsetInit Binary Length." + "Valid range: 0x00 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchFivrDynPm, "FIVR Dynamic Power Management", &EN_DIS, + Help "Enable/Disable FIVR Dynamic Power Management." + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrExtV1p05RailIccMaximum, "External V1P05 Icc Max Value", HEX, + Help "Granularity of this setting is 1mA and maximal possible value is 500mA" + "Valid range: 0x0 ~ 0x1F4" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailIccMaximum, "External Vnn Icc Max Value that will be used in S0ix/Sx states", HEX, + Help "Granularity of this setting is 1mA and maximal possible value is 500mA" + "Valid range: 0x0 ~ 0x1F4" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailSxIccMaximum, "External Vnn Icc Max Value that will be used in Sx states", HEX, + Help "Use only if Ext Vnn Rail config is different in Sx. Granularity of this setting is 1mA and maximal possible value is 500mA" + "Valid range: 0x0 ~ 0x1F4" + Combo $gPlatformFspPkgTokenSpaceGuid_PchSpiExtendedBiosDecodeRangeEnable, "Extented BIOS Direct Read Decode enable", &EN_DIS, + Help "Enable/Disable access to bigger than 16MB BIOS Region through Direct Memory Reads. 0: disabled (default), 1: enabled" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSpiExtendedBiosDecodeRangeBase, "Extended BIOS Direct Read Decode Range base", HEX, + Help "Bits of 31:16 of a memory address that'll be a base for Extended BIOS Direct Read Decode." + "Valid range: 0x0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchSpiExtendedBiosDecodeRangeLimit, "Extended BIOS Direct Read Decode Range limit", HEX, + Help "Bits of 31:16 of a memory address that'll be a limit for Extended BIOS Direct Read Decode." + "Valid range: 0x0 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchXhciUaolEnable, "USB Audio Offload enable", &EN_DIS, + Help "Enable/Disable USB Audio Offload capabilites. 0: disabled, 1: enabled (default)" + EditNum $gPlatformFspPkgTokenSpaceGuid_SynpsPhyBinPtr, "Pointer of SYNPS PHY Binary", HEX, + Help "ChipsetInit Binary Pointer." + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SynpsPhyBinLen, "Length of SYNPS PHY Binary", HEX, + Help "ChipsetInit Binary Length." + "Valid range: 0x00 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_CnviMode, "CNVi Configuration", &gPlatformFspPkgTokenSpaceGuid_CnviMode, + Help "This option allows for automatic detection of Connectivity Solution. [Auto Detection] assumes that CNVi will be enabled when available, [Disable] allows for disabling CNVi." + Combo $gPlatformFspPkgTokenSpaceGuid_CnviWifiCore, "CNVi Wi-Fi Core", &EN_DIS, + Help "Enable/Disable CNVi Wi-Fi Core, Default is ENABLE. 0: DISABLE, 1: ENABLE" + Combo $gPlatformFspPkgTokenSpaceGuid_CnviBtCore, "CNVi BT Core", &EN_DIS, + Help "Enable/Disable CNVi BT Core, Default is ENABLE. 0: DISABLE, 1: ENABLE" + Combo $gPlatformFspPkgTokenSpaceGuid_CnviBtAudioOffload, "CNVi BT Audio Offload", &EN_DIS, + Help "Enable/Disable BT Audio Offload, Default is DISABLE. 0: DISABLE, 1: ENABLE" + EditNum $gPlatformFspPkgTokenSpaceGuid_CnviRfResetPinMux, "CNVi RF_RESET pin muxing", HEX, + Help "Select CNVi RF_RESET# pin depending on board routing. ADP-P/M: GPP_A8 = 0x2942E408(default) or GPP_F4 = 0x194CE404. ADP-S: 0. Refer to GPIO_*_MUXING_CNVI_RF_RESET_* in GpioPins*.h." + "Valid range: 0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CnviClkreqPinMux, "CNVi CLKREQ pin muxing", HEX, + Help "Select CNVi CLKREQ pin depending on board routing. ADP-P/M: GPP_A9 = 0x3942E609(default) or GPP_F5 = 0x394CE605. ADP-S: 0. Refer to GPIO_*_MUXING_CNVI_CRF_XTAL_CLKREQ_* in GpioPins*.h." + "Valid range: 0 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchEspiHostC10ReportEnable, "Enable Host C10 reporting through eSPI", &EN_DIS, + Help "Enable/disable Host C10 reporting to Device via eSPI Virtual Wire." + Combo $gPlatformFspPkgTokenSpaceGuid_PmcUsb2PhySusPgEnable, "PCH USB2 PHY Power Gating enable", &EN_DIS, + Help "1: Will enable USB2 PHY SUS Well Power Gating, 0: Will not enable PG of USB2 PHY Sus Well PG" + Combo $gPlatformFspPkgTokenSpaceGuid_PchUsbOverCurrentEnable, "PCH USB OverCurrent mapping enable", &EN_DIS, + Help "1: Will program USB OC pin mapping in xHCI controller memory, 0: Will clear OC pin mapping allow for NOA usage of OC pins" + Combo $gPlatformFspPkgTokenSpaceGuid_PchEspiLgmrEnable, "Espi Lgmr Memory Range decode ", &EN_DIS, + Help "This option enables or disables espi lgmr " + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrExtV1p05RailCtrlRampTmr, "External V1P05 Control Ramp Timer value", HEX, + Help "Hold off time to be used when changing the v1p05_ctrl for external bypass value in us" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchFivrExtVnnRailCtrlRampTmr, "External VNN Control Ramp Timer value", HEX, + Help "Hold off time to be used when changing the vnn_ctrl for external bypass value in us" + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataPortsDevSlpResetConfig, "Set SATA DEVSLP GPIO Reset Config", HEX, + Help "Set SATA DEVSLP GPIO Reset Config per port. 0x00 - GpioResetDefault, 0x01 - GpioResumeReset, 0x03 - GpioHostDeepReset, 0x05 - GpioPlatformReset, 0x07 - GpioDswReset. One byte for each port, byte0 for port0, byte1 for port1, and so on." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchHotEnable, "PCHHOT# pin", &EN_DIS, + Help "Enable PCHHOT# pin assertion when temperature is higher than PchHotLevel. 0: disable, 1: enable" + Combo $gPlatformFspPkgTokenSpaceGuid_SataLedEnable, "SATA LED", &EN_DIS, + Help "SATA LED indicating SATA controller activity. 0: disable, 1: enable" + Combo $gPlatformFspPkgTokenSpaceGuid_PchPmVrAlert, "VRAlert# Pin", &EN_DIS, + Help "When VRAlert# feature pin is enabled and its state is '0', the PMC requests throttling to a T3 Tstate to the PCH throttling unit.. 0: disable, 1: enable" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpSlotImplemented, "PCH PCIe root port connection type", HEX, + Help "0: built-in device, 1:slot" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpAcsEnabled, "PCIE RP Access Control Services Extended Capability", HEX, + Help "Enable/Disable PCIE RP Access Control Services Extended Capability" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpEnableCpm, "PCIE RP Clock Power Management", HEX, + Help "Enable/Disable PCIE RP Clock Power Management, even if disabled, CLKREQ# signal can still be controlled by L1 PM substates mechanism" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpDetectTimeoutMs, "PCIE RP Detect Timeout Ms", HEX, + Help "The number of milliseconds within 0~65535 in reference code will wait for link to exit Detect state for enabled ports before assuming there is no device and potentially disabling the port." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PmcModPhySusPgEnable, "ModPHY SUS Power Domain Dynamic Gating", &EN_DIS, + Help "Enable/Disable ModPHY SUS Power Domain Dynamic Gating. Setting not supported on PCH-H. 0: disable, 1: enable" + Combo $gPlatformFspPkgTokenSpaceGuid_PmcV1p05PhyExtFetControlEn, "V1p05-PHY supply external FET control", &EN_DIS, + Help "Enable/Disable control using EXT_PWR_GATE# pin of external FET to power gate v1p05-PHY supply. 0: disable, 1: enable" + Combo $gPlatformFspPkgTokenSpaceGuid_PmcV1p05IsExtFetControlEn, "V1p05-IS supply external FET control", &EN_DIS, + Help "Enable/Disable control using EXT_PWR_GATE2# pin of external FET to power gate v1p05-IS supply. 0: disable, 1: enable" + Combo $gPlatformFspPkgTokenSpaceGuid_PchXhciHsiiEnable, "PCH xHCI enable HS Interrupt IN Alarm", &EN_DIS, + Help "PCH xHCI enable HS Interrupt IN Alarm. 0: disabled (default), 1: enabled" + Combo $gPlatformFspPkgTokenSpaceGuid_PchPwrOptEnable, "Enable Power Optimizer", &EN_DIS, + Help "Enable DMI Power Optimizer on PCH side." + EditNum $gPlatformFspPkgTokenSpaceGuid_PchWriteProtectionEnable, "PCH Flash Protection Ranges Write Enble", HEX, + Help "Write or erase is blocked by hardware." + "Valid range: 0x00 ~ 0xFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchReadProtectionEnable, "PCH Flash Protection Ranges Read Enble", HEX, + Help "Read is blocked by hardware." + "Valid range: 0x00 ~ 0xFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchProtectedRangeLimit, "PCH Protect Range Limit", HEX, + Help "Left shifted address by 12 bits with address bits 11:0 are assumed to be FFFh for limit comparison." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchProtectedRangeBase, "PCH Protect Range Base", HEX, + Help "Left shifted address by 12 bits with address bits 11:0 are assumed to be 0." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchHdaPme, "Enable Pme", &EN_DIS, + Help "Enable Azalia wake-on-ring." + Combo $gPlatformFspPkgTokenSpaceGuid_PchHdaLinkFrequency, "HD Audio Link Frequency", &gPlatformFspPkgTokenSpaceGuid_PchHdaLinkFrequency, + Help "HDA Link Freq (PCH_HDAUDIO_LINK_FREQUENCY enum): 0: 6MHz, 1: 12MHz, 2: 24MHz." + EditNum $gPlatformFspPkgTokenSpaceGuid_PchIshSpiCs0Enable, "Enable PCH ISH SPI Cs0 pins assigned", HEX, + Help "Set if ISH SPI Cs0 pins are to be enabled by BIOS. 0: Disable; 1: Enable." + "Valid range: 0x0 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchIoApicEntry24_119, "Enable PCH Io Apic Entry 24-119", &EN_DIS, + Help "0: Disable; 1: Enable." + EditNum $gPlatformFspPkgTokenSpaceGuid_PchIoApicId, "PCH Io Apic ID", HEX, + Help "This member determines IOAPIC ID. Default is 0x02." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchIshSpiEnable, "Enable PCH ISH SPI pins assigned", HEX, + Help "Set if ISH SPI native pins are to be enabled by BIOS. 0: Disable; 1: Enable." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchIshUartEnable, "Enable PCH ISH UART pins assigned", HEX, + Help "Set if ISH UART native pins are to be enabled by BIOS. 0: Disable; 1: Enable." + "Valid range: 0x0 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchIshI2cEnable, "Enable PCH ISH I2C pins assigned", HEX, + Help "Set if ISH I2C native pins are to be enabled by BIOS. 0: Disable; 1: Enable." + "Valid range: 0x0 ~ 0xFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchIshGpEnable, "Enable PCH ISH GP pins assigned", HEX, + Help "Set if ISH GP native pins are to be enabled by BIOS. 0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchIshPdtUnlock, "PCH ISH PDT Unlock Msg", &EN_DIS, + Help "0: False; 1: True." + Combo $gPlatformFspPkgTokenSpaceGuid_PchLanLtrEnable, "Enable PCH Lan LTR capabilty of PCH internal LAN", &EN_DIS, + Help "0: Disable; 1: Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_PchLockDownBiosLock, "Enable LOCKDOWN BIOS LOCK", &EN_DIS, + Help "Enable the BIOS Lock feature and set EISS bit (D31:F5:RegDCh[5]) for the BIOS region protection." + Combo $gPlatformFspPkgTokenSpaceGuid_PchCrid, "PCH Compatibility Revision ID", &EN_DIS, + Help "This member describes whether or not the CRID feature of PCH should be enabled." + Combo $gPlatformFspPkgTokenSpaceGuid_RtcBiosInterfaceLock, "RTC BIOS Interface Lock", &EN_DIS, + Help "Enable RTC BIOS interface lock. When set, prevents RTC TS (BUC.TS) from being changed." + Combo $gPlatformFspPkgTokenSpaceGuid_RtcMemoryLock, "RTC Cmos Memory Lock", &EN_DIS, + Help "Enable RTC lower and upper 128 byte Lock bits to lock Bytes 38h-3Fh in the upper and and lower 128-byte bank of RTC RAM." + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpHotPlug, "Enable PCIE RP HotPlug", HEX, + Help "Indicate whether the root port is hot plug available." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpPmSci, "Enable PCIE RP Pm Sci", HEX, + Help "Indicate whether the root port power manager SCI is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpTransmitterHalfSwing, "Enable PCIE RP Transmitter Half Swing", HEX, + Help "Indicate whether the Transmitter Half Swing is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpClkReqDetect, "Enable PCIE RP Clk Req Detect", HEX, + Help "Probe CLKREQ# signal before enabling CLKREQ# based power management." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpAdvancedErrorReporting, "PCIE RP Advanced Error Report", HEX, + Help "Indicate whether the Advanced Error Reporting is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpUnsupportedRequestReport, "PCIE RP Unsupported Request Report", HEX, + Help "Indicate whether the Unsupported Request Report is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpFatalErrorReport, "PCIE RP Fatal Error Report", HEX, + Help "Indicate whether the Fatal Error Report is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpNoFatalErrorReport, "PCIE RP No Fatal Error Report", HEX, + Help "Indicate whether the No Fatal Error Report is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpCorrectableErrorReport, "PCIE RP Correctable Error Report", HEX, + Help "Indicate whether the Correctable Error Report is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpSystemErrorOnFatalError, "PCIE RP System Error On Fatal Error", HEX, + Help "Indicate whether the System Error on Fatal Error is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpSystemErrorOnNonFatalError, "PCIE RP System Error On Non Fatal Error", HEX, + Help "Indicate whether the System Error on Non Fatal Error is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpSystemErrorOnCorrectableError, "PCIE RP System Error On Correctable Error", HEX, + Help "Indicate whether the System Error on Correctable Error is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpMaxPayload, "PCIE RP Max Payload", HEX, + Help "Max Payload Size supported, Default 128B, see enum PCH_PCIE_MAX_PAYLOAD." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_ThcPort0Assignment, "Touch Host Controller Port 0 Assignment", &gPlatformFspPkgTokenSpaceGuid_ThcPort0Assignment, + Help "Assign THC Port 0" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThcPort0InterruptPinMuxing, "Touch Host Controller Port 0 Interrupt Pin Mux", HEX, + Help "Set THC Port 0 Pin Muxing Value if signal can be enabled on multiple pads. Refer to GPIO_*_MUXING_THC_SPIx_INTB_* for possible values." + "Valid range: 0 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_ThcPort0WakeOnTouch, "Touch Host Controller Port 0 Wake On Touch", &EN_DIS, + Help "Based on this setting vGPIO for given THC will be in native mode, and additional _CRS for wake will be exposed in ACPI" + Combo $gPlatformFspPkgTokenSpaceGuid_ThcPort1Assignment, "Touch Host Controller Port 1 Assignment", &gPlatformFspPkgTokenSpaceGuid_ThcPort1Assignment, + Help "Assign THC Port 1" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThcPort1InterruptPinMuxing, "Touch Host Controller Port 1 Interrupt Pin Mux", HEX, + Help "Set THC Port 1 Pin Muxing Value if signal can be enabled on multiple pads. Refer to GPIO_*_MUXING_THC_SPIx_INTB_* for possible values." + "Valid range: 0 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_ThcPort1WakeOnTouch, "Touch Host Controller Port 1 Wake On Touch", &EN_DIS, + Help "Based on this setting vGPIO for given THC will be in native mode, and additional _CRS for wake will be exposed in ACPI" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpPcieSpeed, "PCIE RP Pcie Speed", HEX, + Help "Determines each PCIE Port speed capability. 0: Auto; 1: Gen1; 2: Gen2; 3: Gen3; 4: Gen4 (see: PCIE_SPEED)." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpPhysicalSlotNumber, "PCIE RP Physical Slot Number", HEX, + Help "Indicates the slot number for the root port. Default is the value as root port index." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpCompletionTimeout, "PCIE RP Completion Timeout", HEX, + Help "The root port completion timeout(see: PCIE_COMPLETION_TIMEOUT). Default is PchPcieCompletionTO_Default." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpAspm, "PCIE RP Aspm", HEX, + Help "The ASPM configuration of the root port (see: PCH_PCIE_ASPM_CONTROL). Default is PchPcieAspmAutoConfig." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpL1Substates, "PCIE RP L1 Substates", HEX, + Help "The L1 Substates configuration of the root port (see: PCH_PCIE_L1SUBSTATES_CONTROL). Default is PchPcieL1SubstatesL1_1_2." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpL1Low, "PCIE RP L1 Low Substate", HEX, + Help "The L1 Low Substate configuration of the root port. 0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpLtrEnable, "PCIE RP Ltr Enable", HEX, + Help "Latency Tolerance Reporting Mechanism." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpLtrConfigLock, "PCIE RP Ltr Config Lock", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PcieEqOverrideDefault, "PCIe override default settings for EQ", &EN_DIS, + Help "Choose PCIe EQ method" + Combo $gPlatformFspPkgTokenSpaceGuid_PcieEqMethod, "PCIe choose EQ method", &gPlatformFspPkgTokenSpaceGuid_PcieEqMethod, + Help "Choose PCIe EQ method" + Combo $gPlatformFspPkgTokenSpaceGuid_PcieEqMode, "PCIe choose EQ mode", &gPlatformFspPkgTokenSpaceGuid_PcieEqMode, + Help "Choose PCIe EQ mode" + Combo $gPlatformFspPkgTokenSpaceGuid_PcieEqLocalTransmitterOverrideEnable, "PCIe EQ local transmitter override", &EN_DIS, + Help "Enable/Disable local transmitter override" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieEqPh3NumberOfPresetsOrCoefficients, "PCIe number of valid list entries", HEX, + Help "Select number of presets or coefficients depending on the mode" + "Valid range: 0 ~ 11" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieEqPh3PreCursorList, "PCIe pre-cursor coefficient list", HEX, + Help "Provide a list of pre-cursor coefficients to be used during phase 3 EQ" + "Valid range: 0x0 ~ 0x3F3F3F3F3F3F3F3F3F3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieEqPh3PostCursorList, "PCIe post-cursor coefficient list", HEX, + Help "Provide a list of post-cursor coefficients to be used during phase 3 EQ" + "Valid range: 0 ~ 0x3F3F3F3F3F3F3F3F3F3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieEqPh3PresetList, "PCIe preset list", HEX, + Help "Provide a list of presets to be used during phase 3 EQ" + "Valid range: 0 ~ 0x3F3F3F3F3F3F3F3F3F3F3F" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieEqPh1DownstreamPortTransmitterPreset, "PCIe EQ phase 1 downstream transmitter port preset", HEX, + Help "Allows to select the downstream port preset value that will be used during phase 1 of equalization" + "Valid range: 0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieEqPh1UpstreamPortTransmitterPreset, "PCIe EQ phase 1 upstream tranmitter port preset", HEX, + Help "Allows to select the upstream port preset value that will be used during phase 1 of equalization" + "Valid range: 0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieEqPh2LocalTransmitterOverridePreset, "PCIe EQ phase 2 local transmitter override preset", HEX, + Help "Allows to select the value of the preset used during phase 2 local transmitter override" + "Valid range: 0 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PcieEnablePeerMemoryWrite, "PCIE Enable Peer Memory Write", &EN_DIS, + Help "This member describes whether Peer Memory Writes are enabled on the platform." + Combo $gPlatformFspPkgTokenSpaceGuid_PcieComplianceTestMode, "PCIE Compliance Test Mode", &EN_DIS, + Help "Compliance Test Mode shall be enabled when using Compliance Load Board." + Combo $gPlatformFspPkgTokenSpaceGuid_PcieRpFunctionSwap, "PCIE Rp Function Swap", &EN_DIS, + Help "DEPRECATED. Allows BIOS to use root port function number swapping when root port of function 0 is disabled." + Combo $gPlatformFspPkgTokenSpaceGuid_CpuPcieGen3ProgramStaticEq, "Enable/Disable PEG GEN3 Static EQ Phase1 programming", &EN_DIS, + Help "Program Gen3 EQ Phase1 Static Presets. Disabled(0x0): Disable EQ Phase1 Static Presets Programming, Enabled(0x1)(Default): Enable EQ Phase1 Static Presets Programming" + Combo $gPlatformFspPkgTokenSpaceGuid_CpuPcieGen4ProgramStaticEq, "Enable/Disable GEN4 Static EQ Phase1 programming", &EN_DIS, + Help "Program Gen4 EQ Phase1 Static Presets. Disabled(0x0): Disable EQ Phase1 Static Presets Programming, Enabled(0x1)(Default): Enable EQ Phase1 Static Presets Programming" + Combo $gPlatformFspPkgTokenSpaceGuid_PchPmPmeB0S5Dis, "PCH Pm PME_B0_S5_DIS", &EN_DIS, + Help "When cleared (default), wake events from PME_B0_STS are allowed in S5 if PME_B0_EN = 1." + Combo $gPlatformFspPkgTokenSpaceGuid_PcieRpImrEnabled, "PCIE IMR", &EN_DIS, + Help "Enables Isolated Memory Region for PCIe." + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpImrSelection, "PCIE IMR port number", HEX, + Help "Selects PCIE root port number for IMR feature." + "Valid range: 0x0 ~ 23" + Combo $gPlatformFspPkgTokenSpaceGuid_PchPmWolEnableOverride, "PCH Pm Wol Enable Override", &EN_DIS, + Help "Corresponds to the WOL Enable Override bit in the General PM Configuration B (GEN_PMCON_B) register." + Combo $gPlatformFspPkgTokenSpaceGuid_PchPmPcieWakeFromDeepSx, "PCH Pm Pcie Wake From DeepSx", &EN_DIS, + Help "Determine if enable PCIe to wake from deep Sx." + Combo $gPlatformFspPkgTokenSpaceGuid_PchPmWoWlanEnable, "PCH Pm WoW lan Enable", &EN_DIS, + Help "Determine if WLAN wake from Sx, corresponds to the HOST_WLAN_PP_EN bit in the PWRM_CFG3 register." + Combo $gPlatformFspPkgTokenSpaceGuid_PchPmWoWlanDeepSxEnable, "PCH Pm WoW lan DeepSx Enable", &EN_DIS, + Help "Determine if WLAN wake from DeepSx, corresponds to the DSX_WLAN_PP_EN bit in the PWRM_CFG3 register." + Combo $gPlatformFspPkgTokenSpaceGuid_PchPmLanWakeFromDeepSx, "PCH Pm Lan Wake From DeepSx", &EN_DIS, + Help "Determine if enable LAN to wake from deep Sx." + Combo $gPlatformFspPkgTokenSpaceGuid_PchPmDeepSxPol, "PCH Pm Deep Sx Pol", &EN_DIS, + Help "Deep Sx Policy." + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPmSlpS3MinAssert, "PCH Pm Slp S3 Min Assert", HEX, + Help "SLP_S3 Minimum Assertion Width Policy. Default is PchSlpS350ms." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPmSlpS4MinAssert, "PCH Pm Slp S4 Min Assert", HEX, + Help "SLP_S4 Minimum Assertion Width Policy. Default is PchSlpS44s." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPmSlpSusMinAssert, "PCH Pm Slp Sus Min Assert", HEX, + Help "SLP_SUS Minimum Assertion Width Policy. Default is PchSlpSus4s." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPmSlpAMinAssert, "PCH Pm Slp A Min Assert", HEX, + Help "SLP_A Minimum Assertion Width Policy. Default is PchSlpA2s." + "Valid range: 0x0 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchEnableDbcObs, "USB Overcurrent Override for VISA", &EN_DIS, + Help "This option overrides USB Over Current enablement state that USB OC will be disabled after enabling this option. Enable when VISA pin is muxed with USB OC" + Combo $gPlatformFspPkgTokenSpaceGuid_PchPmSlpStrchSusUp, "PCH Pm Slp Strch Sus Up", &EN_DIS, + Help "Enable SLP_X Stretching After SUS Well Power Up." + Combo $gPlatformFspPkgTokenSpaceGuid_PchPmSlpLanLowDc, "PCH Pm Slp Lan Low Dc", &EN_DIS, + Help "Enable/Disable SLP_LAN# Low on DC Power." + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPmPwrBtnOverridePeriod, "PCH Pm Pwr Btn Override Period", HEX, + Help "PCH power button override period. 000b-4s, 001b-6s, 010b-8s, 011b-10s, 100b-12s, 101b-14s." + "Valid range: 0x0 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchPmDisableDsxAcPresentPulldown, "PCH Pm Disable Dsx Ac Present Pulldown", &EN_DIS, + Help "When Disable, PCH will internal pull down AC_PRESENT in deep SX and during G3 exit." + Combo $gPlatformFspPkgTokenSpaceGuid_PchPmDisableNativePowerButton, "PCH Pm Disable Native Power Button", &EN_DIS, + Help "Power button native mode disable." + Combo $gPlatformFspPkgTokenSpaceGuid_PchPmMeWakeSts, "PCH Pm ME_WAKE_STS", &EN_DIS, + Help "Clear the ME_WAKE_STS bit in the Power and Reset Status (PRSTS) register." + Combo $gPlatformFspPkgTokenSpaceGuid_PchPmWolOvrWkSts, "PCH Pm WOL_OVR_WK_STS", &EN_DIS, + Help "Clear the WOL_OVR_WK_STS bit in the Power and Reset Status (PRSTS) register." + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPmPwrCycDur, "PCH Pm Reset Power Cycle Duration", HEX, + Help "Could be customized in the unit of second. Please refer to EDS for all support settings. 0 is default, 1 is 1 second, 2 is 2 seconds, ..." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPmPciePllSsc, "PCH Pm Pcie Pll Ssc", HEX, + Help "Specifies the Pcie Pll Spread Spectrum Percentage. The default is 0xFF: AUTO - No BIOS override." + "Valid range: 0x0 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchLegacyIoLowLatency, "PCH Legacy IO Low Latency Enable", &EN_DIS, + Help "Set to enable low latency of legacy IO. 0: Disable, 1: Enable" + Combo $gPlatformFspPkgTokenSpaceGuid_SataPwrOptEnable, "PCH Sata Pwr Opt Enable", &EN_DIS, + Help "SATA Power Optimizer on PCH side." + Combo $gPlatformFspPkgTokenSpaceGuid_EsataSpeedLimit, "PCH Sata eSATA Speed Limit", &EN_DIS, + Help "When enabled, BIOS will configure the PxSCTL.SPD to 2 to limit the eSATA port speed." + EditNum $gPlatformFspPkgTokenSpaceGuid_SataSpeedLimit, "PCH Sata Speed Limit", HEX, + Help "Indicates the maximum speed the SATA controller can support 0h: PchSataSpeedDefault." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataPortsHotPlug, "Enable SATA Port HotPlug", HEX, + Help "Enable SATA Port HotPlug." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataPortsInterlockSw, "Enable SATA Port Interlock Sw", HEX, + Help "Enable SATA Port Interlock Sw." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataPortsExternal, "Enable SATA Port External", HEX, + Help "Enable SATA Port External." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataPortsSpinUp, "Enable SATA Port SpinUp", HEX, + Help "Enable the COMRESET initialization Sequence to the device." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataPortsSolidStateDrive, "Enable SATA Port Solid State Drive", HEX, + Help "0: HDD; 1: SSD." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataPortsEnableDitoConfig, "Enable SATA Port Enable Dito Config", HEX, + Help "Enable DEVSLP Idle Timeout settings (DmVal, DitoVal)." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataPortsDmVal, "Enable SATA Port DmVal", HEX, + Help "DITO multiplier. Default is 15." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataPortsDitoVal, "Enable SATA Port DmVal", HEX, + Help "DEVSLP Idle Timeout (DITO), Default is 625." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataPortsZpOdd, "Enable SATA Port ZpOdd", HEX, + Help "Support zero power ODD." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_SataRstRaidDeviceId, "PCH Sata Rst Raid Alternate Id", &EN_DIS, + Help "Enable RAID Alternate ID." + EditNum $gPlatformFspPkgTokenSpaceGuid_SataRstPcieEnable, "PCH Sata Rst Pcie Storage Remap enable", HEX, + Help "Enable Intel RST for PCIe Storage remapping." + "Valid range: 0x00 ~ 0xFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataRstPcieStoragePort, "PCH Sata Rst Pcie Storage Port", HEX, + Help "Intel RST for PCIe Storage remapping - PCIe Port Selection (1-based, 0 = autodetect)." + "Valid range: 0x00 ~ 0xFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataRstPcieDeviceResetDelay, "PCH Sata Rst Pcie Device Reset Delay", HEX, + Help "PCIe Storage Device Reset Delay in milliseconds. Default value is 100ms" + "Valid range: 0x00 ~ 0xFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_UfsEnable, "UFS enable/disable", &EN_DIS, + Help "PCIe Storage Device Reset Delay in milliseconds. Default value is 100ms" + Combo $gPlatformFspPkgTokenSpaceGuid_IehMode, "IEH Mode", &gPlatformFspPkgTokenSpaceGuid_IehMode, + Help "Integrated Error Handler Mode, 0: Bypass, 1: Enable" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchT0Level, "Thermal Throttling Custimized T0Level Value", HEX, + Help "Custimized T0Level value." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchT1Level, "Thermal Throttling Custimized T1Level Value", HEX, + Help "Custimized T1Level value." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchT2Level, "Thermal Throttling Custimized T2Level Value", HEX, + Help "Custimized T2Level value." + "Valid range: 0x00 ~ 0xFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchTTEnable, "Enable The Thermal Throttle", &EN_DIS, + Help "Enable the thermal throttle function." + Combo $gPlatformFspPkgTokenSpaceGuid_PchTTState13Enable, "PMSync State 13", &EN_DIS, + Help "When set to 1 and the programmed GPIO pin is a 1, then PMSync state 13 will force at least T2 state." + Combo $gPlatformFspPkgTokenSpaceGuid_PchTTLock, "Thermal Throttle Lock", &EN_DIS, + Help "Thermal Throttle Lock." + Combo $gPlatformFspPkgTokenSpaceGuid_TTSuggestedSetting, "Thermal Throttling Suggested Setting", &EN_DIS, + Help "Thermal Throttling Suggested Setting." + Combo $gPlatformFspPkgTokenSpaceGuid_TTCrossThrottling, "Enable PCH Cross Throttling", &EN_DIS, + Help "Enable/Disable PCH Cross Throttling" + Combo $gPlatformFspPkgTokenSpaceGuid_PchDmiTsawEn, "DMI Thermal Sensor Autonomous Width Enable", &EN_DIS, + Help "DMI Thermal Sensor Autonomous Width Enable." + Combo $gPlatformFspPkgTokenSpaceGuid_DmiSuggestedSetting, "DMI Thermal Sensor Suggested Setting", &EN_DIS, + Help "DMT thermal sensor suggested representative values." + Combo $gPlatformFspPkgTokenSpaceGuid_DmiTS0TW, "Thermal Sensor 0 Target Width", &gPlatformFspPkgTokenSpaceGuid_DmiTS0TW, + Help "Thermal Sensor 0 Target Width." + Combo $gPlatformFspPkgTokenSpaceGuid_DmiTS1TW, "Thermal Sensor 1 Target Width", &gPlatformFspPkgTokenSpaceGuid_DmiTS1TW, + Help "Thermal Sensor 1 Target Width." + Combo $gPlatformFspPkgTokenSpaceGuid_DmiTS2TW, "Thermal Sensor 2 Target Width", &gPlatformFspPkgTokenSpaceGuid_DmiTS2TW, + Help "Thermal Sensor 2 Target Width." + Combo $gPlatformFspPkgTokenSpaceGuid_DmiTS3TW, "Thermal Sensor 3 Target Width", &gPlatformFspPkgTokenSpaceGuid_DmiTS3TW, + Help "Thermal Sensor 3 Target Width." + EditNum $gPlatformFspPkgTokenSpaceGuid_SataP0T1M, "Port 0 T1 Multipler", HEX, + Help "Port 0 T1 Multipler." + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataP0T2M, "Port 0 T2 Multipler", HEX, + Help "Port 0 T2 Multipler." + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataP0T3M, "Port 0 T3 Multipler", HEX, + Help "Port 0 T3 Multipler." + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataP0TDisp, "Port 0 Tdispatch", HEX, + Help "Port 0 Tdispatch." + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataP1T1M, "Port 1 T1 Multipler", HEX, + Help "Port 1 T1 Multipler." + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataP1T2M, "Port 1 T2 Multipler", HEX, + Help "Port 1 T2 Multipler." + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataP1T3M, "Port 1 T3 Multipler", HEX, + Help "Port 1 T3 Multipler." + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataP1TDisp, "Port 1 Tdispatch", HEX, + Help "Port 1 Tdispatch." + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SataP0Tinact, "Port 0 Tinactive", HEX, + Help "Port 0 Tinactive." + "Valid range: 0x00 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_SataP0TDispFinit, "Port 0 Alternate Fast Init Tdispatch", &EN_DIS, + Help "Port 0 Alternate Fast Init Tdispatch." + EditNum $gPlatformFspPkgTokenSpaceGuid_SataP1Tinact, "Port 1 Tinactive", HEX, + Help "Port 1 Tinactive." + "Valid range: 0x00 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_SataP1TDispFinit, "Port 1 Alternate Fast Init Tdispatch", &EN_DIS, + Help "Port 1 Alternate Fast Init Tdispatch." + Combo $gPlatformFspPkgTokenSpaceGuid_SataThermalSuggestedSetting, "Sata Thermal Throttling Suggested Setting", &EN_DIS, + Help "Sata Thermal Throttling Suggested Setting." + Combo $gPlatformFspPkgTokenSpaceGuid_PchMemoryThrottlingEnable, "Enable Memory Thermal Throttling", &EN_DIS, + Help "Enable Memory Thermal Throttling." + EditNum $gPlatformFspPkgTokenSpaceGuid_PchMemoryPmsyncEnable, "Memory Thermal Throttling", HEX, + Help "Enable Memory Thermal Throttling." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchMemoryC0TransmitEnable, "Enable Memory Thermal Throttling", HEX, + Help "Enable Memory Thermal Throttling." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchMemoryPinSelection, "Enable Memory Thermal Throttling", HEX, + Help "Enable Memory Thermal Throttling." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchTemperatureHotLevel, "Thermal Device Temperature", HEX, + Help "Decides the temperature." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb2OverCurrentPin, "USB2 Port Over Current Pin", HEX, + Help "Describe the specific over current pin number of USB 2.0 Port N." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb3OverCurrentPin, "USB3 Port Over Current Pin", HEX, + Help "Describe the specific over current pin number of USB 3.0 Port N." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchUsbLtrOverrideEnable, "Enable xHCI LTR override", &EN_DIS, + Help "Enables override of recommended LTR values for xHCI" + EditNum $gPlatformFspPkgTokenSpaceGuid_ThcMode, "Touch Host Controller Mode", HEX, + Help "Switch between Intel THC protocol and Industry standard HID Over SPI protocol. 0x0:Thc, 0x1:Hid" + "Valid range: 0 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchUsbLtrHighIdleTimeOverride, "xHCI High Idle Time LTR override", HEX, + Help "Value used for overriding LTR recommendation for xHCI High Idle Time LTR setting" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchUsbLtrMediumIdleTimeOverride, "xHCI Medium Idle Time LTR override", HEX, + Help "Value used for overriding LTR recommendation for xHCI Medium Idle Time LTR setting" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchUsbLtrLowIdleTimeOverride, "xHCI Low Idle Time LTR override", HEX, + Help "Value used for overriding LTR recommendation for xHCI Low Idle Time LTR setting" + "Valid range: 0x00 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_Enable8254ClockGating, "Enable 8254 Static Clock Gating", &EN_DIS, + Help "Set 8254CGE=1 is required for SLP_S0 support. However, set 8254CGE=1 in POST time might fail to boot legacy OS using 8254 timer. Make sure it is disabled to support legacy OS using 8254 timer. Also enable this while S0ix is enabled." + Combo $gPlatformFspPkgTokenSpaceGuid_Enable8254ClockGatingOnS3, "Enable 8254 Static Clock Gating On S3", &EN_DIS, + Help "This is only applicable when Enable8254ClockGating is disabled. FSP will do the 8254 CGE programming on S3 resume when Enable8254ClockGatingOnS3 is enabled. This avoids the SMI requirement for the programming." + Combo $gPlatformFspPkgTokenSpaceGuid_EnableTcoTimer, "Enable TCO timer.", &EN_DIS, + Help "When FALSE, it disables PCH ACPI timer, and stops TCO timer. NOTE: This will have huge power impact when it's enabled. If TCO timer is disabled, uCode ACPI timer emulation must be enabled, and WDAT table must not be exposed to the OS." + Combo $gPlatformFspPkgTokenSpaceGuid_HybridStorageMode, "Hybrid Storage Detection and Configuration Mode", &gPlatformFspPkgTokenSpaceGuid_HybridStorageMode, + Help "Enables support for Hybrid storage devices. 0: Disabled; 1: Dynamic Configuration. Default is 0: Disabled" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuRootportUsedForHybridStorage, "CPU Root Port used for Hybrid Storage", HEX, + Help "Specifies the CPU root port used for Hybrid storage." + "Valid range: 0x0 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PchRootportUsedForCpuAttach, "PCH Root Port used for Hybrid Storage when two lanes are connected to CPU", HEX, + Help "Specifies PCH Root Port used for Hybrid Storage when two lanes are connected to CPU." + "Valid range: 0x0 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchAcpiL6dPmeHandling, "PCH GPE event handler", &EN_DIS, + Help "Enabled _L6D ACPI handler. PME GPE is shared by multiple devices So BIOS must verify the same in the ASL handler by reading offset for PMEENABLE and PMESTATUS bit" + Combo $gPlatformFspPkgTokenSpaceGuid_PsOnEnable, "Enable PS_ON.", &EN_DIS, + Help "PS_ON is a new C10 state from the CPU on desktop SKUs that enables a lower power target that will be required by the California Energy Commission (CEC). When FALSE, PS_ON is to be disabled." + Combo $gPlatformFspPkgTokenSpaceGuid_PmcCpuC10GatePinEnable, "Pmc Cpu C10 Gate Pin Enable", &EN_DIS, + Help "Enable/Disable platform support for CPU_C10_GATE# pin to control gating of CPU VccIO and VccSTG rails instead of SLP_S0# pin." + Combo $gPlatformFspPkgTokenSpaceGuid_PchDmiAspmCtrl, "Pch Dmi Aspm Ctrl", &gPlatformFspPkgTokenSpaceGuid_PchDmiAspmCtrl, + Help "ASPM configuration on the PCH side of the DMI/OPI Link. Default is PchPcieAspmL1" + Combo $gPlatformFspPkgTokenSpaceGuid_PchDmiCwbEnable, "PchDmiCwbEnable", &EN_DIS, + Help "Central Write Buffer feature configurable and enabled by default" + Combo $gPlatformFspPkgTokenSpaceGuid_PmcOsIdleEnable, "OS IDLE Mode Enable", &EN_DIS, + Help "Enable/Disable OS Idle Mode" + Combo $gPlatformFspPkgTokenSpaceGuid_PchS0ixAutoDemotion, "S0ix Auto-Demotion", &EN_DIS, + Help "Enable/Disable the Low Power Mode Auto-Demotion Host Control feature." + Combo $gPlatformFspPkgTokenSpaceGuid_PchPmLatchEventsC10Exit, "Latch Events C10 Exit", &EN_DIS, + Help "When this bit is set to 1, SLP_S0# entry events in SLP_S0_DEBUG_REGx registers are captured on C10 exit (instead of C10 entry which is default)" + Combo $gPlatformFspPkgTokenSpaceGuid_PmcAdrEn, "PMC ADR enable", &EN_DIS, + Help "Enable/disable asynchronous DRAM refresh" + Combo $gPlatformFspPkgTokenSpaceGuid_PmcAdrTimerEn, "PMC ADR timer configuration enable", &EN_DIS, + Help "Enable/disable ADR timer configuration" + EditNum $gPlatformFspPkgTokenSpaceGuid_PmcAdrTimer1Val, "PMC ADR phase 1 timer value", HEX, + Help "Enable/disable ADR timer configuration" + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PmcAdrMultiplier1Val, "PMC ADR phase 1 timer multiplier value", HEX, + Help "Specify the multiplier value for phase 1 ADR timer" + "Valid range: 0x00 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PmcAdrHostPartitionReset, "PMC ADR host reset partition enable", &EN_DIS, + Help "Specify whether PMC should set ADR_RST_STS bit after receiving Reset_Warn_Ack DMI message" + Combo $gPlatformFspPkgTokenSpaceGuid_PmcAdrSrcOverride, "PMC ADR source select override enable", &EN_DIS, + Help "Tells the FSP to update the source select with platform value" + EditNum $gPlatformFspPkgTokenSpaceGuid_PmcAdrSrcSel, "PMC ADR source selection", HEX, + Help "Specify which sources should cause ADR flow" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieEqPh3LaneParamCm, "PCIE Eq Ph3 Lane Param Cm", HEX, + Help "CPU_PCIE_EQ_LANE_PARAM. Coefficient C-1." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieEqPh3LaneParamCp, "PCIE Eq Ph3 Lane Param Cp", HEX, + Help "CPU_PCIE_EQ_LANE_PARAM. Coefficient C+1." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieGen3RootPortPreset, "Gen3 Root port preset values per lane", HEX, + Help "Used for programming Pcie Gen3 preset values per lane. Range: 0-9, 8 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieGen4RootPortPreset, "Pcie Gen4 Root port preset values per lane", HEX, + Help "Used for programming Pcie Gen4 preset values per lane. Range: 0-9, 8 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieGen3EndPointPreset, "Pcie Gen3 End port preset values per lane", HEX, + Help "Used for programming Pcie Gen3 preset values per lane. Range: 0-9, 7 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieGen4EndPointPreset, "Pcie Gen4 End port preset values per lane", HEX, + Help "Used for programming Pcie Gen4 preset values per lane. Range: 0-9, 7 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieGen3EndPointHint, "Pcie Gen3 End port Hint values per lane", HEX, + Help "Used for programming Pcie Gen3 Hint values per lane. Range: 0-6, 2 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieGen4EndPointHint, "Pcie Gen4 End port Hint values per lane", HEX, + Help "Used for programming Pcie Gen4 Hint values per lane. Range: 0-6, 2 is default for each lane" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_CpuPcieFiaProgramming, "CPU PCIe Fia Programming", &EN_DIS, + Help "Load Fia configuration if enable. 0: Disable; 1: Enable(Default)." + Combo $gPlatformFspPkgTokenSpaceGuid_CpuPcieClockGating, "CPU PCIe RootPort Clock Gating", &EN_DIS, + Help "Describes whether the PCI Express Clock Gating for each root port is enabled by platform modules. 0: Disable; 1: Enable(Default)." + Combo $gPlatformFspPkgTokenSpaceGuid_CpuPciePowerGating, "CPU PCIe RootPort Power Gating", &EN_DIS, + Help "Describes whether the PCI Express Power Gating for each root port is enabled by platform modules. 0: Disable; 1: Enable(Default)." + Combo $gPlatformFspPkgTokenSpaceGuid_CpuPcieComplianceTestMode, "PCIE Compliance Test Mode", &EN_DIS, + Help "Compliance Test Mode shall be enabled when using Compliance Load Board." + Combo $gPlatformFspPkgTokenSpaceGuid_CpuPcieEnablePeerMemoryWrite, "PCIE Enable Peer Memory Write", &EN_DIS, + Help "This member describes whether Peer Memory Writes are enabled on the platform." + Combo $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpFunctionSwap, "PCIE Rp Function Swap", &EN_DIS, + Help "Allows BIOS to use root port function number swapping when root port of function 0 is disabled." + Combo $gPlatformFspPkgTokenSpaceGuid_CpuPcieSlotSelection, "PCI Express Slot Selection", &EN_DIS, + Help "Select the PCIe M2 or CEMx4 slot.0: CEMx4 slot; 1: M2 slot(Default)." + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieDeviceOverrideTablePtr, "CPU PCIE device override table pointer", HEX, + Help "The PCIe device table is being used to override PCIe device ASPM settings. This is a pointer points to a 32bit address. And it's only used in PostMem phase. Please refer to CPU_PCIE_DEVICE_OVERRIDE structure for the table. Last entry VendorId must be 0." + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpHotPlug, "Enable PCIE RP HotPlug", HEX, + Help "Indicate whether the root port is hot plug available." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpPmSci, "Enable PCIE RP Pm Sci", HEX, + Help "Indicate whether the root port power manager SCI is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpTransmitterHalfSwing, "Enable PCIE RP Transmitter Half Swing", HEX, + Help "Indicate whether the Transmitter Half Swing is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpAcsEnabled, "PCIE RP Access Control Services Extended Capability", HEX, + Help "Enable/Disable PCIE RP Access Control Services Extended Capability" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpEnableCpm, "PCIE RP Clock Power Management", HEX, + Help "Enable/Disable PCIE RP Clock Power Management, even if disabled, CLKREQ# signal can still be controlled by L1 PM substates mechanism" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpAdvancedErrorReporting, "PCIE RP Advanced Error Report", HEX, + Help "Indicate whether the Advanced Error Reporting is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpUnsupportedRequestReport, "PCIE RP Unsupported Request Report", HEX, + Help "Indicate whether the Unsupported Request Report is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpFatalErrorReport, "PCIE RP Fatal Error Report", HEX, + Help "Indicate whether the Fatal Error Report is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpNoFatalErrorReport, "PCIE RP No Fatal Error Report", HEX, + Help "Indicate whether the No Fatal Error Report is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpCorrectableErrorReport, "PCIE RP Correctable Error Report", HEX, + Help "Indicate whether the Correctable Error Report is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpSystemErrorOnFatalError, "PCIE RP System Error On Fatal Error", HEX, + Help "Indicate whether the System Error on Fatal Error is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpSystemErrorOnNonFatalError, "PCIE RP System Error On Non Fatal Error", HEX, + Help "Indicate whether the System Error on Non Fatal Error is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpSystemErrorOnCorrectableError, "PCIE RP System Error On Correctable Error", HEX, + Help "Indicate whether the System Error on Correctable Error is enabled." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpMaxPayload, "PCIE RP Max Payload", HEX, + Help "Max Payload Size supported, Default 128B, see enum CPU_PCIE_MAX_PAYLOAD." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpDpcEnabled, "DPC for PCIE RP Mask", HEX, + Help "Enable/disable Downstream Port Containment for PCIE Root Ports. 0: disable, 1: enable. One bit for each port, bit0 for port1, bit1 for port2, and so on." + "Valid range: 0x00 ~ 0x00FFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpDpcExtensionsEnabled, "DPC Extensions PCIE RP Mask", HEX, + Help "Enable/disable DPC Extensions for PCIE Root Ports. 0: disable, 1: enable. One bit for each port, bit0 for port1, bit1 for port2, and so on." + "Valid range: 0x00 ~ 0x00FFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpSlotImplemented, "CPU PCIe root port connection type", HEX, + Help "0: built-in device, 1:slot" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpGen3EqPh3Method, "PCIE RP Gen3 Equalization Phase Method", HEX, + Help "PCIe Gen3 Eq Ph3 Method (see CPU_PCIE_EQ_METHOD). 0: DEPRECATED, hardware equalization; 1: hardware equalization; 4: Fixed Coeficients." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpGen4EqPh3Method, "PCIE RP Gen4 Equalization Phase Method", HEX, + Help "PCIe Gen4 Eq Ph3 Method (see CPU_PCIE_EQ_METHOD). 0: DEPRECATED, hardware equalization; 1: hardware equalization; 4: Fixed Coeficients." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpPhysicalSlotNumber, "PCIE RP Physical Slot Number", HEX, + Help "Indicates the slot number for the root port. Default is the value as root port index." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpAspm, "PCIE RP Aspm", HEX, + Help "The ASPM configuration of the root port (see: CPU_PCIE_ASPM_CONTROL).0: Disable; 1: CpuPcieAspmL0s; 2: CpuPcieAspmL1; 3:CpuPcieAspmL0sL1(Default)" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpL1Substates, "PCIE RP L1 Substates", HEX, + Help "The L1 Substates configuration of the root port (see: CPU_PCIE_L1SUBSTATES_CONTROL). Default is CpuPcieL1SubstatesL1_1_2." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpLtrEnable, "PCIE RP Ltr Enable", HEX, + Help "Latency Tolerance Reporting Mechanism." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpLtrConfigLock, "PCIE RP Ltr Config Lock", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpPtmEnabled, "PTM for PCIE RP Mask", HEX, + Help "Enable/disable Precision Time Measurement for PCIE Root Ports. 0: disable, 1: enable. One bit for each port, bit0 for port1, bit1 for port2, and so on." + "Valid range: 0x00 ~ 0x00FFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpDetectTimeoutMs, "PCIE RP Detect Timeout Ms", HEX, + Help "The number of milliseconds within 0~65535 in reference code will wait for link to exit Detect state for enabled ports before assuming there is no device and potentially disabling the port." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuPcieRpMultiVcEnabled, "Multi-VC for PCIE RP Mask", HEX, + Help "Enable/disable Multiple Virtual Channel for PCIE Root Ports. 0: disable, 1: enable. One bit for each port, bit0 for port1, bit1 for port2, and so on." + "Valid range: 0x00 ~ 0x00FFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxRate3UniqTranEnable, "Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 3", HEX, + Help "Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 3, Each value in array can be between 0-1. One byte for each port." + "Valid range: 0x00 ~ 0x01010101010101010101" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxRate3UniqTran, "USB 3.0 TX Output Unique Transition Bit Scale for rate 3", HEX, + Help "USB 3.0 TX Output Unique Transition Bit Scale for rate 3, HSIO_TX_DWORD9[6:0], Default = 4Ch. One byte for each port." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxRate2UniqTranEnable, "Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 2", HEX, + Help "Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 2, Each value in array can be between 0-1. One byte for each port." + "Valid range: 0x00 ~ 0x01010101010101010101" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxRate2UniqTran, "USB 3.0 TX Output Unique Transition Bit Scale for rate 2", HEX, + Help "USB 3.0 TX Output Unique Transition Bit Scale for rate 2, HSIO_TX_DWORD9[14:8], Default = 4Ch. One byte for each port." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxRate1UniqTranEnable, "Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 1", HEX, + Help "Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 1, Each value in array can be between 0-1. One byte for each port." + "Valid range: 0x00 ~ 0x01010101010101010101" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxRate1UniqTran, "USB 3.0 TX Output Unique Transition Bit Scale for rate 1", HEX, + Help "USB 3.0 TX Output Unique Transition Bit Scale for rate 1, HSIO_TX_DWORD9[22:16], Default = 4Ch. One byte for each port." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxRate0UniqTranEnable, "Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 0", HEX, + Help "Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 0, Each value in array can be between 0-1. One byte for each port." + "Valid range: 0x00 ~ 0x01010101010101010101" + EditNum $gPlatformFspPkgTokenSpaceGuid_Usb3HsioTxRate0UniqTran, "USB 3.0 TX Output Unique Transition Bit Scale for rate 0", HEX, + Help "USB 3.0 TX Output Unique Transition Bit Scale for rate 0, HSIO_TX_DWORD9[30:24], Default = 4Ch. One byte for each port." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchLockDownGlobalSmi, "Enable LOCKDOWN SMI", &EN_DIS, + Help "Enable SMI_LOCK bit to prevent writes to the Global SMI Enable bit." + Combo $gPlatformFspPkgTokenSpaceGuid_PchLockDownBiosInterface, "Enable LOCKDOWN BIOS Interface", &EN_DIS, + Help "Enable BIOS Interface Lock Down bit to prevent writes to the Backup Control Register." + Combo $gPlatformFspPkgTokenSpaceGuid_PchUnlockGpioPads, "Unlock all GPIO pads", &EN_DIS, + Help "Force all GPIO pads to be unlocked for debug purpose." + Combo $gPlatformFspPkgTokenSpaceGuid_PchSbAccessUnlock, "PCH Unlock SideBand access", &EN_DIS, + Help "The SideBand PortID mask for certain end point (e.g. PSFx) will be locked before 3rd party code execution. 0: Lock SideBand access; 1: Unlock SideBand access." + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpLtrMaxSnoopLatency, "PCIE RP Ltr Max Snoop Latency", HEX, + Help "Latency Tolerance Reporting, Max Snoop Latency." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpLtrMaxNoSnoopLatency, "PCIE RP Ltr Max No Snoop Latency", HEX, + Help "Latency Tolerance Reporting, Max Non-Snoop Latency." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpSnoopLatencyOverrideMode, "PCIE RP Snoop Latency Override Mode", HEX, + Help "Latency Tolerance Reporting, Snoop Latency Override Mode." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpSnoopLatencyOverrideMultiplier, "PCIE RP Snoop Latency Override Multiplier", HEX, + Help "Latency Tolerance Reporting, Snoop Latency Override Multiplier." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpSnoopLatencyOverrideValue, "PCIE RP Snoop Latency Override Value", HEX, + Help "Latency Tolerance Reporting, Snoop Latency Override Value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpNonSnoopLatencyOverrideMode, "PCIE RP Non Snoop Latency Override Mode", HEX, + Help "Latency Tolerance Reporting, Non-Snoop Latency Override Mode." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpNonSnoopLatencyOverrideMultiplier, "PCIE RP Non Snoop Latency Override Multiplier", HEX, + Help "Latency Tolerance Reporting, Non-Snoop Latency Override Multiplier." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpNonSnoopLatencyOverrideValue, "PCIE RP Non Snoop Latency Override Value", HEX, + Help "Latency Tolerance Reporting, Non-Snoop Latency Override Value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpSlotPowerLimitScale, "PCIE RP Slot Power Limit Scale", HEX, + Help "Specifies scale used for slot power limit value. Leave as 0 to set to default." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_PcieRpSlotPowerLimitValue, "PCIE RP Slot Power Limit Value", HEX, + Help "Specifies upper limit on power supplie by slot. Leave as 0 to set to default." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PcieEnablePort8xhDecode, "PCIE RP Enable Port8xh Decode", &EN_DIS, + Help "This member describes whether PCIE root port Port 8xh Decode is enabled. 0: Disable; 1: Enable." + EditNum $gPlatformFspPkgTokenSpaceGuid_PchPciePort8xhDecodePortIndex, "PCIE Port8xh Decode Port Index", HEX, + Help "The Index of PCIe Port that is selected for Port8xh Decode (0 Based)." + "Valid range: 0x0 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchPmDisableEnergyReport, "PCH Energy Reporting", &EN_DIS, + Help "Disable/Enable PCH to CPU energy report feature." + Combo $gPlatformFspPkgTokenSpaceGuid_SataTestMode, "PCH Sata Test Mode", &EN_DIS, + Help "Allow entrance to the PCH SATA test modes." + Combo $gPlatformFspPkgTokenSpaceGuid_PchXhciOcLock, "PCH USB OverCurrent mapping lock enable", &EN_DIS, + Help "If this policy option is enabled then BIOS will program OCCFDONE bit in xHCI meaning that OC mapping data will be consumed by xHCI and OC mapping registers will be locked." + EditNum $gPlatformFspPkgTokenSpaceGuid_PmcLpmS0ixSubStateEnableMask, "Low Power Mode Enable/Disable config mask", HEX, + Help "Configure if respective S0i2/3 sub-states are to be supported. Each bit corresponds to one sub-state (LPMx - BITx): LPM0-s0i2.0, LPM1-s0i2.1, LPM2-s0i2.2, LPM3-s0i3.0, LPM4-s0i3.1, LPM5-s0i3.2, LPM6-s0i3.3, LPM7-s0i3.4." + "Valid range: 0x00 ~ 0xFF" +EndPage + +Page "USB-C/Thunderbolt (Pre-Mem)" + Combo $gPlatformFspPkgTokenSpaceGuid_PcieMultipleSegmentEnabled, "iTBT PCIe Multiple Segment setting", &EN_DIS, + Help "DEPRECATED" + Combo $gPlatformFspPkgTokenSpaceGuid_TcssItbtPcie0En, "TCSS Thunderbolt PCIE Root Port 0 Enable", &EN_DIS, + Help "Set TCSS Thunderbolt PCIE Root Port 0. 0:Disabled 1:Enabled" + Combo $gPlatformFspPkgTokenSpaceGuid_TcssItbtPcie1En, "TCSS Thunderbolt PCIE Root Port 1 Enable", &EN_DIS, + Help "Set TCSS Thunderbolt PCIE Root Port 1. 0:Disabled 1:Enabled" + Combo $gPlatformFspPkgTokenSpaceGuid_TcssItbtPcie2En, "TCSS Thunderbolt PCIE Root Port 2 Enable", &EN_DIS, + Help "Set TCSS Thunderbolt PCIE Root Port 2. 0:Disabled 1:Enabled" + Combo $gPlatformFspPkgTokenSpaceGuid_TcssItbtPcie3En, "TCSS Thunderbolt PCIE Root Port 3 Enable", &EN_DIS, + Help "Set TCSS Thunderbolt PCIE Root Port 3. 0:Disabled 1:Enabled" + Combo $gPlatformFspPkgTokenSpaceGuid_TcssXhciEn, "TCSS USB HOST (xHCI) Enable", &EN_DIS, + Help "Set TCSS XHCI. 0:Disabled 1:Enabled - Must be enabled if xDCI is enabled below" + Combo $gPlatformFspPkgTokenSpaceGuid_TcssXdciEn, "TCSS USB DEVICE (xDCI) Enable", &EN_DIS, + Help "Set TCSS XDCI. 0:Disabled 1:Enabled - xHCI must be enabled if xDCI is enabled" + Combo $gPlatformFspPkgTokenSpaceGuid_TcssDma0En, "TCSS DMA0 Enable", &EN_DIS, + Help "Set TCSS DMA0. 0:Disabled 1:Enabled" + Combo $gPlatformFspPkgTokenSpaceGuid_TcssDma1En, "TCSS DMA1 Enable", &EN_DIS, + Help "Set TCSS DMA1. 0:Disabled 1:Enabled" + EditNum $gPlatformFspPkgTokenSpaceGuid_UsbTcPortEnPreMem, "TCSS USB Port Enable", HEX, + Help "Bitmap for per port enabling" + "Valid range: 0x0 ~ 0x000F" +EndPage + +Page "USB-C/Thunderbolt (Post-Mem)" + Combo $gPlatformFspPkgTokenSpaceGuid_D3HotEnable, "Enable D3 Hot in TCSS ", &EN_DIS, + Help "This policy will enable/disable D3 hot support in IOM" + EditNum $gPlatformFspPkgTokenSpaceGuid_IomTypeCPortPadCfg, "TypeC port GPIO setting", HEX, + Help "GPIO Ping number for Type C Aux Oritation setting, use the GpioPad that is defined in GpioPinsXXXH.h and GpioPinsXXXLp.h as argument.(XXX is platform name, Ex: Adl = AlderLake)" + "Valid range: 0 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_CpuUsb3OverCurrentPin, "CPU USB3 Port Over Current Pin", HEX, + Help "Describe the specific over current pin number of USBC Port N." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_D3ColdEnable, "Enable D3 Cold in TCSS ", &EN_DIS, + Help "This policy will enable/disable D3 cold support in IOM" + Combo $gPlatformFspPkgTokenSpaceGuid_ITbtPcieTunnelingForUsb4, "Enable/Disable PCIe tunneling for USB4", &EN_DIS, + Help "Enable/Disable PCIe tunneling for USB4, default is enable" + EditNum $gPlatformFspPkgTokenSpaceGuid_TcCstateLimit, "TC State in TCSS ", HEX, + Help "This TC C-State Limit in IOM" + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_VbtSize, "Intel Graphics VBT (Video BIOS Table) Size", HEX, + Help "Size of Internal Graphics VBT Image" + "Valid range: 0x0 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_LidStatus, "Platform LID Status for LFP Displays.", &gPlatformFspPkgTokenSpaceGuid_LidStatus, + Help "LFP Display Lid Status (LID_STATUS enum): 0 (Default): LidClosed, 1: LidOpen." + EditNum $gPlatformFspPkgTokenSpaceGuid_IomStayInTCColdSeconds, "Set Iom stay in TC cold seconds in TCSS ", HEX, + Help "Set Iom stay in TC cold seconds in IOM" + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IomBeforeEnteringTCColdSeconds, "Set Iom before entering TC cold seconds in TCSS ", HEX, + Help "Set Iom before entering TC cold seconds in IOM" + "Valid range: 0x00 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_VmdEnable, "Enable VMD controller", &EN_DIS, + Help "Enable/disable to VMD controller.0: Disable; 1: Enable(Default)" + Combo $gPlatformFspPkgTokenSpaceGuid_VmdPort, "Map port under VMD", &EN_DIS, + Help "Map/UnMap port under VMD" + EditNum $gPlatformFspPkgTokenSpaceGuid_VmdPortDev, "VMD Port Device", DEC, + Help "VMD Root port device number." + "Valid range: 0 ~ 31" + EditNum $gPlatformFspPkgTokenSpaceGuid_VmdPortFunc, "VMD Port Func", DEC, + Help "VMD Root port function number." + "Valid range: 0 ~ 7" + EditNum $gPlatformFspPkgTokenSpaceGuid_VmdCfgBarSize, "VMD Config Bar size", DEC, + Help "Set The VMD Config Bar Size." + "Valid range: 20 ~ 28" + Combo $gPlatformFspPkgTokenSpaceGuid_VmdCfgBarAttr, "VMD Config Bar Attributes", &gPlatformFspPkgTokenSpaceGuid_VmdCfgBarAttr, + Help "0: VMD_32BIT_NONPREFETCH, 1: VMD_64BIT_NONPREFETCH(Default), 2: VMD_64BIT_PREFETCH" + EditNum $gPlatformFspPkgTokenSpaceGuid_VmdMemBarSize1, "VMD Mem Bar1 size", DEC, + Help "Set The VMD Mem Bar1 Size." + "Valid range: 12 ~ 47" + Combo $gPlatformFspPkgTokenSpaceGuid_VmdMemBar1Attr, "VMD Mem Bar1 Attributes", &gPlatformFspPkgTokenSpaceGuid_VmdMemBar1Attr, + Help "0: VMD_32BIT_NONPREFETCH(Default), 1: VMD_64BIT_NONPREFETCH, 2: VMD_64BIT_PREFETCH" + EditNum $gPlatformFspPkgTokenSpaceGuid_VmdMemBarSize2, "VMD Mem Bar2 size", DEC, + Help "Set The VMD Mem Bar2 Size." + "Valid range: 12 ~ 47" + Combo $gPlatformFspPkgTokenSpaceGuid_VmdMemBar2Attr, "VMD Mem Bar2 Attributes", &gPlatformFspPkgTokenSpaceGuid_VmdMemBar2Attr, + Help "0: VMD_32BIT_NONPREFETCH, 1: VMD_64BIT_NONPREFETCH(Default), 2: VMD_64BIT_PREFETCH" + EditNum $gPlatformFspPkgTokenSpaceGuid_VmdVariablePtr, "VMD Variable", HEX, + Help "VMD Variable Pointer." + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_VmdCfgBarBase, "Temporary CfgBar address for VMD", HEX, + Help "VMD Variable Pointer." + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_VmdMemBar1Base, "Temporary MemBar1 address for VMD", HEX, + Help "VMD Variable Pointer." + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_VmdMemBar2Base, "Temporary MemBar2 address for VMD", HEX, + Help "VMD Variable Pointer." + "Valid range: 0x00 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_TcssCpuUsbPdoProgramming, "TCSS CPU USB PDO Programming", &EN_DIS, + Help "Enable/disable PDO programming for TCSS CPU USB in PEI phase. Disabling will allow for programming during later phase. 1: enable, 0: disable" + Combo $gPlatformFspPkgTokenSpaceGuid_PmcPdEnable, "Enable/Disable PMC-PD Solution ", &EN_DIS, + Help "This policy will enable/disable PMC-PD Solution vs EC-TCPC Solution" + EditNum $gPlatformFspPkgTokenSpaceGuid_TcssAuxOri, "TCSS Aux Orientation Override Enable", HEX, + Help "Bits 0, 2, ... 10 control override enables, bits 1, 3, ... 11 control overrides" + "Valid range: 0x0 ~ 0x0FFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_TcssHslOri, "TCSS HSL Orientation Override Enable", HEX, + Help "Bits 0, 2, ... 10 control override enables, bits 1, 3, ... 11 control overrides" + "Valid range: 0x0 ~ 0x0FFF" + Combo $gPlatformFspPkgTokenSpaceGuid_UsbOverride, "USB override in IOM ", &EN_DIS, + Help "This policy will enable/disable USB Connect override in IOM" + EditNum $gPlatformFspPkgTokenSpaceGuid_ITbtPcieRootPortEn, "ITBT Root Port Enable", HEX, + Help "ITBT Root Port Enable, 0:Disable, 1:Enable" + "Valid range: 0x00 ~ 0xFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_UsbTcPortEn, "TCSS USB Port Enable", HEX, + Help "Bits 0, 1, ... max Type C port control enables" + "Valid range: 0x0 ~ 0x000F" + EditNum $gPlatformFspPkgTokenSpaceGuid_ITbtForcePowerOnTimeoutInMs, "ITBTForcePowerOn Timeout value", HEX, + Help "ITBTForcePowerOn value. Specified increment values in miliseconds. Range is 0-1000. 100 = 100 ms." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ITbtConnectTopologyTimeoutInMs, "ITbtConnectTopology Timeout value", HEX, + Help "ITbtConnectTopologyTimeout value. Specified increment values in miliseconds. Range is 0-10000. 100 = 100 ms." + "Valid range: 0x00 ~ 0xFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_VccSt, "VCCST request for IOM ", &EN_DIS, + Help "This policy will enable/disable VCCST and also decides if message would be replayed in S4/S5" + EditNum $gPlatformFspPkgTokenSpaceGuid_ITbtDmaLtr, "ITBT DMA LTR", HEX, + Help "TCSS DMA1, DMA2 LTR value" + "Valid range: 0x0 ~ 0xFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PtmEnabled, "Enable/Disable PTM", &EN_DIS, + Help "This policy will enable/disable Precision Time Measurement for TCSS PCIe Root Ports" + EditNum $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpLtrEnable, "PCIE RP Ltr Enable", HEX, + Help "Latency Tolerance Reporting Mechanism." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpSnoopLatencyOverrideMode, "PCIE RP Snoop Latency Override Mode", HEX, + Help "Latency Tolerance Reporting, Snoop Latency Override Mode." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpSnoopLatencyOverrideMultiplier, "PCIE RP Snoop Latency Override Multiplier", HEX, + Help "Latency Tolerance Reporting, Snoop Latency Override Multiplier." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpSnoopLatencyOverrideValue, "PCIE RP Snoop Latency Override Value", HEX, + Help "Latency Tolerance Reporting, Snoop Latency Override Value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpNonSnoopLatencyOverrideMode, "PCIE RP Non Snoop Latency Override Mode", HEX, + Help "Latency Tolerance Reporting, Non-Snoop Latency Override Mode." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpNonSnoopLatencyOverrideMultiplier, "PCIE RP Non Snoop Latency Override Multiplier", HEX, + Help "Latency Tolerance Reporting, Non-Snoop Latency Override Multiplier." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpNonSnoopLatencyOverrideValue, "PCIE RP Non Snoop Latency Override Value", HEX, + Help "Latency Tolerance Reporting, Non-Snoop Latency Override Value." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpForceLtrOverride, "Force LTR Override", HEX, + Help "Force LTR Override." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SaPcieItbtRpLtrConfigLock, "PCIE RP Ltr Config Lock", HEX, + Help "0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_EnableTcssCovTypeA, "Type C Port x Convert to TypeA", &EN_DIS, + Help "Enable / Disable(default) Type C Port x Convert to TypeA" + EditNum $gPlatformFspPkgTokenSpaceGuid_MappingPchXhciUsbA, "PCH xhci port x for Type C Port x mapping", HEX, + Help "input PCH xhci port x for Type C Port 0 mapping." + "Valid range: 0x0 ~ 0xFF" +EndPage + +Page "Security (Pre-Mem)" + Combo $gPlatformFspPkgTokenSpaceGuid_BiosGuard, "BiosGuard", &EN_DIS, + Help "Enable/Disable. 0: Disable, Enable/Disable BIOS Guard feature, 1: enable" + Combo $gPlatformFspPkgTokenSpaceGuid_Txt, "Txt", &EN_DIS, + Help "Enable/Disable. 0: Disable, Enable/Disable Txt feature, 1: enable" + EditNum $gPlatformFspPkgTokenSpaceGuid_PrmrrSize, "PrmrrSize", HEX, + Help "Enable/Disable. 0: Disable, define default value of PrmrrSize , 1: enable" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_SinitMemorySize, "SinitMemorySize", HEX, + Help "Enable/Disable. 0: Disable, define default value of SinitMemorySize , 1: enable" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_TxtDprMemoryBase, "TxtDprMemoryBase", HEX, + Help "Enable/Disable. 0: Disable, define default value of TxtDprMemoryBase , 1: enable" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_TxtHeapMemorySize, "TxtHeapMemorySize", HEX, + Help "Enable/Disable. 0: Disable, define default value of TxtHeapMemorySize , 1: enable" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_TxtDprMemorySize, "TxtDprMemorySize", HEX, + Help "Enable/Disable. 0: Disable, define default value of TxtDprMemorySize , 1: enable" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_BiosAcmBase, "BiosAcmBase", HEX, + Help "Enable/Disable. 0: Disable, define default value of BiosAcmBase , 1: enable" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_BiosAcmSize, "BiosAcmSize", HEX, + Help "Enable/Disable. 0: Disable, define default value of BiosAcmSize , 1: enable" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_ApStartupBase, "ApStartupBase", HEX, + Help "Enable/Disable. 0: Disable, define default value of BiosAcmBase , 1: enable" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_TgaSize, "TgaSize", HEX, + Help "Enable/Disable. 0: Disable, define default value of TgaSize , 1: enable" + "Valid range: 0x00 ~ 0xFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_TxtLcpPdBase, "TxtLcpPdBase", HEX, + Help "Enable/Disable. 0: Disable, define default value of TxtLcpPdBase , 1: enable" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_TxtLcpPdSize, "TxtLcpPdSize", HEX, + Help "Enable/Disable. 0: Disable, define default value of TxtLcpPdSize , 1: enable" + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_IsTPMPresence, "IsTPMPresence", HEX, + Help "IsTPMPresence default values" + "Valid range: 0x00 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_ReservedSecurityPreMem, "ReservedSecurityPreMem", &EN_DIS, + Help "Reserved for Security Pre-Mem" + EditNum $gPlatformFspPkgTokenSpaceGuid_TotalFlashSize, "TotalFlashSize", HEX, + Help "Enable/Disable. 0: Disable, define default value of TotalFlashSize , 1: enable" + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_BiosSize, "BiosSize", HEX, + Help "The size of the BIOS region of the IFWI. Used if FspmUpd->FspmConfig.BiosGuard != 0. If BiosGuard is enabled, MRC will increase the size of the DPR (DMA Protected Range) so that a BIOS Update Script can be stored in the DPR." + "Valid range: 0x00 ~ 0xFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_SecurityTestRsvd, "SecurityTestRsvd", &EN_DIS, + Help "Reserved for SA Pre-Mem Test" +EndPage + +Page "ME (Pre-Mem)" + Combo $gPlatformFspPkgTokenSpaceGuid_HeciTimeouts, "HECI Timeouts", &EN_DIS, + Help "0: Disable, 1: Enable (Default) timeout check for HECI" + EditNum $gPlatformFspPkgTokenSpaceGuid_Heci1BarAddress, "HECI1 BAR address", HEX, + Help "BAR address of HECI1" + "Valid range: 0x00 ~ 0xFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Heci2BarAddress, "HECI2 BAR address", HEX, + Help "BAR address of HECI2" + "Valid range: 0x00 ~ 0xFFFFFFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_Heci3BarAddress, "HECI3 BAR address", HEX, + Help "BAR address of HECI3" + "Valid range: 0x00 ~ 0xFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_DidInitStat, "Force ME DID Init Status", &EN_DIS, + Help "Test, 0: disable, 1: Success, 2: No Memory in Channels, 3: Memory Init Error, Set ME DID init stat value" + Combo $gPlatformFspPkgTokenSpaceGuid_DisableCpuReplacedPolling, "CPU Replaced Polling Disable", &EN_DIS, + Help "Test, 0: disable, 1: enable, Setting this option disables CPU replacement polling loop" + Combo $gPlatformFspPkgTokenSpaceGuid_DisableMessageCheck, "Check HECI message before send", &EN_DIS, + Help "Test, 0: disable, 1: enable, Enable/Disable message check." + Combo $gPlatformFspPkgTokenSpaceGuid_SkipMbpHob, "Skip MBP HOB", &EN_DIS, + Help "Test, 0: disable, 1: enable, Enable/Disable MOB HOB." + Combo $gPlatformFspPkgTokenSpaceGuid_HeciCommunication2, "HECI2 Interface Communication", &EN_DIS, + Help "Test, 0: disable, 1: enable, Adds or Removes HECI2 Device from PCI space." + Combo $gPlatformFspPkgTokenSpaceGuid_KtDeviceEnable, "Enable KT device", &EN_DIS, + Help "Test, 0: disable, 1: enable, Enable or Disable KT device." + Combo $gPlatformFspPkgTokenSpaceGuid_SkipCpuReplacementCheck, "Skip CPU replacement check", &EN_DIS, + Help "Test, 0: disable, 1: enable, Setting this option to skip CPU replacement check" +EndPage + +Page "ME (Post-Mem)" + Combo $gPlatformFspPkgTokenSpaceGuid_AmtEnabled, "AMT Switch", &EN_DIS, + Help "Enable/Disable. 0: Disable, 1: enable, Enable or disable AMT functionality." + Combo $gPlatformFspPkgTokenSpaceGuid_WatchDogEnabled, "WatchDog Timer Switch", &EN_DIS, + Help "Enable/Disable. 0: Disable, 1: enable, Enable or disable WatchDog timer. Setting is invalid if AmtEnabled is 0." + Combo $gPlatformFspPkgTokenSpaceGuid_FwProgress, "PET Progress", &EN_DIS, + Help "Enable/Disable. 0: Disable, 1: enable, Enable/Disable PET Events Progress to receive PET Events. Setting is invalid if AmtEnabled is 0." + Combo $gPlatformFspPkgTokenSpaceGuid_AmtSolEnabled, "SOL Switch", &EN_DIS, + Help "Enable/Disable. 0: Disable, 1: enable, Serial Over Lan enable/disable state by Mebx. Setting is invalid if AmtEnabled is 0." + EditNum $gPlatformFspPkgTokenSpaceGuid_WatchDogTimerOs, "OS Timer", HEX, + Help "16 bits Value, Set OS watchdog timer. Setting is invalid if AmtEnabled is 0." + "Valid range: 0x00 ~ 0xFFFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_WatchDogTimerBios, "BIOS Timer", HEX, + Help "16 bits Value, Set BIOS watchdog timer. Setting is invalid if AmtEnabled is 0." + "Valid range: 0x00 ~ 0xFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_ForcMebxSyncUp, "Force MEBX execution", &EN_DIS, + Help "Enable/Disable. 0: Disable, 1: enable, Force MEBX execution." + Combo $gPlatformFspPkgTokenSpaceGuid_MeUnconfigOnRtcClear, "ME Unconfig on RTC clear", &gPlatformFspPkgTokenSpaceGuid_MeUnconfigOnRtcClear, + Help "0: Disable ME Unconfig On Rtc Clear. 1: Enable ME Unconfig On Rtc Clear. 2: Cmos is clear, status unkonwn. 3: Reserved" + Combo $gPlatformFspPkgTokenSpaceGuid_EnforceEDebugMode, "Enforce Enhanced Debug Mode", &EN_DIS, + Help "Determine if ME should enter Enhanced Debug Mode. 0: disable, 1: enable" + Combo $gPlatformFspPkgTokenSpaceGuid_EndOfPostMessage, "End of Post message", &gPlatformFspPkgTokenSpaceGuid_EndOfPostMessage, + Help "Test, Send End of Post message. Disable(0x0): Disable EOP message, Send in PEI(0x1): EOP send in PEI, Send in DXE(0x2)(Default): EOP send in DXE" + Combo $gPlatformFspPkgTokenSpaceGuid_DisableD0I3SettingForHeci, "D0I3 Setting for HECI Disable", &EN_DIS, + Help "Test, 0: disable, 1: enable, Setting this option disables setting D0I3 bit for all HECI devices" + Combo $gPlatformFspPkgTokenSpaceGuid_MctpBroadcastCycle, "Mctp Broadcast Cycle", &EN_DIS, + Help "Test, Determine if MCTP Broadcast is enabled 0: Disable; 1: Enable." +EndPage + +Page "Debug" + Combo $gPlatformFspPkgTokenSpaceGuid_PlatformDebugConsent, "Platform Debug Consent", &gPlatformFspPkgTokenSpaceGuid_PlatformDebugConsent, + Help "Enabled(All Probes+TraceHub) supports all probes with TraceHub enabled and blocks s0ix\n\nEnabled(Low Power) does not support DCI OOB 4-wire and Tracehub is powergated by default, s0ix is viable\n\nManual:user needs to configure Advanced Debug Settings manually, aimed at advanced users" + Combo $gPlatformFspPkgTokenSpaceGuid_DciEn, "DCI Enable", &EN_DIS, + Help "Determine if to enable DCI debug from host" + Combo $gPlatformFspPkgTokenSpaceGuid_DciDbcMode, "DCI DbC Mode", &gPlatformFspPkgTokenSpaceGuid_DciDbcMode, + Help "Disabled: Clear both USB2/3DBCEN; USB2: set USB2DBCEN; USB3: set USB3DBCEN; Both: Set both USB2/3DBCEN; No Change: Comply with HW value" + Combo $gPlatformFspPkgTokenSpaceGuid_DciModphyPg, "Enable DCI ModPHY Power Gate", &EN_DIS, + Help "DEPRECATED" + Combo $gPlatformFspPkgTokenSpaceGuid_DciUsb3TypecUfpDbg, "USB3 Type-C UFP2DFP Kernel/Platform Debug Support", &gPlatformFspPkgTokenSpaceGuid_DciUsb3TypecUfpDbg, + Help "This BIOS option enables kernel and platform debug for USB3 interface over a UFP Type-C receptacle, select 'No Change' will do nothing to UFP2DFP setting." + Combo $gPlatformFspPkgTokenSpaceGuid_SerialIoDebugUartNumber, "UART Number For Debug Purpose", &gPlatformFspPkgTokenSpaceGuid_SerialIoDebugUartNumber, + Help "UART number for debug purpose. 0:UART0, 1:UART1, 2:UART2, 3:UART3, 4:UART4, 5:UART5, 6:UART6. Note: If UART0 is selected as CNVi BT Core interface, it cannot be used for debug purpose." + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDbg2, "Serial IO UART DBG2 table", HEX, + Help "Enable or disable Serial Io UART DBG2 table, default is Disable; 0: Disable; 1: Enable." + "Valid range: 0x00 ~ 0xFFFFFFFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_CpuCrashLogEnable, "Enable/Disable CrashLog", &EN_DIS, + Help "Enable(Default): Enable CPU CrashLog, Disable: Disable CPU CrashLog" + EditNum $gPlatformFspPkgTokenSpaceGuid_ProcessorTraceMemSize, "Memory size per thread allocated for Processor Trace", HEX, + Help "Memory size per thread for Processor Trace. Processor Trace requires 2^N alignment and size in bytes per thread, from 4KB to 128MB.\n 0xff:none , 0:4k, 0x1:8k, 0x2:16k, 0x3:32k, 0x4:64k, 0x5:128k, 0x6:256k, 0x7:512k, 0x8:1M, 0x9:2M, 0xa:4M. 0xb:8M, 0xc:16M, 0xd:32M, 0xe:64M, 0xf:128M" + "Valid range: 0x00 ~ 0xFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PchLpcEnhancePort8xhDecoding, "PCH LPC Enhanced Port 80 Decoding", &EN_DIS, + Help "Original LPC only decodes one byte of port 80h." + Combo $gPlatformFspPkgTokenSpaceGuid_PchPort80Route, "PCH Port80 Route", &gPlatformFspPkgTokenSpaceGuid_PchPort80Route, + Help "Control where the Port 80h cycles are sent, 0: LPC; 1: PCI." + EditNum $gPlatformFspPkgTokenSpaceGuid_PcdDebugInterfaceFlags, "Debug Interfaces", HEX, + Help "Debug Interfaces. BIT0-RAM, BIT1-UART, BIT3-USB3, BIT4-Serial IO, BIT5-TraceHub, BIT2 - Not used." + "Valid range: 0x00 ~ 0x3F" + Combo $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugControllerNumber, "Serial Io Uart Debug Controller Number", &gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugControllerNumber, + Help "Select SerialIo Uart Controller for debug. Note: If UART0 is selected as CNVi BT Core interface, it cannot be used for debug purpose." + Combo $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugAutoFlow, "Serial Io Uart Debug Auto Flow", &EN_DIS, + Help "Enables UART hardware flow control, CTS and RTS lines." + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugBaudRate, "Serial Io Uart Debug BaudRate", DEC, + Help "Set default BaudRate Supported from 0 - default to 6000000. Recommended values 9600, 19200, 57600, 115200, 460800, 921600, 1500000, 1843200, 3000000, 3686400, 6000000" + "Valid range: 0 ~ 6000000" + Combo $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugParity, "Serial Io Uart Debug Parity", &gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugParity, + Help "Set default Parity." + Combo $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugStopBits, "Serial Io Uart Debug Stop Bits", &gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugStopBits, + Help "Set default stop bits." + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugDataBits, "Serial Io Uart Debug Data Bits", HEX, + Help "Set default word length. 0: Default, 5,6,7,8" + "Valid range: 0x0 ~ 0x08" + EditNum $gPlatformFspPkgTokenSpaceGuid_SerialIoUartDebugMmioBase, "Serial Io Uart Debug Mmio Base", HEX, + Help "Select SerialIo Uart default MMIO resource in SEC/PEI phase when PcdSerialIoUartMode = SerialIoUartPci." + "Valid range: 0 ~ 0xFFFFFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_PcdSerialDebugBaudRate, "PcdSerialDebugBaudRate", &gPlatformFspPkgTokenSpaceGuid_PcdSerialDebugBaudRate, + Help "Baud Rate for Serial Debug Messages. 3:9600, 4:19200, 6:56700, 7:115200." + Combo $gPlatformFspPkgTokenSpaceGuid_PcdSerialDebugLevel, "PcdSerialDebugLevel", &gPlatformFspPkgTokenSpaceGuid_PcdSerialDebugLevel, + Help "Serial Debug Message Level. 0:Disable, 1:Error Only, 2:Error & Warnings, 3:Load, Error, Warnings & Info, 4:Load, Error, Warnings, Info & Event, 5:Load, Error, Warnings, Info & Verbose." + EditNum $gPlatformFspPkgTokenSpaceGuid_PostCodeOutputPort, "Post Code Output Port", HEX, + Help "This option configures Post Code Output Port" + "Valid range: 0x0 ~ 0xFFFF" + Combo $gPlatformFspPkgTokenSpaceGuid_SerialDebugMrcLevel, "SerialDebugMrcLevel", &gPlatformFspPkgTokenSpaceGuid_SerialDebugMrcLevel, + Help "MRC Serial Debug Message Level. 0:Disable, 1:Error Only, 2:Error & Warnings, 3:Load, Error, Warnings & Info, 4:Load, Error, Warnings, Info & Event, 5:Load, Error, Warnings, Info & Verbose." + Combo $gPlatformFspPkgTokenSpaceGuid_Ddr4OneDpc, "Ddr4OneDpc", &gPlatformFspPkgTokenSpaceGuid_Ddr4OneDpc, + Help "DDR4 1DPC performance feature for 2R DIMMs. Can be enabled on DIMM0 or DIMM1 only, or on both (default)" + EditNum $gPlatformFspPkgTokenSpaceGuid_Lfsr1Mask, "RH pTRR LFSR1 Mask", HEX, + Help "Row Hammer pTRR LFSR1 Mask, 1/2^(value)" + "Valid range: 0x01 ~ 0xF" + EditNum $gPlatformFspPkgTokenSpaceGuid_LpddrRttWr, "LPDDR ODT RttWr", HEX, + Help "Initial RttWr for LP4/5 in Ohms. 0x0 - Auto" + "Valid range: 0x00 ~ 0xFF" + EditNum $gPlatformFspPkgTokenSpaceGuid_LpddrRttCa, "LPDDR ODT RttCa", HEX, + Help "Initial RttCa for LP4/5 in Ohms. 0x0 - Auto" + "Valid range: 0x00 ~ 0xFF" +EndPage + diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Fsp.fd b/AlderLakeFspBinPkg/Client/AlderLakeP/Fsp.fd new file mode 100644 index 0000000000000000000000000000000000000000..4bac496758bfeb69646d0f3aa5f471ad6e72c15f GIT binary patch literal 1241088 zcmeFYc_5VE_c%Ud29u?+rx0n1lB`)Hge3dEOKCzv%t*2iWjwT~Xi-vWLlN0Z*>~Bq z6^b;BLiQ!|yU(C^ujT!If4=YE=ll76{`lQ7bD!tjbIv{I+;h)8_dX8<;*TZZOKhxK zjG*z2J!F@tGRaoNI1?SgS=UOBwv0yTAr__&BM=PUFqDJdME{}vsZ2c`N9;l%=9a}A z1O&%l8$Wv{FR=T@&J8>O8%BMjA$B=ZRQ^E0smM&RJ^R=~pCSNcwoiZiTa8z3OjRedlCqSZ zq7aACh&eQnQyY!ova&NkqF5gz9T^Y^5%4Xh_0eG3yFfmEP>Xm(Um^nzC=JPT>oA)5D2Y& z&>v!00sQ2{t;4V#^5G#J76m_~IVK{{VHyF4GokDUn51$HSsN$lQbt`~`Kvb}m7`U) zaZ3c|d?0Zcm46j`BQO!bCe0xTOe-WVq&XA;3pf&3DBIu;bl{(xz=rj|6)K>k!2Oeo z1tCNk1zaI)BqJI6X^f%ZM?zzwET4YC=mTzPUuBA^3{-?k(!ycVC7MTGw`>i8up;wRrv3ZOG4r3)ZV-2b4A)A)N78!_wQ8WTOiAEz} z!uJ6m(uUg1T|p_4J%QZ~`a0&1e2ZKw|*Ubu6}0EdROFl2p98IXuHk0S1h zY9UyLtAI&mNz@AuM4M^`-&4(!UKVSFd%$oX0@bgSOkK)oixu#6i=Zu(y)js zCNe>#fSfN}iB7&QJOCy)Cos|l1@c#GbyN+3K$@o!ydhJEs1~9Cq-mjKvWtL) zG)JD9ANWQ-yTVs+x!W#Z*gAZzXFUrcD2& z(Wtyo2nMLnMG8S9h-~Bykmh0X0km8(l@0dvFe+m{Gi+9;GGK}SEd`DPm9llRZL;06 z3UaD)+H(4GYqIg*Y8Z&U;cuMlbUn-Bi?;Vi5C?-e5Ob~^h>fs`Ve10L{V*8OVx)z6=ak%)hMeqsOdVomu{z~rBNSGi(V%IY1% zN&z~;YOYp)Wc@#R_n+AMe^S2xulxGb(uMeU_y7I!qJEXXN;Lj>(4lJ+pYd0|LADmWh{?R9V4`a~F zKfwQeS8Kfgk82{PY?-Vkc8%UT)OQfr@W>q){A*#V=FZjYh7y#eHpS7}v4C*z|A8LC0Dg?&(^Y;(P z|D_uf#M*}kWWg&RG-B=ZM;2hI{@ZdFB%e%31Umx|=dW_pli*dlzqbA@!+#HCK>Rif zSJ2_k|0Vz5jQf|%f8XQ(kMaM?0!RiFnvsbavyO$8jeR|qgOiJ!hnH^y|He%M|B5gA zUzA@_`fo1&70>?_ZSV|V33NyV3W)}rNZ5A)@b~HR-z}-DtLq~Z!UlC>!02KiakJ>KWelh-LLjPEBw3gzg_>14`0J02^YBkH8eVW z?dA`)!LRZU@Gp?Te;Ecw=g*!?572Z4VVUThSl|krx2*iZAXqRUC5!>e%02x8vtqu# zwGf@xf8i(nzku_vQC0$NVua{xzy<;895U`=9mpcT`U; z;Xbz^JI>uNOwf8Lby$M>>QeaIr%VWaQN$bw0s;)nY5fIfY3vULa`_~2?F9tgZlS#Qq9dPc!yW(-!%~V?VMBt@CpNfwfc8F zjo;2m;XdHL!d7cg{VE#ZoYcevk-vKbIC1QU56r5N7;v2rZ!gLqZ5#%MMQbvYEl`(N zj~W-M&^Tv+gB9s#6Tyo17lZ-+SlO_8Bvu+LQj9I62xCQy>yGO|f;jMFfWv@a3mgad zb;a@Pk;?mNtyBLvwyaONuFy}5Dkca6hSpD_oz!<_;K~xhlx|OljJf$B{&Q0j(uK-tOYkB zzAVZer#XGm%9VbshX%MMv~m0b7C6Cybvr6Ic93PrXVBzMnHFboHVd%P!?3GZLZhTn z4l8Jaa)li}Ip>Vi87J#35!4`^B`gvH>HM&QG?pL)&4geJ2J&E>&YWC}iD^OSo_-pI z8yu$E0&sw=T(OCX2}J@hB$cyKH~u1a>jw@17??m9nkmlKwqOq2Q}Wj%5Kc8^rg3aI z$~Ew~18~rT&^Svg$OjF%VWMUTiYMN&nOjr#gGQ(qnkyMVqdt;+gj^5MlBgV~ zjT5J9f`KJE2#{e-&hU~(*$NprP^bcU3R1}6>=|eTMnT+!#xXnrD>x^Djd~1UjIznq z6e0kwCdFk14=~+DXIc%LX9`%9eu7NrECO?80@%V;kv`{T&Nfd`-%`6$Gj#X^xAy7f9wtmy91)*A7TV zA2=LFkEX54r?sE)-z=Sgp4m^nyS^l6X3xPf815vRR99gECFe30ecf@5tzC%{&;_sP~e} zIRG_EmwE?;10HA+^tTs!4<^JMYybw}UjRbTg%#cf|Cqo(4zTJL)^w#sfYP-9c6e3F z)t-*T8Q^?OtykxoCzzjla>YQ?U9(;AZ}=zp!3D|yXTl9QnV15YYg{ZY7T5s3q$q+B zB9-$1e?)RHfWdFxK-Y*y= zIGDUUXLOd3P%sBU95S2(PfWHz&8wKhFlIBQ3}BL(!E+a8dhgWDG$KFf8tSm3JYDOI z1v2D;bmquNxneM_Yv7252|I&A5}4?ZM9Q$arVQ9zO=QVu3~LiM7p|?KQ)t#E>+l7T z0U(I%F`8^~R+G>vj0Zav6QhYCmCkysb2i837F)&%V&MlfF2KErmZSxYuL*=A6=PJJ zd=HT3Fuq!lAKC+LM-hNEqC|Zo*g)^0cj2F5)#)0q>ahr{4$XlFH%g|KPzO{;Dd1fV zBg$}y3!`cPy2{_^RxMSwO1Gx}Mk}ZlYNY4_ur2Tu5wbMwf@CGRVn=(hm|0PLz<32;n*<%`T;q@Hemcvu!6u#fM_uoL9A$} zsVR;4fky14$bv@TRVI{^vosJ)09wgs#yG=%;JV?Z7~r5KBWzlxl&^r5Eo9gqr$Yhk zVIJ^GG$PjmIW9p99!g-AkTub9;V=bRr$0^;1JL4p&}7R&n@U~eg=juJS$7!^>GXqo zDT@OT>I}}5h!7b;0MqHmW;C^qfEI=3Q62FQ3n9#|p&68K44z#{o?LyqHS=4NJQ@EimYoQUyI zq9g$hq;ecsfoou^o0@`$mvNR$R#sL8U?zuA%)tYK0n!7nHf(3waogKROF7hvfQA3`kCXr^%qU^Eewb9CcXgR}w-5XvB4c`#<+StXjh zj*5X8$VjM!%yJ(F#+?J>iy&)aGLco9X!yMc;A_wXn89*uR0Kv(c7F9tj!jze=gmC1q5=$;e=>9Cnwk#*SQdh&r*#Z@}}AS@!R--34; zXk?wcTY@pr1X<^C0S(M2InX=^W(^{;rAmha(qcrF&Zrouu-D3}bS@#rX*9CoRZ z9DJQ@m_#;wKsHRT(#eOVCF{Jd(kTWRHMlCT(y0bi8f2Y%vQAT#PFonbgWXX3_6Oh` zF@_**0doCv0u0>=w$Tk>IVIN;x3>~HfQA%df2-U^Ck~!sEhS=rae)j}Pi2dbIliY( zvx0#VK`0x1%=CActI?#?1It4}AEQAqT!siAW499LX zb`mTTx)v4m@i8~yW4dPeJUn8)O;GR@R0`0cAEe_T1!N{sk=Q6LU~;NFy*ttn1M3eE zO)WlVf@oQiDesVQy(<9c_Wz z08&eSY~&3f!^$*Wru|xiz(kdVaiM9lCr%uE1;GPpk}D2}DESJ8kxamephD1u{m^%i zkK?Q?DcnHq7z>kU|`UBykWfoShu)N#%koegtv_Yl=TGkOvdgWJ|dQuH@j&1Y?X1 zhAL}qZ4GA5%Cr##O$EU1*QO2kN+Sgg;4zL%VBSy}vT&DbF$2l^w4e9_x0A>Y{)9?dSMz$O$Eh7nx`LK(r zR%1zb0Ve4P8UZyzB`cV)gED|=LF|Vr$(B=O!$H#GFN!8V6NpFwt6J$V97qbRq) zdm<2!({fxBB6gBWF~hpR-&Zi2A;WPP=QO|}oooYhK?Jlxj`c5)V2#}hUYMY~1#3Kr zN5ZQcRCWXyeY(l2!I(ih)hlpmXD6s^E!3KmE$7IF^mXZ;DM(BP;819Y0o6tukbJD% za)62x%%~M2u*|J&hkos6Kwf0FmJ3RQpl@qiQ-;lBu(Ey&A8z1Ps|XvQalGmTfft*n z#eix8ZSZ{+kqXin5R6Ny^QK^9H&5jOOF3BbeSk&4I?l7Yj-zcU&tO&Ib-WjTi^g_k zD*P)k#8<_j$6gLAAh7l7@=M>o#RbnCDmBAuDSS zJv(R~P9t(xyC*wg73Y$=&=t;>;;L$5)4hJmvQ9XOeQbU4VmB9IOb zSr-?lyUPP@Ql%>n#t%UW0O1p2ChJOrh(*?whYkQDCFlSk+6(FM+mdxPARR$aX@kiR zFF&MGeh**=Nm!63ux>E`voVpiFyO@*vKAYp3lNSBSQ#S^E+4=-3hK;Dj_lmdK^ zQ37m`?P5UQRZW=z-P-~T4{1ACwH`QB!}+O7oDs%@!<5oH1_0V1iwApdSOt(I!8(A{ z%L7P?voRs-iUVCt$VU8>7XTO7Zgq(RS@P6xMxI%*F9*$xA9e`(NWdsy5v2PYJPC%|3>XpKHiKgoj(>s(@+vlf2$BmEh=Ud%2~Tkt znG}RWBM988wFE4%2HMP&^5Q!zKU*18QU)Pa8Q?dU(5hN!aP**wQPsi_Ss_g}RV_9m zDic{ITU-Y0jsmEFumBL++O7dS5CBxU$_vPDY6{+);s#lY2|c%i&jJ|fUIn|Csj0ao z)D2#m>LC!oj)x4hj<(EEv}jHhtU^8ci4x{smq?pbCi+Xgqv~o@w_A%)on# zUeq{YJy3(k6m0jV!64e&f~AQE0o9d!Vv|@#HNa;k5{m?2UQ;loTIm>21(gAwa*p;u z_?4*vX2$OW@*|EoXZ35~41jU|GB3c{0lauZ^OUhg8qEU@FGK4=94-7uX9le9p zt-zO{cFJSWDTqhRaYp>g8wpbIboM}_-rG|803m%kcNAU)5g%%xYy|NOg3~kZEvwrf z@ia6b6fM{TwW)9{H8Jxda zgWV$sMV~$e0t~UaMhqalU~_em;Mj)9JqmGRi?ZHbp--TYx68c~$U?(&ZuRjK>%*!K?cCuT_1DzN(XT zLD<#h04pEViC3NTKk0$7hdD^htr7G83u4P9$cl%x3DOlITP~5Uc<4J~BQ`xaf-uGK zAmcQVWL-9FE=VGlU{{1AWf`9A#DP~`Jbj&t0@RQ$zeHb59Sm%xu$DRlf#8jS6;$FO zVhb`nAD-6lAdJx$KkyDBY19+;M&Ru{;8;T510z?Ahq`Si)8tz4U{}wDPXhqeGQX`* zEG`U00&HGs3>veS1A9IZtTJHRi>GO8%WL6PTYU#Tu=XCnrJy=TkbT*J9AFv`Y4a$= znK9s7`|&7k9-D)BvNn$$e602buS~!NVxvp}7bp@32N|eAqFRo20Ei-v%^QYhdql_*PE~8>mjA7BJNX{4C^G>G7)L{@orNwm=N9Sf0jtaM%MH z7!xL1#l@>m`VX%X07PuwIA99IB-r6wDcHOwJP18fP!;qJP+;?b>P>zkP_0A>s+hpv zOz}XN0NP7H*f_MF3B`AW9{=zl73GrX#pYE&b@c2P?hbkf$mM46tzQ9%A0B*d91e^a z$a?Xr6Ms zMZoy%!mD8lPi6)*54^W-&tc-r=Jvvv^;V% z00mDbXzs+5b2LRj&IB)ZFe#oaydRraO((#sR{L$HpKeudt-$8h09N4r-YOWKiXv6* zjN5A*4pv)m9Q6%|KqLct5ul$S5MvkJzId|Ynz?`}R=p9pDB4DM#irBPh(Zt|!27L? z`7ooEwBNIACD?ih+d&6-N+>{|oCET*u&I9dZUtM(FyPYfq7Lv7SU`(0T^>ek9>I8L zGXGwu4vKY~_lFyTGu>)yT~NU4S{Uq{raigV_;?i6uqBL*~p=LKVWRekAh3dt?q+ zE3RhBeozzV0N9Vw17$~LirfDaI6CND5GaGqtJIB7QiA)ztAcG9QO1M84z$&SHa!nv zFno5@4X`1A2UO~Ym%x^-jHKfu@KH5q2B|2zIAA5kM)-nd0L%q`Dkn_A2~+&SRh{-7 zS!E-KtY0{c;M26{qNiouZ8H6m&aK+U9{&47PaHuG6j{T1NE{8RKk_)SVh& zju5fn%nwK&1ojrBVic7NU=cZ1v~i=uz=}nCuY$lXt zAo;58ZOcr-y1%;RAcY7bh(;b9c9e2hH=m5k-kkC>#gM}1ah}+u2j=T+|PY1!Y z!{(lomj^w*vo-<#K$!=A{R@czzjST^>GBlPbwh>-mQaA!uXW+^!mBROO^yM>+8Cuv zpNFrF*5+Z55q%ymz$S-hp$uL2cN7;eCGb#{^Xgt^HKm%MC;|QDzEOSi;h6-7C~n9I zqiTfn^9GrIv>=kEi=i5UV+bJiAn+xqL!v2;!~lrEAn3#P-$jodsv$T(HB~E|pFCuQ zjzM!qqm}7!K#A%+phXS=QM%_$7mUUSSe3#C$m_%_dx;aGsNkO=bm34yPjTREbr@t* z7;9{9FbbQi1J0KnnM=N6P~iC!$fk6V^lNYdPDKC^Tri4g_BgaNG*c8p%#LiZXm8`i{~`4~%$aU2!My zKLcRN1^xpPS&+xB?iJt-Pcz6XNOMR68)=SV?LQ0T|FkFZK)AtaDt*skWk%mg*g(~! za{lmP!1XSi0&Xo?*?~ZY9AFnG*D^a{0`_#X6X56_-Ur(`mH|)xS0x#}(LhnN)i8+z zN_@QU=YrVVHluirVXd%Wv$H~onxbj1{GBgHRJ&H>jxnxPv-9adlQk>)OdhNf#aC^HL5pvthMH zHP@?i2g{qaEa4WyHF@ZC*rD>1R$(b(!Pdw^Z7sEz{S^!A>tU~B*Givi#UU@0AC+)e-Pn?z|&zT5ia1(0e5ii z1qk*Cfd}f~3j##gb+GBK2Lp=P)KAj@_wWkk0$074J^!qETS zMFWV31OKdMA)6u_D1T4>h5VvC&mQePH}=RW98&O9h*5Z{04Yu>pHexm5~mukx^1t@ zUi-a%dqva@)M15r0KJp!aanKK)3O13z>Ns~4 zmIWBU3J7Yv+K2%92>8(dI}L#V4{iWU8N_acG{6J#29$K2$6?qlnfq_pA2>U>DTiVR z-Y01>WLSBhw9LT-9mS@ZZWFPOmZ zlXw|2Ah&~mpF%nsG9cg!F^zM*Zx*xNRlS6RU2{vjjPG8;FdpI|J$^{klhA74#_Dpw zo7kVNC`Y$umLutkx zy)6S>b;F^HL!NKvAN}0t=*#{JxqouE)^S=-U!HMk=R>uDVZQcn?ka`72g@c+K3i+U9ziQCE_RV65l&-9;g%u}+m(v|UBjt$FEfhd-1( zuhAWb@-m_`Sn(a_K*!Lei zEJB@_B6|2<$3c8;L*K3++`=3XFDH4mS9(0O#_;nzU&-`Aw_(Af4Kx?ab7|>HSY+c- zNy4six6^Yz?z3}ALE=hBT4@_-&dc7Pmx^!!LK^#-b}2`c%qgyOJlwJSyX1ESar%;L zhN;lSDKr(;k!^!CtJG|gveC%CwM$$(`Kd#AK}dwScKbEq*A~QkaZ8-K*G4!f_EO#f z!z1i-7EC!y6p@D$vATrP_W4j*j70H^Ph$5=o8)!W*kubnThCSzB?lBstv-Ks>!?FF zm&v)?2pHr)SbnRf6yY4wr-O3qv@+ZIWw&cv#c{{7b`LLCTA2J*!oUsh&SkX8W9w`B zkD{U@)wXZVR;j!f@jPo+=9O-Qp@&O$N4=xs2I?dT>3JF*lZEH%Te5!Mi+-8o zT}m|MW_~LGoosutpkd2H5l$kW{91@ouR0fj-AeKt>ArIp)iNFat}r)g7q^idxg?_x11KYd#RW3D7=XtzUkrN(Ocyjv;Mxy;fE79-d+fEjql;S7$@22!^P+o z?~9Mu;u^vd&(Yx0h0mdM&s)`Pmq4Hx0hDVFOg3?7yr2k=U-SQ)woj+(t zP%#o5d{r??x0bJ78M^dLz;K(p_wY8VR|^!B7)I&V*Ao3;fBxro0oK+ZJU6lnOy4;N zB0Bbbdn8j9y(k=w81y-}BS825h*P4)AnSwVqwHVqM1lOl6C%r$%2Iew*GCNDNK2-Edn{BA;LrH-1~yyEI~vA~ z?_?btJ-dx?J;9p%WlOV5kCXtpxoE@v@W+|O%dayBNcCK0wk^Ixeyig}EtP`$q#i3TLg}v0^KU;jM+a)2|WOufRh~nFS@^wVtDeWCq)( zojm1r;$5bihGxo<(A>N<^7|?+-8R&2yMP6}(k1c;7dIYFy6ZW9ipi%f`I4}P;|J|J z?M3ycNU7l=-VP)C?Fw1K5wB)-AMQGz?8||U@MQcEZ0OKvuxTJVwh}kv($i!wzQ?!6 z9PEBGF{8O$^HeJSUHdyRNiLs@GnE@BJ<0gamWDI~J4O5ZqCra)g?+B9+k-Au-s98u za<8~0^y#+X5B!IaffU;(hwb|;kAx{mE-=;_rr#Iqlem{G*zl}JbWz>Ug2)wV*Y6>4 z%y3!#Nn`8I=bTMncuG&nnHm(l*s}in{eZTpo{85Uin>d4r5dVx0wT&3JkfRMrv%=hggO{aWWEoxSSUgd+Go5<;7Frjox44J~8uXFXMq#9PynJSNYC zBHs(7m-=v8ODm@Lw}-v!sT$iz;~Bh?xM{qn;mNe5J4V0xz3a!JEu)34xI;x97X|F( z1NfiMNO1;Vw>ol($ErO*FNeoJowc3eXBzjS%S+c#&m*Rnt?|4EGR`EBjWi`cu?_Vx z7`4d>(k$CewUQocYM6HMuj^zne#w{WQ%XL%?HJA=U|9N7vtNW1l$!Q3s{T}QPyD7m z!9IIGYYZhmV;&HZ`{|>826y5mHT=ykp+^qu$Dh4O*5KNv?&G)7x*R!>c5L7P>D3!V zFG8WdqM-@-c2Vs__Pw1_C!R3}=-W;&^jjy`4j(AFjmT~Ll3;s@Z%#M=n##bC;7yTx z?C;Mqy}G&UVX9AvpyJk|kqI%StdC;OLY@ad-Jyp6jJ)=t(Scpr=7*!tzVdY6U>`A4 zW5rQoSbS(hB{f_n2N>;oI+1+(zv_!1M5#=F%aI=R?rLnM~eTInI1hVI#R(`<3p{aXZ-7ToA zhI0M4MI&mW59*fRw`)h8?Q(3ZL+N+ zL@T)M4Kv=ZfU_?;X3p$XyFThhq0JWEgSof7y{50c%HT$GT-O@0Wd0GY*(_DieAN0@ zf64YEHyo9>xP8>$^0gLa8Sy1(<2MVTz&RDcHdRqeqleF^`xS(5RFG0!9&N>EemP0L z^;9CO+Tgatq(qavOjOyuqU`}eFH(euGpFOErpAIz>@N=nIwlOaLrpZS(m0VWn zcC37~Bh&0GYSzTTkyf`!t}6WCH@5TAB33hXP?k?%-$1=>1<}x@QWMjhF12oJ!+_>_ z6?vAoIj{3x-&K5R6R}BRm(*svwz6!hSSGaqiGBKk`HVeVuIr0Sqb9hG^6VExS`gvN$qDp)FpPVAvU^;v&5oZMuy2q(Cq$Q_1Yxd^r;6fLJUss<6)n?1{WOd@4PU+ z+G|kVQDdjmPzeQZzxGJSn7W6dC|BK?T|%Q>siise>2Q$J+jgjpx3A>6XS-g3N_z0C zhci=|lxD><$vO;N4;)e$Q$x@2cU>W6h@0+LZp>F1;q&;aHW%*1l(udx_G1z48%w0O zm(9N8FT}VGv(-jyDCU9)TtR`Kh_q7h@eTh>tJiW*ItNGx~#IF_e zT!EzQkX^JTzs#f2`I=99_H7F7Rs7Z^9Q~-Kd-kztOx{k%Iu%7y@~#geo5N0Z7BLxc z?DMS%o;k#S*Pg$7pOSpnrF~B`mA4k8>E|xj z9)rXM)8ytGeF?#wMzV95&mT?snnE`|b#nGl)$=;%bDrVI2jQ?Wv+g4d!}={#w{T)R zd56_JLYP}=Rfs^xG3PMuB!R}D2ewD2Zlt~Ee`9*m&NF$d*m=`JsG`b!J_+doR%v55j!=o zd~;j0MG%Ys$2pqGzE{Fi1Bug>qH_k+Ep?8>+`5uU%{x^3ReV-?y$Nwb=h=6^@}u z^P5^-(p~>6uQ|@0O1=ML;=tLYr<`h!+Xlr8)*WFzG`8roC*uX*UW@clX%`N!bJ6>s zpS;hAV-t0SHuJ^E<5D~>Z`y}5z9(^RPlAq<9<`gN$O|NN@~z7n@**c>^eAdOf|Nt_ zIPwo4evh@`oT^5b3kV&%wrMckH(pP$t$n5qde}Pfo%!(cj?Z6%vm?_350|$Ux_h!> zJTjqE_a05m@$zoZ5UMj2`RFY+XrXv*Ut4#^`lAWeSHk#PHr&0V8g18U{d^uftK(Yw z`E~6n-Ry?SfNQDEDqbAS(ncH=Z!jo=cZRy%&KH5hd!MMZtYhQ*Fsy+Z-y3!J!B%mR z%^!~!+Ot=GsX0T&i z1}8I-NlW* zU+!(7U32ABFjvL-$XYLlE2O!7-6;id{PG9CGEO=~GM^L~xZ)|gWezc!iwk(gedbdi zZ&2lXaY0CAYglo%$PQKWTMC3zWnZPA^tkHLu0-i|yA@5pZ5P0c#N@pelF+;pvnX!Y zb<%Z@yVP-&5@n@LR+nrnERqY^`;+hJ4Gv(qSRD0HPi|?)?2wQQHIV9$`w&x>aBIV| zxwf$Wz8^25#blKW{h=(wTR*SXt{bqNwNkCJ{wbUj!8uH-PTpE(wM4wUS01}QvRjAT z9%yANJ&=(oIhA?Tg?V=L!TacvlS85=RUNPQQ~i755gzs9{SvN-_cvqv_q;%O8h-prcDb;* z!KnSG_RzK7;q&Y{x7$RUl~r%@*xh?zwbR!$I5f0+Q_B-4{`PDs>Y`H@ddlZz(K9^X z)E40-DVul+{mDD;pVg_4ZZVlDdOVhUV`Ou;TgskCu@y12ls%4R#g(+Et;ZRKDpDp| zDCd?e6;HIuZi{_0O+G*8pja?|ZEwbr^qpz4vnRimWSpQf<6oXlZcBBqu?|caF#UXx zVbLw4++6zP9@YI9>eStBGAdln4Op%mtTh^u`FQ11=0sJezYxRN$l_h+`JEMJ6(8Rp zo2{|)syq}QcrNMabl=Dm?d6KId#vn;KLdxNw;c^JD7Jp)5o6_C|8;|2p}SG!Q>!4P zm7H5>;x0{b>tpfL-!;t>-6Y<;o#7Z^EJPm4vFz(x#>_F<#O;uB`ZnBodY{kXGqPyI zYR;Sc2#15g+hAsBBjMN5^1f&zJdkZgvyG<<#rI*7 z_8FKzJpV=Ni9)}rHPg+q!C0j)qu0*OBgp#$xB6>$MP3P`UMgq(kZv}HPx$;@YLlIF zutDnQJ=>#ggbwC1hV2)Vvz&?XdHObo%yRSPWdgSE`vtn%zp&Z|GW2Jh>?GLCdXYKJCcG)VMyVeYwfy#;f9}j_JuO z(dm)A(|x_lNhWRd;fIo3mlf5#&C3**N7^o*3st8T9%g^A8*9U7S9|Jl04nFLq>k&dt{w z5gdGaGO*|k-(!*1g7RDqjfJS8$v5+Q8YKdI>MGPNoPBpXjcRWb4REMAjkEE-ue~3A z3%XYU{n(vY!lQDE;voF-Q1`_8uNRYSqA$vvpq8o6Ix;)n&RMG>`+Tx~RGy0^fW;6DOgr?$1Lh4MF z{)|=xgXm)yjQ2V{X!T}!SHwMWc3qF!<%5Nz@i~(*;R{nowlKEL67C)KlKJ%HV$A*z ze3v*!oHEyVVU-G5Z1Vl;W~o3FU!{(J#tSG*@*Q_Eog{{3zt#8jrQ?B#eB zVWOSGh2&24+lQL+D|$(h>i2`=E`ryA7lZ8IyqmhEA@0f(`rS^ZsQ=`dO$-MIuLp_5 z={re{EM0w&vcExG<&@KN&OF7O^ZNw*_%;t5F`d|(uFdVoT9g%gi_D*_I?uIJar_z2 z0B-xMiUFyg&Q!=N^@rK)@seVMMVxW0F!w}4`Gl9?+hM6^GkimHKG;H;ORqn_9~b|i zEhEv(^jgfmey3XgeNn`r+&SZ=bC1RDzUwd&>s7U#K1hD+aG<>!fBuT!^7Cef^IJKg z(%7dq$CWbQ4LBWo&+X~Oz4vN1Jko7mb-~^}dX9Q8DMR&MAN0gTu5BTP z@d|A!9NF&^W_PnI9{ENwHxQ~g@Zvdp{cXKE>jKF@^Vktb#V>iEEVQ%4yT4NtZnIp)3UT+PvSNSwU~!sPPeu;n^?P5x_&i6m z_8n+sZm4yAHtnEExy|w69YX&z@74hO>|tInsjrwJyVr8N%`kx(p|XQ4jPJE06au^w zklsI7a0wh2Zg#)7$abIKnCEMSd6$@RTmQQwTQc%M_D#2>&xa4Z%)WFk!d#_*A-C)Y z-l!F+)(yw+l+`Us`Z6ROV zew_Iz^@*zYO?FlM&cgdotd9)j&bHrmDH$9Oeep8G<$0sda=iHm_K;xvYas!7EgB#7 zRR(ZH$=5Bdb!(h9ef!aW+eN^me(8O~DccUGD~u7RWF|+~i!?WUo0|BX_4YtcULrDlf@jf7PAxs{Qk2yV&`vr~- zFhr}FJ+w=e*e%P-^N#yRL_UJMKp|TxaMa$FOPpFJ<0@@GMjg3y$jbB(quKXE?K>4R z5Gob=hO&t#($uWZXAzNKW{FpNawc!ZqgqX~M1CrmzY^}*JAS5N<9sb|%KS{`9Yv<;`m5QyACC^8bc zx!&=j#0~Ylb`Ph}Af5xyozC9-_^|9rlAhiG^|R~qOS045G!AE-Fw1d$q@C`_-5GyZ zf^Q+eFO}K4&>x0irG>aX@G@zo1BJXT2Uvsxj>%HvcqI4tPTHjBR_o1`DlaEeb3|bObURs3Jbf$qvr-+36wE%Bh8y(5Kr&du(ANC=GHZgy`@Pb8p z>O@WLejb4@3L>fMnX&yfPVsNLUoCG`VZXSyfMuKS`pPhZd5B>Lj*u7!{67H{G`R=%zU5Iz0R2D4^)^jzunJj6B>fTC?+0@WB?TX0*1bicw)I=enKe zP4*~Q=d8cCKmfno1M*uBD1XVV<9P@g?pJV)ES}DyX19bzTBLxyR%eyWL>ty z?2C=J-89v|CJ3LZ`(6&cfBn`#WsJvLk*}jy(@j?R#P=`z$*7C-gh#WAb&nXH^q7>5 zCBHZJ5ZGhn_2TUOqeStK1t)84S+dn?Y-3_yy3Up+-FBTVUVJIaldH*u(d$2LI=5MY z?Wk>Xcw<7pl!ShF*K&<7_SQAI#}!m|xxsT53zm9s8>oWo#PVCBYu}X)Y5A6CIF!t5 zAJ!kcuv;o)%if8thD;@y7Y}=vnvLg2h16U=`o4mfICVQqNh_GecGs()@l)JaHg*`v zb}95cxpGR5`Qj*!Gf_OPeD8(i$$k1F<%K4MjB{h17rn>Xmh2m2Hy`>*9lhCk4i~FA zRy*DuA=<$E#E;S%bxg=>>xnOt#1O4+9giRHQ{SgL`t{ywe1tjnP=VmWnA^LzYo_Y_ zfO~|<#+SL`vpvD5@^A}9J?w7^nhU;$Y`api?}gOc6z-@j74d5^QKAJQx4b=0=4U2t zJC^WmHd?xCviP>KZ2`Bli8Z^ENICId&2`SarZM4**jJhBJ~1?&*Y;odvb(!bUdFK> ztD!k`L8v(w$0d+;FYbmUw{P{uvCef>x7G3KkIjnh%PbDprfE0b-m=^4IX)x#-g;&k zfzRR+I(qC@W4;c=#yQ!%1VNYWUV9=fI3}A#&s9C~T`H#bDcr8-bt6<9) zg1fPOcSTG?xVU`pG_3RU8@TIw(b4xr?TNzjk;J>c-hv71ij0yx*STGO6VRMNW~lA@ zaSoLjqaZ^`Gifl2jbuLfq}hpu>79RZ!FmN<>7iZG`?#J-B01lqD-rnzs&C$Aqiv`V z*d6?UG^c*b24V}oVAa?ZVq7;;!xW{5OJ|GDx*vp1)zuLohHp0>Qi?cryhrUz)|T4$ zp^TXF2#2B<)#`KRH9fmXV^Q)M3A?XT_Fs9KtfhCF1fd3Y*yM?cOUV`Ll55xJd#q0% z8;+AK*qxWVRWbPL?)hrFjP}GQbqPY^!Lc#91O>)EPQC+V3#hn?rPaMhThUto$P zq-6Jo+0tk6aE?d)uf19B--TXl=C|I>+|R_bCGWgH&E_Ek3$rU#WjAQ zpWtf-4z=|RZK-3};Az&uXL;WBB}x1&L%@%zPYT;cB42q;PYSG8uRl#`M@I{&zGARl zS1ZD)$@hSpG~%9=Ra;-UxZG3BKO+>us&p1Tl|1??M_9;#!CUgq7H??Or2jQ{tEeNg zXx}bU=-rb~*9|AA&D0J}`<3ps@^vy-PvJYH*YA_Uj&XV?mT)jTBtmv#zu@tVHmSj@ zc_CTSy7R`J)n^6|FEQdoavrB0PuniCd&b0ALxzQ))Wt4oKXmEXxUmL_OGOUxn%bTI z@B+eIS4;S||CYN?qs_O--K|btoCH(!Q%|d`DMx6m)@z}&KcnkTEVYOyEpSFhq&3Fz zw6S&P`ipUIQh2v+c$cuaQc#Z0^irkkXdc!Tf#NC)Z?APv{WNNHed*gW^P>rog z`xC{8k$*mGPRD7BmbeSnA%t6R)Yk4xQpVG58TWN>mh&+)AHP@Rn+UaMFNL^sobiab z7gBl0sxfI(-Sxuz!)nat4>>x^uFhra)P(qUfIh~Y$JHVeazgH6XAYx$C2y&opa zYO0%cl}7J{w&E9@vET(WS;e*(O8S9CZbT^-k!UCm! zEEfgJ=H*i!q*KqQ)lw5i#HW)@ z54>n@b?}S)BJOb4boS!G<9FSx&SC4R8pYzfVrnI5x-9J&K2f^_^Bq$fSrP)8%@7-HvbPgosJ5{sZESt%Uwe=N!Q{_4J1yQ5e#v?#-X} z_8Z*!k>WmaPj{*I9wAR(h%YbgNFQ<6A#smSO;-(iaGM&wh@3edp~IwHG!Vke@Ij^Y zXL6f;j4^Z3#nuYv6tA5>$ju5d4Qb!co0dI!FmiBCqmSG8o_JBfS)#Gf&2`lA9P?ew zo84|khlqfH-sHxAC-TE4rUUVEZIdmi66l^AOk zh~}pSJZDoEmYHOAF4e=I-ggo33@$OXgWcB(4JLr zFE;#@vG~NODnG&Wwt$j}QLbqcy61CEE=Q~AF@0q#&j(Ls7tR=l%iI@OR~Naz=^OKW zygE}^`8yX0Zq_R5mR(=Za+R9>n2VN__u1@ZAk=d}NAPyDrbzE#O~I!PqOw-nlo>+G zf-Sc-$)9U|#7Joc9-c^U4<^HajrUwt-BtjvrYD51I05L$$zsi({ zUj-{oq^a&+X$p&c!d@uNdl6i&<2;!-GL#}HQp@{gp^rD`jw3^f1q}fP1l`k~ZM!b6 zsqBWSDZ?1I8RfRF)3qIbtf%(C6=tL6_MWnoNqg|=-X;>AmG``m<)Apqd8GH|9d9dTUaiXc^)-IeNe z(CDv=JH)sn37Lv%CykMTR%ehXxX-046?58PFCJS~L89Zra@GYE^a{U{vJT7Rj!d+$ z>Mw??H`p4XNr|zGBJlHU2P&(iU>bqSDd8|e9Rl}Mw=_&9Rj6QHCl4fCWVGs04Sn+g z3!5_&&@TVY#WOvyn)-XQmF}Z=LhsneyYtz{=A}7Wf|y`Crg2;MtQ{-!2r5~lcQ*%x zJmKu)qh>`h+ve8!2c6^~Z3%8zVl$a?hp;lPeH6&pY?876K~g7jeV!f=Z^bCekvGUK zqZl`gNPy0UbCTLV7Ml-m(OAW2T~xb_?Rn9%lmeH03Ko$Btf)mSA)!$%Jn1VRI9ttt z5ReDXpz$j#x+lOgK;7~}CO?WaJSrC1SAd_}LZU-FGW52eyz^IW#(6k=9NY3lRsZAx zr`n}u@hojkmAD;g3dMmC%GZtHqlIv}D=*#j;4sgClnWQ4PS=Vj-;IF9P2(}9GlN_z zhhIyTkFeA&V;Xz57ICOMX!?U;HP^<9*Z6w4eU-k)zoNj;&$SF*f7em$8x21D|2PIW zL!zFq9O>o#!L4LP)YL3&jLIi7el1G98!RNOL><%uA?$L+&hBPWeJbAG{G|W8HP1wE z7h-YhHM_9KHB4%j104y(_<)Xkk{|`?S#U?CsxV5&cynUqJ(F~AlHFsG!+}?W4@t^5 z84@^bHI5o~ua^58J6HXmV<&3COcsmj{Q69aA? zo9}eGn^(f`7TT(u-wTd!6O%W?-iSy3_}t&bIMh8fDYKUWNzzMC`Mi%Xn3n8wMP#o; zjTe}1Xmcb+83}F|Z?zNr#qnddT(oKJHToqH`x?B8>ANA3)ryz1q~~+|EEU`sG*}^3pfIt-GUKWdzYCwtbgdQ-KbS3ii6}Vj zHg{!-f%YfSeX!@nEEO@8!o4i4TsoNfUw`qBo)E|VvHJ~{A@z(IO6BeckkS0Ol+9Vs z;8qoH`6%^%WqJ=-J2%?)fm+cp49^)9ta~y`0Z^5ZL*^!x%`laZzIq6!-6(8gd4i(G zKYd^H4v;xjFQ%?sugb-~lY=RL{R-XM38G8#m;VCEMq&%akh6$Upoit|!hrxv#e4ZG zVIBRMoqK4WGRU(tc$KGqj$n&{PBI{CD7Af8DR~bP z+yes-HccTHjgVTyJF1k}OD&ldXRFIXf@0CV20%3SI|5a0PRbUEga39vj_r=tFOqDs)GMMol#!1* zK0Qkx9;T0vR2Dr>Sn-y~dleg#-2Umtb0Ay1HD1-8fXr6Fdg*? z;ObBAb-^eVJ!SjxL2JU^hH&g}A4|e^;>U!V{PzO8!%EYk3ZJ{66{Ur3PI{laapP5D z#edM1uJ@9(ccBT;&?RZ5(M98g=z82S*tF4qg zk&o3#p{bFSRmjRUAKxfBA5L{hHLWwag#>cyi{r=Wd76u=BY(0Q30C}DsxDWk&u!m? zhIchxpQvr9i^&i4k^$^KL<7QU>%z_|J}`IiYXZL~YM!pFg5{Hb6;&|z*aVb1rlxx; z^6AS^l9V9oTN~?ElD3)i=!BLB=qEI72VipxVr_?rBzIp*OQ8B#HvFcQs|YSzL4D4H zSB6SoqUS_jNu8V`!U$epbl__QFz%c-2u$c)6zet@E@q^S;fx}E6xZB_Ml~n3R$Vyk zV@6wbOv9r1-MyJ~ZkFI8m^ha4?5>&{ma6-gC?gHT$xadZ-mr(XA^~`CY)%dy(4wE} zMi-QlM(G4MXrL{^v5{eNp z;E#A-_p@m^x=rVjOC+{Se1T{b3WWj-R2LY6pwLS|wuS&DDQzGn4B@E7+c+dB=L=&k z3oo5j+bfqZY_3;~=WSkl1s5S99W9`=H5F@}okei}(hX=LS_Lfq{{Hex0ByUzd+&VT ze)o5NFTLHRk~rIOC~xqnUyC5I>jn&>$wXr*V#d0LFN= zSj$&X=%@vrm5iiH8b)TKvasizWy zoSHmYlL(#WT~6F7;A~?Y_OA=l0LEb*vk@IqY^N zJW5d~vNI6M0zjS|A_)5SgNZ5JTDxIg<7>&xe)|~%#@3Gr9yYjB6KmZHWgvLkg0c`l zbxt7HQ{Y!q#;(LyQ>R@{y1Jcxc9n&8mP)1t6B_Dvb=p}v?JT8sm8Eu-t#+1HyGt!y zrBVeGYU+82lvrWJA8!v`PcssW5?)xU?JU)Hm#9X|5VQu14*qR)Dfefz&hOnjPP&Wa z)a*aVOs25#NGRS$CGUmShQZodz)gPqiel~DrH6u0LiHtefzrBv;Mok5C;o;|U*Ha> z?!{@geG_Iv?G5@-7^On~DsO&+gDhNR|35UGj|sBks&q1!DRNbiNrN|f?P8uT^e=M6 zr1C%BuCVdR-Mb3w;ZC9@45EI&1T_m0ig74plc|B#`s*@V+)P+#0O#IvN7ivRrJPOM zn>FNVi|#dXC{#{{rU&QI0voA-`&ue@F{>67#McNCyz<{1TI(n3HFeeA;L1dv$Fr${ zUGS8qt2(^E(dJm!S5BsW*`ZXb>pHRqjh?#bB#KJnbU5KYh7d{z%gR8qS1SAH*Ea(f zDblzIo!}Wq%F!e0@D?Q-?T64U`0=(3FV?GL^W7mwC;^z^RTU(ZY8JpQR+D#Dk6pjgO?Btp!N*j0YhrPvVl7|9nzLfY zNqTfv8zu;)!PGdl8pFnR>tiwz@sp7#d28sb*yxAr4V1z&_&E+B$VXRxh-9U#MXHXTbLgjrX!@g2E$|w}4u#H~KBC(qmZl{iD`B>Wx%7L&&)J2}DA%{PY0pf7hf{2Yq{bhdtn8Q-j zzloPsh*z6jjBm>wUSVs^7%qUsEAAx@KzD4iX!Q5Tw1yR$E{Q`bnmxm?dfgkvyfJ8e zw}urTfoxlAIu_I{=vl>NJQt7d^E!d8OfFrW43FW*l*ueUhZOoJ7?nK-eH@Hb@EwF{ zYc*hs%aGsbCX>3JjBcwicE3{lKQ)^Sa#&~P!gF(e_ze;Z5-EdB2_W2A9Rj2}WOFS| z1L8ooUH1>hz9Lici5%KYxizw0L!EtG-*Mr_$maWtK%eR!zp%+lrQBKqtjjeW4Z2IX z@Y7a?Zj;uHrN-W5A=B>?p2nmUei<{NZgTEuTdPAkkcL)siqPcNv&o}iH?3x^=$l$?JK64oyzH-#dS=%NaT)n9MQQ1ktBe40U!Ig*Z&Q9Z;S?3$$$ z{h78XJf>E`^lsT5*qm05^ls~WWkvT!;a*P!MsjX@lpH_y95T1J^#Q>ks2(U3-Wn&x-kq-wx1G%xJH%25KGPjTTm=1~=Y}5}2%hj74b0HoD zH{^K0@Oy>5 zLh=8iUCSfIT_Bfh7e^&dJc3=sr_v?gu2`qM@?FarE~>^kFXab5Ws8TpWWSb6rFYLI z{95c1GqeRIO2sw`X;vVn3%W=dIa9!?KBJU*o{vPSa*@iH zErY?F@}-tf{|c6$(ZL!snD6{5T%V)<3Y6zjP&FyM8gLyjfKh{6-FOEe)o#~Vtx?P2hQDc!u^K&NLFSh+;IL5a!E@Lo#h0ey(wL{l+wC&~NZ0kaa5 z01Y;dx}2IakbpP*X7q&d;B*sp(X7ZN4m zf?oa*zBS5jeQpUZYImIX;EO?C!^JD;xt9^FWflGOU)MX4uYZ;M|JOT|`|>lahIFru zt^#TPzu%C5+#T6Z-hJ^D4drX^2Wvjzsm>*us7y+oioOGo6bQOugBC%IG=rIOS2T#? z)&bnB;A>9(PZki0Ie{BNkhXkrnc7-ZK(8ykQ>Rhmg%lDu5JYe977L44F8Ym3`WSM` zOcq+oM3uSsF6Ol;&vRqmwJ9oWtLQl`)3t|{f^hZd-K0}MpN`sx2l;Hs~Ae_O`3%Q*l>es!1r#>t718zXV_9VW3Oyk0(R!t5iR998iVUF-g@Z>36yRbb7UB(n zl}s@>r%2%zCq{ftbu$)W9APjEtu7k9xWz$lHo|Vc&?@S=oOorEhdaIokL09wxf(0d zCrj#0co5Qov_dCuN*4oUf1uGIP;s|Y3ngZk_^WxkVAL#MMa-b&k4EY| z?887=`#KBd#LY0Y)!*0X`7R)cV4SE^Z)BC;i7{$<``#7F=@;nrW(k$BH9TS&Yh7ZP z&%WXmlVN(SPasILDHzlOMos@dMOLS|gRU9_i*+|Pio{jz{qHD5AFa1|)4AU3yo=lg z^WbaLNuq&_Hxt=SQo(ZPe*nE{~}7Jq&$4)Za@VE?EDubkMCa@$vnSKmnt= zC{5h}1Q_ed*Ful@l1#n-f#M_(u}Zu={ug%xFq|A0TRy8k|wKf^43YU;SH zB;(`y%p7|MeT-i31RY@SGZ(eN-rYOw;_2+2N6E`z;b-0E;^u6qKfS+J?s_YGEd+af zUqe-&iq{8KUhg@ok28>`Q?5o==qcFBZf_CgY6NYP>F2YN$#(JPDf|{?UKTlE-U8q| z7pyEppLtjz{eVWaVR3uy3nUt&6GyEpKem3@Zll0A-1{40}A2J5kpV~T$Xfmemy zWFy$KTPpQ?j#UaIz$MoAU=qE!#lgMc*2Jg^fQA%(ubxSwNbk%$e|;J2D=V^&4-LAG zEpsXbXxLB2e{$9Q74D(Yqkd4{FPEv}L3Izz$%#p{!BZJc-?2`;AqJmkqDdj|GVXIy zJ#H5DT~Q9rBZVZr{28CjSxSg;+k-`r)5Pp*C0WkfJf9I>-*U?o^fM%``Tg2YI+ts; zIW9xYKyCf*IozFw&4rpv$RJnf`aJlmPVcsjAU2B1cYO7G`LMn4z3tHfsN-l)ePNXW zN+{OZvg(9CWVga;{nBqSWkX_*(~f@ygO_c?agkKhX`QZ%dKl@7xy7!VOpT{vC+#}1 zP1HKRTxXL3+9+H$%_ViB9`IO*nkJk#_K|>|8KL-T)#eN+!iw${FtW9CUhYIkfTv& zo3pRqxkl7=Yomt!$QL*Q=1@*~SKSKcEAP@*#lph#w-=cR`E4wGu(or9Y&ABnQI=Zk z)wl$6>B2^kq(nct@6X<(w{K1mHuos&OAZU07fNtt-=QasOP5&+EK_*8#26vO6>Ux= z?luv@b6+_b#^{D}Hn2_6a zm3-FQCElZDxvq^KexC<*!j|hMU8c;5?!|EWM*#lmC5qz;MR9~i!EH%_;07RzwzkxE zzb$ZGV;RyJhy!cZ5uf&?c^McoZwxeT?V!Z-jo@9uG~mC@fq zxnBQ<$)qS(EnHjLtR&(HNtPidRU3LmrHjZBO8#uG=1Tt#jQGFne6vOXW{-}*4f+^% zE`PorZ>5LWFtCSXNe;(K2cYCaJNAbT!>kCN@<2Ubal6YDC2w}WevHNW5T&DFO#7Qk zF<~|w1&Y`tgs@KAI!C$l7j?)P$0G6-<)f`zQO3r4*L#DtLh~3Bz{3P;(b4+CR?Xh@uv3+m+c$jUa$h}zE%p-&#M0Od@4^k z;>+f-PApSwdSaO$A1s?>Qm{sh4nyvk%MJjCL?T#d@6oYlNr+Oq#NTwkttk~3%fW76 zGE%grM+x#>;o#oNSxXca1x27FZ5{BP3>7$#^1Krb`74*vyJJS}lm0VM*=bH-R?#1E znZi@{Co6ef=hS_GS_9TwuRvE94C2-H0YS0~#n3uOu>#{knZmPLnTPHfIc+6K=1jdCoB{VS&yp$LeC#Dp5#QNkw-Yw`@Wf0W;n z$h!bZRF4QQXyH{^kGFtRav(h|z(NeQz{MlZ91lPh>fndV49yDhtx}YgYV->G0g~~8L5k87bPu1$5djun3zaMNO`&02bL5UfTk}ogH~38`Px==7vxcK zn*%r;@H-0g1Unca=C#i>^Qr zT)7usH-X1UarlWU_lnzOZ#=lsqwlh}lVt0K;Xqy(d>&&(9Fg`X_68>Z{{|!yjKPwR zB_9I=IoRMftcf1{5gAN>9$a7mvoc3u12u^#7O%d;q*}ae9pyEPSB)UGc+v}2@QYM$ zV?RkstR;A*3aXl%Anvo}7&_mXO3&s+E%+pslbBHH)zPH>6yS!jFpsCuCAL=l4<{@% zP1_@>ks!LW^Av%=y41r{4c#N!^dpskx_uU zNh>+_5``&-eXC+ucifp0-|vbK#qkUgwt2k9#hc!(T`*v-0&CA=x*&{;Mu;HGyTY`cefWX$B_5o{~ zDMRWzuSB>jY{6~{@yQV-z?nh?5L{JSR#g)sa?kPe*5H?&kckM|!$Zb_rE6iOnWnR3 zV$~B2NoiJD!{S+#-8-3dQ8dJ@UpLQ=Qj%xIQF993j{Ff9mG+#|Qd6H0Adg96V8uW0 znTMo%LU511VTpMubWOX*MJmFD9UVACjeL0Rk`v+KtRFK)67Gq3ed1!aVwRX7ov{}k zhjWBi+C;CPf@LNOQUO)HhLZ^XrJ7L~$|}br8Bk)>EE41<+EkQ(0->!W1~DjGB#U|S zD>9Iuz;jJYOzupC9=Tx#ufATCg8|j*wUQy&wIiOmPo{I)0x^FfK8Rb`J7DP8{DGqk zf6xOVzmx&1nl~r1h8$uhdp+$1|4iEg_9|8P)#8^8eYE57)O}ZCrssbC7gJ3Di%$#Z zbjPY!^(|5;xs-HnX`RedELJQ_wUyuw0h}(_a-Te@@#WMnWYpZy%v8?9c*x2kD_1rY z*m280vUuY>RBH)+Bu_vUuG6<=N&$a)C5d7}dVdi2rl(VL&3|XqgACdJZkRLP4zrn< zF0-QJK%r}uw{ZnvTmrpOHt7POfE|xkrsF)`TpvWkh$1*N_X^}UZ7^)zF2LT`XTGi- zO~&+MHWxhdc&AurMN(1;;fV^-`szV6n>0hAmE)XIvrg(iY~sn=*|Q8p(?)YJ>11`$ zzwNKeDn&Dq8nWHmOJjT$vAm~}jx9nVe27{I62mTiVo4eWV@{3PGtY1^o!CRybPWZn zPkU+Kq3_oYfwv2GbQ~?oi|R1phEN~#_U!10U|a$Og&x-3S>1M&>HVFpgrLAQO30dKyOvP zm_JsJ!U!%v<-AHZ(yJ~k$@xOxefTR5ITHLjjys+tK-_zEAN!V)}-r{#4Z~O zaV?eoS?0sUe4Gl2fM{2IW2{zozR7=uedM)0_8T3R^eKxnQ4xz-zS;S=cIUez?J zniQk;z>8?2@eW0P-E?+ioCUH zL)qGu+^B2hNz&_c8p*wka|g#$DY>d$lB%0udhTd-?wDt)V^L!|y=2>nE`orF+c0N* zHB)mxjHIR#WZAgoIJYD7fKPnetp7MYWB z3m&HCiEt!2h4-1##Z=DrjoWN3jTRjV${BYMV%`+yt>~KS9Gl36{6>YtW;n}py*k7V zKl{I_RWSK){$S(4BmdnVJOW~V$=q(6_Ft2p{%)80-9Ia;{r;-!upR|~(hBNUz?1o{ zP5igf^Z@Cin~q#qy z`h!w)O-2nBZ~n4g8i{&-RU@`SQC6LFbcpru`)lBh2*r}<<7pkS)cSr>F?cwJq4}xa z1`1BYQgwW`dmLzOFgrh0h!T1}^V5^j-HNPm(Cl$A>{}EYPY>)13X%7?dXfGqI|ZA? z$IZ)(rrffNgbS!^Kz}U1uk<3=$nnS>&iv7g&5)pYXHB|~WvU4~hFGV659 zt;7R*;s_Q8Zx!Y#=U%Uc#9oiiVX<1YylL+#=W-hBA#oanpu>O5#gQGp{k29%evqoh zY8{VJ4#yT`2l+*Znm+mC?%t^^AIZo4B42Xx`aC5t=Cv*IA8HpRUqOEA)PY|c|A4Qv z{sCIPTJDbl9}r#w&HlFR*0*Fj#I{(U{Ml_k#>+;JJZ5Q((e& z6;ltR!;5)Q9UCPKYf=RrGm=CV)?Cp95y=9U{43XWJ)BV}`t9)7L?W*`GS8<-U}+Ok z^RD&C^nbQ_E%)P{>F2v+&pX#@ElPZCDa4Svf!#NlCu`rXHzH<|QnO~cXMOv!mi*45 z2IpJigi~!gfpq9uBF>p{IsaRtClof-g77D8Dz=cq&kxyMwQ#2*n1#z>p-rSH2kx%g ztWr>4puj&RcGC?+`q6wQh&3GCWlAH>&TNT0rooPYzle`<%S& zK`3pER>P}hAKx|vvwbop53tm&fpKd7=a$oY(i{W!S8bORm#$p>a>AXtNB2K)nK@!# z#8ux%hnN+-zIL4*J)YXT%mzF^qsHuvj1fiVnKI!O+cq9KADj$O56RnaTlVXhrK?wC ze6EK5S$hprWmtB32u(Mz7xD^guF@m zz0POvlsUy>XEC$s+xUp8UagPdUX(5z&O`zC%^^F)z&mP% zWh^wz6=9ez&#QpIlT!97yJma??j^uWFDkvH(oY)^9lVsY+jxh+ur-Ot<-+CUW)?Wm zx2}8f4xLAS97TNHwirG-)vr6}~its6Eknmbk>*fXwI%V738H1zR z%bPRJsdelHz>a{A^7o1@^)9^kE^oWhkbTE`yzvECPr*z!XR-lxR{u&hlU;(6At!m*AdXZOJFnKNa|- zaGQuS9b*vCLn6*2K+)gRyVN7G0X;svxRG1Lb)NA-ksJj7d6gfN0ts+)n)@1qw9>|~*QvQb%B zW_^6{h#nkUE=7IBd4Qrw{39Cww&aaiLof8^0Xa}|c~GXrC@u(v2&d`b@VKww;6SD1 zud{t@PBsB_LY&%iMlK4pw~J!;s?zdQ^Y^?fmY0DXb$dRkF){|(bN(jr{jzWEm<|mM z_x+D_hFiiNZJ>IE(I|87nAUPkZDbP4ymfhiqVwaY=8?$v3yr{NL!kP>%rJVS_7 zn*T`PRPCp#$6IR8McbD=ULnbP1sw~Gf9)ifZfgq%m^>Ycr2QhWoLdhBu>b5<-ewv8>4w3cD9hX zvrFyY?~_OQoNA#0c(EUYr5yQj8;K_=xHk-~zpe!c!Ta$GgAS`9KKDw%7|}*b$&_av zw3vCdQnMl}C{G0)5`L%`m@vt~q@SIl6if#{1>qC~fbtZp;(l4=8N0bVFq z*blRV?s%bKu}zBQ>{4RICCpbal1XPf#Pj<3@ckf{h#`c>ZIl>qEgD}OnI^1)t(u-L z_7Wyv?^%x6o!-50Q0M#*uH|oGUABM3#?HOJ*y9S*ycV6!wlVk0Qf!pm=aZV9zSxLz z5myx5b8ZZ^s{i0}PIMz0rsISsCf*|u2#OcZ*h$FwalOw27{1sl(f_c{>A_4I5JXNr z1@8zB?HYEC=A3-Nyhg+8Qq%8YhNR;>nFdcXjaU;yKeIKzGsZyX^%=#i;!(C0r=2mEWvt>+O-e7p^%=433|C zc+k+@3!%4S3V67}tM72GRo}UV#gao2uew`q!z;jr^T{oJ#8-bzjfq|0$geIK{s9<1 z3mEa`*DK8$eVi+)EQ(kFj(BMUMkrcwAzew%+C7*Y_d9J>DyqW2QJY+sMlDo?Xyot; zd5nZ&eL;y~BE->K)Ck5{hx|!wt-LNIn!E~ad~c34WI(_tP1Z(2z|SolnG+6IEA$A- zaX;J{vsf8uJ0f?1RKQO8G==JpHa8((ew;>{m>L5C8hcWY!OrM|Iv|YqeC~)d**Jm$ zwqum8ae(u0ejHyYBFcLHHjrnfpZu(0e5{&TzT!p%jOLsDQyK-oIzVlzb=Lychfj1`3!4H@nFw70>G3`soG&*%$Y ze*9BdHN3ddoJP!TFScE{=oAFot8f$*zekcu!W%!j- z_J>|s<#mL{EElM9YT|POHNak~TJm2>0 zlJdjv+@Uc}s$KTcE@3si$yk|(sZ}o%ExU*)UPuw%VSeb&+g{$djYT_Wvc`V&PtMuZ za>Pn`dm_5smK%k0N^kcC8X25fO{RrSg0?PY?Ba?KDCt^8x zORET(5Du-lTwI3;IJGqM8Vx=f90$3=xpp?kAoiyTgx`}cQ7KxG4kN$kBcP|o%}7B` zQD1pjZ@wel_rUdrhaW-HEAK+$wsy()#6TOQel@g^6V0Q#y&dOnXiv;8G$-WM`OOLW zFdQrGV4*+lt|TLx6P6Oj>oz-+q8GUx;0j(y*!{~bvj4gj{xyB7L}L3q6f4XKM46&Z zK~9EP+8slLj4nkfp~fp8S9=`#mXb9ZH-8x#{2L>aey<=D4Lg-L6wA>pTn5K@knSM0 z#ItJBv%R==i-N9=se8ebOgTvk=NTrrO&>`v?JL`iToSorE=tE*7c#+X+O;HJ;}Va0 zqD$bN zxuIc^N_etT#gcBIU)Al#u&>7omSz3Sv@4l2%$zv|vw}zDocjT0XpfVV&IAM$FObWy zP;U&n;E}-BCGNbSf5j1vU9Qw*xGypz?@&I;(nH zxBcIV983YlGk}|jCfd4w8M1d;87vDd0rOa|cW zy0pHb*?B}0R(L|2EILysWo}Z@D?8D~_Dw_q+1tveidJyOsbs`$St( z=0-$r~*%Y947{UE%=LrDxxd zqp}`Ya*GBW##9v2ck zEhKnZVDcK3yJFRFj#4ncICWvP$5v%3Bk5iN^skUzD&a1~grBsfXKG&EarRYKSxU?z zg{bv|-Ac|3jhYOP3mF0yD7MLMOqqt6L8b{-MIyBCIl+TbH2-=>g`9CAw@8B|Ve5ZEYAiNIw^>W<4^dOQI<(1nL>$rrIWXrm2DK{}sUKJR z2Ct+)ABslRZzIF{9_K8Ud}I@kkgcCBr9U;9g|vfQQnQU8wacZ1x;wI$MktzncbGCi z!${4^7HzISCDoAO`lXB|^p31AqFRNP6K-{5)5xY>ALbdHeIdbnE?QjE>MMilC`HnI z6u+EvIO_}B^QHRZna8AIzmN_==0?bjFC}@;D{9W{nGlpTgQUu>%StYz0 z?a^oOAf;wJ{nPWbOMnRigt9W89N~{hOXnBgx<;$TkHC3n*KAC5-~V31c`jEh28|mC zMGtw`7Xr!rlVwz=wskg7r~|!M*Ae3js_-w;4oud2Mgen@=U{=@0h`q;Ij80yVIF8d zGL3kpXSjZ4Cy7eWg#6SRxG(bEGyr zOzDVyo^XR+-9NZ}TgX0|{)GX)ojqUiRPp3>1(DL0 z&7FOBCPsPCDeiue_De`-?4D_k`08P3bzx!{9^2SDm;bE!RGo>{Cv00KmzJLFhP`vm zQ|rBW;HR1+Ft^uu^s!)P^W<_rihPeGWI5n-$H`Q>z&=GH!C~3`qukr}q&lv*J(VsA z)g?Xlj8Wbv@Qp9-$kiRl@YzW4w2!TH1@8p4$$I|iw04!LOq+x_WA~5R6i? zpN^2f)MoZa17(ji>c~~6?k?b$HDlFw?GajI}=tGO7N#Crt=nah=|+SkP9r{ zN@TlYWr5X)KUrCWs$rShOff%JtPZR{QdK^?m>Yx25-4^_JnUpC73MYd+YWlT2}l7u zOQuam2Ua64dZr_=JvB_S+N9yyG|w{2in6OGsKmU1DSJz0B(Q>W!JHKf31Z1@qcU4W z$7*{EZED+nG3s)fbJXzKW3<9KI;H4N?oV7-Z?4HpWKt4e{V540D}RWRsbrN}+WyG% zjNTrxFR(jBJGHg?lemnQ-#TXl5>PD(~ZEooRjk(spF;#pg~;bq?C#5arfp|B3bqs zOo{idJpEVApRBLyTWQW6rO-==68pEEyX(EUPh-tNY8ofkY8NBsteLH|b))V*_1iME z2EQ^)a8{~YjK>G9K1uTWqv+oZ>XfTGns;YXnq%6Uxo%`nZ`PSUaYpj7J~RHL_(>Lz z#`A@-VmS@VKF;v!WAYe{hWL+nm$^EbduM2s@sHZ*={)_0ZQF7->?x=fO}7a98Xg*JPlFj%p6}r^|C*k<_~Y zz!dM!rX0hmi&_)xc0+L?$dg$dawBSO(qkX5Es1_T$?3CaQh39uejN7&(+5)tWvXs> zbc-l+?7Y`LyTgI4Gf@mlLs1O@@}7%AXe`eiQu&jr zQz@lBVe5{jIWwwX(4d*YQR>K{==KXj6xI`}OJBmoJ$<*ZbxVGyCPDs@)XUMJF&}S0 zM-;x$>Vy*_U0v=US6UZWd5b7W#va&|CDIsL4!L>P7gdV!q%LS=06!#|b)56F=?={5 zW5mxE%O&z>i+Yu|Fd?V1bur%ZS8-Ga8CKqFrj9Pt24bx&nD`7~+HG9c+N*hM zRl8Q#H~)PG)O?YA)!FQdt!*&BA3LJUu!dS2?_~Sr7@i?q+eWF z^=%_jEOR!9`s<_7yG>#iW#@4TQaZzE;sD;H5wm50N7ClVAs63JLPlWMEfje_f2X+l z3UxHQ1Zd-1tv2oz1VZ^VZ}4eh2zBB-qFN>-5O>5(=lMqiAwKTR!87eOIRs-dC;`Uy zh$5n~2>MP{X~OUzCDb72i(?bqqejA616Ch>1dLq5F(j6oxdW^q-X}{rdC)yDL}3CN zO(I_QnC6|~9`iA}WGi~p5Vt5D`g)(pK~EW#BAxdfruil!ue^nux-Fz% z`5?!O@6bne*`#jekV>t>2!ofbFDr`mcfATVk&e;zdZ9Z1(O%gt$H*zR6$`)I- zIYil1*)rNPwvj<`{G>~x8QLS(Cxnlpf=V2`yr54M1#3)U9|>ZkiUgIw7QBIJT*)Db zoUB4RE9XE-kJMO;O}HVzMB4*ywAz&0V&K*ZW6;B^q;HpWQS`}rF))j|_0XCjeOh#E zSx*>=zNuM4A-ZW3rXYfC(K7^Y6(3RZIOKH}BPNaszZ4UAPOSG+MYLZrl1Bu}BU{&Y zi24(Sp-YN|)5*dW_b{P6hWKvGL5B@c2?v?}>5>{mddT_{c%akBpf)D>LN`q;DgEft zR4%AO1;rr(`b54@mw3c<_-{NYQ^M&xf`MfddjXS6$TrKOD&ls?1TwNm)Ni$rM?Y?6 zQA6z$U5cX&Dra zV@7EDi-V#v?xOTm?9xh`3_aY>1l2Lw?*~>iW9=FdH}y7#;51- z5Y2sO`68!vKjlRaC8wWfN@X#b%aivJ~8ZKZ)JaKBE+DeNYiZWO35NzT`6q%{j13( zIPAq{M0&MOmVF)>1nIjpZt#$|cc^=^0&!*u4XjX0X)o_SH{5^LOz++ROV8q879bS| zV*8F&Y~EInN1o|?dqXY{?5psXBXQxp&naE(l|fgXnNt!;Egz2h>5%(*<375*AyPa= zNu$w)=S}*Ea_nGO#K#wx<}AKHUX4CkQtXjTi_A(DGQS-j63=twTA;qM5HyXoAtN5O zVhC~7{Q?>?0_x)t=cytGAo}Z8M33Hmbx>b&&#twD?d}0i#V#){=!ZKZ(}cv4dDtn( zP383epGW|US(Q@Tn#we+qF;dcY?P5o3{diMXN`WF_GrC=n>!)R_Y>-RtF9t^@N_0f>3bh`^#iVsdU1R0*s0s7|833Q5KJO)MMRyj&uIt zuaXs#P6mwuThZCwg;y4_hzg2Jka5T8qeAlvrPBI55&f05@#o(y;I^pxQL4Wm*IQMK zARMy5KMjIM^aNrf847r5<|d6ib+W3{S7~qR=-L{2n85MI1EGTx2joTFjOE$?s8~;j zJ|%AqDf5eXU(ej=;hpSA?_~PJ%+oA)u_Fk3(7oy%=)Joh0{o$UZw$8avWl;xl`W5J zQ!BDTXD#{$)3ZMT?dF0wv=OlM2Q33f71cV9H?dOpjqH0K!0Xdo{=xe@oU^ZlxBQdr z)&Tb6{ssXGKNOU0>c(Y@B1i81nEz;$9`tcz-sKt1QfOJkkuZK!=9b>!2KFr($t1;` z8sgV2?|d(RXxe~=KElKr5aR58kLwSj|LlDi)gOO1pJ4fS*gk9jgYBcwuzeB#W9#2k zeVpqLqJF{k_x?x9ahlIho^43w_wt@)00**%(5>OvpG8Lq)T<&4paO`uU|-T1pzZ|??nTuE~AHj~+7ZjUH1-)=`svxR|#7z%9~ zi?=YiAs2fOReVP##JH~F{&B57&WQx=?b{sAR;=$BCGS}ehfrG{k!+d=Z1Xj2^u>`x z!6R*@`SemIvBSVp<&7WU!~I5S&@;}16ZhbaHstPy)E`ZPwKBIqS-G{}pxnV;8tHzpV#I zP3lMV#NOY92u+Y#Bz#C>YJG25P0RT@!fylqgxJ2InziMf)7E_Ls$osnccmnu}D0ne} z=WuYQn`pD~;NFqs$q-A&tp=PN3$_l1FeIkPk!VkRks0k!N#@o$le;8BNLAI*Ad$52 zVI0|lIi;@7XKWB}wRQjT%sPIiZr%LfMALl~*8$fmrgrBlX`YLdGgm1nX}gzBtn1U* zFP_;ds!32w*gR}&Dg`<0UPq^}$1h>K8Dj!o!SB$ApKSAp3w-w^t}tWjL(g|d`PU(X z_q6sC%h+#E{-mY$;io(t>8vw`{<*Y2r@$;-*|#~)DK6=B6-?hn$?;H9NOz8yA?2NT zDQxTA%4SCu93a?1$DOjB`*7O4LRK>^iXHnInFb6?>O~~0uB>Kc!-51(Y~8hTdZ7zb zq(H8w&9k;HkNQwErnGvz7f}!K%*{B({yCwi8NbIhG~-A3==z*+rkpwG*>>#Dvp~$X zs=RK@+tXPe76y)ngo#z|k2MI}dH3paU}uy*I1JRFkV>X=5Tyfjow0LcIN1c$#+$jk;=46{ccKI1b1S?3(;nYNS8ReH{}qPnT6=!kCTkDX$@A*rPI%h@N9bCjDN z-5yVQv(-LPc%Rkit^}eKYm#Wpg6-YVg0h;;<{?gcuR9mmsm!yPr?^T@Go+s1&5d$7 z8?H}btl07cGAis67kz(L^YtsY?EPNmx4H3<cYHRkD5 z_iK&Cb2@8KRr|M4inox8zP_1Pm%Kk7p^s=V+0(>MDac&+lVK2$ZmT444tF`5L)2AKD$e@qZPB#3TT0Fr(W2hX zZ#IDp8udTVp(t-Qjcf9Q)<3EKe&xv-@#Kxn(i~1DW{f7ko4tjrhFdd9=5px}+FV%3sR4}wtX2QD3R&KZ1gYa>Q+wMlpEQo|*3 zsExy z|Aa8Zo%4p5hUh0x$6KG8(^;oW!dp)tTU<15PwNLZj#+Hz-RzlX6$9DtfP>GtBgt9w z*nud4W|acU(kB)xK{sru9UZ_eP2S`UN0D}w3t}cUqgFiR2*})@SFR%tO~*L@LP&J$ zS?U%eDcnP&`v0toGkDDN%u=ntYHk%$$*pDk!oNyCMiIPd`c^4PY{xMp#NIO)Ugq2^ zLcc}{@VepylL~Wv@jIHW6RUD^fQ4Q}kH6>%-8L1@onrrN;GRG4V*O(JlEwbw`jExd zm(}wZT3=DPzt`%C^0An|RDEeBkFG&z^R=x0S#ipn8_ zxptGe+|D%luRxmG>b!@9bDm@m8^laRI&_}4xMP%LdUo;dImYp(l8#ABWzzFaP>Z2JhPS|_|Ieq9qo@O|Q~G)Dp&H{UEOE}1{W{)NExi$H?` zKPU^T^>l^lWcK@svrei71iXCRaB0)XtEd#5``s59IHWke3=|Lp1U`0^V_cv*s)7|8 zCDEyyxpP~WBkxbK1eD##afO|G?lDnlB)vQYGnvNy{++vHa?c(4MJ_zN zm2wA7&w;R9OPt&^H?Tek1l_e5@`IfwD=o!-lk7Rjezz7l2}euhTglW{kDNdTHa#EY zh12fGfxA1t6}hOdr_DFM%M7g?v2{M={|CW#Gxc_$W(DDEGA-l}>hzUVE=;KHo9h-J z9ewUb-ipXSv9R5i$=g&BkKQ+vKVS(5QvBDsA=jAb9B`J&`xfLz!L&}RZf&ip{bkP^ zz~HYNjKSwPAXiG?m>U^FD%_<*Y&c!Yu4MtIbzYrSeFVLY6^t2RN45x?rm93mU69~e zruiBjZ0R#zcf2Kp9Wg9;7X!)L02-Ebf8FaUs@+CiIbRAd#go>MnrmJ1l!aXqjxe(X z^i#bTE<*0(PhWCL|Iq|48r?Nh{@M>p??9!rEa5~2!lOez;?9158hS#|y)6sw835}mT?tdzy; zqAxLCm~M~ z`#Xyf+zl9jd_J*G4iGvj*4pEDO*hO>%dRNBNjFXM8;Wq4YKU=eCD`+QuOu;d2{?-P?M6$Y;<(ec{OA%dSsP|1-cR;y z?QM&9zCW#0f-)kPe)WI0xJLo0DzRMySU=QseAnVx(WRRchxB1V0dH~1%;+q$&MggL zad4i(%tS=bL9@?!w+gVb&gUo%0`3&j<%4`-5gb}9_suu+S?`)&?i*0O!fKu?V6^JJ zv7X%0c(MsSlBnCBN{Mno%59A~Ef+a3^7KCP%I@6?IH-0jC8~q>$fGoFeP_5$iew!)oWo*w^&Q?0o^!AQ?{mUH zx+K#reP(YjS5@?#1{7RKEAcAR_`QyIIO4h$9I*mbW0<5r^9Rc$g?FJpi{=ydUC^EH zm{12ev{*doy^_qE|A9`K$DKRiwVw=)ixbz20T9TPzFn zpk9A#l(K@^c#3fu>V5dKF3s47o@AdQdT;msily;N%mGcrez;$y>WdzeQT|JV+S{j01PL0%dB_H($dljGs?AB~jc%P*hEGCkE$1Ch3g>vkQvVGQ z+lX$`U2DRN-J*pSx7sW*1Q>x{aZ6?jXj{lH&{;%b?iAv5RN=79yT)4Zt$u5ZLX)J_ zsg|@t@m~FJA_3?(F&UFm#Fw?N3gXh&`pIm{Itaa}lrBB}E%_R7P7Pd&mMi9Al?p1& zJyukhVO(NxEP<{=iBMmVSlg5qpvsib10qvHyyJrh%w_$I62n1*BM8Bf|Dy!8u#6J& zgkXuV+mVV`Us;Pdf>M_JjbJ9hghdhy+_^#K4p7~?VuD%QA~rK=)l9B&XkJFKxaN*| z-y3Y=(?MqtCGWWA=L~yZ8FP8QtBvU#4M>Bv;b=Ee06!*bUog9P38btam$;QOFK3w| zQT;EVSw^M(==#k!k&@Zk{KRD~fC6e)F)m7W%Qm8|Q`J!sL924b5+U>oJ}B^@HwwQ- z803K(VmzdvErm(qckr-Yv66uWd|u7`J@-jowyW`VHB5r4uS%0n-w?fQ_*rd$!s%Y7 z78zYgt8smdD5|=c@rekimcXg;JIH#!m0z=XFMq}r8SbVkmfZ+`+QexA+DrDq`aR+4 zI$vJS>L0e8wrzSUl#cJw>kAAkvR`HgF;d|^rV?aO>H1-Rm#P<6m)6gN4?czwR-5#B zLcmHjD|dSc!St4GY>Ye<>Zk5gs)>QZV;8$ltGl>?!f1~LQG-&)wcZ}5QYdLOo8t)e zOvkpvQY%PBOCH!}3Bl;S_kON!r^I#tuv88cKAzVP!9v zNA#72+XzDk%LFs3m-p~G%ppbwg$;&}Q);}JQK3U(Bi*vjsnWY)X0xWk#>BmP%f=L! zl_$Mq3=W$IwU>+@)!phE04mmezF`L#*ko|51cDnDCfFu*a7St?DpJ z^Hzo4)^%7V@{3B3LcdrM3`)7` zU@XL|%qb`iKA2wpBREs2R2d*}SIXfr=`-$J7!PYHH)fz#mzful{l-O^IUVN4L6km&s`x~wd8S7 z)c1dYYfXex>!%`6(Ee-Lku(Sg6Z%&`;{ zF>>T(R8sk*vh?#^#mMsY%gK*$B)kiAomFXy)Y?pr3B(CH+*ePzcS02DxlcYO_Q9V+ zQVCt~j38hlKcb8$=DI$Yc#3Xvg^mtcG^=CLG{4lE;}T0>LV6E5Ref?)H?b%5y>P5t3QS`6dF(9FHR|E{l=!pY4MN!hp zcm(K-r}8ScHd8Or;AI@NB=O{_WV!l0)+TVlhN|?*udI$9w`dOclt?a*cIo#qFB*zF z|F7B-F5+i16cYCIUojk&8oyB`s8UQWPgPtOev=r%JyyVYOfT246t%9bo3APkqy4$# zfp%pOt~+sB1gMM11!Tf1{TPSuIf|-A+ox>E-sOXPI;E2bA4|4Gak?onS6p&Lyw>5d zJdmWW*;KSp&(?*{+b^d@UJrYB!Nt_S{^2Ki=N#3v*EtoWv50T_F+i`4;KSFQU^e;Kl5R z{}75WaAu$Ps;uP%zc!18I4ALr3DftNoD&`1fB(TC<&f#r-1zqpxC<~$9u{&-im$8Q zm5s*6+nspp)v0xUESf2NmL`BXy0yP_6vIAv|16?3U9Zo%KS+5F86C+OxpGULKS!F? zqZHa=1uGaCY2@}Cs*f|6P^xc4@NP!S3N4zOdlVpbsN05Oxj#e8Dm-2AxR#w)CVbnI zeMhtuf64}$jErk~PJ0SAG`4SXT<-0n=e>9<+NAdZm2!U1)D<2b4h^Eg=qw^BD)xf( zy9g}?Om*H!w;U(o1e30ydXK6eWBvo%pG{yR9+-KG1K#D{Pxuc<^+U|Rz0eNDekmt0eicderP z(OElMJkN>q*A;+RRC=}X|L;ho)NPG)ZuUWi%l$>PcG#&fz7IyXRsKuoe)imLEd?Sq zwwtj?i9hw-+Wi1ZCdtWLjl22YGyIn`UnBndXWT>rCwR(!PB5ie%zvml!2UJfpz8zf zRsekWc=pK0e>?M=e5d63(th^aUd)T@YqI<2g-fI7HM%r9i)D@uwuUaiXw#~CtC3Mx z-yD5f)FzEZk^cXb5&2iV!HxS%8a-@mA!B8RCz4o=mc)t}ge5hAo#MuB*mCMlfum89 z=6|@%p?;(`<;n6y1CUq;VXXm-=~CCq6~VgHm#-%8T}B&85<)B@smdtTJ{&oy#Wv-V?ofY(+-lzTI zlu^_cZY=%cl{*@AwWLs^7~7~e@U61O<*QOzST_DiSolfaT;in~Mk_L;{=wR=Pk;Rg ze@v-Zs~5E-6gwxllHt|j72JU9B~@fpU}UY};7b@)B2$OZf|@i%=hA|~P94DqLk7J) zQ5NACmPv^YEQm&)n$c!Zv`6kA4K;D%9XDL+y<~T@KOl2CzN1^u&mU}r+$DF`Bv!6a z!6hskA$H@s142edTi+$7tSg$+r*8PIu^)y$jBu<-oX2n^5ukr3K>r}UPLi)XK)}=S zyrNY$gNOxEO7At3Km(4o4rSE~0FIlc>Z5#Hx_rYK`Q@0G+ksf$3%0&eACwfbXp2Ra zzuWl<%)v&n2j%$%X0GO&elO9Ldmb;~UPb7(nq420H!Q96zs++cNs(BA;V?MM%<@*S z6N3!MlLMCG%JdEiGEOeYXr-WVT0hA13fl$x=u4+=O7|~uMeYz(+`45`rOA`GpxB6Z zitlll5cmgu>9xZ8=8P};;(KK`MEiPDtD z!VmcZ|3Ag&lN_`ggi$+BVdU2b%g{@NLV0^msrf#ZUdT$N01G5kxm=#CmCmhU7VSD; zJfj=j9$(2qu3$%&Lm0Urr1$5s1BG=kS;K1hMJW~fIRHc#UdTRyDl7s=SGmdx@@J@| zMX|_PYCzElVx&tlvfK(!?`lw3w=eUu^WnB*uRTwwgx_pX;VE3^J8zV7?nTk@NZ^G1 zjyyhBIyqmEo~vRmqmIpyHGMZZI#A?fv1bfZqwk&Pogby?hJFI*OE29T3@$mQuz4bm zb(-T#DFZ4*q33*1e8c?d4HVU6_oks^!Aq&B|_eH z%A9G8wCXPb%nkR{3_*RAOlL3~y)tMc-avoHpSAqxZuD_TF!72|U7;Hlk4H&#FUW6qD6o2sSpP7pO;jJnsYmfsFo%1ftL zJ~HIrBh1|iP@4}}-K4YDHz%&CL)Ja}Xm~U!JS`OI|7zJVu?IR9CzDeO1BM%eSE0?W z?wuZsPD|Vb@&TK_tO96CpP&=-2c2k2PFNJrLfvkC@_|(E^@wGQFMTY*YK^)zd*}_y zZ*PY=9bi#3M5?L#tvXP$t;*EJ@HfR7i3Ni{URj?I%-Qo97CM${xyrj=nL9C%`p5Xh zBC5S1RXoNk9sM%X=j3>W7QBkrz7fXoC&C{!KJb!*d@eWi4b6RGS3N6A=lO0@Q+iis z{m&4mkv7%z4J<2sl5nFC4U0eNyUlF2?mj*qXgc)1A}K1#lg>9M@yvwDjW*?O!DGcX z=sk}te}Y(?6?cAB_ZW{bXS10B)PFne zKb_dWow9#B{GZO-6r;1ZH9k{csa0$y^~NV z$RbRr=SOzgk&_y0w3pk^lzQVdlJxxAj;2CMOu|S5@D|7$xckAj*ioDn3<8Yp&(eO3 zW?}q|rb+4rLLYGY2dGIMV6t<34v(+X6WYyS`UHtZF$=f(YMzTsiA##y*iZkb@Y47B)bzkzsnlqP`q_SkTabg|IUSYg=%y zFOUl+Xf)fKZ}1l~o?T-Fk$SVA8n*DGI@_Q6KSBE8UhMXq0@A!-?)9B59GP;T#9XIZ z{udDZ6EZo(kMz@^8sFfV*AHKhT7{{;yTT1mEM->t7sNMK(^gb(5yBf1yLs_K;V*9G zQ`2ctRgO$BTVsUZ6r**rJ_p`O<_;fqR82FLBE?Of0uAV?g4W{(dcf8z;qvveOjSNB zOAnpdjEdI21U%kCK_{>`d95Mso%cDK!j}Z<=>q~brBM92USxC_=UM5~@id4>IY7X; zNbM?<$f#vY+%8in4y?dBhdp9R5$l;lNmx^H5lwzLq3G%Cxf(PjL^-wkr5@*3|I&|vb};dD zfBGozHeK&nqivQGAh)Q2I#VVWDBP4NK8hZ7>=PV=C4DmWKO&SQfPI6GaaE99P)t9HBlxT~ybaq;@kw&`@VDkPYolct2HtwS$-Z<|ClX}Lof(ppgd-^@H z!&~~=zP73Yk(BirW34X|@X0_q4_-;3`)#lv3+32Bh zZdCUV3t;V!cbJ#CqO&VJ1=Dz-d}!ta{Qv9?<}!u`_JA9^bn09-{)=otT8z_p=N#bu2{cw@j$MA=VOs=@tmT z3(yAD!m4~p36?SdPEz~|_NSPK=h9U2ko@kIJ9u7VZp%)^5w*)Hyh|wLN4+eF9*PD}PK^?Y%T^V~f#EcL0>muBn@KbN3|<#A{n*1nBrHHpgW2MAlAk~MkxrulMlh~kh{O8ge%@v~9P2Z+vMIt9D7BcA zCwRn}XiP~6N0yx{tUj4wpV6d55Lgw#idOD~9If8ASaqz1|KP;V$H9ce%D2d3Vuwl- z6KG+vH<9ptY)!s)omM8yU92sBi|t}|1``vOcDoo%PwadsOiz(niT>^56ZjoCCW90@ zS|mZuB35B}!gWy~U;Z#rD2QZtpQ47rM*rD@k}s@pm#_I?q?s^N{W<++3QCg&HIUdT z(1gK98Y{*Gb~-D@1YmSmj0jIf_Aldo6g8{ncqmtCr8bg*e;c8HF!Yd@@s40G;KhM$ zfi4iSpPmZze+6J;2w=~NU=wrl^(EMwyN{B818F>`3f6lVzz!DA~58}=^t;Y zgdblBK02D!^b3+OLt;en6Dnw$u8^y`&{1up&hWwkfLHraBzCW>)q&uS4I zN8jp^eP9;zjf9Dkp_Tqx1?ipJMuh2Uiiy8CG?YVoxhfI0?|c*bx^VC1&hCZBkvVz(Z9FTrVnFtzZX*)Vr52I) zIss+C_%Isvmpq9jw_OJOgBadNvN=gk6pQV#R$zg`VEVkST`DWm3Bob}n+z>% z>D1z!h0kdgoJsc^c1opiy3g&<@H*)R5D_&5f%kqPApL+t0@&mY^c7@GfR9>##3?y9M%u${ zA@|wv9I-axl#0~h<_ZC_r}8;sWhW=@vDj@Fu+^4Gwjh0dG&{^U(xoZRnHP5=L#Ho^JY+?p z<88w}C(5>6!X5QmLRBgci2qKSnz?ZHcI{S;;?deA6mIF!YIKD) z#XlocbX;Ef+% z`?<88y*>LRme^Zq_5nbM!75lS7Otr%r6?>ZZ7Z-Wr7WZZ&{ShcnMSe*xE4lQHeamS z?&$2huJ1(`V{E-j?X4|UBr4l#C{Royk5-Cd_%e$G8z>dC`~UOglo$7Rd;6aEx$Vz$ zyyt(wZ*!jDEs{vvZc7s%Y_eo3D$`jW6(GEi30`R^@TtR7hW#4DgSpax3$Vzfi1PMS z-6PIwr+BT&LhvG+29NKH6!wKD>jb3z1l5JOp{6;dJ*e=o?b%qeu{9PTAzK~7FxFF^ zV{>K7;wTDtHKz=P7PQn|(2%ujc8N1=UTiu+13m5GYf$9g@ndt&i#837rtXj4$~YMi z7&urf79{tJ*9k4i@7%x_b`V=9$g%aJ26m6HW<5&l=;vEjz!G6?}~GH(sX*mzxxq zkY~Nra%Kn?TyHDDK}tTknnv=;XG3|^{D8G7dIJ)Q=< z{AORIKN+bUW%b&k;{A_Di<2DN$DSCBUF5-lwvlpC=U6&E$XtEexphOIe@C#miDELQ zOsF!ly{EJL4VTq`|KarDFS=lk&E!c)Zc$OcKX7o8Ll=fK-lF1sQaWj;Y~r;y(2NG~ zB<~)PzSn3#2~}xjq-Bp&eD)XFh>Ti$G|g??NG0EvLMm+98>;RR4*UWuDqMzh6d9af z52}vfE?M!GI_XMpwluzChr*s!4pq)79GjUi&Loza8n%1_HWSL zE2J4mESTK331%%Rskr^Q=uz4IO^qkp;s;_ji*%SBj%+x`ei~O-AXOeIfi9H*g*YJh zugF<;lH^)}u*Gk$mnnOJ38Seu*K1R?z1)&9EAHJaeeJ7@2%K&zN|27qWN7Dh3vOHv zmR=F1A73qtOD;)i1fzOdLb0S3lIa=K_WeQC@guoY8OLuSZR#|a+pBe*9QCENQG;x5 zogKD%&kXZivHh|u5u6=AgR@Hzh%s5+1;$3DJO0b z&os#Ai;6LKm)l5Ou9XNGU8c7A3##xDv}UaS)3mkv^-=3IY;MO@AS)Jy9W-J&X}eC` zkViP>rC=oQQn?O{dk|3BEf`3LWf<@?)HmLA}L%QI~X9(%om&NBZKbkyag^=;bk1q~f>_ne$41Zl=M~}G> znzpJp_#Cj!`?g1H`0f*cBem~~mZxF*5n6WCFp|;E*i!wX=G}bB(tE-0Nxw?a_?aaV z0bI|b=WJIZ&(PeA!pAWMF7U6cQGNbM%nfmcXyI1^`?VL|#d+_P;Tyt_fO*-aTN}i9 zTK8Ho0sBj{Rvzq|UVH45YmwyfCuz#66QY9!=G^OsE9g^)Q&3H;2U4dDr~4LBoMX%x zCmo!xs&drY{`lw>huW75TUA?{CAW6Pw1B-Xd9wN~+8<2A#sG*gykKwUQt|L8+i6&BGu zP~oOWY>10UaUWb(Tuq7f(SaNB9-IV30Ym@#se1Z_-`d1bkKek3Y zA}ja39Cnyvl)DrAcY-3{6*xv(AUr>T6uaezEW2aGW&*TL*NnrKI$@TZ=;fdOxYC63 zGZ*$8@^auN!Fgzw3l}1+x$4SCs<`!Kg;5F-{eohK9UClZt@WXaAn^`v?LQT9On>r7 z5FQ*;anK2}@~Jm-7W9O*ec}NC(G=%_fjCnx2P5>q8RU>MQ`?dzjRLzEW4Dy;N)#7; zR&~@jXmFBn{+)WTO|UywhVQJ^A|9za_jPMcW-#BLX3m}pIx|6(fz z;Og|FqxHV{090o+%+u4t9ne13vYAx;o3yaUMvpfkfx1rc?yY2CSF$BJv%G2_`0F&m zs7*28P>5T&8?~;wl|Hz1s9@%fOm!`>YlRg&euw&xw2fvS(AeO&^2&9DRZ)0qeSIim zeO%m19uuiKz7az#vIajxhM$v0%kU9XdPfkjK!qnqOQp=8XL;*NTCOA<ZUYXm^lEmFgVJ11)d z(>x>h2|x)F+#H4`Yz*j~P@Z|QlnNl2pa_^f{r9G*;M!?Zzvf)kpAdp{gZlj=oDshl zL{N;YmZv^=}3VrFjf-XJjwtd`r(Yw=3{}5sJE@MW`;JWH#kz}Ol7NnacP`MI7 z0)!G2RmC^0O)K$`fB(EThWITO>Fv=DCiJcIeER3i_>tM-Bs{7vaO*IRQ0uBwmt}%D zR7WJ@IdOAf`hcONjby=6Sa%e;zmmH79jNlyfH<6`DCq(o$Q*w69xd-^478;`=_cYS z&#>gWq7Qg)iV?-jtiij%tEugfeLF=HhR^%);alUQmCF-;_ef{)(!hpI1rOU@>#Hr{Q6XX6sv>pffywHP4NdVA;Y|`Z3s_C5#OnEB zy|1J%MOc6kZpYUw8WQ^`X;8mNc>`@c;rO1jnL9Vxd6Meg9lRm7yUZj9DR5mh0N`83 z(CZFwLC!TIo>!CGoAOtGy`vGT!(ir~Zgzawv;^@uskuzwnRjw5XA~d^$Oq;GUB%2! zIn%VGRnzr%4zfhXo?O08m&ro;)HINSnX<@xOm*+(53te zSa_v5dC4H9b(M#SBe$(CM+=XS3<__f%S`r!SlffMX_Sm_A4(bb8~Ng3%)NwoZ3JZH z#uKpaNekN4A54QGpIC7v_!Q-ZkIe)&*N*E7%;eaDo2#mYkC$xCvEI(`=&cw+bjcwB|bT!;+ooDZ zrp%v+Xjy4TIViuy$+c$63sI&Ox(o*#1wNvNjh3n2DfY#dtuIkirFLHN5T%He@Na{D zew@RQN$@*;bZoVxN23FhS-S}1bk)kSVW>AR=sZNw0O#?s1m6Q=zsPx#;fHdG@OT&hUkW+UP7dR)K!4a8 zlmN!=Rnyaq9>hE@La^UYps6HrDR&1-9(0bdX|&iBYnZEb)_^zTlf_g9QQ`ai$FoR*P}opJi~)Z2wNIN9h(GbpNsW9Rq6LBPqk^9zUN{I!y)=z`QcHGi zT2%r6N)0O9upx}r{2QjN6ZroxayO?2}a$%f%niwE1XWkNTQPPI3MpKnpmXxsr?Q3 z|DonxV~(gq_H4+8d0^8gh$6G(flYimc#nb33Yp&`eLg$gr)+60AjHHHvbgClCU{=% z{B&Jt&Gb|Y1GS5mJ=lONRZtA$RGqGdR+x-)S$Ir2o7LcvPcQ&0@>pOylM6DYb>9*# zrGrdFTuJSsS8C))Qw>l$sx!TD%OE>`&JS01>lfLD+&WujcMeX^#)huXw71xarN)%) ziJ`W9kkIeCH~iFz)`BMaM~d-piKV+Qh?5#QxI+b)qBgT+gt6GYeUimQ4 ziV(dYbl=yH93*Sl2TlKg6q+`szR`uJ=fX87RX28II(kkm2Tx_{DpdGXT(1a8JywMI@7l7eoJL<$-EyfrScaqS zBfHb<>riZuq7-Jw-eCJxP9tdhrs?Ehzfv$y{avWML#Gn=6)IoT)3&OCNrQDsg|0d` zX)u)f+KJIhb6l)$W_1K(0m^Q@_R9q)bIMX-Ka?2a!=EInBE}Xebc|H7@lr*KlhoE; zBV>V7g9Al`VJ=ED?UoeFxre(f9#GsJt=uZSxXeMkxTmK(x17>kWrSqw@YSMSxjOOn zieW0#L6^^+6qyQN5-Cm!Tl7+$6s}Q9cvAIIN_B9lQ&&_yaSOZ5s~t?-iyZzuVk zf2Qw0nc!xUI`z6x4x$O`3D?&vIJThiz9QyX!*xH-JF-r)Ios(uVob(q)TOr6Uc>2J z>sy8iG@61hGu$n6Jr4a5&)=>$Boqrf!en8^2j(PdI+Yk)<p+6{@{Nh4}s_h8u!8;TD0ao=1m zW=hs^=IZqFal?U*@(vWw z&~@(dZYVSCoh}^aaJM#i4k$bZj`4#h)fP>00$~?F0NrQWe7{gn+qj^$C6GGBTYl4x z+F`WX?8?Sb&0BF@XaKZhN!TBq;^XtM4*U-Y{5^brAD$VH17dqDY>OqQnlRo$(ld<$ zrwXZ^Ll->{(2u6SGzk zj_rz%m<`W$8tEc{Ai+CYMow4Ntb*oR9U_mV^v8nQPa90nq#>j-maE1_R2 ztA{n6ORw((h&!TtfUfy*l8ogx<3)vhwaU8BE-yCRm8PAn7Mt@As$ICD-Rsq(tu@@Mpj>j>c!xT5xQI6i<;sg?~QoaFPTUP}->KC*?JAz$fcY z7I!V8A_j4FODe4+H>x=sNm$lO!&zlnD$X^35!R3tXq7Fnw~V_SHQMT>M;`!FdzX14Tg zg^qx%T*~R{AXRseAZCf7*It1{%&?;r>Kd6yxN)i=ev(a;2ot4$r1TLKma1|D4QXKw zL|GRzFh5VMMppt{u)S$njaM-PMP6>6Jxt^c7X;HNsrr0V<2D71RUZFg0tC@l<$2*| zcBfdI`b+Ug<2@LVEDHI%SQZ7A1XU5K0N50q5$$-kmp!$Cab-9{fpY~n%~8`w;_MAg z4k`8GWu5o4J9SA1R!~~*?fHYUdjzF0PeiY^*{uZAuFz5NageyHl->1kytue(UB%z$ zq05U13uRgGBH$<+)zD2d;6lDl&aLzu!gjZnk#H^8VuVO5@u$TAT|lD0c-hon{g*V?=YZ?Wq9+V2Et2uBcbkE)MAJoLM*5vN&v^hU@ z!j<)8NzNbF)#?jB3dhmO=>-cP$Ir3RbClk2FOojs^TU-1tHljD=F6NYp)(Y9b>W1O z-{qW8XlnQ=*QP-KSiqJ`yVuD$f26CgaY3Z3;G&-f>XUFoUH*&tS|8R+;y6 z=Z9-w)Zg7wZA)85v9-k3JpPWc!7XF;{rbn0ePhg0lg#_Ik0@&o={$$^J4-d?r+FBf zcF_88+la0$DtYqPG~~Z23++}*?YRL(M|{O9VgmrYvXil-=LGaiCuj||_Z3twFHL1j zBrIh^p|NjaUu7k()3u_&_6RARjcL1*u~v4G!BO8zp8$5LrT~6P7PBJO(ceA$yZZ~r zQ$%b$Cbaz?7Iq$UWx~sZ4FY9L(iM2ZXD+_1km~M9_Z>KT#P?p=%Hx6mC2({Qe`2^I zn+O>JO&T%KUNn${2(I9%!a53v25No|Q-uxcXUMS&AV{_@lQyP{*1*p(RPQ7LQk*Jw zvN^n&WBgO&-g@L(ik3uCfA-Gl~cMla7QzmBDTUL4yj2IJ6j*~B$RHRZO7pN4Keg= z5u;^_kV05S@gWm2L|m5q1uqV*Q@ru?o}c~npHUi5t^Zm{v&aR}0(Mn8@PbM{6tNP& z@FZBJ#8W;u4n;Dav{|3^&k|VO^U=8T0T>iYP7vWU1lFrgnWFqu3|uS$quw{@J3Al>T&e$1*WYJ*5i+45Y<>8+Y- z0~WoW2_+|n9HKlQ<*I$K*Meu97j#CQJ?0B%GMZ~?uNY%`ToPAJvhhxd!jTOuitI}o z;bcQ|;)Efrh~Z>cGtL%r^rD(}xB?fF^KktFlGN)UG0RIlZSi8&QL-_4crJ5u4lBa1DriTcO8jeT!<5*9Fa@#H-A=%i?-xA9LlNg z+_Ye<+dKotVl^;$GO#E67g26QkV1aei`_**Rj9Wi!YWgWj%6+8kyk!_3S843 zdB#xCR-)soMuNQ>3lr!oQBgD0!PB0iv(&#uPqXYQm&mAN)Zn705cMw6Q+j%yvMNFq z9ILk?Cl!B*?wX>f>^({}RPxVL2WEPnIqFR!=fo`qWw{R#SH4A9D68Bb5w%4|-(hyf zmit52s5L3?EKzwtdXwnvQ>Uq}Mb1$5HYll$Jxy9FNgk$^6)<^)Q$mW6&rzZ(d}pcX zqNe=yC(%>cJxRn=wLL~Csr&hdkiSMA1=PRGlfkU6Db3f(o)s$H!nXGYRC(fbgk|xDuismfJPLT2++_rPSiu86Ats0A`k@A?cA!LhXAINCi?p+LvZbk zE=0TTETs3axq5SMw zFHX|qyMr%7v0Sy>oeQPQoiD?<7Gnop#>_zpUbx&Uhl2Y4cA}-95I}xouC5Ak)G}r3 z?83lb>sc=qCXX(_O5;Ar)EZW5+>NEFwgo+eCNnru2Z7Dc=Crvq>^u^gGiyyWOJ|c) zkTg*N?wcxAmV~UbQkjr)PHlCGgr>CTLu@-BQ;eSwi!Ch1X3A#V|=tHJg3+p>Z`JarXrN)gO$Xy zp&!4bY#+mgi_+t+K+b_c26PijH!Y;6(-cG2)du~TWY+@WKFYk9a&1uOrqf$_4+kyr zQ(LOi1=iK#f@q=TSHqYt9E+$Orbp-;*o+JRIIq*`>k1F@*`%Z|4 zg$tNxWKiXGw-?iMD}~^GFg!p z)aX`3&>DP@H08);bo$m)BAW6W=NR9Jk|P{rS?N$Qy8`K8LVgFE44O&UUM0{N>rXUa zqA^%0T7il}lZb+65$Y^_{U|oxYL7PK_!NTrc0i~ZS>P)wjZ2#@k_6ML!WTYf5#^N6 z6r~{#z>_RNG-gF9q*5t+bA%5kh#gMUo7BP~-Ju{v6RdVV)Vah3b6K(vjN{lL2axC_km0J{&k3+)~t3;9nZ0eQ}d z7o9j4>u5gkFJI3%7o90(r~>RGfX;v-WJ4H$yy*dX%9DPsdH}rn0esi?0_&(T0KZN5 z0d_YAicZYfgj+AS;gtMbSnrUHkz}gk-hV19;kGLIONPexQaViM&Fqm7T12<=83x=w zJ3A7X(;J-_Olj+aPz~-3j#)7gI?l#g<*AhrO{}=5+VftlOF0?eT;(d&Zv@Q#x3Ckv z@1qxc&b+4(wwLE#ctcs*LBqRc&srl^?j*e8$^^x2a8aDc4C3O>Z}TOW^RQ8UBU0jZ z4fT6JYQDk0%CUxh9u61e9lP?kg9h@QEYmeXvbaD!Ku${_hmaGu~{Dv zm@10hWet};l8@ld2H@F7^?n-`G#8l}Sz7evB!1@D~bc+Go`$w!;U>Sds7L znu2t22o%H9*nmzbM@V#DP2%F0?FnK|$Uz@Fb`^ z#v1(X2YAS+&1>1l*Rp4M8(%dWUdA@PfxSUKgi?W2#I0Bwhz~s*JIECbTIY?KI<%&q zc#KuqY1q4AZ@CLy`Jg%Ub1(1c)&T=U!HaZqq=D?U%q;A0-Iy7UG3U&E024%CIC9zMoHq;RVZPd`i zzPyc8W~ExF(*#D`F&|?0ofnAPCB&^>Fb_UuMxHDB*^yP9;ik_~fT&Ucu#JvAb|}1) zpCId+dCyesi)yQ6pzpcH`q`ENk}x0DnZ&biU1+anuB6xfarrt-Z+Xfp%L3%X+aj8F z_slJ?hYM2_pNlq3dRy^WS4$pzLUs7jU|TLxwQ5ZR!Z(BX+cUu3DKt zr{?N`HQTWPLSZF+uo$oNN3xh&D!-mLa?pmFvKoD%Kr4N_Vh2xZ(-3s#g{$DcNWwLy z5m93rE$rRYwaa&TK_#%5N|{tSIC*7&JafuKJmG}rn^f7YHs*MBgqq&-ga~24#m?BO z!_GFT%w8G1@pHxK=`QmU1!$>SRST$Ua|j^F-%x-hZI~{*IL-`-{lXEAvylPp-{a%P zja#k#!Q3RI8w|$1B&%A;vN_swoq{%)EH%HMQn4!CaH4NpwFZKFN8ZfMyP~(!6~CW} zZh07&OIdjZZ3Cfg!M^)Msl(tUJQuD>#8QBwOuH`p4uug#&kXUWBrPg51 zZL}q&W5Aj-=_A01@dzAglqhFy(FF2jIDF(hXQ!w)o%j!`Z%AckAsKWpp?976MuTII z@Wp6=%8YTini52Q)cL7k zta(ksqudPzP4BB4#5^>4z2bJTytfbLEJetZzB8o?@M}nnrw~R{o9Dv%SIzR=ZMGu^ z=8)rO#Lu{Yov##JKg{e8`zM4LZlKcBJH*3L^PAa+z9l{oKG{nej9Yp zX70(GWQ#!BoNk5T{4kA>0_#x7n#N@7Cimx!8+900o(K6lcIv}UD96toWLJc%nUpN2 zJa5_wbefYB6AskXOPMC-{NmE4rlri7gCCr3XUY4RR#y`7?iW4YuM^%1?zmmA zE4Afz82ai<=19Iw503g*yWLV!X+y^s^=U(vd%c=3<19A6T_C9e8v-I!KGkt>QNfgj zmLP?l9~D-=auO>pwRgUM>y|IYmvP zR@+5LILu=yOyr}p@&12)CsPVtzPyu%CijX&_AbFLjYje0gBgm^ zi2|atF7JW6TzX83lCVCvwSy=&W7>?a14b+lOaUJ@wC2*qQY;cx)65qlxKkcT^4gKF zSxjonlvvSAz^=*dSPL5(CAL3?Oz48DaV?`yk=?{#Q^Gi~G zuWKxN({HzPB2hEd@Vz|%$|qZ;YGS6zkwi%i=0&Eg*^2uhw9*H z)xP?bJN30Smkoko`{0;AU?5fDxAqa!$aL}PjgSDSMP=*+f0K3nF!}G7%93_Rwwovy zTM1KfKx#MC6Pp_{bwYPR+5a?@INcTjIcZk)+7(GPjMZ>f>Ad`@5ZSsy57?Vrk-Q>7 z*R_U92@cEjE^90=9n$m#JH(x4jqQedOh*C``6*_o-w32|obzFqR_ARwE zp2J+l)>7Gd)N1~x3R~ZQNrFG9Jfy)zyz$Dk{RN^NE~WS5&viU~l^Vkj z{c8*)@i7P15)l5azkfqmJfEJ9Joi)Dn#l4oRHR(lo&_jO`s0(dwA@Q?l_>e#v~LhT z!^cioDqK%a!H=OH{&;9K^$m@BP_ICM+>sr_W}T*Fi*cU-H~`AaCQG8Sw<42H(|w*0 zWawc#S7q{1Q1GjbVtdd!H1WgAc9KN027CnlI7!;f60qAvyI>*)~D7W zY&&M+h9!4e`?XQXoKqyR?8-s|r+#{|wn4xvh#MkvIM29v|y#&zw2U1Qbd0O!Z z?(kiA@dFhdJ|lH0ekvIvSo(GtWe@kwu|I2Zwn*S~{pmkWmjrhmu^l12 zFT{7hkILJ#Ll!q|<3i*w%M%L8+Fob`Abi`6va^Vs zO>RxjuTte*%#^^kRTeI##@i|=?MqVgvE|VrVcq%Ip+G0nXhul^n@Mf>QLpgsd}7;` z$I}$v4pk6K@bL*_?jOtSi=w&Jw}lOSURECQ!}Yrv`WG)}#If;;sG0$*Zu;hV z_asd>`N|<~KS*)ENAT*3Y!*FBvvPjf7Q;xZNc>CT)CO#9sQw*Ai{jCXAKS>s`u~1B zw~H+g!&hH;=tGOlx;Up!(i4gsk{+@}V0qehQv}jPIc=#FMsDxFS7mpHd19e*(GvM$ zelK)+x&0T6j+jb|ESV25)LlqZb7qY20ODU%rgWOvui`q=r)mDBp{aVEu7Xa6_rIa; z_iP|`tX2uSYJ%*sWo<TSM(S#<@zQOlbXpmyxlEMmCoev?UFu zX1i|B0>6lzdEC_dwi-dPcJL^bcXwhdsaO2`TjA0YvM`V+ur0(!jaI4%Tr_ z5g5Slhyuc$bg^;=+~xJ(OgyM%S%h#hyg}{8xm8X$=Z=>^4AK%4ja}&%5g;<@%66ZW z`saGdOWg5mCQjCoXhV{AREbCd#b8@cw0)=JhdJH-1+xAQj?2_^c3Ubx!7u+E|MW=j zhAQtF6^StkOe5I z7ShLQtef@~Lw@=;qA2qxr;2&iuTuv{-NMz8=A5l6qVj@BiNPN)M$~B3X6HOS649qj zzbC)SMzkdTFcG5a*-Wh8;#?Ni^YnRNe%3iO&m+-~%ohLmn0N0H%ohLOFzo;R%ok!l z_H4(DQAge5dMgG9zbKs9ggl}T)VHS2X6q!hkn8J9*e%`1QX;)PDI^#m9} zf?TB}$}LN!ZWUHlq48<(__PX3`yCW!uqi$v>4&&2U{u6`qUIWAF%Sy!l_*Dv9f-9w zLDSZJ1tL*DcY0=hK|6;qNyFU|Zxr8!R43`w^B-S$kgu_U*Jp~OP5biKvfL+|D8Vi% z`g$mg_mg|(e*^lP=ktaCL;U!46oI!(EpIaGnB`oD^`I)hRDi z^sjyIq5jOdLEec0eB^o;_Z{*2g*3D6s*VX$ul6|fp>aZY?rXCQ;N4P0CNN*pa}dTS_JE~K{-*vr82$)j z9oW)KG?TnpF`0@QNoyMVv@$+71Hc&!kJA$xw5oEU(G6PlOSK-s3`n7fS8}Z2&^@~q z-QwRuo}zory$#<54dgq$-19yIon2y&3id7pE9HTbC%-yJJ)4wS0LE-6-W`ZyPR`i2LT_KDf;rl+SYJ=a*}j-A@aIjuMp z8_FYodAvfPBpty6@txDq&p4B69^%7Eozixv2_P4rgo%EAZ`>LOEOB8O-duvgkQOh{ z77d6NFZv;29X*}niVAME-+B;IhGsjsn;^wQom!VMc}(vXa5S_xs$99%r~2V}b&+t~ zEW2j~J6>1*Lbtj7!n1WA73^M80<(%3y7B%h1=%$oR;=CO9G%a`X5xy$<=2jvA^VW_ zFC2hygi`*H&)wgSo~0q9oSC^i@-x{m zG%tbSDPl&aExmq!@$?D1s~nj!@P@1={r#yjjj20PLA*B)@#M?3%#k!os^&UYuao%TDsxOTEe+iagi#PNw9k15_kahX|9^QTk%Fx|0opJ?v7)80mDbL4M8 z9FTq1Ib^`KRU@NwErzi6Z|Kt6DvwiNCE175*L6pwAV@`cvJJ@6_6{t$Ofm(VoXNE= zB4D6=_8sJm{B1~TxU($K^c0|xPz^ip1YQUPIhFv5QVSS^7*SkugZ831PYKqrDr2|=VNzGc@Yodo=iw8^0qmu_s!gPF5M zp8Ld<0+Q9sx(zwfKi-W|wC4luJ>Ov#PIXS2{OD;gAx3SJA%XKFOdIZ~KEtsbUU0$R$qYQ&XVe}sU&-WF>lwGexqOtl4DPIM-7VYDc{tbs~MC+y>^6R7Z!5~q+ z*_e|&!l(mXy*mJftdb!uP`8RvXY(PjURi`U$B2~;^X&>2?B9}E5yG_OBh{NMQWP7G zoKDn4@LTCS!PT*@dmn8iXz9dgpSr~^Tg#EGe6)(D+Paud>+2zI)%hnabKYRo^ANYn zmG&~;%Z=|eVe>)AX!h>I(*VrC+PL1IeOa!u_JyTJ32D^vH0!j7yYBz)(jU{H{!Jn7 zGs>z@c(%Y(?&glRJOW*c+S@J})9q!v;H^d%%7A&}P5ebmTH~-e+dUKUTlUiRF0J5!6_d;} zlYCdmu@v61p(J|a1zc|pZIio-RoSXrPOvBOb2_(?MBk4h{M*k;6*otDODWNz`c@gO zv!ox3c^3Z}%dUNRic^m=g`bQ8bmPz=XS_d#=?g#W9vWk!&Ti*Fc2J!J5SsU(@7DwF;cLrMSS}ZTS^FfLk9aMhe!>A}_@z-vblY>|gHV-ba^n=!hWA@Q4 z5Z{M%;fg&n{1{ZC(Qx$I8{ z8$zbS#`vT{5^Mx5{v@bmLK8fnZG^#h*?*(!*6WInn6Oh*giwf9n*udVh(ry5#eKVM$po(A#cPlCE$FEwipN0_l_cb8AScYHyY)V$Ki?Z^)fu^u>&&$5JMA$ z2=O^mLF-Iag-wWt`k7p%FtvM#E4jqwAuSZwvfM0e2vo{vE@FFareDXF#yoQcQBLy6 zR7Y35mbwtnF9c?}b)Arz4YjpTE@9N;ivq=9N80;kCi_+G3S&u?2ZE~t6*U&=`#y5^ z&(>a*tV%}ev2LFv;}!lql07g118bQcl2J!AdyfZ3*gK6A1f?MECfFmZxN@;E>yG?5w%Vz%#vG_X zw~+*z&jtpFU?6xfnmiV8N=rDsCRjOHUpq{il7{9fpxgv;!&BwkhS*{Lf}V;JOc$Qb zKH0dR4f{IzD#7(Az9{l=yEZ<>%7AUXe(VhbwuC3-{Z8#|9P0Dc&Bgl>3V$e2t<3w<96 z`c0S7(l0>hs6T5U2G-@WdiO(tniLM^7NB=DC>^>z1GTaRt6q>1G&scjXG{*9`c=sB zYC!!p^b#rg1d4N@NS}QKi^7}0B0;YI$spHu|2Sd(K)=pNAAkIiVSTUuk^_;-E`?8O zRmb!<*^{Dd-TTX(ZB2Cx~m9QV{=^!nZW;=3APQ{wa%tCoObo?p=-2F@>D*HMBugYOI|V^LZ#6; z=;loiad@t>hHmVWJOmSuZjk$$0o&K1SvPua2$?;S4CI z#4dez+&M8>4h_Vvn-w{MfdsLY*M*F%-Wc!7n{3z6iYKP$lCJbax}*ojlcb8&k`Y=@ z?5$0@vrsoNANTQ;2u*%H7`@glZoW2&dBmV@O1<^b%KmRS5MIO3>NnQMyXfD|h3q})h#ZXtE}>+5Kkx)*t?lgMqh&mNg)UeNg{ z%9dR$X*KjzEpl8qYXgVt|a3o`uI0;<5er8}FoD zTVGKkZDV&X4e3GUH-pY-mW6&mu8p!!i1^o<3z6$Ta+YQ%z=O<-FL11Uyv8Y%H2(ss zh^fDY&24SQ#!^G_G2r`5ZYt#@1Nb=tQ2A(uPTBm6nkUV7(x?j5T@G~Ks(qpslfW_+ zS)O8wt(f|#74m(Uy>gCNUnMP90HnMTuv24{&5qI{m;JXc9i74kaEj^N;zip3f_t!jd%YNy`-BWK6etSTF>@DE2t@_u`JY`v~nxDZJ! zb2ifwnqeX3w*~Xp`1TytvT{{GK2xg`F|Ham6|D2?U*%m`+5GCpe5ZTf)oMA+((3wJ z#-GDjdM~h8CG+!*zsp|nTvLIJQP(X(o31N$X5vBIXJo7;RN0D$k+W)ixXP<(bKK?v zdG{bcvd|XEPy)z$3Nqsc$vDg}(l-8~41diU!s(h&BLwvnt6~iRZR}1W9NH?l*OqU$mQfc7h zMr52;pTDTM|Cd3Qt-4v~$af)$tCXdQY!k~|k8E<<7)fVy+_bVQn~XyyIYA6EF`^v6 zyYX8i)F*t$#d3-C4n^jY(0dAiKb4RXwD`}MEw}T8s9*LpS26%8hT&dxr6m?R?LqBN zTnvh$zIHVOfZ1jy_xX@$OBlo&H>W zw@Z)Djy3^3V*QLk09DC2>$GSGIfBA9mI$VF!9DMKbwxvedK()rXqA;5!=xwLSW5;Hr+m|yyC)Rg6F`w{Xp=Xy^0o~V zN(9mK?k;fc&aG!u+7a*K2vopXsqEhil=SH`5Sqz5&BM2?lH694~G`e1M)Ql z)%~9c*xN3H|1sQ<;&Fp5d;5?9cG&XPKXG@kR-3i4b#c{LH#<}0*hZW^8$?;ldQrNs z803`sBF0}#8yL=8g&QgxHgGkF3kuIUb#mM?682L45Bdu104Mu#nEDcQ3TZyo?X3=)wbT?Yst8ZKVx3`|ujqR(3me+YTb$)IJ zuG^jbI3-eQ9vW!%N>PIiTWx_`mG%_-W0aQ0*xI;vZFW#eYgI+lTW?stRB|-K!ec*n zUpCQH>=isMouc|*k$pK!x6sq&Z$_u8k*WXLALaWp1{&itXea=F;zlSZo1OmL7WPL4 zT?&1raj!~0nxYA7jm0n|%Nl%=i}l38fuN*dO(NSV(n zXp$wEs;d%Zcy*B!$~t56TF^5=&B`1FGsti-^QdR;P|6_Z1V>Q`j)S}$;2%KphJOVI zI0$F(7v@g~rZHypVCFtkzJ%B3>LabUE>v{5aynBn$>s*?4&Yp@WzUSq5jfm7$zn>ne4P5PlFfS*2FZ0~8pYh@B^?}rHYIP=yF>^gnBIqfxrV=;!#^u5p? z@>Us5NW5w__8zgMg?+9QS-U4ivxHlmZfq)USg@&S#zNC_RHfQ%O^r4z2%+S2LJFHP z2`)_a13L_^-J9Q1!I`7R>P>VgR3*zTk6t!2am>bVb%_c8B-9MyKfp8g$?*j0+_+BR zcMSLJN9a%D!hh(RoAnhB`fo=Ywu;M&YH5LnEI-0xEOtVtW?^9u97>zCHXO7_p4%ee zMRs@imeky`v5AM1V-pc;7?i>`&Rit1440x@9uZF$PREwQyt1Eg3Z^-Y&Hshr5DA2LQS2^O3 zIfUXdh1bVU{f4F$2%mCN6q0w1g&So41}T0}>N8!Puwfr1pS2DBe%RGB8vC*CYL>Xy z>D;l#<0r;pGX12@OI>`6c~w!kLU%*>U%vbW8aa&{1WrZVOiBT)q~+33G+}ZC$5wtSMCZ%IFwjg}bX~v4trL zshZX{r$gLl^|d8co~S-5eB99ZXaeMA((nRQ9Uug9yA{^;^J?Oir2k|jXI*$;3Mss@Gx_ioI6Hrwj#C51ieS>!9&R_*7_+q7lY z8jY;I8#&=mH*cV@l%CqUrQ2sqx0{tMiN9L)`XFa0%1!rCkHi6*mD9QI$(eBThvg>^ z%5A!nQM6?$Zr!ZEZp?9x>>lmq2RS)n@ol^G?^}>Y^+Y#&094J+82abFx?fLecHVnx z?Xpg{^8m+lAcDLIOJhZw9O1rF9J7T{untkULL)A~tOd&eNh$@mQPR?ik+mIw^<}ws z&}tixddYpuwxw1KdD6|Tk2*ZyXBNjTnHGtPN4MzBnk2RAS`DSqaq~$y0NZ*I>dR_2 zh~1Z|53z2`hMJAwDeY@P7A+vEfm%4HIvptHZjovQjZ7*~1k^ifVnb`9 z4&|>vY%1BZr96-NS$ZO~JELZFJZqzcQKJKvjj5=ei!u5(#i|@cCa%YhlyS_*+j8ZK zxgh&$KJ~-xv&)sF!<|~(W6nTvIim=&n;VO5!X$LG#X`>fk)U?T-8K=b&J~>D?K@Vr zbVK?~Pj^^|ci-4G78yzF3^Y6Mx?4INHdHanx^bv+3NQ0e@f44)+F78eCKtJ#H0Vi%x*!!+@G?TehfJznLtCa9EAO)@-l>Ytyt_e;wfdV4NM7e z0LwL8Xo4Fht9>~Y>Ya4L^3`+PZNAkDfAJ9Tf=o*mEt8?-C|dzSBrRwIVtZ0-y$Cxg zcNrGU-He%wS|?8JXr=SB>Z7275@~`n2E0DVSv+n+pwvc^(pfgD<8;3tqXhI zCn6>YzmxCU>z1)Ki$vMLs326E;p&)>2rrueVGj7N_lpYW0cQXUi$yNsidG`Q6Rwz% zr3-&R_Ts#VgR`8rW>O5f0Onu=5EceHVz4MohMEZ0;@Q&>3v%s%EQb0muE+uV?>&@J zU76Nk|5Ewav3B{A&jHln|I845T?=b3p4AW~-u;zMod6=*y6K?sg^KHv5$m4b?cE5R zVsd~yMm-Ww}z zbEImj(6`*WL|N$z5&&S4leO}uYcy(!rf6HyI^3;@i;Ws_S zWwrgEBfDuOeUZVlzV9QU=I~J8anSty5ws*%qPF1LhYH#8kD`iNB>zjRGOPlJnpY7i z64QaVW`(}F*5M0#@>fuuF3og@f*`)VWp*sW_ZF>N$jBqrxI@4YnDJS9wyg7Mg*Fwj zx}eHL_)5G~C2=kE(ADga?|Dp)y7T2jSv!)umAN(KwbB-GR><6wCSKBFA-nu5U^v_5 zfg9Yte};zdzbqt1j9?n7J1VR*SmVoxK(?;7uX(6$_Cr5z&|5L@dot99mokb+2b8>sVpiCwf zG9sNdFOYT;%`vDefcb&R=vI3}eCMexdU`uHf2v7wT@dY;Vup!G97Bz#nX_lrfAA)Yo7YnJi_e{x-E(p{BhMz3&Fd6 z5L6Mi2IgNO3wxs7H7(ZUw^TLHc;j?7C9Z?|T|rvEui+{Jmj4Lqq4p}hh=rfrCz0-5 zY|ZIcvDOsVyOVlqRddfJG=wWlKuH*gy*P)F6uh?)J-IefZK$+)&?NT^8TGu&rMO@W zbI`N$*qnoG%IBF}rne@2()j1=tC8r)=j4GsM(d7UI@SNcpG=qoJ4|?T7m{XLKNX z{0ji*9CRG@#~sA@Mz3KjgRXHdMa+fBc&X}1l4H_^;|aFjfE_o&_1?)1-j5uuVl2{H zLW)rA+oU(IwDcR*749mr!-aKjqa<75nw7p3y(@f2oMXiHFB^l#Or~*Z?;&UM6{rod zLPQ~{HmW(Z#`{dp{Y_Rm-^F(==pkluUv&?;0|c8W;JH$-{^X})Qg0AAIIpx(1iplL zCj#S#O+EDNI)K3*6^>%3TBirMVl0&%c&ZN##bJqc8bszvz2cI$ZM20;J{1~-#Ryb* zMFiw3JTho3Dm+7KnmmoP|Elp%T>5MuzA+FQRw#{KO-^r9df3ibR{s^D4O_wmD zL4=kFoQ3}^N=>0$3icY<3TgkhARR`gy_>vEMku%0l~L#r=-8p;UOr{$ zKvBZ_0v*04M6&gdajZW{!O#|`vUOO((~OVTDx47Cu}&j$K!RL@F&YZRk!V6V<{w_g z4+8BEBhqEVFJOMAknnD8U$8$m0-IM1VbHN8--lMjG~#JEgw>kD;{#~?kIy6@2U%#U z7J6W=Be`%DFJOhgs32t{JonW>JhKz24M8?#W**KOaiOT15)MwR#T}@Q3UQ>_eGGiz z8et*008W^1XtXUz4MV<&Q6Kc>jyTt29irI&GSNUdCwW~#pPE$*P1?)a?A#K9u{esS zeyq;~OuaQN6)llDxUB+(V0AgH9}kACm;*?pzs5?bF{ZmpcuS@nL@x1+g4sKVs>od` zw6H2i$|Xp{aU=atV;JlgjVA}6B#U*&M^A(17a^OxV8R_x;Z|zPhrW^^2F6aZ|CY6+Z-F2n%7JH+(Quy3bQrMo% znJBH`G|G>L!zPP1yK3i2u~)330z@mw^<-vmA&Fu^gQ+nQB(#ImWHKNUvJFe+KWD_LH|lT`5fMda=9Lijwv5jr`by@`=e&+ZRSz_o;jSWx z_*1AKJFRhApVH6=`)a!MPtkFlEs}K^|lUu}3HHxJ0&2waIgRY<&h~T|M+g$c? zi#*N+I;iK5AQH2=?qpj9&o|?%xX?z+ z5-xK#i!WU0FRK@f5+x`S4^^Aw6d8Geci+PhNou3ZYO&GMC#aN5>7B8m zA1mb*vBy@%I<`29*x`=x+KPM!AzE^ZZ3{od2aQN$OW$I{&3VWiR;!`KJRDLwH1!M- z(5v+hE7;?dw?980_&Pj#HB0e+VfeZZhZbBiS{#sBhwcTb{%#os_-mz{Yj(707?n`| z+h>>6bOzKK^)(nJm3zfULD!8`Z+Mx9)FvE%moFT#d^6Hq#>#m#@ublFoa<dVJCoJNHGt5*_6V=X|<6is$cWdf}!t69VQ zO^w!?o;%u{G_&HPQ{C1fa0ztpQjV5k?!O#ZDxhfe?BZ;TSIPPWk8Pgb*l^302HK%% z_@3URfpyTcP^($qGm>K&4W-L?TH!m^x!E=Ha)g?)HLra%H+AbcdSC#wfy>g`rl`)n z{d;bpPRauD7Qw=%f~M z8T#PW*6cO4DY;+*K}S56e4jc<+Eg>hk?sSV3VndHCTpcKI#y?S_BnjuF8*o8pwo`Nbi2G1(5T7fv}h!)WGP(}nhmm`!9Y zRys|IMhbqwS~qcW4#I*imUrwIwl4 zfG8p{mk$aebU6oLXmt07w(AbxpFoRkArOEJQa!6Ze7CZ;ATYgeK=+2QU{VJFZ)>#0 zZeKc2eWRT@LgaaY9~B=ByEUmA2I2j3k)Yb`Lsz4*OD#RFbv~4+D2}x;v;;WKjA9^g zfF={8I9($$&xA4nI@Uqk{@in~Nz-C^j@u~-iQ(ssB_cF=@}S#gh1#IOhPJ8|OjvZ- zLdv69bv%&|qFl8$+{IO@hiNzwdcDjAJ0JMuE7c1metT6sp~P9-rIqtay5BQUJw;TA zPw(ZZ+M#EnFKV7huT_o4HpQMb`M4sq6v`7fVhsKnkY!9O<6=wfTFmiA75Xyb!zi&3 zD}zh=k7A|y1y%3*8jMyKMY?g=qb{6wVX{%=(aI+tQ43BGz5ArOwB#hx%bZt|tYo~F zHe#|J09ZSN-@wu#zQBiR;uUO~o%y)%A#3myy8VLdbURPg91%V|1yaF>473WR$yF>h zQo>W%_YU~Cm&$PYYOB?Gejr`fm)%#F;*YukT$z^^6ZIieVj7zc6{nOjCHRoVmLCVl z9#98bKA}VMN6mc<199QQE~QWGj$ETr)t4J{0tU>37!U^L1$_@@r{Pcm)ojT%P&UP= zjieNNPBz|x!EtkK{Mt@N{JaDlukY*FR%b4!sM^?nIMZ$9-oL-Gs~c+}6J{Esz3V8K z1*@0!-f@-Nw${MbQ?Jx404VIb>@tH9E?t&ER=7(j^A}0T9?`P)SqncqxCc-3v9shM zXYdrb3lZI`;3Rg~WhPtu``7qIVK&;D{H!HmWY|i>J%p%q*EHs)z@VoD3`^@ysIlWr zqNznyEKOtxehI*yH#uM>$nJy_mb~(zol|lj<;F*_hYylB2B42EL5`MM%6Nq|q{XuI za;J2+uVL**`dxT*%qp9izBsK-55dA423$~K%d%w^N^LmcDsF2`{{ij&j#te+ZBM>e z3n7wcQ|lH74S!C#shM2V+7;7!`p619`?(5^J0Wje`1J{vO}y$YIS6;xWaIX>Um*iX zC*_lbw(WtGH)Pd1Y(Z|FNKgFuRMAS@PP|)rLd>UVhX2Yp5FgJ(=m8D?p8_3D5}#+< zA{GzW=SYS81s7#VMvp|#@A94hra+E27b$1yz%L8=p8wMzR%XxBz#mf7-c+;w`g^Q4 z5SGV;wm#pevfW`F5OU_Gif8_Ll2e$7;10V*(^`(3NyvCG4d3a@qYXsxH09BX_qvNd zLQUb*c}ja+p^&zIMcVo5`C4-5vAEdWQRH2wvYg*>$hq#PQ~c~$6&&lvsou1*$RX0h zcn~xpLR`CDe>|>f+LWV zDs|9yCcIwu^_CNNz<++wfbmzv0phQV{4%TB{}LPZDZ(4Ig;N|VN}h76-oI+VY!uRb zhfDkGu_FL`KNP-Xf2rasdTf=eUwwxE9p&^2_7&_Nai|p0PoHs&{~RG>1aphE2sKB+ zx2>?+*uD`nsgMD0U(NC#@GQM}x(eOIR-94AM zNaKy{XBD#dA{+j^+bi8+w0}sE#~#buV8brL%ZSmxTE^ozeu%Fur5+aR9MvNKgnN#t zrW<#$7w9*QcWjtXs+89E$?=&mCj>#!onQk3~)7_7WG-tWg3TU(0x!$euZ?3lYhIP;OIv#gp% zNvBeL@tVyRP*7&4*aZkq(8;F7mi8*yJ*jQkNgq*XSm3=`zLB<)KeQWe%1+uNSu0vO zIT;UgIFOl1N%2sg4JI`KNrwGbH(00e)dqN9X}( z>w;JIi-FS`+Nf{Uynd?+v2<7hm8yB1qk~<#;LuzV2wgTGipec>9n!Co)bs&}wh1L5T;t{7H7vFXuQ0W{Uhy+Z4@0jcrZt*-j;x-lHU01 zcuXG0z`$F9c68V^V~CNZt~sYbgVkh;J9K2hPz6@`i`avDJI_@aCL z9uUP!L9uY1N`BiU{q_QTUwo&q_t>R2o)0_`IL#A_C^_sNbJ(MvqW?a5PY0fQSPcS3 zO51RhqxLct1OACe!c`4E@>3|m7OGB{o(!b0W9SxInvu|}be}1TpVBp}w5++m80|eS z8{QGSLDTOJNaWP?LuKSHdz5;+hm0f;aDCW0{lL-l-GCdXQ|e;mEBL)opUO~|kLn&V zr1ypO2ToYb64n6cvAFcIKu;D(bUfUihd{wo&TsS&iy5=APLgUTGExW=d~g~m^*&Wq z*mj2fn)|yfDe)UAHAUwd<5C@jrDMfa^Bs&phmGoBDVXm>A{n1NaGFjAW-LSbLV+zs$g(bQ-s7YTPZWv&?>>kTu)DK|A(drx zRv)$&(o`js5QF0?a~GCp%wYlL@d?xr4aHIStQDVfC|p+7r7S89Oj@m^sfH<9+&iZR z8^h~Fh+v3O5fG!&9_^#cp3=+DB3QFQt|`_|ck$DT#C(TwuEN@XnU^7jRdNH!d${$hCz z@}Fyx4PIF1!kxjjZdBCDg89fsVNO595o6ONV)hHi)E+VzcTT%9;3(hxaup1%b6S+9 zM4y@C6L8Kof_VQPo&`NUe5=kiYMwL0z{qg23j}9i>HNc}9NO*#1S`fUX%WrbcT2Q4 zqDPN}2=zRLEM}DuEl^0ca$SU+^TbTU0?4p9PS5ANFF!c5Hma>E^bPOe9iGoA-LYW- zSPcqX{x!m7ru+r6xvgEt6-MT~<5k>dODDS-B?ywR2|FxL1@4QUc2Ek8IW+cF%;JMae{r2c56XTlK@ zsId)zt7V8gavOg4SP6F%6o)A9IM6EY8xm~FjiITdl#;v#dclFi_&^;05Rviopy~Dr zO5RD6G}x+^I-Aig>G`_R>sME^{Jqc2Tk}QJ%@g(9-`J1erEcTzzJC!ax z1)HOmFJTubP@`(xMCD7oi)G3vlHNr-w($)A4Q*SnK|SD#-2^7kTziYg+lF;>KM1zO z`3}_4^Uj6ck;nZQTW6O$1=b<0Q_NKPj8Xb}viX%g4EWR~KEludF=%J_wN+I{eUDUT z3jN}C#BQhe=h9=>u{Kd(=`8_FOL#gEyy1(?&V+>2xC&VFL)h*(hfm=RqoyMHF!Z?m zOAu|ya3oWD=HkTnTOqy|p*HhRaO_zjzW8E$ZT!UmIP;oOq%iugIi~EV%@9(uX7i1W z@x0?b;i3IkN&9eUZ7-3_i!XlXtB|Y9!Eov39hbM>6vq^97zKVtQp<=z9hbH+`@`Zk zJ|S4WDzCx-w&$#}8U(N|?Pz)?7GF^$*0$Nb$AradEduZ>KxrSx2EV)vimAsVWgT_Z zK9%2Te6`yOs<>rNkDCCQz_PUc&YbR1c5+7m9lDG&t4PD0I;4rq)O;}OMhxN9FtoZd z!7C`E70d&w;+ecYfmuVg1G4FP*ld8pJtVIGw@EFut!)UX=0S7EB6i2)jYWlEp{0X zUnyFp{*3j@rhuJ_1}P+&_^*+fPY2FFMMe9%E04->LNWr_TXrJbG`wP{(pHD1*A@7_ z>>p*47IzC+U~`dmZCRm%&s7$BZ(hPnNysa5$=gq* z7Etx2U?IF7bdobLdCXGF!=Y4y`##0OT|8#R<)*($sS-40GB`H14yD1emw=~|7&Hl+ zI@Gggz&iHrRvnulXqzz7JDoO*_N?uMMo{=}XR-P9!k7)WtGNwDf z>Rw+w<5bkpDc~=$G>wa6ezsV`d$PUx>Oj`b`lj@hQpoIUD6hBV+Bn&SxoOBEqJR-RHV85Wl^P5D1Q_Yp;JaYL_EHorYa!--7`mpi>jPs8>@yG zO?;+MN=7SqTjIaRW{>8taxrUE#N{6o@eD>N_%?| zbr560*j?A@HUmQVv^l;ZXhLWp!7iTTdET*Lrsz8;q50(R`eW-ue+q$i{&O@aV1~=Y zQ3|TR6^a&^gvt@XUiVhgcWD14lG_VyIR?QXunUq4a@Ex(b5yEDEtac6l%K|^Jw5|V#^{^up2 zXTAIHd*^%ap7+l^^WN`!R^*MgH`d~RDtEKty2T?ot+IXHltwVUQi!?Y_h#=#3hb=; z?$lOxDOoeA)sWM3|4@0Li3!`dI+h-w{6no9vskCzC3w`dMX6q&W2eeC7vVn-%X2LX zjv$b`3{@Xjw!Pfy^=pvtqqaTdj2elJzQh8k6^ZB&ON%8}Z?PGkIxw$y4~r`)Z1D<1 zVumdTz+UW{GR6A&NImlM-yYfQyq9tY4lsX5BGD^Gi4~{f$KQH=3Gu_MT@s7lxpX3e zeSD*7F2tKo&%E{MD*-<#%qFD)KdJRaC5RMw2*pSfAu%MDl^uzu5NMPUaGH~7JU~|M z`|q^O{sZq^ImU<_W(e2515&aYzIcn(LcGN@gv221BGYPIi(tH3KaNZS}bJHVv2g#8}u(VK+2fR|RUFdS7 zC=nXTO6*auvh)$x*~-JZmCCs{!*9`5hq*GO8MEor-x` z%i>IYKE?$Wyq9>o^P1Y;@=@f4=Plyf&P!{4;s*fTSnXJ`92Rd?&XDlZC>#oxH8@bD z2|}~`!p>5@jP`yyj=DG?^1OMnH%DM+<2C4$3)uE-TlXlSZ(KKS1W3Ek&ws78kx+NM zTmCg-+AAlw)+}{Pk4j>%bX)50z6`x4S{q;Q5*LOU6g(k{RQsImD5u?e8jX&|mvz2t z2Pb}S(lZ44RkylsoJ@ou!?-u|140ZwklaZtR-!ydRIoXw^SzPI7t$J>K($Gz>jD_b z(FTU;aX!YX^Qp)2FEIs9yfB9Jf-m+wo5>$z%e-6cc;u4YAm_Ceef+d_U+N0K)O405 zU!eL_Nnu_t_}Xur{2PP`7AhoFK3!G4TUi*smz#C&okROjstRK#PS44KjM*J-e$(S8 zR{PJOqv5_PpbSd_sw{`S1?g%pu+Omu+WQ5zMVBJB^B^s}ks`xciW&E@1Z6?D{-&J- zFJdivz;{`-hxA_cfi#glIZVOgFnGDywIj{q*Jjd>x%0CMu#{d=iK3P4+p2zJfz?lCWD&_Eo1*L3f(sl>5FR&pRjyOeIkf^MQD--w6 zT;TJZm_DJay534P+NFn_-=?W7DxA{KhfX`Ycs(jg$4jGgp2ZhRfzwlRo}Qh$e<)rC zNF(Fp%eIOBA$#Cbtwz33LXQuMz6$!=^(fObM!zJoQrRwVaF38s@S|8xbW59w()aIj z$z9=|o=QH@|2=7ZViLPtjc8va0#;=vZ3EV>{Uv=_+6Y{($sU9#?iwimzo5w@lR(96KY=!iz9uZ6j(BvdrussE?Id*MY(H78FiPPv3X6} zIGkB|kAsxV+BndM=@2=KM-5h9V$!>%3Ft5$wdAZEri#(VnPuh@4pMf}#QMjD15-@C zLxH7}%E6^xZGYklynYX}g3%Nn|>b^ld78bl( zda+s;s8|91(*Xc0_(wrDBKA}mC2Gjru?{I-`K_|?I&z?N3k_Hbj{+6n#xPTOykay) zw{m-RH}JKw-{qN;8Mi6jZSRRMW9fs2+#`2D={rlmP?c9ve+SMik8n-BIs`|5^#%BU z>e5{f>7k(mCu7XdOQQc1vwt+B9gS~k1Rq&NmXa$5t~cx=Xfz)YUvc&HWxbwCyElrF z-5=H`ZE95-Dy>_u&WDme(J(a55VYvil6E#@PF>Uu6$-$(N2)E!{BeY#Wo1+-LBEFt z{4w3tc+(=Lj2BHpw(71<#bx%6CRSB=(`Y`I8a>q0vuE%GO@R}nBNYYIEIvHqMn(}(MG>B(VtuY=lo+>V6|>+@N02TGgGIOX8EEF zHRTbwgY7G*q_*|QX2j&S=cc}YGsob2Ot3x-d}M3lJeY@dAls8rQq+>)6e+3m()w|d zm(c!{UIeyE&!Y8YYdoUwloPm09G+fY$;~0ZGK34{REtBxfv0OOox{W;+Kb%hA{CS! z!zPW9t|dTM25@jmTJ;qY_qA5>f_qK?DA(Gyw*3~HNCkM#H@_aF_8Xw1g@l|KCy|z`PWJrJ6L}_s(awoxs;*GOWKYN zoU$$ro{>hg-zI!+*QfG<%_aU?T45M0!kdq2WZK+&iPR09Et{chIy$-I9{6z=_+9sA z<>OO{BG1a{sXt7}q9uo_@dcQ4MTfpDjaM~$=>(!LyvtL%2zdY%)4EFDF|!BpH@sN2 z8&=`Ybndbi&#;C-_;ur3*lQnub62Q7aVxG@Gl1TmVNL@$=-fzWss1s9xy@1W{0PUk zrp)vrgf>*h_K&xtvh_quPvI*Wc>COc3uLmn>s&29KFYd{thk1!EY}R$Hr|{11R3on zv1H?ytm`e&t=o{mpqopX}zvag;aw4!4Vi-cXx$aD0$s18|HaGx-XW?8M|?N{Ep_vA-umc_~1 zgdWcLDndDbt zI`byt3-Pq{#@2311_6;+AS=Yl=MV1?#$hF~2ZIWdo)&``Z?kT6N6d-}M$>Lij8}i4XhFg_i@eEFF|W6Q5+4>o z7WDxWCdSE6oFKFm%hLJrg$GQf+JA7`fi}Os-~6&dM7D1IFvi>{;#xy&_QfM;#-<&k z=vhU!Yb06@1V?Ds-v=8^r}qN2dPz8rM@W|}wKwkRV()V!6Nnked{4&P^qI!pL3opk z?smsirls1wL<^CeO{Kv?lPYh<1VFY|ssf0$?P6%x_OSdmZMcHW+c>sEOSA1~+Vv>- z{rKVg&d_ldgd;X)dqcF)Ji6F+O&g{`iDX_rzniV zmrN`u7HGqocBR9G0{8O(TSjfkPwq?Tl1qNTawEYJ)jrs`n>~<-_edF&zmDF+V>YL6 zRiNSLa`xrZRE~`&wK@b&=335Z@-v}O^u3^K&LD3*LJnyQcjNd)^GIHEYVZ0XUJ%vS z=ieiG;t)o+jx<^H#2rGyLX`f*qc2BPT%;J{)wE+(){+RLSzx5vZ4cj(* zT9rs*Q-O9O>Pgut;r46&tbLo|bhd3IFaP#z^ei2l+aG53fBf0B#j>OABUp2=c6;V$ z*>ooM>j~kOSqtQKR6}J)V~a@eRezfI)Pla_l-S0~iZ>ScBu=^{ai2=Ye83cCX&k3F z8PvdT6-B@QaQ3|{KmJIjfAcb7l?2LV^Mi-~?=MuL;`b@AjY&ibfA2LL6chsT&i`Fv zmMXvZimSXuC7AX;PFqV%5NcFdr4=O`Sqh)ThWxkdpU@!vYxyLiuSF`-u$$X^WoW(k zWuV{4Ramvv7oLe4`niGP{8-bg{6*nF8Gl#R7l@DwuNqzwLZh`Eiy=Jmpi7feD`P$E z>a_iw+7D*Z#-X71q!F)xM~K(zj&qYd4^P%7Lp7k^uHl$^iZs$s)?Rx@pSZj9{jbNq z7XHc%lWFbZ#yT&OZIgi;a#6441+*w}S_&T83?H6xOGaQ6JSl^5cbxdxzhDr|J4|%Oh`F4&=bBRG` zte?Q2x(hfWH(mk`a;A&4QfWH`B+815Ykp-6sp{EbQQB`)xrfDNS8s|M;XieE0Xszu z_nSg!8*6(Cp$$#!lHQ40-@vcZj#lJ2z_GCo??k^D_!s}7Xz|NgWs&*jV7b29MEtPl zXm_hkh_F(I+&2~^qQnmofJ`&n*{ahsK0nS+;D_|GtGLCWt8=~4yzL|JRvSaw!D+de zTBh~AZz{n}E%KjBOCL)PDEHJb_v_Ts%~r?K&(4iQN$so8h0Oxy@~uV9>uzVjj?y4X zsqUuSNncmRSTM;;YP&M1Kp-MMA>)Huz1si=#I4Q+X{Dw%&b;#XM~NDc_F*|@;{_!U zE*U?(-Bqb6oJ6*LoJjZe;TANR3V*EhlWHl(|B3I=e1Oauuz71LLHG1;&H6{vFGS2 zLn@&QbqIX2A;L-FB*&hWQXi{!avAjqd=7yPGNd-j5YZ?@-U1wU5={F?2_{=duT-B} zp*(j)FI5MLzYm7<%Tl3DI?`_Qbm=+B6G0<)~+7J zH>RRq(aj_*s`ccBw^5Dm`zK(i8cI$>9!X{%UpqG207hOoh1rLK)9$<3ByaY_RdzA5 zH_@fyw&4i$;QJ(w69kS9@DaO7y1+*7V|CF+@5>Jb8?kEauQPSgM&?lPQM&#bggy@I zqK)6)%LN<06-aV>u8KEsEU;0!!BQT(b_{?eh6T6D>@peh8q2!{UL&TKl(!r z9?$M(e|b=`PU5c70cYzqFTSL8V%E!AfxlkJXie#5 zYru(p*wdBRNuIRds{lI);p&zMNk29Kd064*mU^-#?(hS#z%QbiYHWT0c2UFl^?gvf zb_3PKW>%r*16t+z^z^2Y*%rv1{5D0+lA9w%5B%(jkMpuE_A&B?y)BWlzz;Lh*&c=f zd9IeotH2L8(%BjO0P~$Kkx8*Fkvr1a9k$1zvKiuiK4^$ z_Jf(Gc+NxPM7r zOXhp-Y0bZmTNJb*>0`Th6ZuaF`4Z$YJ(hjC@MzlI9fvEp*ARMqhb{EMyzR*>dVc6w z4?ArZG_6v8=tIJ(vf!|kqOQ_O4ukz7cKVhxWkNvTm>EK!Q+e?LnMPdh_P16l;VpZN zJp&o?sBfYu327ckW-NI^UxR%A>`{r=T^1K{0BXE)G`WeT63mejk?dM@n7)WhQA zB_Y7La&1P~uFH4>L})D;LH-}32vg23xq!Jpeg}9{A~{CB8hiI9t{QrTUr`q;BS>ie zQI75R1-17jyuoJl-MGibInInx)8n?vGBa3mLyyI%Kb~>&3XjuZkBbQ7;+%iawNQRv z1b@hJ`k2QbyHtGc2>rpw|A^7ICcp zSS0!w_>2wgrK*2>lXt3e9@?ZC9+3r|iT01!e3RBxiKY&v^wb}zK!?9neg4}3eyYa< zuH}mKyOU>CB=_)1Ggdep94oE?`TI^%!oEM5YclZ++H`X*Q-=)9Qo2SR+a$QCl@v6^ z5he1RviSd>6yhJvJ@s5W@{*60Cb`&P zIt)*4cHSoroG?L&tTv@{SWkp`Z&?H_vDWK8FKtNdW%d#B9WwL~+!a+wUZAzmb!r?T zRD7w4Jof77m6=H8Gy4O`=Q1R7sk*wdaxd>j4bmA*BothWLC3{CL8~^ZK>W!4btPdG zOsK^J^w-y5dopS^nw8Z(O5|596m?@oPnSw=@UYyxx$xaJi82>++0`x@3Y^nqD>9&@ zK%mpzB$DOH@9JYl=0-Lchg7ILw>iy9>1E4lM$f$+kqOFzv8NSI0^JZ?vVnIt2gCAG z2gB|Q4~9dtiViJiE>20|V@B)svN%DbxtBdnl2=#BSxUJ#o<%w(3Vbpt&D3|%9aQD1 zsgS80hZsbX^oXYvBK}9i1+V-uS}66PEC^|>gXgcX+dz5H(yeMhW-)sVuJl84f4G(zO0AZ zaoJKGIH2uG$8K|@@b8C+8?qsjsto+c8BTn^6hY^d58bJW=X0frpr-$@C#$GCu2*9` zzXCpT5ip>Rn`ooD$s)%3)YueBh<9BzP4J|yBmEG58`>iJH4FIF@k9?^;a-#~1HvIN zu%7w?2oCGjJx)UJ+E-OAn>L>sla_5U9(lNPo_dw%)S2n|_Q%*6k{7H{Tl0%~KOc-6 zkiXubzXH6VFE?Lcbyn8l&Z^rVX9AI*q3s=23pprnR41zEMtk74;S_)V$t(p@%Azaq z0b9mpNz=grvDfjh&d%3F8My|_mM?6;f_DTGh=OE~mPH_wL=njZ>@Y%N51?6h%3AeL z>J{`+bx&K#MzE?Bo8|vPtjP5ptnjCtR+%RU-Q>2_y1vt+>@enF+HFYNZ(8CTStotk zy~r%lu%Sva?H}8D+#ZGCB6Q?_Dh%)$NgJFizdwAuXEo1|fZ@G$0>o?A;}Ngl=ep}_ z0I0&*&ALC@+dTg!wmk&VP@a;J&_oxMW2d*Cp;Dq3hGF`JQYII&>2d<{(11ZNrYXOe zk)&Qy82Wxh--0OecMUsd(pc!C2)o6}TP%KXs^5KWdg`TZQuGbrYx*`zA4wji7*<-A zHAkA`f%lus^$&a8dzJa~`Y#@vC8mR}Bt~W__YO;=vCidJAbOe^$gxjUr5evbI!dcj z%?HA&J>Qr;4OSJ5ToOO7Be*(Vz@kZmm#Kr`>Jy+sQh|Hl z&sF0_Se&|fCFM~7uW!EU<33*ma~x;IMr$IqN;&~GB?W*--El-xD+)4Abf!sr)JpQx z_g~%ni`z*RmyDofu+`Et%O0<+vV9~)R+1}H-Qg05$ty%syI5KQ@<`YBuNz*YUqjys zUNO7OZJa(T=}TenMm#aLXY%c^e7g)EEKSgU>=}aZaC?egKIF0RSv=`8u zhugY0-Oq~{BHL~gmxx%gq#aG7`bi2)uBk^jqC;XSPJk1)D18 zCjO*IH}wf`?;idvWo)T&@2dG3k+BK9p9*}|+$Z^#tZYgbb7ui6cLv)Asu^>_Wi#w3 z_wNcnOM_=x4wkHI>Xl0#8btR85co3Ona1IcU3A+fW| z3f&VZUgM(VJA*LXslt88XyYr_4Hi9}Pbn~O?L4sn7HHKYHBHpOlaWX)IZ_q{M!GkK z)ZI>Ss`yyZhP)crjx{$UratiPej$`}<5?$i+Vt6D>u0#isqgSsmc8p3#i9AbNw_rb zeM@kBtsfWpU3n{zZF^f}Gxncxhox7Fy$9V|YlBv~^(>o~Xy$caW@`H!)J1^cU{=FA zz7@p>UCEb9?>_jVRYLUP$cE&brMxgAbcqgSS_i>8Mx z`lYP->yOJLlD~O-a|4bcA&Llo{L`C*$vLuqm9pn1dAKQy`wElo$W7obLz#18TBoV9 z#}nqH5FTz#=Kj&g<3B4J#%cGR5ZM0%=_z6bgise7_YO(rKy=cp@2b*va7RvF{^QMa z%Je}dxAdvY(55>PqIX9An{tu-Ub@+CrIyPTHIIm=Ko~#n%q%XQ>vAVu*>cE#pEUc@ zZQz%8J4QUiI)N7_7!bivE~oJZQ86Bq)-{C2-M#VPCKv-Ez%$&_>MvX|>9y@oIGLXq z7kOGN^5ioH_Jy%00&uvpIzN~a;zqVczgSiY;rz_oUeb;rjD`t!kAhvtHa`}0sG5Y= zETU9q#H?+&j{8heaz}?aoae?!Nb!rv)g=llawkFQ8kP)8LL38Yk5jon_pO9xmmND*o>S%a-7`ms)

raQ3?yCnVW@PjYNeSn5dxwU@DD2;R!+2qa%>g!x3L zKGlV(J0S>#IOyl}{t9=Ju7rA>k92xYtzIvtf2CkzOGkxu67y(8aOwA~ z2Uf^7vTt~|A7xxbc8%l^A6Bi{6qOdV2wGSKIpRITL7`s>%_5l>Ut)R_r26 zqjp%Oh*jEghX(AI6qas{G3XQwWG~SM}=olMgLVj@!zjXh_ zl{fMp$$oS5iCn*a*yutH&jiIFRSu%TM|R;#<%(_Ea7@)@bpc3j$aL#cU_{2x80F-N zvEF!ue5xPrr9^@-a%)Z6y(^JEYWvkRrD;rmTYC2lmU(&>t_NvjByD6+x)dd`LLR{JA2AZ8iNv_t)OAr&5E~JB*GS4Tgn=3>^T#uUM{(J?X0V z^;Ol?)qBe1IszM@^%}kVeD-@hmhyc-rtbUjf=H)MzOEj$uG4Uk%F+$i*g4gi`@dx{ z+k~A3{p>l1(h2YrpuR`?@Hl@`c!c}a^>%vlGT@;}l}_66gU(o zZdjE2G@nnoD=KNY2D58PfMUH4RNlxcPYOX{&Mi{Cs9^7;L3(uV4qG~)e5tFjO7p6f zi0<@wA!=0$^COtCvK04?^I(h6sw_b$Aivk(h|xzh>vIn*ottBVCrunkv*V;VWVcP~ z;pxj>xL$ELPR#84u*-9YH*^j4gm3Pjk(iA^!Sl+j8Bt~U?-AOLkFpD6wgD2jjGT&o z_;99Ce24ENP4y#`_lDN_=ij^2@7pN*_6MKP;XTxFuYCLsU2TKHbsm30(}CC+&Xv%R z!9H2v|2|SI#(1&GovGz(Kx7=SLH!5X+ldB(`TlE=<`(EGMRsVYB;0!?8|CyInS+;~ z&~lC6h#dre;y2`L*oft!@t7;j5hL>ke6+m>DL34QXJ@?ulH#n8D8J?Z#6B)9)0jSB z^BkI0-;Iz^wb@6$vFibpn#^Q%9rSqQDJczaP-fSoOY+Ozl~_(VPvy@$S{$_ z%5EmH)^nHfrL5-*-f1@zcIg{;tTbmPV} z@82=CL7wC_5xW1;xG$y_XZn@L0FUSy8(rKAurwh6Ss`jA_LD*WZF#!^ziX&vP1TRM z7bfQo3D(@#X623A00W$xhaFc?;Z2?+!fVqdg$7`2^BFV*71ayjJ*8Y!h!05fe&zn5 z3t9=1Y;*k7(YKo;&uv>|oJ}(EtY+WPFog6y{G(MXLO!<0@8+B*S_o1f&`O%*Na`I0 zL@@??J>#c~2k@-OA?CuYC~BX+W(7=DS^aLQN8@HAhG<#~XQEIn{BW}!3R0DPiKQl? zgF$qn>iJE{a<~QLk$G0L3bgUNlRh|#;t=ruTGx|qO`A|C*C5b;?wqJ%Jhh|CM1LyV zXs7zqAM4JUA4Z+$lNRWb)Ox5RS+6P$pMGGKi5lHv2a`msM4PkZjxN-C=soI;$G%lc z*|Q}pC?NUz;`4)()|>d!9y)mfGh7Vu{7UTCHg`4k_<2EYY}qda?|7YqTXWAoh*L{Y zYaEpbNHw`~_N0vani)%-l~OwhBoYS<%Y>CNVhlI6&3$@3nsgf7&!$M$!8YsHTpq>k zk2tOp{_ip|L@gp(2CtA*K=r1x(v8ylj~VsRxB9rzk4|t>*b3D4k_`txX2@sZqausx zzMm*!l*I~=g$XM@+6GQA$1AdNgJ(b6%O-1UdO4fL?#&xkdcS3qP55VuOsv$Idb#B{ z=q9&%x3ykq)$1P5z^3?M&_!15`6Q5PN0K@L(i@1tzI zD1S_>q*#AT2}@Tdwf@RjWl^bGh6p}ikFw1~M!uR>4FsU99Plz^?Fyu&berZB^|zv= zAjYb%JH%`AQmMF=PMMTDsR$|m6`O^Nt&MZHQljJU#%6ctgr;FUp~*P16>!c;y*0&| zQKDiX^!L^Y5v@jn87(4OcB4S4kGmQZEE+eAmRL<2)3p=7d8sAhU)UCOv=wW1IkDw;uk}+ zQ5Mh~=StF~IR|5)3y?J>%uVD3FwGSPKghY((DoS5GE02KfZWVS~LigO#OO zn#ik4GZR|O!!s~i%_}9)h*UeKZc1{?BYOE#UuJF%=F%%f=^a*p38*`mkAKK9sjJ3> zk8@|C3kx#T|+2MQ^!-O$Rk=cDt&{H9@#1+th14V9*q^*hDQPWDWV<7CCa-G&{wjS|Xg|nkgsOPxk95avbd+DJ=A|4Wk-) z(fKzTBUiXIv%|BC2%Cvyb{EgwOHi4kr8~m=NAa17{LI^l50bU`l!~{K_bp+?3EEd~ zM{}`wzc&LW8ia2|Yyz(?m)NoQB&AJ+QUs@Q!{b))28zmIAg}%?>>-}KK2r!RlrPcz zX$%o|OCj;-{i2;6w-L=KWMtuRa{daHll(>SB3>SB@=F$i-4w*BQYQ&?y!>6dWenJo zm;$-O3hIn9ZZO#B-yuL}@)QPmYU+t|f(=0^PomP)p{+!O8S;G_9`AFu6K7f9SgVOX zbxXNm3F*!GAO_}N8{!k)+DH)!!*BgJfuJN$-)g3%{pe4wkg|41JyE!|%9I&8!PH#jp#XFkbA~m1YdXz`{71zG& zi1pXCU}C6r$;>TzQz`!5u}=D+Iwvr+PC!3Lpbl-!E&*VkM?f6Ym|n?OLeda2=f!9j zZ;juo1WlDrpdR&5GYZkL-y61649qF@O?u@(&O*A%CNw>ob&+NLGLCL$uk900{gi;)wK&mu9kK=CU85J zmDwhcHAPXSD>;hnmMGo-&USdUcT>7PDng*TXm02SR3GhbR!`HP2-IwO26>!=`)-a~ z#|5Uv{O8jXG4#h$5ULJUp`=s~H3c>S0Y;19c0?j{+@3kaO}nYpoWkd{AoB+Ic;#4o z;iNoJ6KL1lCY4WWf*j9-skch&o|hIXP}a&resGDn6e!yzryfPN&)}X>qG#}jcD1## zTv71-Gl+GZhsIpnf|nVCZVUg|a85I@?w7W+O6iMhH|n2MhshDd!)s!SZaL!f%7-rly}a2E z^*=bzyLjCi{^g@&yol#z;EjKGib~F9Gx`mwAC8OIBRKgtYx7_xCRs#|H>n>Im4clv zK~BM!`Hm8a+sT+I=JE<4JYF%vIVH@ZM!&cj^r7_xFk&N?v5n`D`#bhIbRbS)3& zym_e2Y5&3$EW+Ue2S^O(5JxCLQLX&G7^%u3T58n=CXtz^C?1#MVkuqI`T%G zKsefP^*?9cN{AHKnXKVJRv=C)o&Dng_N;A!0^v}Y6-rub!`tkGd2);GTrnwlbI;r| zRjM?KHA7##JzMr<%OzTkQ?EPVMSOWz`6dDVzSj8f=GPzTf0#a#QQ$qvGw4&iJg-~l zFBhA?NbnyK-E@+B;-{TmLa^Roh(@Zz8dEmCVFIhF9tWziLbPXXbJnygmMpZPkU-sr zZ1U8UuJaA7h-S{w(~B$8C&Moj za6UyTs%E?Bm3)G@7&JlRpu4AXcLN9qrcI4LDjKLFjJ(aAOLWD=^k?G7Cv(mORwIuM z*TyHJv=#3^AM}Mb7oyQiBA?JjD>f#tifxq=#2!gJzJ)vnfUV8^Xp4l((Oz&^SSx2H z>gob+aTDby&VCzUW|=i@#&BrVw-|1D{2t?zymbS5Zp5xAC4D6Mayt*QEJ_Nlbgqx- zD(nJyfPPRlUQ<`?vHQflUqK*Cy(_ z5}kugGF6Cw4!~Do{rXn*$rAKLCM=c&3ksV0{kKz_xZ1J{%Ym^YvMPH6mj{@ zMynLj#WR!A?~ph2D>5Rwzs1@tK}l*V`2^&X*TGf%eA7^?q007xHJ`MbCwgzQyi!X4 zAe`_oiEqvJ=8qDMP6Xw)N>~4&z90LNoVxr(@7Z(I<1C%Xj|5YL7V|R(dMxu7AaDzi z5rv#5on-D!nmA#vYD%8mCJKgd;aMnj9p(g-J|H+67$fh2nl0P^nhR%sqCHS@_5%*I zpxEpUhoDlz!m|Ao(do#eUqrCh{t^gfT$(PBt^hlCRi;?6_gr~bBc2-4&+r3nfxd(%LM5VlUbeXbS;_PUL#BmPaH z3I*?WZ6|Dd=_IzmvY$Y(3Izfw2URMyAm)Xtz$~__K$N!2Xaxshx{)){q>62kB|fy$ zPqlI0^<2Ab8{`yMeFS+k`-sic_ z^PcB;4Xlzz+Ld)u6FO4Xs1#ooT764>A?w5abeQ;7o<0!++YJj8&#?NHW+ zImud}{<2^QbH*G?tkWwq<{~sm z*AKdDYyLoghB*glKk;%JSCt9GIqbs~#t>}MV^PdSVi!7MQY?{wNhc6iNeaiScX+_5 zQt)_$S;;CkImlE7hRXuv;OUy>15ZOvW#X?NxcBrqB9DRv2`p<@^_duyEi}AP*s2!3 zi2k!*>7{JI2x=wVk~^2xbSo=^ef??rs+zy;6z!4vis0G(Y>svI$WdCemjq6Q*3Z=M zwktL(0NjqJP2m3ky1o?n@*E5C?#dcw9;4--m1Uob-%bdB;2T6%9}Ri@{b69w+3Z+V zrSmL%%TLKDEVs|r0?_zo`-NxTSdc%*rxad62V3NkBfIDeAS@$3Rvydwk7a(Xm;DcA zC5hibSp@c5-N{*ebJ=!^*?X`ZN(1j)Pz8D^zI+iwaO>JAGuf+40L{uL_7Hb$8j7T2aWjrL%W-; zIaO1q>Q@=D$E`IG98Z+ym5>}#6y+`P{>ePjgSJ2QA9O#YN%KB;V0@sZbZ~S?Zrq!5 ziy+{Kg^t9S`xSKaI85W8Ep__NT8c0Eq~8fjH2`&p?=Ojup4g!|fo-nS zLK&qm?>zO0*#9L#LYPn6I32cY-@)J|Z8GMd-ci@(iD8gXJgMyo87v`?bV`Re?~rqG zwhAZ{w>C|~qpPcXB$G(dS0uoTh0R}}vFxC&oCS9e?$HO5qzXyA@Dg-fLHv`&9lynD zc-31TPycyiyj5A9>W{)? zi-xRlqLb^M{zz0@g@|ta<7n9*mVDzW`lNEtoaEnhxgO2Oo;X;V55hIiQCXKY`QS>W zo`cUVzT@IMhNTRk*imGS{1F=_Jtj##2I)5*m)o#C4-!FciF2mx*R?nmOZ2qPM|Jbf zt?UD=L%*q^0@)Uho3S1f=JdxFF)lt#xKQta__Drb}R#z6JV=xiI_?0(|j&{mWJRkPF$ za*t<7cih<64|^cXMtRS24Le+G*(cp4uNZ^WLr9+EbDT%GwZg?{urv!AxI-O4QoqCr zV`+C=JrNYYX-oy3TtJwH+&M>i^N#d((lsR8I5hKY(cW9W_$3oxWjXo;D=YkBv6h3N z@9y$duow1+(aJ1cKv5Q1&J4o^x$_KS$hi{!mWwW5%t_T9rZQBWQQBiMF|H#-9Y$R}vM6*% zG1I@8JD2fTZeN=be(lwZ_NB6l#nK`&Xgr1{x+&I(As62{dHYE5W(MxOV26dX_i~~vW0I1j%VmlnrHY1LlK_@FD`uXk6 zj_9OJl5ah8U-VC0y~L)n1&^dubSXn*m&&p4vj9jOLJYz{@A9!d$JJ^P9op*11obC} zZ^L(b$0p=;$5;u{SPx^aR0m=2_X+c~3GfU0s3hZr3H3B}CTMn?%?1{C1mEERzumLb zH4}m0*@(icym304wT`_UklTwF9D-!7SEX^1Aq9D7lGt!4Ov#rCe|3eT5wh??FHs|D z5V;g915|cYaoO)->lZYJC(R$5Z$}!l?F^1Qk8 zWxH5*{LI>v0{CN-55VsuL>AQXMdSp#sW$J8AK9%+?iseyJ!a}shQQuDk8IUTwlzzx zhaXTIW5!pE?N>*~XJh_TwVgJuMmst%21cflfHxk@%|RpDjC)KQwUO-PdrX_IR~V>x45GPdG(w143)0 z!ir8s{oy@YC2yHXOlGm{8r1jkWT0g$NSb0+Nu^!f$m+#W(5b1ZKX@mAY)`Tdf*rc} zcYbd{(65{i5fkdv)SCN@c_&3YGi1OqF!@Vx90G@#6E#!5c_x+9L~SpI79iSNtulr@i2NCVh3nWROga(rq1zGXtn~;cXeGz^FGe@FDvA z!~&VXWKK_!4^VNd%=qXANwKsUCuUhEV4cJwoaZsWqjO3`$r!^l5tT8tH>fan>jrt4 zEdVY_fU`A)5;Z z3@UP&EZtA`JQmvaNw~pA(Y)MMsod6y#a)9{pgqD8(sQm{VJuFg3Cp#$W^Lg{J`(m< zHus?POCIB$7JbvFPUP(BFlxZH%QVV(WCdLdi3@JI96mvfcc zVrpk;q_fa&P3Ybp6y42P?ju|_QOj$)I)hZy=S`;K5-*r(&9lOmg~vN>uPlekK8O>+ zK&a?$+5%zRbT8qwdnBFUNYsCY=Nsh-W>wn`g{~x!HV+GTI%ier07_wtw~e*6pB{7dRYe zT+XO*lG^Q1p!9m$-M8i|DRa5K#bb+req>f7>4T}1F(m^s1jqxbAxdq7iTs>Jj@4_=En(;QXkzmJ3x*2qkTLW%26)CjS>t)hV3V3o>GJ$((5;} zWcO&m;0`qR9=sUtA^-91yYQRxjn`n=(8&gL61258(sDYqv<&ye`e4=f+~1sS*d(Cg z$Y}2&_x93{`^ENsbUSz;#5yO&49()E}C02xJ+e&Gic zFl5K4)I5YxWc6lgvGWau>>SocSnQdLi z@nN;^$B2tcw{5H*2E}^h=~3F@0YkJLo(Z4Xt2SsFHNt4e=po#RpZEX zPTO2R-Q!_5AJ)2(!v9H0;iZni29~UxlJ#$P{#Z_(hsC(uZYy^i-$?$Q4aVbcZyxMt zH;`a_s2cHBbVzQxda(=sE{_}0VC z_lwpnv(R&s!Fad__X1jEW{CLk<6XYx{~Bk|^={Z3@Sg{@_DU&RF>(n?#?FplbS#ok z@c<=nW6M6x8ynF&1zgE`N}x~lvOe6lk4tW?Ex~l+&8?|_XI5=tAN_9E)IW6RR}HIM zw*IAgfs^B(ZF^;|KYp;`?^f-(1JpPjMMQjqMU~q8B!#p~$_>VZf6QZB3+kC}fw4!SPzz#M@N(ifvF4TdBCS%!#*Dv66KK(Qx*6P`a>LFACt)UCLs8d9We`unqy zvPYTBIfVEd8gCghtFx-(5CpbghB?V^&Jrj;4D+`jc_mreEI1cBP~pc_$Ua(usWqKb z${wwQ@4nbfpdisHt{J^`{MI``-94&^E%&B8~_s>2qN{np?#nRO^nL)SAK;>1DUo6Uhc{12S zFc;n<45G)nlS*<9!LIPx9@OH*Vm&%P#yV0?ET^aCJSRYuvU);=(tFp}b?MX1FHMZm zs=UHYy?!)-n^EUp#X5eyf^2&8aD2s2F=km2G}}6s{H0_rfDWCQdi+n|Z&*fQ&0rdK zHUZC@O6RP0z((n$gPp;DLxTlob^M(POE>eX)Mj9>l6MgmB%jLV-a|;AB%+SlZj?~{ zZ11nq7rl7*E@$4f+7zn5MbOF3!B6y+w8N83KW?4>^Sii%RnVd-hmh7G4MRP3n3fE!>62)Pmn=ppl=9M!E~`NS-N~T z-6fA?t#W8A+cvfyY4L;#6lrp&B#;*?3v&HN(*$hG#0UbnIx|kYE(2|Lji78=^^b9+ zn_K5447H`yK3h8ryr@#30N(z>+^I-5tr?cby83MjZO-9i&=@xjJQLgHk8fRge3V-K ztywhZLy1p~fyooFyF(>+50uWsmatjnZibW?tzvumdy#AZj6M^q3_{bBEUykdOq|D}-yXls6Eq-8BBBqEn^q6l@q3 z$7OXRs+4z~)SNzCysgq#dXr4*${|+i@CJ@0;@_$xJ_T8|Wq^c2Pp4N`VG(%cWcVp@ z5PjmTC6<_bGfPr$FYp%;fPiaq*6+MkpfH=E509@EYiqFv+{H<~Kftbru!z)hD!M0B zDC<(XWawLJP2~Oq>3OiHufG!U10uHSb&@UJz}E>~EeWS|ZvedgW=f_7ggfD^VIe3v zZa*M~jPfg_a`6`{3&Uj}kst8XjBis8v)MvDK6qFSQYq{%IR$W|L#<(J`Sv(UOaFR` zV?jP((nPQUiHPqx@Q@0LQ(fq4Ee={DkbG{3kQ@8&2~Sn>O5J^T=wb^-LilMN{vA9n zas^1xWJSSnNFo4fk$o;ZUpyDdNql3h<3LwKcA<`qhOaB9p)k(8B* z2Y}?;x43sIa?K>4$v>_`l!qwY=Y&p=n>iLl(3mjGzj+Dtoy`${2twC}`H1;4P*Xm^ z$reO^C{qiIRG`hBaWLr1KDwL3>@r~wm|4XmU$~XNE#HRkVrnmV{{5UUfSmy5x-mQ# zGOZ_V3jnDb*L@{PllQRj=B1Q0Zbmu#>R}todm^PPd?BDOGowIo@C^G7pL&A^2s-st z!1`3EcdF7Fwdrn32ip+>HHi*Wnc|4q+0NACo^{CYJUn=f=F*B`E@Y%WW+yH~UrOH< zf2ybL3@+go$bGTMiRsbaXtGbeb)wlamo8B&zEN3W^5fj@tT-dOe{4QmDPDW+j!_4a zkG*yUVSTa6pV4`GN7`icr&R{_2T=tEnUS;CnJ0&UfN*@gFQ~XZbF@s$-NWF;>q)b& z`9}XyXoLEXM>;d%-TvKpA!v}OyUTm7EFGM8G1Ecl!YCXRRiFYe@> z;G5d|^1tdpruam5B-)84rEXkw)v8{&!rM&wX%E`{BBi{emXWj zsA7kI!Calc7|mq@d9`CYBJ1+g_0ikIV-J+XpsJE3pC}x|Iq6*5ojE7f_ z7CHWXd>Sl!{QQukm=tnwXtFQ!>>$x(pXc!cj1udg#KEGlV8hnG(qdFU=e%Zm3Zsv^(&g)+Pe6u5(XJ}hN3Hrh}G zrNi$Lm)$|<(Yjfsk2NB07zk?sWpf}|haBw9=v1w;g%=VwD+q4a9RR8THWBm&e^6s{ zdzFYPXC0O4Jq5u4#^Eme;y~do@_N4TA-HrVv>U zwJ&W7llD3W;`gJm`|IR4*uobJVa^igcwMO5b{98Fpu7PRL!*2enBpBYI90}@vN*Ku z=bUqZU*g|i?i=@PBPkaU*+{Zm;wE-Az~)4DUl|i`5b-@19DGI?GXs-@vkF5V^rMx6az17Y@tF?&G;h<~ACrpq1c+~4&>ZLz zDVa4QmXv}GHYD~YbL$@V7Aif+I{NFkeZjtN-bG}vOJ*n4)$jpJLIP*inpFNhJbvj* zzQRDGm)J0EdJLILAew=L?&V@OMJ;d|WQmn=&{w+ZImYSj${shkBTgTx)$3>uFq6;@ zDd!Hk9XNix9sf1|eg7+b+S*p!LQ!m$&v123fZ)dNs|Q}aHLu7~*JYuINF5pIqa3ms zwi%|p7eX~MHdMqC6O1qM&=jhr(Bnx@Oro)iqs-pf>+?;o$2oHFkIqf2QvV~jL5 z0MpcsSObPyu_!vOpxjcgTS^{KZ>RMSXwI6>sxdW5s(a z0F0DA$&2DT-tEXVE)ljL(lIe5kWGe%)#7v_p3~LyPV827XHODj)LI&wJ$ntqxq)6M zIjqzW2{36p1~1sHv(c{xggqcNSyrc@4qc;~kLQ#geSz&-4z>Lp*xI;r+?_cB4K}~b z-nLM2@0HO%9@KrTyJ)K}|F&#QEqq*)e)lq-fr4>7w5^u9m-dm{+p)t{^A6g5_`1c8 zUaxI;6?3^Nvw1pIRjP=&U&_=1w0^c!Ocs8j-4T)Ks_2i{hyI-rd~Hc*q{-_g9{8cS zp^(%aX2YBpq6UDJ=8L1%imYYnT+BJ00kHjq#fANSy0nTOcAE5R_$) z7teFv_NiciBTCteTps{j(4fR0@8}A#%QHV7^ShpzN}P|0X~3 zs_IYTG$<)5G4u$g>mv998C-El@FV%1C)Axy2)Kcg*xkI)k#}n9JXq9oFMD-$b-Ucu zeOUJ}3s=WR_0isX;&g0q(PKo71c!eOidw0xfhyG2Pz`fIHP#f7v~i+mI%w?wTw}Nj ze1g|*ma(gKh1n?CPKt4@G4OQFawl{SKRIxY&l4D-!0CnEZa&Ya^SfyeL2e~(p3^m|M`ii&j|F2!-!NGD({(axx3~Ql5N}3XuO=Z8 zjWtQ|M$^ceeDor2Lz;l#dZ+FueN5P<`b>W@KHWQcWSsWvdQMzOA?tLy$kajNn*$Dao$ znYODg+lTTlM|pfo(SaRW7X7$)asQQQ<>>y!Xx;sa(Ql(aPR(^yqpZVLjD|9Me)eFz zCCH!ffXMTG(qYK-iom~4uA)f*tg~-fX7!C{0=Uu=xcXRX;!55b&mmlLfm~(@Tyihy zGMPY{jYs}ef6yz@bF|;(U2>gdU18PKg`m>~aT!SE$-&Ent}a5vw8K|iUMwpKE1oR1 z$t#{NUV7jwo|r3`hA_JS4P4nOu56C3Y>uvMy24^UK02h(HOM2gPBHpLx@Fmewj2nh zBzEF9Sv6JuU}_wZ?z0)lXzcI0gs=S&p>zbH|Nd9^6ur%nXJ^U3F%mqQGkG*2{$@b9yyDTv)+7 ziGBFu)zqgPx&;#vHwA8PiHqM8?w74%D$_RX<-((FrOq!Y}<;dqW+JLar6p0wyt4oN{hnq4kxmF19rXW zWhVeQZK7s2jCunQ@kowKa3p3Sza;hHA*zb^>DyD}DNucNo z35KF^7l-`G7v?a2JeR*(LcQ$b%O`;s5TDT&NwxYvzl2bp74E}-$W?5ar|lB3 z)EoAnq~sWIMW>WPT+?iZ5S|KuK>dPMM>6`~y96IvQj z+luO?-S&E{-O$BDZ#Z#}{r6SE{lxGBlr^xqAsfSEiZiuDZQ*E-2YoIbWz{>P!1tH!!V=Dowb@EFutrL=o>&U;9&3nc4FOQV98uEXWK{4a^}m z6RC$&6#ja`JakQ?;8=ACnEiL&vAuajQ6?31$jx)3HEn*M28WHzvJ>e%$0co~ONxe# z$+VgR=Py0G#mN5uoxobzm5+EwhJa*+kxz7lTso?=ZmZ5Bvoc!-k$jRa{t*RW+V3&P zD4NEUnzB*myd2kBGv@?uV{e#fLKjqME$v}wBGuF>@MGv^LqJLD&_M0ok)RqZdw50~ zkOpO(cEy}h90$3K=+HAomd`|cUC6hG*F}3`D(8hHV-0wD@v2aw!SV z54)ZpcTp7g{@j5rDn?Smc^A0IIwkI#UzOA7ta!h4vr%!Gw$v(h`h5D7x>Jbkva1RA z*cX%6i2hk}EPuEGRuTT`c&x{XBocHh$`%xMWJ@x1Gco5l#CmswIL*}gs7Z6I;$#XrMdFXZcHe6I}yppca zu}+1OZl)JQA&Q!=w=V89+J(5nQ23=fj$@FNS;V?*>;DD)!sowvb@F}$<%d$DqN5w( z)OY+AHhKPZ_1A~qLy97L87=F{Wz?HF#`D(|_!d`hTUmV1J2E>>E1EI2)6n5AhPq5T z;~1Ve`H{ELqve>gmtuRVU&zeJJ>PV)FVt{$8(U^Bo_Hy9Ry@>~=VD)&vH11j0EzvE z$=$Atq;p+QIVuOHt2C`3BUkok5FKF^sHSMGH$%J>-IFyG^w1|gfc=zvg|vIDSg?tMdYx{&xM<@?a3Oh?gIta!u?`sy0dim0SZ*9u3F?dOGDkL zq#|&DZ`}2}#}zf+Xr|q-H~R_EYIm#0qieTD)(sC+T*!LbtV2^6+GG2(J!!N>=;%zy zXC2`!?AD^N?8r}&m%}Mxz}*cYQ4ir_9S{!dO57Tz98IG)8@l@;F7l7xxM$>(l6I75 zT9wasDx9dwU+NJAZM(82Liy1L`801JdbN`r6F$A}Ia8%sp84W;WqeNfcQ@3P!u{IW zf0!Dz2>6gy$${N#!)5XbbZ?%?B^gJEr(j7mmD2bJ@TjH$Ec?`dTW8p+2-7D?{SCOV zDlmX+&t)51bAO3Rk-P#stPt#tz1x ztsQNYBO|2GB81UgNDi}pO42ReIu)UuvV>4Nmz7~y3Kfq)GT}Revgy!?@q%VC8sm1(1AkI=7+IR-8M%I!cbM6+#AJx7BLlTyhT(B8OqCo z*@0x@H<{=xegODy)+|{OzG+X;r|3%At;!25+pi_K`j2T!j%i}P7iuM`q!CuP4{Cu% z-US^53OSe*baDj=bZ_0c8$Ig;^fNECJ$_9tU-GcK^U%Cm14A=Dwd*iA2u4eq8LUi7 z8TaAnLY&@@@QkIem7G>4W#w66p_wCJfRa4XGW}r*@aWx+WM{39! z){5-qwRRM9I_-}M0@P6(&8S3!QO-c4%|N4_fk!^BuZZ4^Ac7YJ$+=SeU75DH-BjFe zohrA%_tgR7(*g+op*{U5nW7~uMsMvP78~iHP)jTYdFz}A8G3@6BXw$eB7x8l0;JuY z3bj@d9}|C1TYHCFi^HwjVb=P%b-zo3VqsS>TNM4Hu`rfxCgAup%2hCkgNxw z?EBJc)a9Rf=B0wVzEgdWL1&XoUFduLL#+x%Jc}#J1Odo8dJb{G#5it#8|F={S#TaypE$uy%h|-2G}cT3Gs6aYweT!L)rW)ohI|@tqBZ zlbCTF;Ql&o*tKLPpTOj!X>d~Q^W-&87p;RZg?236~sOPez4z^=vJg8s$66# zstt;99nSIFN=zeV3$E?*Ig*2+l6N5qIAH=qPjuwru!Z~2aO!s_!&<8B0jPuT|E?Wo=yo(N&$gMIk9OLX zPqr#;{U#^c3Mfw+g)!L%S=oJeV#M67Un3LcC~E2jRB&xtbHhGWPUSR?@M_IThj^-3 zu7`HJNbjjuX2r*G2>(k}JDe3I{-Th)*)!o&1CK5rbXPrF8tu|M&V6@ghY*^E;^=fwVDp2|a6IimTV699U6*j9q)&{_)6)aV$*5Tay z{MTl0c&b?|QtCxZ4EJV%t_r1^wKMW6djO)w^a`e7TAs92)z*K`!APvF6|&(u>g*j^ zRJB&8;B(d3IwGl>R;KCCS77#~Q#P$n@pIMKIU=c?R;R~v)z~Wvr!=ik<8#&6KPHS+ z&Z|?Ya(#nJbi7XGRJk3#Lt!f~Z>ikz{8MuCvO9NPAJqzNx((yZ7D(3TJYB@dki$y) zIw>ly|93qfxvK6dfaiws^kpsM?wXG@jkuy)@0&vzNn{@`K&8I+bWxOc(?~_!3T(In ze_~YLsZ%#9ZSbZ_>48#t}j8Ak=L6hBnSgUth7+TKc z`@h5%*k(nl%Zg|`lQYB<=w9LtDt`xq8q)J_!^O0xc9iwye3{HrxQFtx%a+xZyxqUi z!tp-fQk?jgsE>6@-F&cdOYPhDChWx+Wd*gxDXmx^5oZaQS#8_%URD-yC#y|X(yPzE#bhh&x#_*}O_#==>n)8Ohy`>j)wr}8;I3S* zmhJjiOI(|yrzG81EA%wwrWmWHIYm&0SoIr1!?#}@p<%=LVb8kfTy&?nm{Ut1 z2$oj}peubkw*G(u5MX1+vOTeg@#P9RZ2XeA9z3bNVGp~gSBmodJvaF13>`6a2Zy~V zOj5VSx)tf^$vrEIZKzlZ+_mSy85>b1B|Z2LMi4_V>dD2QLf5-zsFJ8U- zj3}~so6<($X!I{QWkDUcZ_{rx4AO0R?0IB)xw!gbXxhDD?~FYgOJUW>AkCYTOX;Jd z_`3iQ>y5n@3hBP*OX89tmU#2{v)ttpE+>r zO_0)GQDA$~L+|f|Z#L0b=5I^YLiNsb{%eS4`|JY+R3+? z^VYnSH|JQQk$aClW6b0;FaXS&m0KQS7wcD+>x+S&;bqYYrD4n|Xm@Yn^B2n8rF5~$ zykf`(Zwpkepw3ktA~25KuLi0^M)Jp|z*W9FLFo(ns@+UURB9CQV+1vB0v&Q`@~!dv z1J?7ZORp9c(=SwZRw_VfGoD-`u#g9Au~PZbBd0)*aH+<%5xz|B-=nF8U0Du^#`Psm6% za2$CZ|3Kc!BWenjy7zMo;J3@=b)%t#$Mk7zzE_eE^5J$!=)n-iW_N4uCo@h||L-&G z>C>6~1ml0xPK?f~b2_p`aR~qCo@#)RMC1vAoAn5X_K-vFV4$fvu+n-;yZ44@ea~`8mItPg)l%a)3Z7`X~+6ia*X)r2$Bg@Ea7x|3LW_L9E+(ofTddtxy{zh3>c$o=sHUbY!KS9B7`A+dYjQ}v zj2v^?*asQhG{>|)TTLYi`}sEQ8YH4-Mz1fol@^e1#byrU@^qy_ki^Ol9ox=wJW^jvs7$kvr)pIvr0^UTiX5^ z9si|9@?a;F%9nr8>7$fh!RBFTzL$(|}#Yv%wL&mKIX6#eZilAn#Gk*Ae(G%pYN$=lB%169^4L+>+?P0lo;rAS z1gk8jl`Le?BR}a%U@x*QrF6K9p`a^C3~Ha_q$8FDhMn^IR3#&hE!uDv_g42ckXRB8nkA!-KXpMSN& zP5|zS`fKg2fLE&waJC!3Tv+uqi9%>|{Q+vEFX{@A`xaGl@j_%a!K}e6H_O4UHToH*NXS z<#oH#(Jprj0I#{E{1N(Le18~osQ(dBsUY1NOkZ^Ytacx78!D$^kR>bJpi7I*0Ucfm zLCqF_(1V8vwf)1>`HxYXQ{4?RNDOXB+-IoSl0(*Q?k9R6q&+Awb}By_%6(JRCH)VE zwzy>}aLuj8b(33+^Cp)W)@<%G%;jz~tudDw=8didaDtDiah_F6fqb9=9;gr!J&*a; zgV_I_RC^!utw*u{J19Mm`PotKRiKOyn2|lT&4!KK!_gnReM*_`8Q3Kfg1#cw9aBWk z(kb$9ZCyPVobJgDiA_}4(PqScJc0VoVQ~@!&8vj!MvR~j-AtBmuN10KyY;*+fiW4$ zTF=A$!c|eDt!LqWQ9*x#JYE}#d#JoN%Wc1_(iSw2n7&|ciT>YahvdDC6c@U=12P4` zXPiA%fqJ=nq3B4;9A$d>V9Z(|QB;Wx4A+j@vt%#^Ku^p@LmnNJ_Z-NPdpvU@UvzGj z`mpJ;)mAy~a@Kpe_VyGl^ENEu>04Y-w{*~WnP@Dh7x3H30=0mG5vYR^P58n1jL9jy%t7lVW(jR0{(tt>^pc*<#L&O7i%VgA8 zP>TwmO-%!=rKv$0rWRdMS$Z^B{GfXgQtp$Yu-xRrZf#~j9YJ+uthX5H!h4}od!q|T zP|6Z(EE+6{>c5)@@CXib=E44^llI{M$}B2rt#c_{KjJF1sYqYmDs>jK$+_7TT5)s5 zDVA@hYkQRs-VuFNm+R#wNrLaKh+k2X4jN(uZje9Jrm%|{+(0;;WXR&F^CSl4AZqP; z0v71;0P;IDAKQxoR#+k))@e9PnWHY|*k7ZGv=+6fLI&c10H5z@$uM*&R3EHB@?h=O z=*zl!#3VC3;F1~VmGL=XMX3tm?KEWqWQROm9EMVt-DU?^b8ClkHvO?b^g7gab|a@) zFoSY6>_C`)+8<`?PjQ{W9m!KVx!FPFyuW_Y=fkMA?UGk!38uPvz7tM3VG9aia#3>@ z^{l`9|*s9HZdXxCAAt)iSqce@Y_1&gRuK6AE_m&2E=vM7&l zA{&7}sjiyV${2Yz4FdQrt3D(+Ofc($XZ#a;jqIT~d%rsOxxtJZSWxw|Bm1f`)m6M5 zD8ebtIlFNMbmAs zoEZNUq1FmPu)Ri!E5fZSkGG;hF~cMX&}fk2{$)Wvt-_Fc0N1aaewhSqSqApR8*4I< z$%GO5qNXz5i7Ybt$HMFi+JQFDG+2<9DJf~m?MVCtYgdf1F=P=EUbEbY=6wQB3X8T|%656Fkv!J93C zM>QO2I8!=_Fnih*>}Vr&Xbkg!XQMiXS5~gW?|d0k272h%{$XB{q66Rm%hd~nWPmRPhZc}%{L$Vk80y57g8<&}&#cZLLFuFnPmGQUY?hzVES41ll656vt ziNG(&f>w<#*7k*OdxBXl)6@8ZsM^AXZEB#_F}v_3kMvMB$}?l;5E~qsVfxwxvGaHP z;XVDjG1e}8C$9#LFrJYK?P~wTQ;soVJ(l_X!DYEtZbs{FsL;>yUW?}nl6KefQS;+| z@hHox585IWr_d0ZGV&o;ZSccq5vGv|^i_^kaocgiRUSl)*KSat9@0tME|6q|Yky}) z&*txiM~MmwoZO3B0DgR#59jVE(YM5oxvD;UfHb9UekaCUQXP?6*FrLIp6Z6VqhnDX zocv;~bu3zgHh}*><40neo|Bx18$Vd||0?+n{LZI)wqPOttueZ~^w~qBOm3(M9e~)| z%C0N`$c&!guSA?MjqtUiM64=NB+Ei1>GOVZGIIVuXcKuiY`+yq89^u>20Xkf@*rz2 zwZ@pV#MQOE;P)tM)dhLGZ9!;Nef$|zN%E?@ar--tZFsRkJqY*gN z!-YoP=8P@Y@;oXxB0jZ2zC&{cUbP)KuZiA+JZ^#HPd|H5^n5M!-dRuFa%-JZW4!y= zEAih3dL}^6G&AVf<8Q;4r`vo;&N&7CH6UXb_}M}2cCzuNHnP!{U5Q@p>kj=q4xyTl z=BiCZ+QGDJ$n~}8?iA?beBz^&xKk+_XsG3G6w1cP6&F_uI*iz;<*pRVQ=Y`9)!?+L zTg8bPpH~xARB!R^ZT>J+FaL;t+7I@l{^)<+5BvfBem=Y~PHrt-$Zk?nR-j`iR}?P# zCdAcXvznI3^gR*6*~=mFeiZGjFuEGhG zDcQ5}_d&O6dmY_|ROQ$jol^KL>V{=caM$DODO0q^rA{B|#KK${84}h?&X`5bCeeF; zLm3;e^czN^lVPXyC1X!|5|O7*%j2L|L5eGzk_hwA%SM>=9Y$JBhe_yVV>9$JkmrLM8Ru|uOkeJkhJx@=Jk?~<#gfJb*%X&xQcdzMf<;o8nx;NIbMff z96e#|*){X`RP0mFJYt|m*TP_QNL74O zY#*^uRNuCKB~z6Z_f!=RTnA*sM=085_YiHM(a4f`pP)10!kc zz4d;j|9695EflGNc{l4*AR78$mQ0oeu() zCvs_8S|Fd7y}e;cc(zEZpmc8TYQNNjj<4jvmM#9rhQ{L#X}1gB+nu2{ua4Mz@fc*M zk%7#M@5?Q=y0nM}W%q_BbJW2En203K8@qS^(oX3Fox>8UDE?a%pjOLS_HKk=*~DY0 zSlgm8gjy|UNjkNjcdU!VZ7+BzeH2i%yiQsJ>`U7lOzvjLtW&5uDdQ;l~I!&0F zLMpPdD+^1c8WA?W$f?>Z(G`HnB|_1(nx#V$PMSEndcM6Z4Vr<_?TB?Q28_H=7mlR7 zWedhYyh;Z@FC$LBX;Nsho4;mWvEkQiy*;RGO$+fwF@a+^O_Nkr0^?_A1{ku;4-mQx z$n$m(nH6*6AWo5Qr7sSOwn(Vsi^edW+4>LVV@p448d3VOnS-2ZSC@I%z|m>I$(B_N zo{X?m(#TDxxsy(Xg_2nnJ5PVbQ(1D>@En~{xMf@3%_#z1e)e%lEp0viQku&zTwJ{0 zT(#v7aR6PTFTvB}sqR|DArUd5<^7g~Qlo{|Xv=P=M{2B|iXoROh+SrwQG0UNPCY4F z$w%X{Pl}xCs-5T65VYB9)MikGyV+YoN>VpV4vB}Mm+E)ZA(V&Yla)f=tKxT@D;g#* z$1CD5dfF}SN?zw~q{PaQvA$_($DCWOdvjaSLdNY212Xh}&r=KOep1xzZD{~kB9(yi zsd`s~@Q;>GMH z_pqzFuP8@Jd3TFts=2P}wqnks>Q1t%2?3fUdQf1WID9XKw}Z$>C%)8@w$sk=oiiq8{(6f!sfe|RQN(a6xkl-l6ME1}LdH}|z= zWLAdkU7L`6{J@PVBqSgr>qPMKO(! zG*NT=7kCj#<`@!)i=f)mHVRg)$3FJ8g@%}7R$k)Btqf#ecb_7 zW>s*-+ND)etIo0^4a2g*1;#TI8IT^C|Q^k<50o{}kNN_|PyB`}2Bc=OsDGEF; zvD}?rW}sZtA)_+s^Ou+9A?~NiUWHwrMC8U>QGvSCzv;c?zU>yzJJ$4LNIK&ih5Yo0;X$sp>|L9Th2$&<#wfSO0!q*=lL#WW>tet;H@Eo<4> zDXZL&piMFi(R&5>a1CA6PLT%YUfL3AAG=7#O!iVR3A`hVe7*}G;7nXP9PN=}!xk(e zde*8EED=16E`ri%YtsC8Av765(>i-1uJZontD)_e*636`!b@2r=MzI5eEKLrYDj=_ z4vP3J%6_;q8O!a*aWv?vjE zaJDfALXEM!9!4tRw1kRB?}54Jwr)rX=uH`GJ^{Z$`i@a;oCb@2Pl}0n%%JhjvE2Z? z4`Ockn~sIHMOp`BfOr|>{iK>RN9utrJe!i-4pUGOKsnBSA0-?BCzbUs@>QI8%^qLT zn`3kcQuh#%?n^!Nl=T~hD`mI~?^r(9^@QPva1Sn$?6%~ZPb=%Kz2S2~klL$@B+^0` zwMeN|QkF(>S@W!&Clmgf3HFnK3nzBJ4Wb(wj!l0RkZ4Y~yy_Hz(w{VwzCihsp~x5m z=amN<)vYx>3K@bOU@9lm{932ikwRI^9&1ghB;Ne+xRrw?@c%URnmg31GM z_(Ta?L8Mi&ob*AZNaa^Jkn3ehcQkt z#R8J*9bSMI6n)zYV=o_;!U6@QG4-V5Vh6B8>bu;v$BpsE`)`eja3skV(wRMk=k zVqV%6n^@V>rqrpc8>}_v!-$}ehp^^|?geJjHdxnHyfv$NjKx-QraaeBTUYO(lp}`1 zA2eo<?3sYMfn+b0++kbk}`eT}HZp<)viI>duZ$jKqWWpdh;vG z)%ie*=a<_LQL{(+J)y;sa_pr#i`@_3MedAxjguAcKJqL2L**CMi@Hrcz>>NsH{D#Vd$n;3oIn@}wBG{z@y>`9H|T^uK9~W|Al2NsBT2OimM# zT*=73@@t>(|DlSKlEy51s(OsuPVcGQ@H{e}J;*-?f{dq*t1_^0!wprA)y8jDX7Vb5 z`;zDWAum;ni}wUXKlK6*-nLLFUgP&=9mVFz0KQ3%R?@VX!p9%$CcM3&F_eRbGj3hn zkUVRN1P^-#l92s0k;MlWV@w`#740iUP>A~6c?$?h>_B#_0 zLR?bfX$m288-lfWic%qamu~C+6|1ZTH|o-dDl>kb8BD&1z$abe39GqI@49%w`{bN+ zm1d#CRN8Dc19>j0(CraKEg8OL>HoB%*wmJ#n|gfVbyZ(Nk3f9tNptu$kwOiLbSM6N zcg%`b*DCr1)72c5BPDNzrFTBccp|)Z`rMI~{M#YK(DkHwoo+Bynes}j$dy*~mn~2I ztrYJzEd!$0qK-I|g|A5NM&+*@Sx*?RJ>f=VUPgF#|26WMm(0rf%585U$+a9*4v-2J zKeLJ%FJ?y&D_qFp1~~2op50D^_Hh=S<^F4`*DVh^u4%*xYBl0EpX#eQMUP%Yr_C}K zKhmyiBLTev_YJ4nCgjvHTMs%nYS-Ps%ME^Z+N?f1k~T5%Hxwb;KVf*2PiYvW5mOw0 z+$T5w!5|Vq5Q@0krvCD!+7YoJFDZx?OA4W$MGs03&?^CcX^@w<2t0 zTh|X(+gpCzSr-=qNDs*`gDc(S4U7{zAMyZ(AX+)|N;o7SRaf7@?*#p53vH^Kh!8va zxLvLh?IVaLA-7 zXj&%2d9HKKi;I*OIp*Xi7%iIRoQoAwMQjM5CV@0as?4+HLAirDbzzUHb|ASoTMb_Y z{pi>fM@BY~Gf>#A@=xz!t6*08Ry3s@daG61+tSk;f^IcEK+c-LfHx{Y?d$#+A6QbE zQUy`7>V^g|GgI2`%uGqv=(ZaF%%NbY6U;#T!I8O!AYV2o?nki6Hhr7Z_awcr?NL~< zJA8en88V$RI+m+IItny%`I^nBO=OPe1U}Ca9xLwFuF9r428^LKOcbWgd$+1BT-Z{1 z@UP%1%-pyy&8l%f?JOm7fVTcYLH|C)Y}8+Mt4&M2HCQm3U|~0*5PW>W{UI3GP@IRT zZA88rwVWla@<;r5MY&5?e}Ey0P}7u#?AwAw)6?UOp=p@`W;L3^ScGtQP2TF&tQ zKp#!O8shLBhd91))xC2^>eU-Mty!`3>}wk_tQwu2W^LQkenMID|IW;(M`n2tzj0s(zV-W|rpcn;P)>#Pe0af>t*Mrhc7KC$o5ZAu0F=UmpyRH-7HIp+Fx_~4j2*U&hN-(u;369+)fy~9nAuFp73iCrua6LJArj~JwVspDY-gQ8 zxy=}{p^o6KLI(53(??XX@%}=CdU49&i;>Ve81lvvqI7QEreqomW}+?GoqXDWp(6XiL zKyUNJ6b*mZ0T~zz>VF&rV!&1Z?|_g8WB-6K{rUD^%M*Xg{joGp`(kU~_{7{#{NipN zE+*4ERMy4WhVu6iHN%B9kiVvfXv*c5=Sa;MT|?#f2!L*bmRYh~|pxuIGPG}h5h zBC^WQQLzIV9xZP&wzJ!e+XC4Wwz`$9uL=ocPglRatH8Xg-|;Hu z!e;8k-R-vcusmf-ZiR?CuW+jW3n)GaLgS%@cDt=A)@spoV+q4^MM2dD<#dBO)W4O` zY3k?jR`7au3Vn%pHOgC8aZgYpD;tne8NawNvbCR#=`N!Bw=`G8pxC@ttMe7sm47B(pWYm#ELU^4XU*gCizEtQy!Rt*#C%UF)^}CDr7;zE(*C3 z2dW;2J)XKLZgf~Sv$7?*XB`&`a71yrrf_=Wci2zzbyxZUP0T$fDF1qlFn!;0vG8$% z%~%Z|*FK$Qdf$YmII}H-dl5 zsJF8=L>y9S?QpuH!ccl+v=}RJPP1)yRdV+P)oJI2mBUgNWpdPnT?tjuzJd4|Q0hw< zVbqzprM5sT8~#CE+La@R2eIuVuzrhBh|j2QqLeWn9`rY~ZY^$bNY6HbRqn51-pfnq z8&jL}c;zP;IWqV?6RV{r(n>Y8Z-CuM4vnC2Xk-Ar)1(MFdihOQ&`B-?2DL*8YxV9m z{eG6$QY8zY!;r#tuB=rXY2T*1n_k&9`=r;JwS1cONNGXB7(W=Jm~Jrdqk?4faUqk- zGHQc4j$38@$f1v?*Zlp%u7q?C^7R+K_~fR?W-$di7C1WXx^J+Lrx&%Cv7ges_U$~P zlR2DlBwIYc5-vHb+spLcp)Itk{5P8jyFsflv5BNH zGY~|2FDMyl2+BFC=ozTj^%bAw)>@MY8ipXxBn9@+8`8Rl;m2ZJ^7*G4_myk+t=U1D zUp0>rQuYO^LtFd^@B5HZosEx?WFgkFMV4km|7EK>BY08+Ao(@|S@ZYbErS?; zv;+yh^qQjx&ab-6)guN?VjEPHATDF;#SjFCnF*n{j1l4DNVL9>iU>5K{&J@-qk+Ya zzaLZIwcMy6dYi)_8i%rYA*c-m0t3ssfC=9;e(I$pJFeN?>^H|4Fp1JK7>q=t>-6FV@+``KRYEg9As-$H`Vk=VBvz#IQ`gR#AdQ(w z68owjlod=O1#DdOW1Ufm_Of-$9=6NPCqle!oRZx_-+~~OIHMXFyOymMXwmEKJi>|w zXtO5ph!y`@`%^HCMIyoWwpLxE=hAHaJVH<;poxtlBiV@af*EKYVPw>y+Yk_fwTYLDdGfdA@$us{;JQ=@+zY75*lWG;91!gS=l8C_TBp(HO}= z9meice|q))b5Fm$z`T16Urn}9b!vd$YsdeX2e>XHWq*hUn6g4&*(7jVuf}NtaHjiY zhlo94wi`Jd`tTnh*)*DHE6XOC5R;~f=)-^DL@CZPNQkE(h>CwP5go8Y)der1%g=;5 z0!~D`T#?DY;SN3CO(s8qI^Tyt>@Hg66YS-rf zZZ{|u%XmB3>0}P24^J=6Yp*FpP8a5@uPH}I(9n+dNCMC;B?_-0!kN`WUyZ z!b8@Oz16JzFSw+eu*M1!Rf79utd!1dx%a4G_W2_cO)QB|_slU&ge~k+m`Vri-zYR* zmlo0SMy7oG6R6WjhFAPFm0r;LTr6EBRJ1CZIy97Be4OlEB}LS%f0s#iU;ffuAN^@A zO&UvcP5$~qMJWW;?zM4mLV`9Wr3q9u2lCJDMt|pG=k}=2_-N1K>*VI*=k#4l;rzM% zT%vOx&-my4pZaI_c|y#4KjWYFfAr7$KjELyO~$$l_(p)>UvocZfTAC#7~ByiLTi{= zUg>K(CV?u=#K+I+CbXtaauT}&Sdy~Tw0*ANGJc_#En261_D2+evmufTQF5dUI&Wm# zv&)Sus4o9Qrc_pNII9|E7e04066Z`STl29Y{-b4muH%r>q5EFd=J?kb9Jsfv&CP_- z=K38QB-Qm{XWJEKXsruAL76NN@ECAF;X>x^s8j5JzPE_5xLB3EM>_8VG$$#Dh zgCqo_nm3!>qy}!@FAcQ4)I9{%Bj}MBVnW$yF=uJb8rmH?BY``6_kwb{;F?C_4AkECMl!iZGEOgjn`(w- z6O8|UGN0$;EuZ@1Da@zt##=w#jJe>FahA{bV=PciOl7nE*vf|~^J69W?t-a1mwAJ5 zNdODa&Otd*3Zzga~g61erT}*U-m$QayJKnP3r{hPr;c8{!@*2j9SDKC8ZVi} z2mHwg{L%sb_8urW!h{ym0A&OR(2N6x^A+hl!*2Y;?XZv~qYL7aBs9Mhq)%0 zdgPm|UiUdtHFGexh4ug+qFm^OsYbQwkkRBeNNDkD?^P`#tzYzrm-b3Rpp%!GJzqHt zG)Qj&t6=x*OLR=Y8Z|>BlP5;3-sd(EO8gt=8gA(dLpi^#4b|QY{V_A>%YVl1Fk7$0 z&UY8mkc(ZzHs;<#%vb1gh~Ave{`51VF=Gaf0rM$-IkTe$38#u$2pu#a#O8~ zh+q82GziB&KlLgVtjhnsz_N35bqDE8U92Kcd{Vl$blV+nS;a%RAN6uhc#&mbQL{A{TY`f zT$`FmTQQLPr^8HZ0Tw1dTBa+^4Vbjm6V3miWEsPu1;CH zFX!?3h}y)lq)}yxE4jH3Uxfzk@4GgN9zJB4^RJ2CEEqqvt$NW)bH$bsO47ATN=SN4 z6WcIS-uuj~Jth(C(@tPV$gS@tlz}W5VzHp;^K9!G?HS?;;UXaD2gU$;vruI&#QsFy znwhX-A$w^`SL$jeE$lRbhr{%|Vv9ZIxPkn^k>b9Kj+h-=K0sT$@E%>}*{$Nmc@wZ- zhUs{&T4@_hQ8yRdo-B4OcmdaH-**ZIVdPBP5I%648RRsgZ81#WO7#CC3hQmItYY=l zOhCsQgBCMt?`{vV)x->RR`au(>-!sc+^6K&OQklh585Ht)HNkhRur+2dGPKD&JDPV zW+XdYRnPHYXZ(X;o7!j^mYCGLnx&{d$Qf4K98Q28V#q-0m$_!X{Xuc9LHevG?{9>% zBI+%+zN-pX+9r3MO}$v20n1ErMXc?j-nFM%&I@Jz{H(Z-!$jUMzR*aqm%gZr@3(lx zb=(JHMz@g)iv|@o7S+?phNi*4is}nfTN;}QZ!*{*&iY@QQBMCWQi=Ek)^**zAw{My z=i+fo2qPv{&&6Br#2Kh{ETi9+xvzMj)nC4H1R9pwx+i+B(UnM(r~%0G(uLb;jW7#| zkY9YD)(^Br0hk-qyJV0(tp_|6!a;73QK^w9%Af-74k6lk2KbGFOSx!BdG?Kf7>{x_ zOhw+v8=OmFU)fMux~QkpALoNjTGqF+^)))xYyKE9hiM$`T`zLsI@j9+8BUWH&cZbU z^66?jBk~XOir>MF^GSSiC)0eE8c6jO_v=_!65nI8@A6B>Xt#&1MOj||7`%CftKSN* z-u9bVr|d8=*ou6kwor1ra>!@LV}x47U3C&}mageQf1)-0V{@%|0UiSPrx(6yIea9_ zMkwC6(u6rg?$n~m3C?li@aAq56Nl)DqaY!_0u?(~0mss92yYAC^=&6?i;_ugfgo}P zs6{9gNG;n{)ghD%Re;zgaYj?xa zxhNMPNoZMVQrgi%g+#Ojf9nA#w6=&@&)@I$d8&itI}wb6jPr?kIVY3e|%AOZW-g; zO;&vtp88d%8(KET)|34Ir&>1ujcCIcT1)f)<63LjxMoEJ$)ei*T1p97bAL^j^8Hp{ zyC%vo`L3O(?{w`T=$cAGYz~Tqo^7Wmn|6ulsEgAgNMgP0ymg=$2Zf5bU-KYIowyN2OGD@_~V_He9;PFCC z^tIY#D>SXcUsuLM#_$2?t=IX-`e9&yrd*@_Gspe{`kK!l>7^O|ru;+wPJW~PHL*X` z?=b&U+TZanss0)Mv&esueP{a9{ZOnSi6FVr!P3!LH`1ZBS@bvmP^*9UJcV1QkX5>P z)%s;?|J#yH%}VhTz^4P3>IpI8-mQn`>O^}c+Wlb7YP}_`G_z>c zbwq6+`Ur9p*fdT;e{yUld|Sz{J$4)&o#f8>FTKk`2Pp(E)PqOKg8bF9MAS}RD^Uz~ zq9^wnK>!Z@$+$G!vU-glEImj6R(Kx~@S1K}V$fV*LD~P-AS_AWtAX-yYOfW_@Wb!} zX4GQ;4Ldlu%X|Ap(RoZAJ!h(d+29s8sR` z%mh+V`qZU*xgS=}6|0xCdZStuOVl2))mGP=+Al-2?2ly+YBcP)xnfB!7|9CZBnLrqPi_bn{L)xEdJ2&a$$dVqZ$+#f) zImz(^q3oTdB5z^hr`J#Z^~fh8ubBHfWWRuiCc5FZq+g9~UCZp#)w-|>&jRwVdixzg z^FNkL_kdH`N@W11mFM=*r^XF+pS*@5n!<$1ap+;8{M?u^c54^xu8K<%F-n zqUxwtK4K~Jzi1uZ6JjA*j<-7#7CFcqxv@3vDMCHatfo;rcz$VwcjoVU!c_{Oss|&G zDr;-9DqVkV`^U`UwN&}?IyLwCks?Q+8?oy-M2fOYa#&VNWtC2@u&t;t62ed87_{34 zP7OM#+LN(N&=Nsn`zV$kx%Nr!J>j~^X$ol|NURr1i&2^=G@=!LOEjG-jL|%bk~sR z{G(|11yL89ES2tN1Y(chfyjD>7Xp>slg#BR*Q7{i25G2MrUg0_(N2Xn5o9Y9H+69z zXU(7WK9ox9N_K~InjfKMv zm&;lZP*5*&oj%2qabgfRskO2W5w1oM`!1Evb!0n5m#KIy9 zDaUSUsX#`v#_c+?o`IlVyugSdqIR$%uUjW}IVY>ln>KvywWi(3M$9RKCOzWmH9#F1S|ds5jo?%IiMqWUjO73#x48&(cmfr{P)Ao3^ywP7J#R1`mizNx|Bu z#j+np!QiWlWN~q3t7T%_qoV-C`QG}tnrH~DtE|X7$vw0l=>qj&!`Rutu_Z4{-a?v` z(LM4*smV=r60|C&9n)3gXR;+Rn z+mh!JN`#OLB1!vfo%zu3FN>7pB$dw)pqsIlCCGT5{F22laRqN+6e+jadPgSkxRO

wGuhTW3E@tmq&7f~ruN^2LDwMoA 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⪻CbP(a3j_^Tg~BcKM~*qa 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 z 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͈UEG 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%0Aa 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

FibRYmt7i~8QAq1+_UM&b{zkXLM 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 z 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

NwpIGTSOt@-zJ@A<~ktPx`K( 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 literal 0 HcmV?d00001 diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/FspPkgPcdShare.dsc b/AlderLakeFspBinPkg/Client/AlderLakeP/FspPkgPcdShare.dsc new file mode 100644 index 0000000..e84203e --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/FspPkgPcdShare.dsc @@ -0,0 +1,90 @@ +## @file +# Platform description for DynamicEx PCDs, defined in FSP Package +# and shared with Board Package. +# +# @copyright +# Copyright (c) 2022, Intel Corporation. All rights reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +# @par Specification +## + +[PcdsDynamicExDefault] + + ## Specifies max supported number of Logical Processors. + # @Prompt Configure max supported number of Logical Processorss + gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|16 + + gSiPkgTokenSpaceGuid.PcdSiPciExpressBaseAddress|0xC0000000 + gSiPkgTokenSpaceGuid.PcdPciExpressRegionLength|0x10000000 + + ## Specifies the base address of the first microcode Patch in the microcode Region. + # @Prompt Microcode Region base address. + gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress|0x0 + + ## Specifies the size of the microcode Region. + # @Prompt Microcode Region size. + gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize|0x0 + + ## Specifies the AP wait loop state during POST phase. + # The value is defined as below. + # 1: Place AP in the Hlt-Loop state. + # 2: Place AP in the Mwait-Loop state. + # 3: Place AP in the Run-Loop state. + # @Prompt The AP wait loop state. + gUefiCpuPkgTokenSpaceGuid.PcdCpuApLoopMode|2 + + ## Specifies the AP target C-state for Mwait during POST phase. + # The default value 0 means C1 state. + # The value is defined as below.

+ # @Prompt The specified AP target C-state for Mwait. + gUefiCpuPkgTokenSpaceGuid.PcdCpuApTargetCstate|0 + + # + # Enable ACPI S3 support in FSP by default + # + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable|1 + + ## Contains the pointer to a CPU S3 data buffer of structure ACPI_CPU_DATA. + # @Prompt The pointer to a CPU S3 data buffer. + gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress|0x00 + + ## As input, specifies user's desired settings for enabling/disabling processor features. + ## As output, specifies actual settings for processor features, each bit corresponding to a specific feature. + # @Prompt As input, specifies user's desired processor feature settings. As output, specifies actual processor feature settings. + gUefiCpuPkgTokenSpaceGuid.PcdCpuFeaturesSetting|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} + + ## Contains the size of memory required when CPU processor trace is enabled.

+ # Processor trace is enabled through set BIT44(CPU_FEATURE_PROC_TRACE) in PcdCpuFeaturesSetting.

+ # @Prompt The memory size used for processor trace if processor trace is enabled. + gUefiCpuPkgTokenSpaceGuid.PcdCpuProcTraceMemSize|0x0 + + ## Contains the processor trace output scheme when CPU processor trace is enabled.

+ # Processor trace is enabled through set BIT44(CPU_FEATURE_PROC_TRACE) in PcdCpuFeaturesSetting.

+ # @Prompt The processor trace output scheme used when processor trace is enabled. + gUefiCpuPkgTokenSpaceGuid.PcdCpuProcTraceOutputScheme|0x0 + + ## Indicates processor feature capabilities, each bit corresponding to a specific feature. + # @Prompt Processor feature capabilities. + gUefiCpuPkgTokenSpaceGuid.PcdCpuFeaturesCapability|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} + + # Set SEV-ES defaults + gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase|0 + gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbSize|0 + gUefiCpuPkgTokenSpaceGuid.PcdSevEsIsEnabled|0 + + ## This dynamic PCD hold an address to point to private data structure used in DxeS3BootScriptLib library + # instance which records the S3 boot script table start address, length, etc. To introduce this PCD is + # only for DxeS3BootScriptLib instance implementation purpose. The platform developer should make sure the + # default value is set to Zero. And the PCD is assumed ONLY to be accessed in DxeS3BootScriptLib Library. + # @Prompt S3 Boot Script Table Private Data pointer. + gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptTablePrivateDataPtr|0 + + ## This dynamic PCD hold an address to point to private data structure SMM copy used in DxeS3BootScriptLib library + # instance which records the S3 boot script table start address, length, etc. To introduce this PCD is + # only for DxeS3BootScriptLib instance implementation purpose. The platform developer should make sure the + # default value is set to Zero. And the PCD is assumed ONLY to be accessed in DxeS3BootScriptLib Library. + # @Prompt S3 Boot Script Table Private Smm Data pointer. + # @ValidList 0x80000001 | 0x0 + gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptTablePrivateSmmDataPtr|0 \ No newline at end of file diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FirmwareVersionInfo.h b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FirmwareVersionInfo.h new file mode 100644 index 0000000..980b31e --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FirmwareVersionInfo.h @@ -0,0 +1,54 @@ +/** @file + Intel Firmware Version Info (FVI) related definitions. + + @todo update document/spec reference + + Copyright (c) 2022, Intel Corporation. All rights reserved.
+ SPDX-License-Identifier: BSD-2-Clause-Patent + +@par Specification Reference: + System Management BIOS (SMBIOS) Reference Specification v3.0.0 dated 2015-Feb-12 + http://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.0.0.pdf + +**/ + +#ifndef __FIRMWARE_VERSION_INFO_H__ +#define __FIRMWARE_VERSION_INFO_H__ + +#include + +#define INTEL_FIRMWARE_VERSION_INFO_GROUP_NAME "Firmware Version Info" + +#pragma pack(1) + +/// +/// Firmware Version Structure +/// +typedef struct { + UINT8 MajorVersion; + UINT8 MinorVersion; + UINT8 Revision; + UINT16 BuildNumber; +} INTEL_FIRMWARE_VERSION; + +/// +/// Firmware Version Info (FVI) Structure +/// +typedef struct { + SMBIOS_TABLE_STRING ComponentName; ///< String Index of Component Name + SMBIOS_TABLE_STRING VersionString; ///< String Index of Version String + INTEL_FIRMWARE_VERSION Version; ///< Firmware version +} INTEL_FIRMWARE_VERSION_INFO; + +/// +/// SMBIOS OEM Type Intel Firmware Version Info (FVI) Structure +/// +typedef struct { + SMBIOS_STRUCTURE Header; ///< SMBIOS structure header + UINT8 Count; ///< Number of FVI entries in this structure + INTEL_FIRMWARE_VERSION_INFO Fvi[1]; ///< FVI structure(s) +} SMBIOS_TABLE_TYPE_OEM_INTEL_FVI; + +#pragma pack() + +#endif diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FirmwareVersionInfoHob.h b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FirmwareVersionInfoHob.h new file mode 100644 index 0000000..970faf2 --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FirmwareVersionInfoHob.h @@ -0,0 +1,65 @@ +/** @file + Header file for Firmware Version Information + + @copyright + Copyright (c) 2022, Intel Corporation. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#ifndef _FIRMWARE_VERSION_INFO_HOB_H_ +#define _FIRMWARE_VERSION_INFO_HOB_H_ + +#include +#include +#include + +#pragma pack(1) +/// +/// Firmware Version Structure +/// +typedef struct { + UINT8 MajorVersion; + UINT8 MinorVersion; + UINT8 Revision; + UINT16 BuildNumber; +} FIRMWARE_VERSION; + +/// +/// Firmware Version Information Structure +/// +typedef struct { + UINT8 ComponentNameIndex; ///< Offset 0 Index of Component Name + UINT8 VersionStringIndex; ///< Offset 1 Index of Version String + FIRMWARE_VERSION Version; ///< Offset 2-6 Firmware version +} FIRMWARE_VERSION_INFO; + +#ifndef __SMBIOS_STANDARD_H__ +/// +/// The Smbios structure header. +/// +typedef struct { + UINT8 Type; + UINT8 Length; + UINT16 Handle; +} SMBIOS_STRUCTURE; +#endif + +/// +/// Firmware Version Information HOB Structure +/// +typedef struct { + EFI_HOB_GUID_TYPE Header; ///< Offset 0-23 The header of FVI HOB + SMBIOS_STRUCTURE SmbiosData; ///< Offset 24-27 The SMBIOS header of FVI HOB + UINT8 Count; ///< Offset 28 Number of FVI elements included. +/// +/// FIRMWARE_VERSION_INFO structures followed by the null terminated string buffer +/// +} FIRMWARE_VERSION_INFO_HOB; +#pragma pack() + +#endif // _FIRMWARE_VERSION_INFO_HOB_H_ diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FspInfoHob.h b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FspInfoHob.h new file mode 100644 index 0000000..f77434e --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FspInfoHob.h @@ -0,0 +1,32 @@ +/** @file + Header file for FSP Information HOB. + +@copyright + Copyright (c) 2022, Intel Corporation. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +@par Specification Reference: +**/ + +#ifndef _FSP_INFO_HOB_H_ +#define _FSP_INFO_HOB_H_ + +extern EFI_GUID gFspInfoGuid; + +#pragma pack (push, 1) + +typedef struct { +UINT8 SiliconInitVersionMajor; +UINT8 SiliconInitVersionMinor; +UINT8 SiliconInitVersionRevision; +UINT8 SiliconInitVersionBuild; +UINT8 FspVersionRevision; +UINT8 FspVersionBuild; +UINT8 TimeStamp [12]; +UINT8 FspVersionMinor; +} FSP_INFO_HOB; + +#pragma pack (pop) + +#endif // _FSP_INFO_HOB_H_ diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FspUpd.h b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FspUpd.h new file mode 100644 index 0000000..2157ad5 --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FspUpd.h @@ -0,0 +1,48 @@ +/** @file + +Copyright (c) 2022, Intel Corporation. All rights reserved.
+ +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +* Neither the name of Intel Corporation nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + THE POSSIBILITY OF SUCH DAMAGE. + + This file is automatically generated. Please do NOT modify !!! + +**/ + +#ifndef __FSPUPD_H__ +#define __FSPUPD_H__ + +#include + +#pragma pack(1) + +#define FSPT_UPD_SIGNATURE 0x545F4450554C4441 /* 'ADLUPD_T' */ + +#define FSPM_UPD_SIGNATURE 0x4D5F4450554C4441 /* 'ADLUPD_M' */ + +#define FSPS_UPD_SIGNATURE 0x535F4450554C4441 /* 'ADLUPD_S' */ + +#pragma pack() + +#endif diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FspmUpd.h b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FspmUpd.h new file mode 100644 index 0000000..99cd1e2 --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FspmUpd.h @@ -0,0 +1,4029 @@ +/** @file + +Copyright (c) 2022, Intel Corporation. All rights reserved.
+ +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +* Neither the name of Intel Corporation nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + THE POSSIBILITY OF SUCH DAMAGE. + + This file is automatically generated. Please do NOT modify !!! + +**/ + +#ifndef __FSPMUPD_H__ +#define __FSPMUPD_H__ + +#include + +#pragma pack(1) + + +#include + +/// +/// The ChipsetInit Info structure provides the information of ME ChipsetInit CRC and BIOS ChipsetInit CRC. +/// +typedef struct { + UINT8 Revision; ///< Chipset Init Info Revision + UINT8 Rsvd[3]; ///< Reserved + UINT16 MeChipInitCrc; ///< 16 bit CRC value of MeChipInit Table + UINT16 BiosChipInitCrc; ///< 16 bit CRC value of PchChipInit Table +} CHIPSET_INIT_INFO; + + +/** Fsp M Configuration +**/ +typedef struct { + +/** Offset 0x0040 - Platform Reserved Memory Size + The minimum platform memory size required to pass control into DXE +**/ + UINT64 PlatformMemorySize; + +/** Offset 0x0048 - SPD Data Length + Length of SPD Data + 0x100:256 Bytes, 0x200:512 Bytes, 0x400:1024 Bytes +**/ + UINT16 MemorySpdDataLen; + +/** Offset 0x004A - Enable above 4GB MMIO resource support + Enable/disable above 4GB MMIO resource support + $EN_DIS +**/ + UINT8 EnableAbove4GBMmio; + +/** Offset 0x004B - Enable/Disable CrashLog Device 10 + Enable(Default): Enable CPU CrashLog Device 10, Disable: Disable CPU CrashLog + $EN_DIS +**/ + UINT8 CpuCrashLogDevice; + +/** Offset 0x004C - Memory SPD Pointer Controller 0 Channel 0 Dimm 0 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 +**/ + UINT32 MemorySpdPtr000; + +/** Offset 0x0050 - Memory SPD Pointer Controller 0 Channel 0 Dimm 1 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 +**/ + UINT32 MemorySpdPtr001; + +/** Offset 0x0054 - Memory SPD Pointer Controller 0 Channel 1 Dimm 0 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 +**/ + UINT32 MemorySpdPtr010; + +/** Offset 0x0058 - Memory SPD Pointer Controller 0 Channel 1 Dimm 1 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 +**/ + UINT32 MemorySpdPtr011; + +/** Offset 0x005C - Memory SPD Pointer Controller 0 Channel 2 Dimm 0 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 +**/ + UINT32 MemorySpdPtr020; + +/** Offset 0x0060 - Memory SPD Pointer Controller 0 Channel 2 Dimm 1 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 +**/ + UINT32 MemorySpdPtr021; + +/** Offset 0x0064 - Memory SPD Pointer Controller 0 Channel 3 Dimm 0 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 +**/ + UINT32 MemorySpdPtr030; + +/** Offset 0x0068 - Memory SPD Pointer Controller 0 Channel 3 Dimm 1 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 +**/ + UINT32 MemorySpdPtr031; + +/** Offset 0x006C - Memory SPD Pointer Controller 1 Channel 0 Dimm 0 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 +**/ + UINT32 MemorySpdPtr100; + +/** Offset 0x0070 - Memory SPD Pointer Controller 1 Channel 0 Dimm 1 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 +**/ + UINT32 MemorySpdPtr101; + +/** Offset 0x0074 - Memory SPD Pointer Controller 1 Channel 1 Dimm 0 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 +**/ + UINT32 MemorySpdPtr110; + +/** Offset 0x0078 - Memory SPD Pointer Controller 1 Channel 1 Dimm 1 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 +**/ + UINT32 MemorySpdPtr111; + +/** Offset 0x007C - Memory SPD Pointer Controller 1 Channel 2 Dimm 0 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 +**/ + UINT32 MemorySpdPtr120; + +/** Offset 0x0080 - Memory SPD Pointer Controller 1 Channel 2 Dimm 1 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 +**/ + UINT32 MemorySpdPtr121; + +/** Offset 0x0084 - Memory SPD Pointer Controller 1 Channel 3 Dimm 0 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 +**/ + UINT32 MemorySpdPtr130; + +/** Offset 0x0088 - Memory SPD Pointer Controller 1 Channel 3 Dimm 1 + Pointer to SPD data, will be used only when SpdAddressTable SPD Address are marked as 00 +**/ + UINT32 MemorySpdPtr131; + +/** Offset 0x008C - RcompResistor settings + Indicates RcompResistor settings: Board-dependent +**/ + UINT16 RcompResistor; + +/** Offset 0x008E - RcompTarget settings + RcompTarget settings: board-dependent +**/ + UINT16 RcompTarget[5]; + +/** Offset 0x0098 - Dqs Map CPU to DRAM MC 0 CH 0 + Set Dqs mapping relationship between CPU and DRAM, Channel 0: board-dependent +**/ + UINT8 DqsMapCpu2DramMc0Ch0[2]; + +/** Offset 0x009A - Dqs Map CPU to DRAM MC 0 CH 1 + Set Dqs mapping relationship between CPU and DRAM, Channel 1: board-dependent +**/ + UINT8 DqsMapCpu2DramMc0Ch1[2]; + +/** Offset 0x009C - Dqs Map CPU to DRAM MC 0 CH 2 + Set Dqs mapping relationship between CPU and DRAM, Channel 2: board-dependent +**/ + UINT8 DqsMapCpu2DramMc0Ch2[2]; + +/** Offset 0x009E - Dqs Map CPU to DRAM MC 0 CH 3 + Set Dqs mapping relationship between CPU and DRAM, Channel 3: board-dependent +**/ + UINT8 DqsMapCpu2DramMc0Ch3[2]; + +/** Offset 0x00A0 - Dqs Map CPU to DRAM MC 1 CH 0 + Set Dqs mapping relationship between CPU and DRAM, Channel 0: board-dependent +**/ + UINT8 DqsMapCpu2DramMc1Ch0[2]; + +/** Offset 0x00A2 - Dqs Map CPU to DRAM MC 1 CH 1 + Set Dqs mapping relationship between CPU and DRAM, Channel 1: board-dependent +**/ + UINT8 DqsMapCpu2DramMc1Ch1[2]; + +/** Offset 0x00A4 - Dqs Map CPU to DRAM MC 1 CH 2 + Set Dqs mapping relationship between CPU and DRAM, Channel 2: board-dependent +**/ + UINT8 DqsMapCpu2DramMc1Ch2[2]; + +/** Offset 0x00A6 - Dqs Map CPU to DRAM MC 1 CH 3 + Set Dqs mapping relationship between CPU and DRAM, Channel 3: board-dependent +**/ + UINT8 DqsMapCpu2DramMc1Ch3[2]; + +/** Offset 0x00A8 - Dq Map CPU to DRAM MC 0 CH 0 + Set Dq mapping relationship between CPU and DRAM, Channel 0: board-dependent +**/ + UINT8 DqMapCpu2DramMc0Ch0[16]; + +/** Offset 0x00B8 - Dq Map CPU to DRAM MC 0 CH 1 + Set Dq mapping relationship between CPU and DRAM, Channel 1: board-dependent +**/ + UINT8 DqMapCpu2DramMc0Ch1[16]; + +/** Offset 0x00C8 - Dq Map CPU to DRAM MC 0 CH 2 + Set Dq mapping relationship between CPU and DRAM, Channel 2: board-dependet +**/ + UINT8 DqMapCpu2DramMc0Ch2[16]; + +/** Offset 0x00D8 - Dq Map CPU to DRAM MC 0 CH 3 + Set Dq mapping relationship between CPU and DRAM, Channel 3: board-dependent +**/ + UINT8 DqMapCpu2DramMc0Ch3[16]; + +/** Offset 0x00E8 - Dq Map CPU to DRAM MC 1 CH 0 + Set Dq mapping relationship between CPU and DRAM, Channel 0: board-dependent +**/ + UINT8 DqMapCpu2DramMc1Ch0[16]; + +/** Offset 0x00F8 - Dq Map CPU to DRAM MC 1 CH 1 + Set Dq mapping relationship between CPU and DRAM, Channel 1: board-dependent +**/ + UINT8 DqMapCpu2DramMc1Ch1[16]; + +/** Offset 0x0108 - Dq Map CPU to DRAM MC 1 CH 2 + Set Dq mapping relationship between CPU and DRAM, Channel 2: board-dependent +**/ + UINT8 DqMapCpu2DramMc1Ch2[16]; + +/** Offset 0x0118 - Dq Map CPU to DRAM MC 1 CH 3 + Set Dq mapping relationship between CPU and DRAM, Channel 3: board-dependent +**/ + UINT8 DqMapCpu2DramMc1Ch3[16]; + +/** Offset 0x0128 - Dqs Pins Interleaved Setting + Indicates DqPinsInterleaved setting: board-dependent + $EN_DIS +**/ + UINT8 DqPinsInterleaved; + +/** Offset 0x0129 - Smram Mask + The SMM Regions AB-SEG and/or H-SEG reserved + 0: Neither, 1:AB-SEG, 2:H-SEG, 3: Both +**/ + UINT8 SmramMask; + +/** Offset 0x012A - Ibecc + Enable/Disable Ibecc + $EN_DIS +**/ + UINT8 Ibecc; + +/** Offset 0x012B - IbeccOperationMode + In-Band ECC Operation Mode + 0:Protect base on address range, 1:Non-protected, 2:All protected +**/ + UINT8 IbeccOperationMode; + +/** Offset 0x012C - IbeccProtectedRangeEnable + In-Band ECC Protected Region Enable + $EN_DIS +**/ + UINT8 IbeccProtectedRangeEnable[8]; + +/** Offset 0x0134 - IbeccProtectedRangeBase + IBECC Protected Region Base +**/ + UINT32 IbeccProtectedRangeBase[8]; + +/** Offset 0x0154 - IbeccProtectedRangeMask + IBECC Protected Region Mask +**/ + UINT32 IbeccProtectedRangeMask[8]; + +/** Offset 0x0174 - MRC Fast Boot + Enables/Disable the MRC fast path thru the MRC + $EN_DIS +**/ + UINT8 MrcFastBoot; + +/** Offset 0x0175 - Rank Margin Tool per Task + This option enables the user to execute Rank Margin Tool per major training step + in the MRC. + $EN_DIS +**/ + UINT8 RmtPerTask; + +/** Offset 0x0176 - Training Trace + This option enables the trained state tracing feature in MRC. This feature will + print out the key training parameters state across major training steps. + $EN_DIS +**/ + UINT8 TrainTrace; + +/** Offset 0x0177 +**/ + UINT8 UnusedUpdSpace0; + +/** Offset 0x0178 - Tseg Size + Size of SMRAM memory reserved. 0x400000 for Release build and 0x1000000 for Debug build + 0x0400000:4MB, 0x01000000:16MB +**/ + UINT32 TsegSize; + +/** Offset 0x017C - MMIO Size + Size of MMIO space reserved for devices. 0(Default)=Auto, non-Zero=size in MB +**/ + UINT16 MmioSize; + +/** Offset 0x017E - Probeless Trace + Probeless Trace: 0=Disabled, 1=Enable. Enabling Probeless Trace will reserve 128MB. + This also requires IED to be enabled. + $EN_DIS +**/ + UINT8 ProbelessTrace; + +/** Offset 0x017F - Enable SMBus + Enable/disable SMBus controller. + $EN_DIS +**/ + UINT8 SmbusEnable; + +/** Offset 0x0180 - Spd Address Tabl + Specify SPD Address table for CH0D0/CH0D1/CH1D0&CH1D1. MemorySpdPtr will be used + if SPD Address is 00 +**/ + UINT8 SpdAddressTable[16]; + +/** Offset 0x0190 - Platform Debug Consent + Enabled(All Probes+TraceHub) supports all probes with TraceHub enabled and blocks + s0ix\n + \n + Enabled(Low Power) does not support DCI OOB 4-wire and Tracehub is powergated by + default, s0ix is viable\n + \n + Manual:user needs to configure Advanced Debug Settings manually, aimed at advanced users + 0:Disabled, 2:Enabled (All Probes+TraceHub), 6:Enable (Low Power), 7:Manual +**/ + UINT8 PlatformDebugConsent; + +/** Offset 0x0191 - DCI Enable + Determine if to enable DCI debug from host + $EN_DIS +**/ + UINT8 DciEn; + +/** Offset 0x0192 - DCI DbC Mode + Disabled: Clear both USB2/3DBCEN; USB2: set USB2DBCEN; USB3: set USB3DBCEN; Both: + Set both USB2/3DBCEN; No Change: Comply with HW value + 0:Disabled, 1:USB2 DbC, 2:USB3 DbC, 3:Both, 4:No Change +**/ + UINT8 DciDbcMode; + +/** Offset 0x0193 - Enable DCI ModPHY Power Gate + DEPRECATED + $EN_DIS +**/ + UINT8 DciModphyPg; + +/** Offset 0x0194 - USB3 Type-C UFP2DFP Kernel/Platform Debug Support + This BIOS option enables kernel and platform debug for USB3 interface over a UFP + Type-C receptacle, select 'No Change' will do nothing to UFP2DFP setting. + 0:Disabled, 1:Enabled, 2:No Change +**/ + UINT8 DciUsb3TypecUfpDbg; + +/** Offset 0x0195 - PCH Trace Hub Mode + Select 'Host Debugger' if Trace Hub is used with host debugger tool or 'Target Debugger' + if Trace Hub is used by target debugger software or 'Disable' trace hub functionality. + 0: Disable, 1: Target Debugger Mode, 2: Host Debugger Mode +**/ + UINT8 PchTraceHubMode; + +/** Offset 0x0196 - PCH Trace Hub Memory Region 0 buffer Size + Specify size of Pch trace memory region 0 buffer, the size can be 0, 1MB, 8MB, 64MB, + 128MB, 256MB, 512MB + 0:0, 1:1MB, 2:8MB, 3:64MB, 4:128MB, 5:256MB, 6:512MB +**/ + UINT8 PchTraceHubMemReg0Size; + +/** Offset 0x0197 - PCH Trace Hub Memory Region 1 buffer Size + Specify size of Pch trace memory region 1 buffer, the size can be 0, 1MB, 8MB, 64MB, + 128MB, 256MB, 512MB + 0:0, 1:1MB, 2:8MB, 3:64MB, 4:128MB, 5:256MB, 6:512MB +**/ + UINT8 PchTraceHubMemReg1Size; + +/** Offset 0x0198 - HD Audio DMIC Link Clock Select + Determines DMIC Clock Source. 0: Both, 1: ClkA, 2: ClkB + 0: Both, 1: ClkA, 2: ClkB +**/ + UINT8 PchHdaAudioLinkDmicClockSelect[2]; + +/** Offset 0x019A - PchPreMemRsvd + Reserved for PCH Pre-Mem Reserved + $EN_DIS +**/ + UINT8 PchPreMemRsvd[5]; + +/** Offset 0x019F - State of X2APIC_OPT_OUT bit in the DMAR table + 0=Disable/Clear, 1=Enable/Set + $EN_DIS +**/ + UINT8 X2ApicOptOut; + +/** Offset 0x01A0 - State of DMA_CONTROL_GUARANTEE bit in the DMAR table + 0=Disable/Clear, 1=Enable/Set + $EN_DIS +**/ + UINT8 DmaControlGuarantee; + +/** Offset 0x01A1 +**/ + UINT8 UnusedUpdSpace1[3]; + +/** Offset 0x01A4 - Base addresses for VT-d function MMIO access + Base addresses for VT-d MMIO access per VT-d engine +**/ + UINT32 VtdBaseAddress[9]; + +/** Offset 0x01C8 - Disable VT-d + 0=Enable/FALSE(VT-d enabled), 1=Disable/TRUE (VT-d disabled) + $EN_DIS +**/ + UINT8 VtdDisable; + +/** Offset 0x01C9 - Vtd Programming for Igd + 1=Enable/TRUE (Igd VT-d Bar programming enabled), 0=Disable/FLASE (Igd VT-d Bar + programming disabled) + $EN_DIS +**/ + UINT8 VtdIgdEnable; + +/** Offset 0x01CA - Vtd Programming for Ipu + 1=Enable/TRUE (Ipu VT-d Bar programming enabled), 0=Disable/FLASE (Ipu VT-d Bar + programming disabled) + $EN_DIS +**/ + UINT8 VtdIpuEnable; + +/** Offset 0x01CB - Vtd Programming for Iop + 1=Enable/TRUE (Iop VT-d Bar programming enabled), 0=Disable/FLASE (Iop VT-d Bar + programming disabled) + $EN_DIS +**/ + UINT8 VtdIopEnable; + +/** Offset 0x01CC - Vtd Programming for ITbt + DEPRECATED + $EN_DIS +**/ + UINT8 VtdItbtEnable; + +/** Offset 0x01CD - Internal Graphics Pre-allocated Memory + Size of memory preallocated for internal graphics. + 0x00:0MB, 0x01:32MB, 0x02:64MB, 0x03:96MB, 0x04:128MB, 0x05:160MB, 0xF0:4MB, 0xF1:8MB, + 0xF2:12MB, 0xF3:16MB, 0xF4:20MB, 0xF5:24MB, 0xF6:28MB, 0xF7:32MB, 0xF8:36MB, 0xF9:40MB, + 0xFA:44MB, 0xFB:48MB, 0xFC:52MB, 0xFD:56MB, 0xFE:60MB +**/ + UINT8 IgdDvmt50PreAlloc; + +/** Offset 0x01CE - Internal Graphics + Enable/disable internal graphics. + $EN_DIS +**/ + UINT8 InternalGfx; + +/** Offset 0x01CF - Aperture Size + Select the Aperture Size. + 0:128 MB, 1:256 MB, 3:512 MB, 7:1024 MB, 15: 2048 MB +**/ + UINT8 ApertureSize; + +/** Offset 0x01D0 - Board Type + MrcBoardType, Options are 0:Mobile, 1:Desktop1Dpc, 2:Desktop2DpcDaisyChain, 3:Desktop2DpcTeeTopologyAsymmetrical, + 4:Desktop2DpcTeeTopology, 5:UltMobile, 7:UP Server + 0:Mobile, 1:Desktop1Dpc, 2:Desktop2DpcDaisyChain, 3:Desktop2DpcTeeTopologyAsymmetrical, + 4:Desktop2DpcTeeTopology, 5:UltMobile, 7:UP Server +**/ + UINT8 UserBd; + +/** Offset 0x01D1 - MRC Retraining on RTC Power Loss + Specifies whether MRC memory training will occur when RTC power loss is detected. + Options are 0=Memory will be re-trained if RTC power loss is detected. 1=Memory + will not be re-trained when RTC power loss is detected. (Typically used on board + designs without a dedicated RTC battery) + 0:Disabled, 1:Enabled +**/ + UINT8 DisableMrcRetrainingOnRtcPowerLoss; + +/** Offset 0x01D2 - DDR Frequency Limit + Maximum Memory Frequency Selections in Mhz. Options are 1067, 1333, 1600, 1867, + 2133, 2400, 2667, 2933 and 0 for Auto. + 1067:1067, 1333:1333, 1600:1600, 1867:1867, 2133:2133, 2400:2400, 2667:2667, 2933:2933, 0:Auto +**/ + UINT16 DdrFreqLimit; + +/** Offset 0x01D4 - SA GV + System Agent dynamic frequency support and when enabled memory will be training + at four different frequencies. + 0:Disabled, 1:FixedPoint0, 2:FixedPoint1, 3:FixedPoint2, 4:FixedPoint3, 5:Enabled +**/ + UINT8 SaGv; + +/** Offset 0x01D5 - Memory Test on Warm Boot + Run Base Memory Test on Warm Boot + 0:Disable, 1:Enable +**/ + UINT8 MemTestOnWarmBoot; + +/** Offset 0x01D6 - DDR Speed Control + DDR Frequency and Gear control for all SAGV points. + 0:Auto, 1:Manual +**/ + UINT8 DdrSpeedControl; + +/** Offset 0x01D7 - Rank Margin Tool + Enable/disable Rank Margin Tool. + $EN_DIS +**/ + UINT8 RMT; + +/** Offset 0x01D8 - Controller 0 Channel 0 DIMM Control + Enable / Disable DIMMs on Controller 0 Channel 0 + $EN_DIS +**/ + UINT8 DisableMc0Ch0; + +/** Offset 0x01D9 - Controller 0 Channel 1 DIMM Control + Enable / Disable DIMMs on Controller 0 Channel 1 + $EN_DIS +**/ + UINT8 DisableMc0Ch1; + +/** Offset 0x01DA - Controller 0 Channel 2 DIMM Control + Enable / Disable DIMMs on Controller 0 Channel 2 + $EN_DIS +**/ + UINT8 DisableMc0Ch2; + +/** Offset 0x01DB - Controller 0 Channel 3 DIMM Control + Enable / Disable DIMMs on Controller 0 Channel 3 + $EN_DIS +**/ + UINT8 DisableMc0Ch3; + +/** Offset 0x01DC - Controller 1 Channel 0 DIMM Control + Enable / Disable DIMMs on Controller 1 Channel 0 + $EN_DIS +**/ + UINT8 DisableMc1Ch0; + +/** Offset 0x01DD - Controller 1 Channel 1 DIMM Control + Enable / Disable DIMMs on Controller 1 Channel 1 + $EN_DIS +**/ + UINT8 DisableMc1Ch1; + +/** Offset 0x01DE - Controller 1 Channel 2 DIMM Control + Enable / Disable DIMMs on Controller 1 Channel 2 + $EN_DIS +**/ + UINT8 DisableMc1Ch2; + +/** Offset 0x01DF - Controller 1 Channel 3 DIMM Control + Enable / Disable DIMMs on Controller 1 Channel 3 + $EN_DIS +**/ + UINT8 DisableMc1Ch3; + +/** Offset 0x01E0 - Scrambler Support + This option enables data scrambling in memory. + $EN_DIS +**/ + UINT8 ScramblerSupport; + +/** Offset 0x01E1 - SPD Profile Selected + Select DIMM timing profile. Options are 0:Default SPD Profile, 1:Custom Profile, + 2:XMP Profile 1, 3:XMP Profile 2, 4:XMP Profile 3, 5:XMP User Profile 4, 6:XMP + User Profile 5 + 0:Default SPD Profile, 1:Custom Profile, 2:XMP Profile 1, 3:XMP Profile 2, 4:XMP + Profile 3, 5:XMP User Profile 4, 6:XMP User Profile 5 +**/ + UINT8 SpdProfileSelected; + +/** Offset 0x01E2 - Memory Reference Clock + 100MHz, 133MHz. + 0:133MHz, 1:100MHz +**/ + UINT8 RefClk; + +/** Offset 0x01E3 +**/ + UINT8 UnusedUpdSpace2; + +/** Offset 0x01E4 - Memory Voltage + DRAM voltage (Vdd) (supply voltage for input buffers and core logic of the DRAM + chips) in millivolts from 0 - default to 1435mv. +**/ + UINT16 VddVoltage; + +/** Offset 0x01E6 - Memory Ratio + Automatic or the frequency will equal ratio times reference clock. Set to Auto to + recalculate memory timings listed below. + 0:Auto, 4:4, 5:5, 6:6, 7:7, 8:8, 9:9, 10:10, 11:11, 12:12, 13:13, 14:14, 15:15 +**/ + UINT8 Ratio; + +/** Offset 0x01E7 - tCL + CAS Latency, 0: AUTO, max: 31. Only used if FspmUpd->FspmConfig.SpdProfileSelected + == 1 (Custom Profile). +**/ + UINT8 tCL; + +/** Offset 0x01E8 - tCWL + Min CAS Write Latency Delay Time, 0: AUTO, max: 34. Only used if FspmUpd->FspmConfig.SpdProfileSelected + == 1 (Custom Profile). +**/ + UINT8 tCWL; + +/** Offset 0x01E9 +**/ + UINT8 UnusedUpdSpace3; + +/** Offset 0x01EA - tFAW + Min Four Activate Window Delay Time, 0: AUTO, max: 63. Only used if FspmUpd->FspmConfig.SpdProfileSelected + == 1 (Custom Profile). +**/ + UINT16 tFAW; + +/** Offset 0x01EC - tRAS + RAS Active Time, 0: AUTO, max: 64. Only used if FspmUpd->FspmConfig.SpdProfileSelected + == 1 (Custom Profile). +**/ + UINT16 tRAS; + +/** Offset 0x01EE - tRCD/tRP + RAS to CAS delay time and Row Precharge delay time, 0: AUTO, max: 63. Only used + if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile). +**/ + UINT8 tRCDtRP; + +/** Offset 0x01EF +**/ + UINT8 UnusedUpdSpace4; + +/** Offset 0x01F0 - tREFI + Refresh Interval, 0: AUTO, max: 65535. Only used if FspmUpd->FspmConfig.SpdProfileSelected + == 1 (Custom Profile). +**/ + UINT16 tREFI; + +/** Offset 0x01F2 - tRFC + Min Refresh Recovery Delay Time, 0: AUTO, max: 1023. Only used if FspmUpd->FspmConfig.SpdProfileSelected + == 1 (Custom Profile). +**/ + UINT16 tRFC; + +/** Offset 0x01F4 - tRRD + Min Row Active to Row Active Delay Time, 0: AUTO, max: 15. Only used if FspmUpd->FspmConfig.SpdProfileSelected + == 1 (Custom Profile). +**/ + UINT8 tRRD; + +/** Offset 0x01F5 - tRTP + Min Internal Read to Precharge Command Delay Time, 0: AUTO, max: 15. DDR4 legal + values: 5, 6, 7, 8, 9, 10, 12. Only used if FspmUpd->FspmConfig.SpdProfileSelected + == 1 (Custom Profile). +**/ + UINT8 tRTP; + +/** Offset 0x01F6 - tWR + Min Write Recovery Time, 0: AUTO, legal values: 5, 6, 7, 8, 10, 12, 14, 16, 18, + 20, 24, 30, 34, 40. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile). + 0:Auto, 5:5, 6:6, 7:7, 8:8, 10:10, 12:12, 14:14, 16:16, 18:18, 20:20, 24:24, 30:30, + 34:34, 40:40 +**/ + UINT8 tWR; + +/** Offset 0x01F7 - tWTR + Min Internal Write to Read Command Delay Time, 0: AUTO, max: 28. Only used if FspmUpd->FspmConfig.SpdProfileSelected + == 1 (Custom Profile). +**/ + UINT8 tWTR; + +/** Offset 0x01F8 - NMode + System command rate, range 0-2, 0 means auto, 1 = 1N, 2 = 2N +**/ + UINT8 NModeSupport; + +/** Offset 0x01F9 - Enable Intel HD Audio (Azalia) + 0: Disable, 1: Enable (Default) Azalia controller + $EN_DIS +**/ + UINT8 PchHdaEnable; + +/** Offset 0x01FA - Enable PCH ISH Controller + 0: Disable, 1: Enable (Default) ISH Controller + $EN_DIS +**/ + UINT8 PchIshEnable; + +/** Offset 0x01FB - CPU Trace Hub Mode + Select 'Host Debugger' if Trace Hub is used with host debugger tool or 'Target Debugger' + if Trace Hub is used by target debugger software or 'Disable' trace hub functionality. + 0: Disable, 1:Target Debugger Mode, 2:Host Debugger Mode +**/ + UINT8 CpuTraceHubMode; + +/** Offset 0x01FC - CPU Trace Hub Memory Region 0 + CPU Trace Hub Memory Region 0, The avaliable memory size is : 0MB, 1MB, 8MB, 64MB, + 128MB, 256MB, 512MB + 0:0, 1:1MB, 2:8MB, 3:64MB, 4:128MB, 5:256MB, 6:512MB +**/ + UINT8 CpuTraceHubMemReg0Size; + +/** Offset 0x01FD - CPU Trace Hub Memory Region 1 + CPU Trace Hub Memory Region 1. The avaliable memory size is : 0MB, 1MB, 8MB, 64MB, + 128MB, 256MB, 512MB + 0:0, 1:1MB, 2:8MB, 3:64MB, 4:128MB, 5:256MB, 6:512MB +**/ + UINT8 CpuTraceHubMemReg1Size; + +/** Offset 0x01FE - SAGV Gear Ratio + Gear Selection for SAGV points. 0 - Auto, 1-1 Gear 1, 2-Gear 2 +**/ + UINT8 SaGvGear[4]; + +/** Offset 0x0202 - SAGV Frequency + SAGV Frequency per point in Mhz. 0 for Auto and a ratio of 133/100MHz: 1333/1300. +**/ + UINT16 SaGvFreq[4]; + +/** Offset 0x020A - SAGV Disabled Gear Ratio + Gear Selection for SAGV Disabled. 0 - Auto, 1-1 Gear 1, 2-Gear 2 +**/ + UINT8 GearRatio; + +/** Offset 0x020B - HECI Timeouts + 0: Disable, 1: Enable (Default) timeout check for HECI + $EN_DIS +**/ + UINT8 HeciTimeouts; + +/** Offset 0x020C - HECI1 BAR address + BAR address of HECI1 +**/ + UINT32 Heci1BarAddress; + +/** Offset 0x0210 - HECI2 BAR address + BAR address of HECI2 +**/ + UINT32 Heci2BarAddress; + +/** Offset 0x0214 - HECI3 BAR address + BAR address of HECI3 +**/ + UINT32 Heci3BarAddress; + +/** Offset 0x0218 - HG dGPU Power Delay + HG dGPU delay interval after power enabling: 0=Minimal, 1000=Maximum, default is + 300=300 microseconds +**/ + UINT16 HgDelayAfterPwrEn; + +/** Offset 0x021A - HG dGPU Reset Delay + HG dGPU delay interval for Reset complete: 0=Minimal, 1000=Maximum, default is 100=100 + microseconds +**/ + UINT16 HgDelayAfterHoldReset; + +/** Offset 0x021C - MMIO size adjustment for AUTO mode + Positive number means increasing MMIO size, Negative value means decreasing MMIO + size: 0 (Default)=no change to AUTO mode MMIO size +**/ + UINT16 MmioSizeAdjustment; + +/** Offset 0x021E - PCIe ASPM programming will happen in relation to the Oprom + Select when PCIe ASPM programming will happen in relation to the Oprom. Before(0x0)(Default): + Do PCIe ASPM programming before Oprom, After(0x1): Do PCIe ASPM programming after + Oprom, requires an SMI handler to save/restore ASPM settings during S3 resume + 0:Before, 1:After +**/ + UINT8 InitPcieAspmAfterOprom; + +/** Offset 0x021F - Selection of the primary display device + 0=iGFX, 1=PEG, 2=PCIe Graphics on PCH, 3(Default)=AUTO, 4=Hybrid Graphics + 0:iGFX, 1:PEG, 2:PCIe Graphics on PCH, 3:AUTO, 4:Hybrid Graphics +**/ + UINT8 PrimaryDisplay; + +/** Offset 0x0220 - Selection of PSMI Region size + 0=32MB, 1=288MB, 2=544MB, 3=800MB, 4=1024MB Default is 0 + 0:32MB, 1:288MB, 2:544MB, 3:800MB, 4:1024MB +**/ + UINT8 PsmiRegionSize; + +/** Offset 0x0221 +**/ + UINT8 UnusedUpdSpace5[3]; + +/** Offset 0x0224 - Temporary MMIO address for GMADR + Obsolete field now and it has been extended to 64 bit address, used GmAdr64 +**/ + UINT32 GmAdr; + +/** Offset 0x0228 - Temporary MMIO address for GTTMMADR + The reference code will use this as Temporary MMIO address space to access GTTMMADR + Registers.Platform should provide conflict free Temporary MMIO Range: GttMmAdr + to (GttMmAdr + 2MB MMIO + 6MB Reserved + GttSize). Default is (GmAdr - (2MB MMIO + + 6MB Reserved + GttSize)) to (GmAdr - 0x1) (Where GttSize = 8MB) +**/ + UINT32 GttMmAdr; + +/** Offset 0x022C - Selection of iGFX GTT Memory size + 1=2MB, 2=4MB, 3=8MB, Default is 3 + 1:2MB, 2:4MB, 3:8MB +**/ + UINT16 GttSize; + +/** Offset 0x022E - Hybrid Graphics GPIO information for PEG 0 + Hybrid Graphics GPIO information for PEG 0, for Reset, power and wake GPIOs +**/ + UINT8 CpuPcie0Rtd3Gpio[24]; + +/** Offset 0x0246 - Enable/Disable MRC TXT dependency + When enabled MRC execution will wait for TXT initialization to be done first. Disabled(0x0)(Default): + MRC will not wait for TXT initialization, Enabled(0x1): MRC will wait for TXT initialization + $EN_DIS +**/ + UINT8 TxtImplemented; + +/** Offset 0x0247 - Enable/Disable SA OcSupport + Enable: Enable SA OcSupport, Disable(Default): Disable SA OcSupport + $EN_DIS +**/ + UINT8 SaOcSupport; + +/** Offset 0x0248 - GT slice Voltage Mode + 0(Default): Adaptive, 1: Override + 0: Adaptive, 1: Override +**/ + UINT8 GtVoltageMode; + +/** Offset 0x0249 - Maximum GTs turbo ratio override + 0(Default)=Minimal/Auto, 60=Maximum +**/ + UINT8 GtMaxOcRatio; + +/** Offset 0x024A - The voltage offset applied to GT slice + 0(Default)=Minimal, 1000=Maximum +**/ + UINT16 GtVoltageOffset; + +/** Offset 0x024C - The GT slice voltage override which is applied to the entire range of GT frequencies + 0(Default)=Minimal, 2000=Maximum +**/ + UINT16 GtVoltageOverride; + +/** Offset 0x024E - adaptive voltage applied during turbo frequencies + 0(Default)=Minimal, 2000=Maximum +**/ + UINT16 GtExtraTurboVoltage; + +/** Offset 0x0250 - voltage offset applied to the SA + 0(Default)=Minimal, 1000=Maximum +**/ + UINT16 SaVoltageOffset; + +/** Offset 0x0252 - PCIe root port Function number for Hybrid Graphics dGPU + Root port Index number to indicate which PCIe root port has dGPU +**/ + UINT8 RootPortIndex; + +/** Offset 0x0253 - Realtime Memory Timing + 0(Default): Disabled, 1: Enabled. When enabled, it will allow the system to perform + realtime memory timing changes after MRC_DONE. + 0: Disabled, 1: Enabled +**/ + UINT8 RealtimeMemoryTiming; + +/** Offset 0x0254 - iTBT PCIe Multiple Segment setting + DEPRECATED + $EN_DIS +**/ + UINT8 PcieMultipleSegmentEnabled; + +/** Offset 0x0255 - Enable/Disable SA IPU + Enable(Default): Enable SA IPU, Disable: Disable SA IPU + $EN_DIS +**/ + UINT8 SaIpuEnable; + +/** Offset 0x0256 - Lane Used of CSI port + Lane Used of each CSI port + 1:x1, 2:x2, 3:x3, 4:x4, 8:x8 +**/ + UINT8 IpuLaneUsed[8]; + +/** Offset 0x025E - Lane Used of CSI port + Speed of each CSI port + 0:Sensor default, 1:<416Mbps, 2:<1.5Gbps, 3:<2Gbps, 4:<2.5Gbps, 5:<4Gbps, 6:>4Gbps +**/ + UINT8 CsiSpeed[8]; + +/** Offset 0x0266 - IMGU CLKOUT Configuration + The configuration of IMGU CLKOUT, 0: Disable;1: Enable. + $EN_DIS +**/ + UINT8 ImguClkOutEn[6]; + +/** Offset 0x026C - Enable PCIE RP Mask + Enable/disable PCIE Root Ports. 0: disable, 1: enable. One bit for each port, bit0 + for port1, bit1 for port2, and so on. +**/ + UINT32 CpuPcieRpEnableMask; + +/** Offset 0x0270 - Assertion on Link Down GPIOs + GPIO Assertion on Link Down. Disabled(0x0)(Default): Disable assertion on Link Down + GPIOs, Enabled(0x1): Enable assertion on Link Down GPIOs + 0:Disable, 1:Enable +**/ + UINT8 CpuPcieRpLinkDownGpios; + +/** Offset 0x0271 - Enable ClockReq Messaging + ClockReq Messaging. Disabled(0x0): Disable ClockReq Messaging, Enabled(0x1)(Default): + Enable ClockReq Messaging + 0:Disable, 1:Enable +**/ + UINT8 CpuPcieRpClockReqMsgEnable[3]; + +/** Offset 0x0274 - PCIE RP Pcie Speed + Determines each PCIE Port speed capability. 0: Auto; 1: Gen1; 2: Gen2; 3: Gen3; + 4: Gen4 (see: CPU_PCIE_SPEED). +**/ + UINT8 CpuPcieRpPcieSpeed[4]; + +/** Offset 0x0278 - Selection of PSMI Support On/Off + 0(Default) = FALSE, 1 = TRUE. When TRUE, it will allow the PSMI Support + $EN_DIS +**/ + UINT8 GtPsmiSupport; + +/** Offset 0x0279 - Program GPIOs for LFP on DDI port-A device + 0=Disabled,1(Default)=eDP, 2=MIPI DSI + 0:Disabled, 1:eDP, 2:MIPI DSI +**/ + UINT8 DdiPortAConfig; + +/** Offset 0x027A - Program GPIOs for LFP on DDI port-B device + 0(Default)=Disabled,1=eDP, 2=MIPI DSI + 0:Disabled, 1:eDP, 2:MIPI DSI +**/ + UINT8 DdiPortBConfig; + +/** Offset 0x027B - Enable or disable HPD of DDI port A + 0(Default)=Disable, 1=Enable + $EN_DIS +**/ + UINT8 DdiPortAHpd; + +/** Offset 0x027C - Enable or disable HPD of DDI port B + 0=Disable, 1(Default)=Enable + $EN_DIS +**/ + UINT8 DdiPortBHpd; + +/** Offset 0x027D - Enable or disable HPD of DDI port C + 0(Default)=Disable, 1=Enable + $EN_DIS +**/ + UINT8 DdiPortCHpd; + +/** Offset 0x027E - Enable or disable HPD of DDI port 1 + 0=Disable, 1(Default)=Enable + $EN_DIS +**/ + UINT8 DdiPort1Hpd; + +/** Offset 0x027F - Enable or disable HPD of DDI port 2 + 0(Default)=Disable, 1=Enable + $EN_DIS +**/ + UINT8 DdiPort2Hpd; + +/** Offset 0x0280 - Enable or disable HPD of DDI port 3 + 0(Default)=Disable, 1=Enable + $EN_DIS +**/ + UINT8 DdiPort3Hpd; + +/** Offset 0x0281 - Enable or disable HPD of DDI port 4 + 0(Default)=Disable, 1=Enable + $EN_DIS +**/ + UINT8 DdiPort4Hpd; + +/** Offset 0x0282 - Enable or disable DDC of DDI port A + 0(Default)=Disable, 1=Enable + $EN_DIS +**/ + UINT8 DdiPortADdc; + +/** Offset 0x0283 - Enable or disable DDC of DDI port B + 0=Disable, 1(Default)=Enable + $EN_DIS +**/ + UINT8 DdiPortBDdc; + +/** Offset 0x0284 - Enable or disable DDC of DDI port C + 0(Default)=Disable, 1=Enable + $EN_DIS +**/ + UINT8 DdiPortCDdc; + +/** Offset 0x0285 - Enable DDC setting of DDI Port 1 + 0(Default)=Disable, 1=Enable + $EN_DIS +**/ + UINT8 DdiPort1Ddc; + +/** Offset 0x0286 - Enable DDC setting of DDI Port 2 + 0(Default)=Disable, 1=Enable + $EN_DIS +**/ + UINT8 DdiPort2Ddc; + +/** Offset 0x0287 - Enable DDC setting of DDI Port 3 + 0(Default)=Disable, 1=Enable + $EN_DIS +**/ + UINT8 DdiPort3Ddc; + +/** Offset 0x0288 - Enable DDC setting of DDI Port 4 + 0(Default)=Disable, 1=Enable + $EN_DIS +**/ + UINT8 DdiPort4Ddc; + +/** Offset 0x0289 +**/ + UINT8 UnusedUpdSpace6[7]; + +/** Offset 0x0290 - Temporary MMIO address for GMADR + The reference code will use this as Temporary MMIO address space to access GMADR + Registers.Platform should provide conflict free Temporary MMIO Range: GmAdr to + (GmAdr + ApertureSize). Default is (PciExpressBaseAddress - ApertureSize) to (PciExpressBaseAddress + - 0x1) (Where ApertureSize = 256MB, 512MB, 1024MB and 2048MB) +**/ + UINT64 GmAdr64; + +/** Offset 0x0298 - Per-core HT Disable + Defines the per-core HT disable mask where: 1 - Disable selected logical core HT, + 0 - is ignored. Input is in HEX and each bit maps to a logical core. Ex. A value + of '1F' would disable HT for cores 4,3,2,1 and 0. Default is 0, all cores have + HT enabled. Range is 0 - 0x7F for max 8 cores. You can only disable up to MAX_CORE_COUNT - 1. +**/ + UINT16 PerCoreHtDisable; + +/** Offset 0x029A - SA/Uncore voltage mode + SA/Uncore voltage mode; 0: Adaptive; 1: Override. + $EN_DIS +**/ + UINT8 SaVoltageMode; + +/** Offset 0x029B +**/ + UINT8 UnusedUpdSpace7; + +/** Offset 0x029C - SA/Uncore Voltage Override + The SA/Uncore voltage override applicable when SA/Uncore voltage mode is in Override + mode. Valid Range 0 to 2000 +**/ + UINT16 SaVoltageOverride; + +/** Offset 0x029E - SA/Uncore Extra Turbo voltage + Extra Turbo voltage applicable when SA/Uncore voltage mode is in Adaptive mode. + Valid Range 0 to 2000 +**/ + UINT16 SaExtraTurboVoltage; + +/** Offset 0x02A0 - Thermal Velocity Boost Ratio clipping + 0(Default): Disabled, 1: Enabled. This service controls Core frequency reduction + caused by high package temperatures for processors that implement the Intel Thermal + Velocity Boost (TVB) feature + 0: Disabled, 1: Enabled +**/ + UINT8 TvbRatioClipping; + +/** Offset 0x02A1 - Thermal Velocity Boost voltage optimization + 0: Disabled, 1: Enabled(Default). This service controls thermal based voltage optimizations + for processors that implement the Intel Thermal Velocity Boost (TVB) feature. + 0: Disabled, 1: Enabled +**/ + UINT8 TvbVoltageOptimization; + +/** Offset 0x02A2 - Enable/Disable Display Audio Link in Pre-OS + 0(Default)= Disable, 1 = Enable + 0: Disabled, 1: Enabled +**/ + UINT8 DisplayAudioLink; + +/** Offset 0x02A3 +**/ + UINT8 UnusedUpdSpace8; + +/** Offset 0x02A4 - Memory VDDQ Voltage + DRAM voltage (Vddq) (supply voltage for DQ/DQS of the DRAM chips) in millivolts + from 0 - default to 1435mv. +**/ + UINT16 VddqVoltage; + +/** Offset 0x02A6 - Memory VPP Voltage + DRAM voltage (Vpp) (supply voltage for VPP of the DRAM chips) in millivolts from + 0 - default to 2135mv. +**/ + UINT16 VppVoltage; + +/** Offset 0x02A8 - CPU PCIe New FOM + Enable/Disable NewFom for DEKEL Programming. 0: Disable(Default); 1: Enable + $EN_DIS +**/ + UINT8 CpuPcieNewFom[4]; + +/** Offset 0x02AC - DMI DEKEL New FOM + Enable/Disable NewFom for DEKEL Programming. 0: Disable(Default); 1: Enable + $EN_DIS +**/ + UINT8 DmiNewFom; + +/** Offset 0x02AD - Dynamic Memory Boost + 0(Default): Disable, 1: Enable. When enabled, MRC will train the Default SPD Profile, + and also the profile selected by SpdProfileSelected, to allow automatic switching + during runtime. Only valid if SpdProfileSelected is an XMP Profile, otherwise ignored. + $EN_DIS +**/ + UINT8 DynamicMemoryBoost; + +/** Offset 0x02AE - Hybrid Graphics Support + 0(Default): PEG10, 1: PEG60, 2:PEG62. Help to select Hybrid Graphics Support on Peg Port +**/ + UINT8 HgSupport; + +/** Offset 0x02AF - Realtime Memory Frequency + 0(Default): Disabled, 1: Enabled. Ignored unless SpdProfileSelected is an XMP Profile. + If enabled, MRC will train the Default SPD Profile, and also the selected XMP Profile, + to allow manually triggered switching between frequencies at runtime. + $EN_DIS +**/ + UINT8 RealtimeMemoryFrequency; + +/** Offset 0x02B0 - SaPreMemProductionRsvd + Reserved for SA Pre-Mem Production + $EN_DIS +**/ + UINT8 SaPreMemProductionRsvd[97]; + +/** Offset 0x0311 - Enable Gt CLOS + 0(Default)=Disable, 1=Enable + $EN_DIS +**/ + UINT8 GtClosEnable; + +/** Offset 0x0312 - DMI Max Link Speed + Auto (Default)(0x0): Maximum possible link speed, Gen1(0x1): Limit Link to Gen1 + Speed, Gen2(0x2): Limit Link to Gen2 Speed, Gen3(0x3):Limit Link to Gen3 Speed + 0:Auto, 1:Gen1, 2:Gen2, 3:Gen3 +**/ + UINT8 DmiMaxLinkSpeed; + +/** Offset 0x0313 - DMI Equalization Phase 2 + DMI Equalization Phase 2. (0x0): Disable phase 2, (0x1): Enable phase 2, (0x2)(Default): + AUTO - Use the current default method + 0:Disable phase2, 1:Enable phase2, 2:Auto +**/ + UINT8 DmiGen3EqPh2Enable; + +/** Offset 0x0314 - DMI Gen3 Equalization Phase3 + DMI Gen3 Equalization Phase3. Auto(0x0)(Default): Use the current default method, + HwEq(0x1): Use Adaptive Hardware Equalization, SwEq(0x2): Use Adaptive Software + Equalization (Implemented in BIOS Reference Code), Static(0x3): Use the Static + EQs provided in DmiGen3EndPointPreset array for Phase1 AND Phase3 (Instead of just + Phase1), Disabled(0x4): Bypass Equalization Phase 3 + 0:Auto, 1:HwEq, 2:SwEq, 3:StaticEq, 4:BypassPhase3 +**/ + UINT8 DmiGen3EqPh3Method; + +/** Offset 0x0315 - Enable/Disable DMI GEN3 Static EQ Phase1 programming + Program DMI Gen3 EQ Phase1 Static Presets. Disabled(0x0): Disable EQ Phase1 Static + Presets Programming, Enabled(0x1)(Default): Enable EQ Phase1 Static Presets Programming + $EN_DIS +**/ + UINT8 DmiGen3ProgramStaticEq; + +/** Offset 0x0316 - DeEmphasis control for DMI + DeEmphasis control for DMI. 0=-6dB, 1(Default)=-3.5 dB + 0: -6dB, 1: -3.5dB +**/ + UINT8 DmiDeEmphasis; + +/** Offset 0x0317 - DMI Gen3 Root port preset values per lane + Used for programming DMI Gen3 preset values per lane. Range: 0-9, 8 is default for each lane +**/ + UINT8 DmiGen3RootPortPreset[8]; + +/** Offset 0x031F - DMI Gen3 End port preset values per lane + Used for programming DMI Gen3 preset values per lane. Range: 0-9, 7 is default for each lane +**/ + UINT8 DmiGen3EndPointPreset[8]; + +/** Offset 0x0327 - DMI Gen3 End port Hint values per lane + Used for programming DMI Gen3 Hint values per lane. Range: 0-6, 2 is default for each lane +**/ + UINT8 DmiGen3EndPointHint[8]; + +/** Offset 0x032F - DMI Gen3 RxCTLEp per-Bundle control + Range: 0-15, 0 is default for each bundle, must be specified based upon platform design +**/ + UINT8 DmiGen3RxCtlePeaking[4]; + +/** Offset 0x0333 - DMI ASPM Configuration:{Combo + Set ASPM Configuration + 0:Disabled, 1:L0s, 2:L1, 3:L1L0s +**/ + UINT8 DmiAspm; + +/** Offset 0x0334 - Enable/Disable DMI GEN3 Hardware Eq + Enable/Disable DMI GEN3 Hardware Eq. Disabled(0x0)(Default): Disable Hardware Eq, + Enabled(0x1): Enable EQ Phase1 Static Presets Programming + $EN_DIS +**/ + UINT8 DmiHweq; + +/** Offset 0x0335 - Enable/Disable CPU DMI GEN3 Phase 23 Bypass + CPU DMI GEN3 Phase 23 Bypass. Disabled(0x0)(Default): Disable Phase 23 Bypass, Enabled(0x1): + Enable Phase 23 Bypass + $EN_DIS +**/ + UINT8 Gen3EqPhase23Bypass; + +/** Offset 0x0336 - Enable/Disable CPU DMI GEN3 Phase 3 Bypass + CPU DMI GEN3 Phase 3 Bypass. Disabled(0x0)(Default): Disable Phase 3 Bypass, Enabled(0x1): + Enable Phase 3 Bypass + $EN_DIS +**/ + UINT8 Gen3EqPhase3Bypass; + +/** Offset 0x0337 - Enable/Disable CPU DMI Gen3 EQ Local Transmitter Coefficient Override Enable + Program Gen3 EQ Local Transmitter Coefficient Override. Disabled(0x0)(Default): + Disable Local Transmitter Coefficient Override, Enabled(0x1): Enable Local Transmitter + Coefficient Override + $EN_DIS +**/ + UINT8 Gen3LtcoEnable; + +/** Offset 0x0338 - Enable/Disable CPU DMI Gen3 EQ Remote Transmitter Coefficient/Preset Override Enable + Program Remote Transmitter Coefficient/Preset Override. Disabled(0x0)(Default): + Disable Remote Transmitter Coefficient/Preset Override, Enabled(0x1): Enable Remote + Transmitter Coefficient/Preset Override + $EN_DIS +**/ + UINT8 Gen3RtcoRtpoEnable; + +/** Offset 0x0339 - DMI Gen3 Transmitter Pre-Cursor Coefficient + Used for programming DMI Gen3 Transmitter Pre-Cursor Coefficient . Range: 0-10, + 2 is default for each lane +**/ + UINT8 DmiGen3Ltcpre[8]; + +/** Offset 0x0341 - DMI Gen3 Transmitter Post-Cursor Coefficient + Used for programming Transmitter Post-Cursor Coefficient. Range: 0-9, 2 is default + for each lane +**/ + UINT8 DmiGen3Ltcpo[8]; + +/** Offset 0x0349 - PCIE Hw Eq Gen3 CoeffList Cm + CPU_PCIE_EQ_PARAM. Coefficient C-1. +**/ + UINT8 CpuDmiHwEqGen3CoeffListCm[8]; + +/** Offset 0x0351 - PCIE Hw Eq Gen3 CoeffList Cp + CPU_PCIE_EQ_PARAM. Coefficient C+1. +**/ + UINT8 CpuDmiHwEqGen3CoeffListCp[8]; + +/** Offset 0x0359 - Enable/Disable DMI GEN3 DmiGen3DsPresetEnable + Enable/Disable DMI GEN3 DmiGen3DsPreset. Auto(0x0)(Default): DmiGen3DsPresetEnable, + Manual(0x1): Enable DmiGen3DsPresetEnable + $EN_DIS +**/ + UINT8 DmiGen3DsPresetEnable; + +/** Offset 0x035A - DMI Gen3 Root port preset Rx values per lane + Used for programming DMI Gen3 preset values per lane. Range: 0-10, 1 is default + for each lane +**/ + UINT8 DmiGen3DsPortRxPreset[8]; + +/** Offset 0x0362 - DMI Gen3 Root port preset Tx values per lane + Used for programming DMI Gen3 preset values per lane. Range: 0-10, 7 is default + for each lane +**/ + UINT8 DmiGen3DsPortTxPreset[8]; + +/** Offset 0x036A - Enable/Disable DMI GEN3 DmiGen3UsPresetEnable + Enable/Disable DMI GEN3 DmiGen3UsPreset. Auto(0x0)(Default): DmiGen3UsPresetEnable, + Manual(0x1): Enable DmiGen3UsPresetEnable + $EN_DIS +**/ + UINT8 DmiGen3UsPresetEnable; + +/** Offset 0x036B - DMI Gen3 Root port preset Rx values per lane + Used for programming DMI Gen3 preset values per lane. Range: 0-10, 7 is default + for each lane +**/ + UINT8 DmiGen3UsPortRxPreset[8]; + +/** Offset 0x0373 - DMI Gen3 Root port preset Tx values per lane + Used for programming DMI Gen3 preset values per lane. Range: 0-10, 7 is default + for each lane +**/ + UINT8 DmiGen3UsPortTxPreset[8]; + +/** Offset 0x037B - DMI Hw Eq Gen4 CoeffList Cm + CPU_PCIE_EQ_PARAM. Coefficient C-1. +**/ + UINT8 CpuDmiHwEqGen4CoeffListCm[8]; + +/** Offset 0x0383 - DMI Hw Eq Gen4 CoeffList Cp + CPU_PCIE_EQ_PARAM. Coefficient C+1. +**/ + UINT8 CpuDmiHwEqGen4CoeffListCp[8]; + +/** Offset 0x038B - Enable/Disable CPU DMI GEN4 Phase 23 Bypass + CPU DMI GEN4 Phase 23 Bypass. Disabled(0x0)(Default): Disable Phase 23 Bypass, Enabled(0x1): + Enable Phase 23 Bypass + $EN_DIS +**/ + UINT8 Gen4EqPhase23Bypass; + +/** Offset 0x038C - Enable/Disable CPU DMI GEN4 Phase 3 Bypass + CPU DMI GEN3 Phase 4 Bypass. Disabled(0x0)(Default): Disable Phase 3 Bypass, Enabled(0x1): + Enable Phase 3 Bypass + $EN_DIS +**/ + UINT8 Gen4EqPhase3Bypass; + +/** Offset 0x038D - Enable/Disable DMI GEN4 DmiGen4DsPresetEnable + Enable/Disable DMI GEN4 DmiGen4DsPreset. Auto(0x0)(Default): DmiGen4DsPresetEnable, + Manual(0x1): Enable DmiGen4DsPresetEnable + $EN_DIS +**/ + UINT8 DmiGen4DsPresetEnable; + +/** Offset 0x038E - DMI Gen4 Root port preset Tx values per lane + Used for programming DMI Gen4 preset values per lane. Range: 0-10, 7 is default + for each lane +**/ + UINT8 DmiGen4DsPortTxPreset[8]; + +/** Offset 0x0396 - Enable/Disable CPU DMI Gen4 EQ Remote Transmitter Coefficient/Preset Override Enable + Program Remote Transmitter Coefficient/Preset Override. Disabled(0x0)(Default): + Disable Remote Transmitter Coefficient/Preset Override, Enabled(0x1): Enable Remote + Transmitter Coefficient/Preset Override + $EN_DIS +**/ + UINT8 Gen4RtcoRtpoEnable; + +/** Offset 0x0397 - Enable/Disable CPU DMI Gen4 EQ Local Transmitter Coefficient Override Enable + Program Gen3 EQ Local Transmitter Coefficient Override. Disabled(0x0)(Default): + Disable Local Transmitter Coefficient Override, Enabled(0x1): Enable Local Transmitter + Coefficient Override + $EN_DIS +**/ + UINT8 Gen4LtcoEnable; + +/** Offset 0x0398 - DMI Gen4 Transmitter Pre-Cursor Coefficient + Used for programming DMI Gen4 Transmitter Pre-Cursor Coefficient . Range: 0-10, + 7 is default for each lane +**/ + UINT8 DmiGen4Ltcpre[8]; + +/** Offset 0x03A0 - DMI Gen4 Transmitter Post-Cursor Coefficient + Used for programming DMI Gen4 Transmitter Post-Cursor Coefficient. Range: 0-9, 7 + is default for each lane +**/ + UINT8 DmiGen4Ltcpo[8]; + +/** Offset 0x03A8 - Enable/Disable DMI GEN4 DmiGen4UsPresetEnable + Enable/Disable DMI GEN4 DmiGen4UsPreset. Auto(0x0)(Default): DmiGen4UsPresetEnable, + Manual(0x1): Enable DmiGen4UsPresetEnable + $EN_DIS +**/ + UINT8 DmiGen4UsPresetEnable; + +/** Offset 0x03A9 - DMI Gen4 Root port preset Tx values per lane + Used for programming DMI Gen4 preset values per lane. Range: 0-10, 1 is default + for each lane +**/ + UINT8 DmiGen4UsPortTxPreset[8]; + +/** Offset 0x03B1 - DMI ASPM Control Configuration:{Combo + Set ASPM Control configuration + 0:Disabled, 1:L0s, 2:L1, 3:L1L0s +**/ + UINT8 DmiAspmCtrl; + +/** Offset 0x03B2 - DMI ASPM L1 exit Latency + Range: 0-7, 4 is default L1 exit Latency +**/ + UINT8 DmiAspmL1ExitLatency; + +/** Offset 0x03B3 - BIST on Reset + Enable or Disable BIST on Reset; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 BistOnReset; + +/** Offset 0x03B4 - Skip Stop PBET Timer Enable/Disable + Skip Stop PBET Timer; 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 SkipStopPbet; + +/** Offset 0x03B5 - C6DRAM power gating feature + This policy indicates whether or not BIOS should allocate PRMRR memory for C6DRAM + power gating feature.- 0: Don't allocate any PRMRR memory for C6DRAM power gating + feature.- 1: Allocate PRMRR memory for C6DRAM power gating feature. + $EN_DIS +**/ + UINT8 EnableC6Dram; + +/** Offset 0x03B6 - Over clocking support + Over clocking support; 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 OcSupport; + +/** Offset 0x03B7 - Over clocking Lock + Over clocking Lock Enable/Disable; 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 OcLock; + +/** Offset 0x03B8 - Maximum Core Turbo Ratio Override + Maximum core turbo ratio override allows to increase CPU core frequency beyond the + fused max turbo ratio limit. 0: Hardware defaults. Range: 0-85 +**/ + UINT8 CoreMaxOcRatio; + +/** Offset 0x03B9 - Core voltage mode + Core voltage mode; 0: Adaptive; 1: Override. + $EN_DIS +**/ + UINT8 CoreVoltageMode; + +/** Offset 0x03BA - Maximum clr turbo ratio override + Maximum clr turbo ratio override allows to increase CPU clr frequency beyond the + fused max turbo ratio limit. 0: Hardware defaults. Range: 0-85 +**/ + UINT8 RingMaxOcRatio; + +/** Offset 0x03BB - Hyper Threading Enable/Disable + Enable or Disable Hyper Threading; 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 HyperThreading; + +/** Offset 0x03BC - Enable or Disable CPU Ratio Override + Enable or Disable CPU Ratio Override; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 CpuRatioOverride; + +/** Offset 0x03BD - CPU ratio value + CPU ratio value. Valid Range 0 to 63 +**/ + UINT8 CpuRatio; + +/** Offset 0x03BE - Boot frequency + Sets the boot frequency starting from reset vector.- 0: Maximum battery performance. + 1: Maximum non-turbo performance. 2: Turbo performance + 0:0, 1:1, 2:2 +**/ + UINT8 BootFrequency; + +/** Offset 0x03BF - Number of active big cores + Number of active big cores(Depends on Number of big cores). Default 0xFF means to + active all system supported big cores. 0xFF: Active all big cores; 0: Disable + all big cores; 1: 1; 2: 2; 3: 3; + 0:Disable all big cores, 1:1, 2:2, 3:3, 0xFF:Active all big cores +**/ + UINT8 ActiveCoreCount; + +/** Offset 0x03C0 - Processor Early Power On Configuration FCLK setting + 0: 800 MHz (ULT/ULX). 1: 1 GHz (DT/Halo). Not supported on ULT/ULX.- + 2: 400 MHz. - 3: Reserved + 0:800 MHz, 1: 1 GHz, 2: 400 MHz, 3: Reserved +**/ + UINT8 FClkFrequency; + +/** Offset 0x03C1 - Set JTAG power in C10 and deeper power states + False: JTAG is power gated in C10 state. True: keeps the JTAG power up during C10 + and deeper power states for debug purpose. 0: False; 1: True. + 0: False, 1: True +**/ + UINT8 JtagC10PowerGateDisable; + +/** Offset 0x03C2 - Enable or Disable VMX + Enable or Disable VMX; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 VmxEnable; + +/** Offset 0x03C3 - AVX2 Ratio Offset + 0(Default)= No Offset. Range 0 - 31. Specifies number of bins to decrease AVX ratio + vs. Core Ratio. Uses Mailbox MSR 0x150, cmd 0x1B. +**/ + UINT8 Avx2RatioOffset; + +/** Offset 0x03C4 - AVX3 Ratio Offset + DEPRECATED +**/ + UINT8 Avx3RatioOffset; + +/** Offset 0x03C5 - BCLK Adaptive Voltage Enable + When enabled, the CPU V/F curves are aware of BCLK frequency when calculated.
0: + Disable; 1: Enable + $EN_DIS +**/ + UINT8 BclkAdaptiveVoltage; + +/** Offset 0x03C6 - core voltage override + The core voltage override which is applied to the entire range of cpu core frequencies. + Valid Range 0 to 2000 +**/ + UINT16 CoreVoltageOverride; + +/** Offset 0x03C8 - Core Turbo voltage Adaptive + Extra Turbo voltage applied to the cpu core when the cpu is operating in turbo mode. + Valid Range 0 to 2000 +**/ + UINT16 CoreVoltageAdaptive; + +/** Offset 0x03CA - Core Turbo voltage Offset + The voltage offset applied to the core while operating in turbo mode.Valid Range 0 to 1000 +**/ + UINT16 CoreVoltageOffset; + +/** Offset 0x03CC - Core PLL voltage offset + Core PLL voltage offset. 0: No offset. Range 0-15 +**/ + UINT8 CorePllVoltageOffset; + +/** Offset 0x03CD - Atom Core PLL voltage offset + Atom Core PLL voltage offset. 0: No offset. Range 0-15 +**/ + UINT8 AtomPllVoltageOffset; + +/** Offset 0x03CE - Ring Downbin + Ring Downbin enable/disable. When enabled, CPU will ensure the ring ratio is always + lower than the core ratio.0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 RingDownBin; + +/** Offset 0x03CF - Ring voltage mode + Ring voltage mode; 0: Adaptive; 1: Override. + $EN_DIS +**/ + UINT8 RingVoltageMode; + +/** Offset 0x03D0 - TjMax Offset + TjMax offset.Specified value here is clipped by pCode (125 - TjMax Offset) to support + TjMax in the range of 62 to 115 deg Celsius. Valid Range 10 - 63 +**/ + UINT8 TjMaxOffset; + +/** Offset 0x03D1 +**/ + UINT8 UnusedUpdSpace9; + +/** Offset 0x03D2 - Ring voltage override + The ring voltage override which is applied to the entire range of cpu ring frequencies. + Valid Range 0 to 2000 +**/ + UINT16 RingVoltageOverride; + +/** Offset 0x03D4 - Ring Turbo voltage Adaptive + Extra Turbo voltage applied to the cpu ring when the cpu is operating in turbo mode. + Valid Range 0 to 2000 +**/ + UINT16 RingVoltageAdaptive; + +/** Offset 0x03D6 - Ring Turbo voltage Offset + The voltage offset applied to the ring while operating in turbo mode. Valid Range 0 to 1000 +**/ + UINT16 RingVoltageOffset; + +/** Offset 0x03D8 - Enable or Disable TME + Enable or Disable TME; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 TmeEnable; + +/** Offset 0x03D9 - Enable CPU CrashLog + Enable or Disable CPU CrashLog; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 CpuCrashLogEnable; + +/** Offset 0x03DA - CPU Run Control + Enable, Disable or Do not configure CPU Run Control; 0: Disable; 1: Enable ; 2: + No Change + 0:Disabled, 1:Enabled, 2:No Change +**/ + UINT8 DebugInterfaceEnable; + +/** Offset 0x03DB - CPU Run Control Lock + Lock or Unlock CPU Run Control; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 DebugInterfaceLockEnable; + +/** Offset 0x03DC - Atom L2 voltage mode + Atom L2 voltage mode; 0: Adaptive; 1: Override. + $EN_DIS +**/ + UINT8 AtomL2VoltageMode; + +/** Offset 0x03DD +**/ + UINT8 UnusedUpdSpace10; + +/** Offset 0x03DE - Atom L2 Voltage Override + The atom L2 voltage override which is applied to the entire range of atom L2 frequencies. + Valid Range 0 to 2000 +**/ + UINT16 AtomL2VoltageOverride; + +/** Offset 0x03E0 - Atom L2 Turbo voltage Adaptive + Extra Turbo voltage applied to the atom L2 when the atom L2 is operating in turbo + mode. Valid Range 0 to 2000 +**/ + UINT16 AtomL2VoltageAdaptive; + +/** Offset 0x03E2 - Atom L2 Turbo voltage Offset + The voltage offset applied to the atom while operating in turbo mode.Valid Range 0 to 1000 +**/ + UINT16 AtomL2VoltageOffset; + +/** Offset 0x03E4 - Per-Atom-Cluster VF Offset + Array used to specifies the selected Atom Core Cluster Offset Voltage. This voltage + is specified in millivolts. +**/ + UINT16 PerAtomClusterVoltageOffset[4]; + +/** Offset 0x03EC - Per-Atom-Cluster VF Offset Prefix + Sets the PerAtomClusterVoltageOffset value as positive or negative for the selected + Core; 0: Positive ; 1: Negative. +**/ + UINT8 PerAtomClusterVoltageOffsetPrefix[4]; + +/** Offset 0x03F0 - Enable IA CEP + Control for enabling/disabling IA CEP (Current Excursion Protection)). 1: Enable; + 0: Disable + $EN_DIS +**/ + UINT8 IaCepEnable; + +/** Offset 0x03F1 - Enable GT CEP + Control for enabling/disabling GT CEP (Current Excursion Protection)). 1: Enable; + 0: Disable + $EN_DIS +**/ + UINT8 GtCepEnable; + +/** Offset 0x03F2 - Enable CPU DLVR bypass mode support + Control for enabling/disabling CPU DLVR bypass mode). 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 DlvrBypassModeEnable; + +/** Offset 0x03F3 - Number of active small cores + Number of active small cores(Depends on Number of small cores). Default 0xFF means + to active all system supported small cores. 0xFF: Active all small cores; + 0: Disable all small cores; 1: 1; 2: 2; 3: 3; + 0:Disable all small cores, 1:1, 2:2, 3:3, 0xFF:Active all small cores +**/ + UINT8 ActiveSmallCoreCount; + +/** Offset 0x03F4 - Core VF Point Offset Mode + Selects Core Voltage & Frequency Offset mode between Legacy and Selection modes. + In Legacy Mode, setting a global offset for the entire VF curve. In Selection Mode, + setting a selected VF point; 0: Legacy; 1: Selection. + 0:Legacy, 1:Selection +**/ + UINT8 CoreVfPointOffsetMode; + +/** Offset 0x03F5 +**/ + UINT8 UnusedUpdSpace11[1]; + +/** Offset 0x03F6 - Core VF Point Offset + Array used to specifies the Core Voltage Offset applied to the each selected VF + Point. This voltage is specified in millivolts. +**/ + UINT16 CoreVfPointOffset[15]; + +/** Offset 0x0414 - Core VF Point Offset Prefix + Sets the CoreVfPointOffset value as positive or negative for corresponding core + VF Point; 0: Positive ; 1: Negative. + 0:Positive, 1:Negative +**/ + UINT8 CoreVfPointOffsetPrefix[15]; + +/** Offset 0x0423 - Core VF Point Ratio + Array for the each selected Core VF Point to display the ration. +**/ + UINT8 CoreVfPointRatio[15]; + +/** Offset 0x0432 - Core VF Point Count + Number of supported Core Voltage & Frequency Point Offset +**/ + UINT8 CoreVfPointCount; + +/** Offset 0x0433 - Core VF Configuration Scope + Alows both all-core VF curve or per-core VF curve configuration; 0: All-core; + 1: Per-core. + 0:All-core, 1:Per-core +**/ + UINT8 CoreVfConfigScope; + +/** Offset 0x0434 - Per-core VF Offset + Array used to specifies the selected Core Offset Voltage. This voltage is specified + in millivolts. +**/ + UINT16 PerCoreVoltageOffset[8]; + +/** Offset 0x0444 - Per-core VF Offset Prefix + Sets the PerCoreVoltageOffset value as positive or negative for the selected Core; + 0: Positive ; 1: Negative. +**/ + UINT8 PerCoreVoltageOffsetPrefix[8]; + +/** Offset 0x044C - Per Core Max Ratio override + Enable or disable Per Core PState OC supported by writing OCMB 0x1D to program new + favored core ratio to each Core. 0: Disable, 1: enable + $EN_DIS +**/ + UINT8 PerCoreRatioOverride; + +/** Offset 0x044D - Per Core Current Max Ratio + Array for the Per Core Max Ratio +**/ + UINT8 PerCoreRatio[8]; + +/** Offset 0x0455 - Atom Cluster Max Ratio + Array for Atom Cluster Max Ratio, 4 ATOM cores are in the same Cluster and their + max core ratio will be aligned. +**/ + UINT8 AtomClusterRatio[4]; + +/** Offset 0x0459 - Core Ratio Extension Mode + Enable or disable Core Ratio above 85 Extension Mode by writing BIOS MB 0x37 to + enable FULL_RANGE_MULTIPLIER_UNLOCK_EN. 0: Disable, 1: enable + $EN_DIS +**/ + UINT8 CoreRatioExtensionMode; + +/** Offset 0x045A - Pvd Ratio Threshold + Select PVD Ratio Threshold Value from Range 1 to 40. 0 - Auto/Default. +**/ + UINT8 PvdRatioThreshold; + +/** Offset 0x045B - Support Unlimited ICCMAX + DEPRECATED + $EN_DIS +**/ + UINT8 UnlimitedIccMax; + +/** Offset 0x045C - Enable CPU CrashLog GPRs dump + Enable or Disable CPU CrashLog GPRs dump; 0: Disable; 1: Enable; 2: Only + disable Smm GPRs dump + 0:Disabled, 1:Enabled, 2:Only Smm GPRs Disabled +**/ + UINT8 CrashLogGprs; + +/** Offset 0x045D - Ring VF Point Offset Mode + Selects Ring Voltage & Frequency Offset mode between Legacy and Selection modes. + In Legacy Mode, setting a global offset for the entire VF curve. In Selection Mode, + setting a selected VF point; 0: Legacy; 1: Selection. + 0:Legacy, 1:Selection +**/ + UINT8 RingVfPointOffsetMode; + +/** Offset 0x045E - Ring VF Point Offset + Array used to specifies the Ring Voltage Offset applied to the each selected VF + Point. This voltage is specified in millivolts. +**/ + UINT16 RingVfPointOffset[15]; + +/** Offset 0x047C - Ring VF Point Offset Prefix + Sets the RingVfPointOffset value as positive or negative for corresponding core + VF Point; 0: Positive ; 1: Negative. +**/ + UINT8 RingVfPointOffsetPrefix[15]; + +/** Offset 0x048B - Ring VF Point Ratio + Array for the each selected Ring VF Point to display the ration. +**/ + UINT8 RingVfPointRatio[15]; + +/** Offset 0x049A - Ring VF Point Count + Number of supported Ring Voltage & Frequency Point Offset +**/ + UINT8 RingVfPointCount; + +/** Offset 0x049B - BCLK Frequency Source + Clock source of BCLK OC frequency, 1:CPU BCLK, 2:PCH BCLK, 3:External CLK + 1:CPU BCLK, 2:PCH BCLK, 3:External CLK +**/ + UINT8 BclkSource; + +/** Offset 0x049C - GPIO Override + Gpio Override Level - FSP will not configure any GPIOs and rely on GPIO setings + before moved to FSP. Available configurations 0: Disable; 1: Level 1 - Skips GPIO + configuration in PEI/FSPM/FSPT phase;2: Level 2 - Reserved for future use +**/ + UINT8 GpioOverride; + +/** Offset 0x049D +**/ + UINT8 UnusedUpdSpace12[3]; + +/** Offset 0x04A0 - CPU BCLK OC Frequency + CPU BCLK OC Frequency in 10KHz units increasing. Value 9800 (10KHz) = 98MHz 0 + - Auto. Range is 8000-50000 (10KHz). +**/ + UINT32 CpuBclkOcFrequency; + +/** Offset 0x04A4 - Bitmask of disable cores + Core mask is a bitwise indication of which core should be disabled. 0x00=Default; + Bit 0 - core 0, bit 7 - core 7. +**/ + UINT32 DisablePerCoreMask; + +/** Offset 0x04A8 - Bitmask of disable atoms + DEPRECATED +**/ + UINT32 DisablePerAtomMask; + +/** Offset 0x04AC - Sa PLL Frequency + Configure Sa PLL Frequency. 0: 3200MHz , 1: 1600MHz + 0: 3200MHz, 1: 1600MHz +**/ + UINT8 SaPllFreqOverride; + +/** Offset 0x04AD - Skip override boot mode When Fw Update. + When set to TRUE and boot mode is BOOT_ON_FLASH_UPDATE, skip setting boot mode to + BOOT_WITH_FULL_CONFIGURATION in PEI memory init. + $EN_DIS +**/ + UINT8 SiSkipOverrideBootModeWhenFwUpdate; + +/** Offset 0x04AE - TSC HW Fixup disable + TSC HW Fixup disable during TSC copy from PMA to APIC. 0: Enable; 1: Disable + 0:Enable, 1:Disable +**/ + UINT8 TscDisableHwFixup; + +/** Offset 0x04AF - Support IA Unlimited ICCMAX + Support IA Unlimited ICCMAX up to maximum value 512A; 0: Disabled; 1: Enabled. + $EN_DIS +**/ + UINT8 IaIccUnlimitedMode; + +/** Offset 0x04B0 - IA ICCMAX + IA ICCMAX value is represented in 1/4 A increments. A value of 400 = 100A. 4 + . Range is 4-2047. +**/ + UINT16 IaIccMax; + +/** Offset 0x04B2 - Support GT Unlimited ICCMAX + Support GT Unlimited ICCMAX up to maximum value 512A; 0: Disabled; 1: Enabled. + $EN_DIS +**/ + UINT8 GtIccUnlimitedMode; + +/** Offset 0x04B3 +**/ + UINT8 UnusedUpdSpace13; + +/** Offset 0x04B4 - GT ICCMAX + GT ICCMAX value is represented in 1/4 A increments. A value of 400 = 100A. 4 + . Range is 4-2047. +**/ + UINT16 GtIccMax; + +/** Offset 0x04B6 - TVB Down Bins for Temp Threshold 0 + Down Bins (delta) for Temperature Threshold 0. When running above Temperature Threshold + 0, the ratio will be clipped by MAX_RATIO[n]-This value, when TVB ratio clipping + is enabled. Default is 1. +**/ + UINT8 TvbDownBinsTempThreshold0; + +/** Offset 0x04B7 - TVB Temperature Threshold 0 + TVB Temp (degrees C) - Temperature Threshold 0. Running ABOVE this temperature will + clip delta Down Bins for Threshold 0 from the resolved OC Ratio, when TVB ratio + clipping is enabled. Default is 70. +**/ + UINT8 TvbTempThreshold0; + +/** Offset 0x04B8 - TVB Temperature Threshold 1 + TVB Temp (degrees C) - Temperature Threshold 1. Running ABOVE this temperature will + clip delta Down Bins for Threshold 1 from the resolved OC Ratio, when TVB ratio + clipping is enabled. Default is 100. +**/ + UINT8 TvbTempThreshold1; + +/** Offset 0x04B9 - TVB Down Bins for Temp Threshold 1 + Down Bins (delta) for Temperature Threshold 1. When running above Temperature Threshold + 1, the ratio will be clipped by MAX_RATIO[n]-Down Bin Threshold 1-This value, when + TVB ratio clipping is enabled. Default is 2. +**/ + UINT8 TvbDownBinsTempThreshold1; + +/** Offset 0x04BA - FLL Overclock Mode Enable + Select FLL Mode Value from 0 to 3. 0x0 = no overclocking, 0x1 = ratio overclocking + with nominal (0.5-1x) reference clock frequency, 0x2 = BCLK overclocking with elevated + (1-3x) reference clock frequency, 0x3 = BCLK overclocking with extreme elevated + (3-5x) reference clock frequency and ratio limited to 63. + $EN_DIS +**/ + UINT8 FllOcModeEn; + +/** Offset 0x04BB - FLL Overclock Mode + Select FLL Mode Value from 0 to 3. 0x0 = no overclocking, 0x1 = ratio overclocking + with nominal (0.5-1x) reference clock frequency, 0x2 = BCLK overclocking with elevated + (1-3x) reference clock frequency, 0x3 = BCLK overclocking with extreme elevated + (3-5x) reference clock frequency and ratio limited to 63. +**/ + UINT8 FllOverclockMode; + +/** Offset 0x04BC - Configuration for boot TDP selection + Configuration for boot TDP selection; 0: TDP Nominal; 1: TDP Down; 2: TDP + Up;0xFF : Deactivate +**/ + UINT8 ConfigTdpLevel; + +/** Offset 0x04BD +**/ + UINT8 UnusedUpdSpace14[3]; + +/** Offset 0x04C0 - Short term Power Limit value for custom cTDP level 1 + Short term Power Limit value for custom cTDP level 1. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid + Range 0 to 4095875 in Step size of 125 +**/ + UINT32 CustomPowerLimit1; + +/** Offset 0x04C4 - Enhanced Thermal Turbo Mode + When eTVB mode is enabled user will be clipped when temperatures reach 70C 0: + Disabled; 1: Enabled. + $EN_DIS +**/ + UINT8 Etvb; + +/** Offset 0x04C5 - UnderVolt Protection + When UnderVolt Protection is enabled, user will be not be able to program under + voltage in OS runtime. 0: Disabled; 1: Enabled + $EN_DIS +**/ + UINT8 UnderVoltProtection; + +/** Offset 0x04C6 - ReservedCpuPreMem + Reserved for Cpu Pre-Mem + $EN_DIS +**/ + UINT8 ReservedCpuPreMem[6]; + +/** Offset 0x04CC - BiosGuard + Enable/Disable. 0: Disable, Enable/Disable BIOS Guard feature, 1: enable + $EN_DIS +**/ + UINT8 BiosGuard; + +/** Offset 0x04CD +**/ + UINT8 BiosGuardToolsInterface; + +/** Offset 0x04CE - Txt + Enable/Disable. 0: Disable, Enable/Disable Txt feature, 1: enable + $EN_DIS +**/ + UINT8 Txt; + +/** Offset 0x04CF +**/ + UINT8 UnusedUpdSpace15; + +/** Offset 0x04D0 - PrmrrSize + Enable/Disable. 0: Disable, define default value of PrmrrSize , 1: enable +**/ + UINT32 PrmrrSize; + +/** Offset 0x04D4 - SinitMemorySize + Enable/Disable. 0: Disable, define default value of SinitMemorySize , 1: enable +**/ + UINT32 SinitMemorySize; + +/** Offset 0x04D8 - TxtDprMemoryBase + Enable/Disable. 0: Disable, define default value of TxtDprMemoryBase , 1: enable +**/ + UINT64 TxtDprMemoryBase; + +/** Offset 0x04E0 - TxtHeapMemorySize + Enable/Disable. 0: Disable, define default value of TxtHeapMemorySize , 1: enable +**/ + UINT32 TxtHeapMemorySize; + +/** Offset 0x04E4 - TxtDprMemorySize + Enable/Disable. 0: Disable, define default value of TxtDprMemorySize , 1: enable +**/ + UINT32 TxtDprMemorySize; + +/** Offset 0x04E8 - BiosAcmBase + Enable/Disable. 0: Disable, define default value of BiosAcmBase , 1: enable +**/ + UINT32 BiosAcmBase; + +/** Offset 0x04EC - BiosAcmSize + Enable/Disable. 0: Disable, define default value of BiosAcmSize , 1: enable +**/ + UINT32 BiosAcmSize; + +/** Offset 0x04F0 - ApStartupBase + Enable/Disable. 0: Disable, define default value of BiosAcmBase , 1: enable +**/ + UINT32 ApStartupBase; + +/** Offset 0x04F4 - TgaSize + Enable/Disable. 0: Disable, define default value of TgaSize , 1: enable +**/ + UINT32 TgaSize; + +/** Offset 0x04F8 - TxtLcpPdBase + Enable/Disable. 0: Disable, define default value of TxtLcpPdBase , 1: enable +**/ + UINT64 TxtLcpPdBase; + +/** Offset 0x0500 - TxtLcpPdSize + Enable/Disable. 0: Disable, define default value of TxtLcpPdSize , 1: enable +**/ + UINT64 TxtLcpPdSize; + +/** Offset 0x0508 - IsTPMPresence + IsTPMPresence default values +**/ + UINT8 IsTPMPresence; + +/** Offset 0x0509 - ReservedSecurityPreMem + Reserved for Security Pre-Mem + $EN_DIS +**/ + UINT8 ReservedSecurityPreMem[32]; + +/** Offset 0x0529 - Enable PCH HSIO PCIE Rx Set Ctle + Enable PCH PCIe Gen 3 Set CTLE Value. +**/ + UINT8 PchPcieHsioRxSetCtleEnable[28]; + +/** Offset 0x0545 - PCH HSIO PCIE Rx Set Ctle Value + PCH PCIe Gen 3 Set CTLE Value. +**/ + UINT8 PchPcieHsioRxSetCtle[28]; + +/** Offset 0x0561 - Enble PCH HSIO PCIE TX Gen 1 Downscale Amplitude Adjustment value override + 0: Disable; 1: Enable. +**/ + UINT8 PchPcieHsioTxGen1DownscaleAmpEnable[28]; + +/** Offset 0x057D - PCH HSIO PCIE Gen 2 TX Output Downscale Amplitude Adjustment value + PCH PCIe Gen 2 TX Output Downscale Amplitude Adjustment value. +**/ + UINT8 PchPcieHsioTxGen1DownscaleAmp[28]; + +/** Offset 0x0599 - Enable PCH HSIO PCIE TX Gen 2 Downscale Amplitude Adjustment value override + 0: Disable; 1: Enable. +**/ + UINT8 PchPcieHsioTxGen2DownscaleAmpEnable[28]; + +/** Offset 0x05B5 - PCH HSIO PCIE Gen 2 TX Output Downscale Amplitude Adjustment value + PCH PCIe Gen 2 TX Output Downscale Amplitude Adjustment value. +**/ + UINT8 PchPcieHsioTxGen2DownscaleAmp[28]; + +/** Offset 0x05D1 - Enable PCH HSIO PCIE TX Gen 3 Downscale Amplitude Adjustment value override + 0: Disable; 1: Enable. +**/ + UINT8 PchPcieHsioTxGen3DownscaleAmpEnable[28]; + +/** Offset 0x05ED - PCH HSIO PCIE Gen 3 TX Output Downscale Amplitude Adjustment value + PCH PCIe Gen 3 TX Output Downscale Amplitude Adjustment value. +**/ + UINT8 PchPcieHsioTxGen3DownscaleAmp[28]; + +/** Offset 0x0609 - Enable PCH HSIO PCIE Gen 1 TX Output De-Emphasis Adjustment Setting value override + 0: Disable; 1: Enable. +**/ + UINT8 PchPcieHsioTxGen1DeEmphEnable[28]; + +/** Offset 0x0625 - PCH HSIO PCIE Gen 1 TX Output De-Emphasis Adjustment value + PCH PCIe Gen 1 TX Output De-Emphasis Adjustment Setting. +**/ + UINT8 PchPcieHsioTxGen1DeEmph[28]; + +/** Offset 0x0641 - Enable PCH HSIO PCIE Gen 2 TX Output -3.5dB De-Emphasis Adjustment Setting value override + 0: Disable; 1: Enable. +**/ + UINT8 PchPcieHsioTxGen2DeEmph3p5Enable[28]; + +/** Offset 0x065D - PCH HSIO PCIE Gen 2 TX Output -3.5dB De-Emphasis Adjustment value + PCH PCIe Gen 2 TX Output -3.5dB De-Emphasis Adjustment Setting. +**/ + UINT8 PchPcieHsioTxGen2DeEmph3p5[28]; + +/** Offset 0x0679 - Enable PCH HSIO PCIE Gen 2 TX Output -6.0dB De-Emphasis Adjustment Setting value override + 0: Disable; 1: Enable. +**/ + UINT8 PchPcieHsioTxGen2DeEmph6p0Enable[28]; + +/** Offset 0x0695 - PCH HSIO PCIE Gen 2 TX Output -6.0dB De-Emphasis Adjustment value + PCH PCIe Gen 2 TX Output -6.0dB De-Emphasis Adjustment Setting. +**/ + UINT8 PchPcieHsioTxGen2DeEmph6p0[28]; + +/** Offset 0x06B1 - Enable PCH HSIO SATA Receiver Equalization Boost Magnitude Adjustment Value override + 0: Disable; 1: Enable. +**/ + UINT8 PchSataHsioRxGen1EqBoostMagEnable[8]; + +/** Offset 0x06B9 - PCH HSIO SATA 1.5 Gb/s Receiver Equalization Boost Magnitude Adjustment value + PCH HSIO SATA 1.5 Gb/s Receiver Equalization Boost Magnitude Adjustment value. +**/ + UINT8 PchSataHsioRxGen1EqBoostMag[8]; + +/** Offset 0x06C1 - Enable PCH HSIO SATA Receiver Equalization Boost Magnitude Adjustment Value override + 0: Disable; 1: Enable. +**/ + UINT8 PchSataHsioRxGen2EqBoostMagEnable[8]; + +/** Offset 0x06C9 - PCH HSIO SATA 3.0 Gb/s Receiver Equalization Boost Magnitude Adjustment value + PCH HSIO SATA 3.0 Gb/s Receiver Equalization Boost Magnitude Adjustment value. +**/ + UINT8 PchSataHsioRxGen2EqBoostMag[8]; + +/** Offset 0x06D1 - Enable PCH HSIO SATA Receiver Equalization Boost Magnitude Adjustment Value override + 0: Disable; 1: Enable. +**/ + UINT8 PchSataHsioRxGen3EqBoostMagEnable[8]; + +/** Offset 0x06D9 - PCH HSIO SATA 6.0 Gb/s Receiver Equalization Boost Magnitude Adjustment value + PCH HSIO SATA 6.0 Gb/s Receiver Equalization Boost Magnitude Adjustment value. +**/ + UINT8 PchSataHsioRxGen3EqBoostMag[8]; + +/** Offset 0x06E1 - Enable PCH HSIO SATA 1.5 Gb/s TX Output Downscale Amplitude Adjustment value override + 0: Disable; 1: Enable. +**/ + UINT8 PchSataHsioTxGen1DownscaleAmpEnable[8]; + +/** Offset 0x06E9 - PCH HSIO SATA 1.5 Gb/s TX Output Downscale Amplitude Adjustment value + PCH HSIO SATA 1.5 Gb/s TX Output Downscale Amplitude Adjustment value. +**/ + UINT8 PchSataHsioTxGen1DownscaleAmp[8]; + +/** Offset 0x06F1 - Enable PCH HSIO SATA 3.0 Gb/s TX Output Downscale Amplitude Adjustment value override + 0: Disable; 1: Enable. +**/ + UINT8 PchSataHsioTxGen2DownscaleAmpEnable[8]; + +/** Offset 0x06F9 - PCH HSIO SATA 3.0 Gb/s TX Output Downscale Amplitude Adjustment value + PCH HSIO SATA 3.0 Gb/s TX Output Downscale Amplitude Adjustment value. +**/ + UINT8 PchSataHsioTxGen2DownscaleAmp[8]; + +/** Offset 0x0701 - Enable PCH HSIO SATA 6.0 Gb/s TX Output Downscale Amplitude Adjustment value override + 0: Disable; 1: Enable. +**/ + UINT8 PchSataHsioTxGen3DownscaleAmpEnable[8]; + +/** Offset 0x0709 - PCH HSIO SATA 6.0 Gb/s TX Output Downscale Amplitude Adjustment value + PCH HSIO SATA 6.0 Gb/s TX Output Downscale Amplitude Adjustment value. +**/ + UINT8 PchSataHsioTxGen3DownscaleAmp[8]; + +/** Offset 0x0711 - Enable PCH HSIO SATA 1.5 Gb/s TX Output De-Emphasis Adjustment Setting value override + 0: Disable; 1: Enable. +**/ + UINT8 PchSataHsioTxGen1DeEmphEnable[8]; + +/** Offset 0x0719 - PCH HSIO SATA 1.5 Gb/s TX Output De-Emphasis Adjustment Setting + PCH HSIO SATA 1.5 Gb/s TX Output De-Emphasis Adjustment Setting. +**/ + UINT8 PchSataHsioTxGen1DeEmph[8]; + +/** Offset 0x0721 - Enable PCH HSIO SATA 3.0 Gb/s TX Output De-Emphasis Adjustment Setting value override + 0: Disable; 1: Enable. +**/ + UINT8 PchSataHsioTxGen2DeEmphEnable[8]; + +/** Offset 0x0729 - PCH HSIO SATA 3.0 Gb/s TX Output De-Emphasis Adjustment Setting + PCH HSIO SATA 3.0 Gb/s TX Output De-Emphasis Adjustment Setting. +**/ + UINT8 PchSataHsioTxGen2DeEmph[8]; + +/** Offset 0x0731 - Enable PCH HSIO SATA 6.0 Gb/s TX Output De-Emphasis Adjustment Setting value override + 0: Disable; 1: Enable. +**/ + UINT8 PchSataHsioTxGen3DeEmphEnable[8]; + +/** Offset 0x0739 - PCH HSIO SATA 6.0 Gb/s TX Output De-Emphasis Adjustment Setting + PCH HSIO SATA 6.0 Gb/s TX Output De-Emphasis Adjustment Setting. +**/ + UINT8 PchSataHsioTxGen3DeEmph[8]; + +/** Offset 0x0741 - PCH LPC Enhanced Port 80 Decoding + Original LPC only decodes one byte of port 80h. + $EN_DIS +**/ + UINT8 PchLpcEnhancePort8xhDecoding; + +/** Offset 0x0742 - PCH Port80 Route + Control where the Port 80h cycles are sent, 0: LPC; 1: PCI. + 0:LPC, 1:PCI +**/ + UINT8 PchPort80Route; + +/** Offset 0x0743 - Enable SMBus ARP support + Enable SMBus ARP support. + $EN_DIS +**/ + UINT8 SmbusArpEnable; + +/** Offset 0x0744 - Number of RsvdSmbusAddressTable. + The number of elements in the RsvdSmbusAddressTable. +**/ + UINT8 PchNumRsvdSmbusAddresses; + +/** Offset 0x0745 +**/ + UINT8 UnusedUpdSpace16; + +/** Offset 0x0746 - SMBUS Base Address + SMBUS Base Address (IO space). +**/ + UINT16 PchSmbusIoBase; + +/** Offset 0x0748 - Enable SMBus Alert Pin + Enable SMBus Alert Pin. + $EN_DIS +**/ + UINT8 PchSmbAlertEnable; + +/** Offset 0x0749 - Usage type for ClkSrc + 0-23: PCH rootport, 0x40-0x43: PEG port, 0x70:LAN, 0x80: unspecified but in use + (free running), 0xFF: not used +**/ + UINT8 PcieClkSrcUsage[18]; + +/** Offset 0x075B +**/ + UINT8 PcieClkSrcUsageRsvd[14]; + +/** Offset 0x0769 - ClkReq-to-ClkSrc mapping + Number of ClkReq signal assigned to ClkSrc +**/ + UINT8 PcieClkSrcClkReq[18]; + +/** Offset 0x077B +**/ + UINT8 PcieClkSrcClkReqRsvd[14]; + +/** Offset 0x0789 +**/ + UINT8 UnusedUpdSpace17[3]; + +/** Offset 0x078C - Clk Req GPIO Pin + Select Clk Req Pin. Refer to GPIO_*_MUXING_SRC_CLKREQ_x* for possible values. +**/ + UINT32 PcieClkReqGpioMux[18]; + +/** Offset 0x07D4 - Point of RsvdSmbusAddressTable + Array of addresses reserved for non-ARP-capable SMBus devices. +**/ + UINT32 RsvdSmbusAddressTablePtr; + +/** Offset 0x07D8 - Enable PCIE RP Mask + Enable/disable PCIE Root Ports. 0: disable, 1: enable. One bit for each port, bit0 + for port1, bit1 for port2, and so on. +**/ + UINT32 PcieRpEnableMask; + +/** Offset 0x07DC - VC Type + Virtual Channel Type Select: 0: VC0, 1: VC1. + 0: VC0, 1: VC1 +**/ + UINT8 PchHdaVcType; + +/** Offset 0x07DD - Universal Audio Architecture compliance for DSP enabled system + 0: Not-UAA Compliant (Intel SST driver supported only), 1: UAA Compliant (HDA Inbox + driver or SST driver supported). + $EN_DIS +**/ + UINT8 PchHdaDspUaaCompliance; + +/** Offset 0x07DE - Enable HD Audio Link + Enable/disable HD Audio Link. Muxed with SSP0/SSP1/SNDW1. + $EN_DIS +**/ + UINT8 PchHdaAudioLinkHdaEnable; + +/** Offset 0x07DF - Enable HDA SDI lanes + Enable/disable HDA SDI lanes. +**/ + UINT8 PchHdaSdiEnable[2]; + +/** Offset 0x07E1 - HDA Power/Clock Gating (PGD/CGD) + Enable/Disable HD Audio Power and Clock Gating(POR: Enable). 0: PLATFORM_POR, 1: + FORCE_ENABLE, 2: FORCE_DISABLE. + 0: POR, 1: Force Enable, 2: Force Disable +**/ + UINT8 PchHdaTestPowerClockGating; + +/** Offset 0x07E2 - Enable HD Audio DMIC_N Link + Enable/disable HD Audio DMIC1 link. Muxed with SNDW3. +**/ + UINT8 PchHdaAudioLinkDmicEnable[2]; + +/** Offset 0x07E4 - DMIC ClkA Pin Muxing (N - DMIC number) + Determines DMIC ClkA Pin muxing. See GPIO_*_MUXING_DMIC_CLKA_* +**/ + UINT32 PchHdaAudioLinkDmicClkAPinMux[2]; + +/** Offset 0x07EC - DMIC ClkB Pin Muxing + Determines DMIC ClkA Pin muxing. See GPIO_*_MUXING_DMIC_CLKB_* +**/ + UINT32 PchHdaAudioLinkDmicClkBPinMux[2]; + +/** Offset 0x07F4 - Enable HD Audio DSP + Enable/disable HD Audio DSP feature. + $EN_DIS +**/ + UINT8 PchHdaDspEnable; + +/** Offset 0x07F5 +**/ + UINT8 UnusedUpdSpace18[3]; + +/** Offset 0x07F8 - DMIC Data Pin Muxing + Determines DMIC Data Pin muxing. See GPIO_*_MUXING_DMIC_DATA_* +**/ + UINT32 PchHdaAudioLinkDmicDataPinMux[2]; + +/** Offset 0x0800 - Enable HD Audio SSP0 Link + Enable/disable HD Audio SSP_N/I2S link. Muxed with HDA. N-number 0-5 +**/ + UINT8 PchHdaAudioLinkSspEnable[6]; + +/** Offset 0x0806 - Enable HD Audio SoundWire#N Link + Enable/disable HD Audio SNDW#N link. Muxed with HDA. +**/ + UINT8 PchHdaAudioLinkSndwEnable[4]; + +/** Offset 0x080A - iDisp-Link Frequency + iDisp-Link Freq (PCH_HDAUDIO_LINK_FREQUENCY enum): 4: 96MHz, 3: 48MHz. + 4: 96MHz, 3: 48MHz +**/ + UINT8 PchHdaIDispLinkFrequency; + +/** Offset 0x080B - iDisp-Link T-mode + iDisp-Link T-Mode (PCH_HDAUDIO_IDISP_TMODE enum): 0: 2T, 2: 4T, 3: 8T, 4: 16T + 0: 2T, 2: 4T, 3: 8T, 4: 16T +**/ + UINT8 PchHdaIDispLinkTmode; + +/** Offset 0x080C - iDisplay Audio Codec disconnection + 0: Not disconnected, enumerable, 1: Disconnected SDI, not enumerable. + $EN_DIS +**/ + UINT8 PchHdaIDispCodecDisconnect; + +/** Offset 0x080D - CNVi DDR RFI Mitigation + Enable/Disable DDR RFI Mitigation. Default is ENABLE. 0: DISABLE, 1: ENABLE + $EN_DIS +**/ + UINT8 CnviDdrRfim; + +/** Offset 0x080E - Debug Interfaces + Debug Interfaces. BIT0-RAM, BIT1-UART, BIT3-USB3, BIT4-Serial IO, BIT5-TraceHub, + BIT2 - Not used. +**/ + UINT8 PcdDebugInterfaceFlags; + +/** Offset 0x080F - Serial Io Uart Debug Controller Number + Select SerialIo Uart Controller for debug. Note: If UART0 is selected as CNVi BT + Core interface, it cannot be used for debug purpose. + 0:SerialIoUart0, 1:SerialIoUart1, 2:SerialIoUart2 +**/ + UINT8 SerialIoUartDebugControllerNumber; + +/** Offset 0x0810 - Serial Io Uart Debug Auto Flow + Enables UART hardware flow control, CTS and RTS lines. + $EN_DIS +**/ + UINT8 SerialIoUartDebugAutoFlow; + +/** Offset 0x0811 +**/ + UINT8 UnusedUpdSpace19[3]; + +/** Offset 0x0814 - Serial Io Uart Debug BaudRate + Set default BaudRate Supported from 0 - default to 6000000. Recommended values 9600, + 19200, 57600, 115200, 460800, 921600, 1500000, 1843200, 3000000, 3686400, 6000000 +**/ + UINT32 SerialIoUartDebugBaudRate; + +/** Offset 0x0818 - Serial Io Uart Debug Parity + Set default Parity. + 0: DefaultParity, 1: NoParity, 2: EvenParity, 3: OddParity +**/ + UINT8 SerialIoUartDebugParity; + +/** Offset 0x0819 - Serial Io Uart Debug Stop Bits + Set default stop bits. + 0: DefaultStopBits, 1: OneStopBit, 2: OneFiveStopBits, 3: TwoStopBits +**/ + UINT8 SerialIoUartDebugStopBits; + +/** Offset 0x081A - Serial Io Uart Debug Data Bits + Set default word length. 0: Default, 5,6,7,8 + 5:5BITS, 6:6BITS, 7:7BITS, 8:8BITS +**/ + UINT8 SerialIoUartDebugDataBits; + +/** Offset 0x081B +**/ + UINT8 UnusedUpdSpace20; + +/** Offset 0x081C - Serial Io Uart Debug Mmio Base + Select SerialIo Uart default MMIO resource in SEC/PEI phase when PcdSerialIoUartMode + = SerialIoUartPci. +**/ + UINT32 SerialIoUartDebugMmioBase; + +/** Offset 0x0820 - ISA Serial Base selection + Select ISA Serial Base address. Default is 0x3F8. + 0:0x3F8, 1:0x2F8 +**/ + UINT8 PcdIsaSerialUartBase; + +/** Offset 0x0821 - GT PLL voltage offset + Core PLL voltage offset. 0: No offset. Range 0-15 +**/ + UINT8 GtPllVoltageOffset; + +/** Offset 0x0822 - Ring PLL voltage offset + Core PLL voltage offset. 0: No offset. Range 0-15 +**/ + UINT8 RingPllVoltageOffset; + +/** Offset 0x0823 - System Agent PLL voltage offset + Core PLL voltage offset. 0: No offset. Range 0-15 +**/ + UINT8 SaPllVoltageOffset; + +/** Offset 0x0824 - Memory Controller PLL voltage offset + Core PLL voltage offset. 0: No offset. Range 0-15 +**/ + UINT8 McPllVoltageOffset; + +/** Offset 0x0825 - MRC Safe Config + Enables/Disable MRC Safe Config + $EN_DIS +**/ + UINT8 MrcSafeConfig; + +/** Offset 0x0826 - TCSS Thunderbolt PCIE Root Port 0 Enable + Set TCSS Thunderbolt PCIE Root Port 0. 0:Disabled 1:Enabled + $EN_DIS +**/ + UINT8 TcssItbtPcie0En; + +/** Offset 0x0827 - TCSS Thunderbolt PCIE Root Port 1 Enable + Set TCSS Thunderbolt PCIE Root Port 1. 0:Disabled 1:Enabled + $EN_DIS +**/ + UINT8 TcssItbtPcie1En; + +/** Offset 0x0828 - TCSS Thunderbolt PCIE Root Port 2 Enable + Set TCSS Thunderbolt PCIE Root Port 2. 0:Disabled 1:Enabled + $EN_DIS +**/ + UINT8 TcssItbtPcie2En; + +/** Offset 0x0829 - TCSS Thunderbolt PCIE Root Port 3 Enable + Set TCSS Thunderbolt PCIE Root Port 3. 0:Disabled 1:Enabled + $EN_DIS +**/ + UINT8 TcssItbtPcie3En; + +/** Offset 0x082A - TCSS USB HOST (xHCI) Enable + Set TCSS XHCI. 0:Disabled 1:Enabled - Must be enabled if xDCI is enabled below + $EN_DIS +**/ + UINT8 TcssXhciEn; + +/** Offset 0x082B - TCSS USB DEVICE (xDCI) Enable + Set TCSS XDCI. 0:Disabled 1:Enabled - xHCI must be enabled if xDCI is enabled + $EN_DIS +**/ + UINT8 TcssXdciEn; + +/** Offset 0x082C - TCSS DMA0 Enable + Set TCSS DMA0. 0:Disabled 1:Enabled + $EN_DIS +**/ + UINT8 TcssDma0En; + +/** Offset 0x082D - TCSS DMA1 Enable + Set TCSS DMA1. 0:Disabled 1:Enabled + $EN_DIS +**/ + UINT8 TcssDma1En; + +/** Offset 0x082E - PcdSerialDebugBaudRate + Baud Rate for Serial Debug Messages. 3:9600, 4:19200, 6:56700, 7:115200. + 3:9600, 4:19200, 6:56700, 7:115200 +**/ + UINT8 PcdSerialDebugBaudRate; + +/** Offset 0x082F - HobBufferSize + Size to set HOB Buffer. 0:Default, 1: 1 Byte, 2: 1 KB, 3: Max value(assuming 63KB + total HOB size). + 0:Default, 1: 1 Byte, 2: 1 KB, 3: Max value +**/ + UINT8 HobBufferSize; + +/** Offset 0x0830 - Early Command Training + Enables/Disable Early Command Training + $EN_DIS +**/ + UINT8 ECT; + +/** Offset 0x0831 - SenseAmp Offset Training + Enables/Disable SenseAmp Offset Training + $EN_DIS +**/ + UINT8 SOT; + +/** Offset 0x0832 - Early ReadMPR Timing Centering 2D + Enables/Disable Early ReadMPR Timing Centering 2D + $EN_DIS +**/ + UINT8 ERDMPRTC2D; + +/** Offset 0x0833 - Read MPR Training + Enables/Disable Read MPR Training + $EN_DIS +**/ + UINT8 RDMPRT; + +/** Offset 0x0834 - Receive Enable Training + Enables/Disable Receive Enable Training + $EN_DIS +**/ + UINT8 RCVET; + +/** Offset 0x0835 - Jedec Write Leveling + Enables/Disable Jedec Write Leveling + $EN_DIS +**/ + UINT8 JWRL; + +/** Offset 0x0836 - Early Write Time Centering 2D + Enables/Disable Early Write Time Centering 2D + $EN_DIS +**/ + UINT8 EWRTC2D; + +/** Offset 0x0837 - Early Read Time Centering 2D + Enables/Disable Early Read Time Centering 2D + $EN_DIS +**/ + UINT8 ERDTC2D; + +/** Offset 0x0838 - Write Timing Centering 1D + Enables/Disable Write Timing Centering 1D + $EN_DIS +**/ + UINT8 WRTC1D; + +/** Offset 0x0839 - Write Voltage Centering 1D + Enables/Disable Write Voltage Centering 1D + $EN_DIS +**/ + UINT8 WRVC1D; + +/** Offset 0x083A - Read Timing Centering 1D + Enables/Disable Read Timing Centering 1D + $EN_DIS +**/ + UINT8 RDTC1D; + +/** Offset 0x083B - Dimm ODT Training + Enables/Disable Dimm ODT Training + $EN_DIS +**/ + UINT8 DIMMODTT; + +/** Offset 0x083C - DIMM RON Training + Enables/Disable DIMM RON Training + $EN_DIS +**/ + UINT8 DIMMRONT; + +/** Offset 0x083D - Write Drive Strength/Equalization 2D + Enables/Disable Write Drive Strength/Equalization 2D + $EN_DIS +**/ + UINT8 WRDSEQT; + +/** Offset 0x083E - Write Slew Rate Training + Enables/Disable Write Slew Rate Training + $EN_DIS +**/ + UINT8 WRSRT; + +/** Offset 0x083F - Read ODT Training + Enables/Disable Read ODT Training + $EN_DIS +**/ + UINT8 RDODTT; + +/** Offset 0x0840 - Read Equalization Training + Enables/Disable Read Equalization Training + $EN_DIS +**/ + UINT8 RDEQT; + +/** Offset 0x0841 - Read Amplifier Training + Enables/Disable Read Amplifier Training + $EN_DIS +**/ + UINT8 RDAPT; + +/** Offset 0x0842 - Write Timing Centering 2D + Enables/Disable Write Timing Centering 2D + $EN_DIS +**/ + UINT8 WRTC2D; + +/** Offset 0x0843 - Read Timing Centering 2D + Enables/Disable Read Timing Centering 2D + $EN_DIS +**/ + UINT8 RDTC2D; + +/** Offset 0x0844 - Write Voltage Centering 2D + Enables/Disable Write Voltage Centering 2D + $EN_DIS +**/ + UINT8 WRVC2D; + +/** Offset 0x0845 - Read Voltage Centering 2D + Enables/Disable Read Voltage Centering 2D + $EN_DIS +**/ + UINT8 RDVC2D; + +/** Offset 0x0846 - Command Voltage Centering + Enables/Disable Command Voltage Centering + $EN_DIS +**/ + UINT8 CMDVC; + +/** Offset 0x0847 - Late Command Training + Enables/Disable Late Command Training + $EN_DIS +**/ + UINT8 LCT; + +/** Offset 0x0848 - Round Trip Latency Training + Enables/Disable Round Trip Latency Training + $EN_DIS +**/ + UINT8 RTL; + +/** Offset 0x0849 - Turn Around Timing Training + Enables/Disable Turn Around Timing Training + $EN_DIS +**/ + UINT8 TAT; + +/** Offset 0x084A - Memory Test + Enables/Disable Memory Test + $EN_DIS +**/ + UINT8 MEMTST; + +/** Offset 0x084B - DIMM SPD Alias Test + Enables/Disable DIMM SPD Alias Test + $EN_DIS +**/ + UINT8 ALIASCHK; + +/** Offset 0x084C - Receive Enable Centering 1D + Enables/Disable Receive Enable Centering 1D + $EN_DIS +**/ + UINT8 RCVENC1D; + +/** Offset 0x084D - Retrain Margin Check + Enables/Disable Retrain Margin Check + $EN_DIS +**/ + UINT8 RMC; + +/** Offset 0x084E - Write Drive Strength Up/Dn independently + Enables/Disable Write Drive Strength Up/Dn independently + $EN_DIS +**/ + UINT8 WRDSUDT; + +/** Offset 0x084F - ECC Support + Enables/Disable ECC Support + $EN_DIS +**/ + UINT8 EccSupport; + +/** Offset 0x0850 - Memory Remap + Enables/Disable Memory Remap + $EN_DIS +**/ + UINT8 RemapEnable; + +/** Offset 0x0851 - Rank Interleave support + Enables/Disable Rank Interleave support. NOTE: RI and HORI can not be enabled at + the same time. + $EN_DIS +**/ + UINT8 RankInterleave; + +/** Offset 0x0852 - Enhanced Interleave support + Enables/Disable Enhanced Interleave support + $EN_DIS +**/ + UINT8 EnhancedInterleave; + +/** Offset 0x0853 - Ch Hash Support + Enable/Disable Channel Hash Support. NOTE: ONLY if Memory interleaved Mode + $EN_DIS +**/ + UINT8 ChHashEnable; + +/** Offset 0x0854 - Ch Hash Settings Override + Channel Hash Settings Override + $EN_DIS +**/ + UINT8 ChHashOverride; + +/** Offset 0x0855 - Extern Therm Status + Enables/Disable Extern Therm Status + $EN_DIS +**/ + UINT8 EnableExtts; + +/** Offset 0x0856 - DDR PowerDown and idle counter + Enables/Disable DDR PowerDown and idle counter(For LPDDR Only) + $EN_DIS +**/ + UINT8 EnablePwrDn; + +/** Offset 0x0857 - DDR PowerDown and idle counter + Enables/Disable DDR PowerDown and idle counter(For LPDDR Only) + $EN_DIS +**/ + UINT8 EnablePwrDnLpddr; + +/** Offset 0x0858 - SelfRefresh Enable + Enables/Disable SelfRefresh Enable + $EN_DIS +**/ + UINT8 SrefCfgEna; + +/** Offset 0x0859 - Throttler CKEMin Defeature + Enables/Disable Throttler CKEMin Defeature(For LPDDR Only) + $EN_DIS +**/ + UINT8 ThrtCkeMinDefeatLpddr; + +/** Offset 0x085A - Throttler CKEMin Defeature + Enables/Disable Throttler CKEMin Defeature + $EN_DIS +**/ + UINT8 ThrtCkeMinDefeat; + +/** Offset 0x085B - Row Hammer Select + Row Hammer Select + 0:Disable, 1:RFM, 2:pTRR +**/ + UINT8 RhSelect; + +/** Offset 0x085C - Exit On Failure (MRC) + Enables/Disable Exit On Failure (MRC) + $EN_DIS +**/ + UINT8 ExitOnFailure; + +/** Offset 0x085D - New Features 1 - MRC + New Feature Enabling 1, 0:Disable, 1:Enable + 0:Disable, 1:Enable +**/ + UINT8 NewFeatureEnable1; + +/** Offset 0x085E - New Features 2 - MRC + New Feature Enabling 2, 0:Disable, 1:Enable + 0:Disable, 1:Enable +**/ + UINT8 NewFeatureEnable2; + +/** Offset 0x085F - Duty Cycle Correction Training + Enable/Disable Duty Cycle Correction Training + $EN_DIS +**/ + UINT8 DCC; + +/** Offset 0x0860 - Read Voltage Centering 1D + Enable/Disable Read Voltage Centering 1D + $EN_DIS +**/ + UINT8 RDVC1D; + +/** Offset 0x0861 - TxDqTCO Comp Training + Enable/Disable TxDqTCO Comp Training + $EN_DIS +**/ + UINT8 TXTCO; + +/** Offset 0x0862 - ClkTCO Comp Training + Enable/Disable ClkTCO Comp Training + $EN_DIS +**/ + UINT8 CLKTCO; + +/** Offset 0x0863 - CMD Slew Rate Training + Enable/Disable CMD Slew Rate Training + $EN_DIS +**/ + UINT8 CMDSR; + +/** Offset 0x0864 - CMD Drive Strength and Tx Equalization + Enable/Disable CMD Drive Strength and Tx Equalization + $EN_DIS +**/ + UINT8 CMDDSEQ; + +/** Offset 0x0865 - DIMM CA ODT Training + Enable/Disable DIMM CA ODT Training + $EN_DIS +**/ + UINT8 DIMMODTCA; + +/** Offset 0x0866 - TxDqsTCO Comp Training + Enable/Disable TxDqsTCO Comp Training + $EN_DIS +**/ + UINT8 TXTCODQS; + +/** Offset 0x0867 - CMD/CTL Drive Strength Up/Dn 2D + Enable/Disable CMD/CTL Drive Strength Up/Dn 2D + $EN_DIS +**/ + UINT8 CMDDRUD; + +/** Offset 0x0868 - VccDLL Bypass Training + Enable/Disable VccDLL Bypass Training + $EN_DIS +**/ + UINT8 VCCDLLBP; + +/** Offset 0x0869 - PanicVttDnLp Training + Enable/Disable PanicVttDnLp Training + $EN_DIS +**/ + UINT8 PVTTDNLP; + +/** Offset 0x086A - Read Vref Decap Training* + Enable/Disable Read Vref Decap Training* + $EN_DIS +**/ + UINT8 RDVREFDC; + +/** Offset 0x086B - Vddq Training + Enable/Disable Vddq Training + $EN_DIS +**/ + UINT8 VDDQT; + +/** Offset 0x086C - Rank Margin Tool Per Bit + Enable/Disable Rank Margin Tool Per Bit + $EN_DIS +**/ + UINT8 RMTBIT; + +/** Offset 0x086D - ECC DFT feature + Enables/Disable ECC DFT feature + $EN_DIS +**/ + UINT8 EccDftEn; + +/** Offset 0x086E - Write0 feature + Enables/Disable Write0 feature + $EN_DIS +**/ + UINT8 Write0; + +/** Offset 0x086F - Select if CLK0 is shared between Rank0 and Rank1 in DDR4 DDP + Select if CLK0 is shared between Rank0 and Rank1 in DDR4 DDP + $EN_DIS +**/ + UINT8 Ddr4DdpSharedClock; + +/** Offset 0x0870 - Select if ZQ pin is shared between Rank0 and Rank1 in DDR4 DDP + ESelect if ZQ pin is shared between Rank0 and Rank1 in DDR4 DDP + $EN_DIS +**/ + UINT8 Ddr4DdpSharedZq; + +/** Offset 0x0871 - Ch Hash Interleaved Bit + Select the BIT to be used for Channel Interleaved mode. NOTE: BIT7 will interlave + the channels at a 2 cacheline granularity, BIT8 at 4 and BIT9 at 8. Default is BIT8 + 0:BIT6, 1:BIT7, 2:BIT8, 3:BIT9, 4:BIT10, 5:BIT11, 6:BIT12, 7:BIT13 +**/ + UINT8 ChHashInterleaveBit; + +/** Offset 0x0872 - Ch Hash Mask + Set the BIT(s) to be included in the XOR function. NOTE BIT mask corresponds to + BITS [19:6] Default is 0x30CC +**/ + UINT16 ChHashMask; + +/** Offset 0x0874 - Base reference clock value + Base reference clock value, in Hertz(Default is 100Hz) + 100000000:100Hz, 125000000:125Hz, 167000000:167Hz, 250000000:250Hz +**/ + UINT32 BClkFrequency; + +/** Offset 0x0878 - EPG DIMM Idd3N + Active standby current (Idd3N) in milliamps from datasheet. Must be calculated on + a per DIMM basis. Default is 26 +**/ + UINT16 Idd3n; + +/** Offset 0x087A - EPG DIMM Idd3P + Active power-down current (Idd3P) in milliamps from datasheet. Must be calculated + on a per DIMM basis. Default is 11 +**/ + UINT16 Idd3p; + +/** Offset 0x087C - CMD Normalization + Enable/Disable CMD Normalization + $EN_DIS +**/ + UINT8 CMDNORM; + +/** Offset 0x087D - Early DQ Write Drive Strength and Equalization Training + Enable/Disable Early DQ Write Drive Strength and Equalization Training + $EN_DIS +**/ + UINT8 EWRDSEQ; + +/** Offset 0x087E - MC_REFRESH_2X_MODE + DEPRECATED + $EN_DIS +**/ + UINT8 McRefresh2X; + +/** Offset 0x087F - Idle Energy Mc0Ch0Dimm0 + Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def) +**/ + UINT8 IdleEnergyMc0Ch0Dimm0; + +/** Offset 0x0880 - Idle Energy Mc0Ch0Dimm1 + Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def) +**/ + UINT8 IdleEnergyMc0Ch0Dimm1; + +/** Offset 0x0881 - Idle Energy Mc0Ch1Dimm0 + Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def) +**/ + UINT8 IdleEnergyMc0Ch1Dimm0; + +/** Offset 0x0882 - Idle Energy Mc0Ch1Dimm1 + Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def) +**/ + UINT8 IdleEnergyMc0Ch1Dimm1; + +/** Offset 0x0883 - Idle Energy Mc1Ch0Dimm0 + Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def) +**/ + UINT8 IdleEnergyMc1Ch0Dimm0; + +/** Offset 0x0884 - Idle Energy Mc1Ch0Dimm1 + Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def) +**/ + UINT8 IdleEnergyMc1Ch0Dimm1; + +/** Offset 0x0885 - Idle Energy Mc1Ch1Dimm0 + Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def) +**/ + UINT8 IdleEnergyMc1Ch1Dimm0; + +/** Offset 0x0886 - Idle Energy Mc1Ch1Dimm1 + Idle Energy Consumed for 1 clk w/dimm idle/cke on, range[63;0],(10= Def) +**/ + UINT8 IdleEnergyMc1Ch1Dimm1; + +/** Offset 0x0887 - PowerDown Energy Mc0Ch0Dimm0 + PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def) +**/ + UINT8 PdEnergyMc0Ch0Dimm0; + +/** Offset 0x0888 - PowerDown Energy Mc0Ch0Dimm1 + PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def) +**/ + UINT8 PdEnergyMc0Ch0Dimm1; + +/** Offset 0x0889 - PowerDown Energy Mc0Ch1Dimm0 + PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def) +**/ + UINT8 PdEnergyMc0Ch1Dimm0; + +/** Offset 0x088A - PowerDown Energy Mc0Ch1Dimm1 + PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def) +**/ + UINT8 PdEnergyMc0Ch1Dimm1; + +/** Offset 0x088B - PowerDown Energy Mc1Ch0Dimm0 + PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def) +**/ + UINT8 PdEnergyMc1Ch0Dimm0; + +/** Offset 0x088C - PowerDown Energy Mc1Ch0Dimm1 + PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def) +**/ + UINT8 PdEnergyMc1Ch0Dimm1; + +/** Offset 0x088D - PowerDown Energy Mc1Ch1Dimm0 + PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def) +**/ + UINT8 PdEnergyMc1Ch1Dimm0; + +/** Offset 0x088E - PowerDown Energy Mc1Ch1Dimm1 + PowerDown Energy Consumed w/dimm idle/cke off, range[63;0],(6= Def) +**/ + UINT8 PdEnergyMc1Ch1Dimm1; + +/** Offset 0x088F - Activate Energy Mc0Ch0Dimm0 + Activate Energy Contribution, range[255;0],(172= Def) +**/ + UINT8 ActEnergyMc0Ch0Dimm0; + +/** Offset 0x0890 - Activate Energy Mc0Ch0Dimm1 + Activate Energy Contribution, range[255;0],(172= Def) +**/ + UINT8 ActEnergyMc0Ch0Dimm1; + +/** Offset 0x0891 - Activate Energy Mc0Ch1Dimm0 + Activate Energy Contribution, range[255;0],(172= Def) +**/ + UINT8 ActEnergyMc0Ch1Dimm0; + +/** Offset 0x0892 - Activate Energy Mc0Ch1Dimm1 + Activate Energy Contribution, range[255;0],(172= Def) +**/ + UINT8 ActEnergyMc0Ch1Dimm1; + +/** Offset 0x0893 - Activate Energy Mc1Ch0Dimm0 + Activate Energy Contribution, range[255;0],(172= Def) +**/ + UINT8 ActEnergyMc1Ch0Dimm0; + +/** Offset 0x0894 - Activate Energy Mc1Ch0Dimm1 + Activate Energy Contribution, range[255;0],(172= Def) +**/ + UINT8 ActEnergyMc1Ch0Dimm1; + +/** Offset 0x0895 - Activate Energy Mc1Ch1Dimm0 + Activate Energy Contribution, range[255;0],(172= Def) +**/ + UINT8 ActEnergyMc1Ch1Dimm0; + +/** Offset 0x0896 - Activate Energy Mc1Ch1Dimm1 + Activate Energy Contribution, range[255;0],(172= Def) +**/ + UINT8 ActEnergyMc1Ch1Dimm1; + +/** Offset 0x0897 - Read Energy Mc0Ch0Dimm0 + Read Energy Contribution, range[255;0],(212= Def) +**/ + UINT8 RdEnergyMc0Ch0Dimm0; + +/** Offset 0x0898 - Read Energy Mc0Ch0Dimm1 + Read Energy Contribution, range[255;0],(212= Def) +**/ + UINT8 RdEnergyMc0Ch0Dimm1; + +/** Offset 0x0899 - Read Energy Mc0Ch1Dimm0 + Read Energy Contribution, range[255;0],(212= Def) +**/ + UINT8 RdEnergyMc0Ch1Dimm0; + +/** Offset 0x089A - Read Energy Mc0Ch1Dimm1 + Read Energy Contribution, range[255;0],(212= Def) +**/ + UINT8 RdEnergyMc0Ch1Dimm1; + +/** Offset 0x089B - Read Energy Mc1Ch0Dimm0 + Read Energy Contribution, range[255;0],(212= Def) +**/ + UINT8 RdEnergyMc1Ch0Dimm0; + +/** Offset 0x089C - Read Energy Mc1Ch0Dimm1 + Read Energy Contribution, range[255;0],(212= Def) +**/ + UINT8 RdEnergyMc1Ch0Dimm1; + +/** Offset 0x089D - Read Energy Mc1Ch1Dimm0 + Read Energy Contribution, range[255;0],(212= Def) +**/ + UINT8 RdEnergyMc1Ch1Dimm0; + +/** Offset 0x089E - Read Energy Mc1Ch1Dimm1 + Read Energy Contribution, range[255;0],(212= Def) +**/ + UINT8 RdEnergyMc1Ch1Dimm1; + +/** Offset 0x089F - Write Energy Mc0Ch0Dimm0 + Write Energy Contribution, range[255;0],(221= Def) +**/ + UINT8 WrEnergyMc0Ch0Dimm0; + +/** Offset 0x08A0 - Write Energy Mc0Ch0Dimm1 + Write Energy Contribution, range[255;0],(221= Def) +**/ + UINT8 WrEnergyMc0Ch0Dimm1; + +/** Offset 0x08A1 - Write Energy Mc0Ch1Dimm0 + Write Energy Contribution, range[255;0],(221= Def) +**/ + UINT8 WrEnergyMc0Ch1Dimm0; + +/** Offset 0x08A2 - Write Energy Mc0Ch1Dimm1 + Write Energy Contribution, range[255;0],(221= Def) +**/ + UINT8 WrEnergyMc0Ch1Dimm1; + +/** Offset 0x08A3 - Write Energy Mc1Ch0Dimm0 + Write Energy Contribution, range[255;0],(221= Def) +**/ + UINT8 WrEnergyMc1Ch0Dimm0; + +/** Offset 0x08A4 - Write Energy Mc1Ch0Dimm1 + Write Energy Contribution, range[255;0],(221= Def) +**/ + UINT8 WrEnergyMc1Ch0Dimm1; + +/** Offset 0x08A5 - Write Energy Mc1Ch1Dimm0 + Write Energy Contribution, range[255;0],(221= Def) +**/ + UINT8 WrEnergyMc1Ch1Dimm0; + +/** Offset 0x08A6 - Write Energy Mc1Ch1Dimm1 + Write Energy Contribution, range[255;0],(221= Def) +**/ + UINT8 WrEnergyMc1Ch1Dimm1; + +/** Offset 0x08A7 - Throttler CKEMin Timer + Timer value for CKEMin, range[255;0]. Req'd min of SC_ROUND_T + BYTE_LENGTH (4). + Dfault is 0x00 +**/ + UINT8 ThrtCkeMinTmr; + +/** Offset 0x08A8 - Allow Opp Ref Below Write Threhold + Allow opportunistic refreshes while we don't exit power down. + $EN_DIS +**/ + UINT8 AllowOppRefBelowWriteThrehold; + +/** Offset 0x08A9 - Write Threshold + Number of writes that can be accumulated while CKE is low before CKE is asserted. +**/ + UINT8 WriteThreshold; + +/** Offset 0x08AA - Rapl Power Floor Ch0 + Power budget ,range[255;0],(0= 5.3W Def) +**/ + UINT8 RaplPwrFlCh0; + +/** Offset 0x08AB - Rapl Power Floor Ch1 + Power budget ,range[255;0],(0= 5.3W Def) +**/ + UINT8 RaplPwrFlCh1; + +/** Offset 0x08AC - Command Rate Support + CMD Rate and Limit Support Option. NOTE: ONLY supported in 1N Mode, Default is 3 CMDs + 0:Disable, 5:2 CMDS, 7:3 CMDS, 9:4 CMDS, 11:5 CMDS, 13:6 CMDS, 15:7 CMDS +**/ + UINT8 EnCmdRate; + +/** Offset 0x08AD - REFRESH_2X_MODE + 0- (Default)Disabled 1-iMC enables 2xRef when Warm and Hot 2- iMC enables 2xRef when Hot + 0:Disable, 1:Enabled for WARM or HOT, 2:Enabled HOT only +**/ + UINT8 Refresh2X; + +/** Offset 0x08AE - Energy Performance Gain + Enable/disable(default) Energy Performance Gain. + $EN_DIS +**/ + UINT8 EpgEnable; + +/** Offset 0x08AF - RH pTRR LFSR0 Mask + Row Hammer pTRR LFSR0 Mask, 1/2^(value) +**/ + UINT8 Lfsr0Mask; + +/** Offset 0x08B0 - User Manual Threshold + Disabled: Predefined threshold will be used.\n + Enabled: User Input will be used. + $EN_DIS +**/ + UINT8 UserThresholdEnable; + +/** Offset 0x08B1 - User Manual Budget + Disabled: Configuration of memories will defined the Budget value.\n + Enabled: User Input will be used. + $EN_DIS +**/ + UINT8 UserBudgetEnable; + +/** Offset 0x08B2 - Power Down Mode + This option controls command bus tristating during idle periods + 0x0:No Power Down, 0x1:APD, 0x6:PPD DLL OFF, 0xFF:Auto +**/ + UINT8 PowerDownMode; + +/** Offset 0x08B3 - Pwr Down Idle Timer + The minimum value should = to the worst case Roundtrip delay + Burst_Length. 0 means + AUTO: 64 for ULX/ULT, 128 for DT/Halo +**/ + UINT8 PwdwnIdleCounter; + +/** Offset 0x08B4 - Page Close Idle Timeout + This option controls Page Close Idle Timeout + 0:Enabled, 1:Disabled +**/ + UINT8 DisPgCloseIdleTimeout; + +/** Offset 0x08B5 - Bitmask of ranks that have CA bus terminated + Offset 225 LPDDR4: Bitmask of ranks that have CA bus terminated. 0x01=Default, + Rank0 is terminating and Rank1 is non-terminating +**/ + UINT8 CmdRanksTerminated; + +/** Offset 0x08B6 - PcdSerialDebugLevel + Serial Debug Message Level. 0:Disable, 1:Error Only, 2:Error & Warnings, 3:Load, + Error, Warnings & Info, 4:Load, Error, Warnings, Info & Event, 5:Load, Error, Warnings, + Info & Verbose. + 0:Disable, 1:Error Only, 2:Error and Warnings, 3:Load Error Warnings and Info, 4:Load + Error Warnings and Info & Event, 5:Load Error Warnings Info and Verbose +**/ + UINT8 PcdSerialDebugLevel; + +/** Offset 0x08B7 - Safe Mode Support + This option configures the varous items in the IO and MC to be more conservative.(def=Disable) + $EN_DIS +**/ + UINT8 SafeMode; + +/** Offset 0x08B8 - Ask MRC to clear memory content + Ask MRC to clear memory content 0: Do not Clear Memory; 1: Clear Memory. + $EN_DIS +**/ + UINT8 CleanMemory; + +/** Offset 0x08B9 - LpDdrDqDqsReTraining + Enable/Disable TxDqDqs ReTraining for LP4/5 and DDR5 + $EN_DIS +**/ + UINT8 LpDdrDqDqsReTraining; + +/** Offset 0x08BA - TCSS USB Port Enable + Bitmap for per port enabling +**/ + UINT8 UsbTcPortEnPreMem; + +/** Offset 0x08BB +**/ + UINT8 UnusedUpdSpace21; + +/** Offset 0x08BC - Post Code Output Port + This option configures Post Code Output Port +**/ + UINT16 PostCodeOutputPort; + +/** Offset 0x08BE - RMTLoopCount + Specifies the Loop Count to be used during Rank Margin Tool Testing. 0 - AUTO +**/ + UINT8 RMTLoopCount; + +/** Offset 0x08BF - Enable/Disable SA CRID + Enable: SA CRID, Disable (Default): SA CRID + $EN_DIS +**/ + UINT8 CridEnable; + +/** Offset 0x08C0 - WRC Feature + Enable/Disable WRC (Write Cache) feature of IOP. When feature is enabled, supports + IO devices allocating onto the ring and into LLC. WRC is fused on by default. + $EN_DIS +**/ + UINT8 WrcFeatureEnable; + +/** Offset 0x08C1 +**/ + UINT8 UnusedUpdSpace22[3]; + +/** Offset 0x08C4 - BCLK RFI Frequency + Bclk RFI Frequency for each SAGV point in Hz units. 98000000Hz = 98MHz 0 - No + RFI Tuning. Range is 98Mhz-100Mhz. +**/ + UINT32 BclkRfiFreq[4]; + +/** Offset 0x08D4 - Size of PCIe IMR. + Size of PCIe IMR in megabytes +**/ + UINT16 PcieImrSize; + +/** Offset 0x08D6 - Enable PCIe IMR + 0: Disable(AUTO), 1: Enable + $EN_DIS +**/ + UINT8 PcieImrEnabled; + +/** Offset 0x08D7 - Enable PCIe IMR + 1: PCH PCIE, 2: SA PCIE. If PCIeImrEnabled is TRUE then this will use to select + the Root port location from PCH PCIe or SA PCIe + $EN_DIS +**/ + UINT8 PcieImrRpLocation; + +/** Offset 0x08D8 - Root port number for IMR. + Root port number for IMR.If PCieImrRpLocation is PCH PCIe then select root port + from 0 to 23 and if it is SA PCIe then select root port from 0 to 3 +**/ + UINT8 PcieImrRpSelection; + +/** Offset 0x08D9 - SerialDebugMrcLevel + MRC Serial Debug Message Level. 0:Disable, 1:Error Only, 2:Error & Warnings, 3:Load, + Error, Warnings & Info, 4:Load, Error, Warnings, Info & Event, 5:Load, Error, Warnings, + Info & Verbose. + 0:Disable, 1:Error Only, 2:Error and Warnings, 3:Load Error Warnings and Info, 4:Load + Error Warnings and Info & Event, 5:Load Error Warnings Info and Verbose +**/ + UINT8 SerialDebugMrcLevel; + +/** Offset 0x08DA - Ddr4OneDpc + DDR4 1DPC performance feature for 2R DIMMs. Can be enabled on DIMM0 or DIMM1 only, + or on both (default) + 0: Disabled, 1: Enabled on DIMM0 only, 2: Enabled on DIMM1 only, 3: Enabled +**/ + UINT8 Ddr4OneDpc; + +/** Offset 0x08DB - RH pTRR LFSR1 Mask + Row Hammer pTRR LFSR1 Mask, 1/2^(value) +**/ + UINT8 Lfsr1Mask; + +/** Offset 0x08DC - LPDDR ODT RttWr + Initial RttWr for LP4/5 in Ohms. 0x0 - Auto +**/ + UINT8 LpddrRttWr; + +/** Offset 0x08DD - LPDDR ODT RttCa + Initial RttCa for LP4/5 in Ohms. 0x0 - Auto +**/ + UINT8 LpddrRttCa; + +/** Offset 0x08DE - REFRESH_PANIC_WM + DEPRECATED +**/ + UINT8 RefreshPanicWm; + +/** Offset 0x08DF - REFRESH_HP_WM + DEPRECATED +**/ + UINT8 RefreshHpWm; + +/** Offset 0x08E0 - Command Pins Mapping + BitMask where bits [3:0] are Controller 0 Channel [3:0] and bits [7:4] are Controller + 1 Channel [3:0]. 0 = CCC pin mapping is Ascending, 1 = CCC pin mapping is Descending. +**/ + UINT8 Lp5CccConfig; + +/** Offset 0x08E1 - Command Pins Mirrored + BitMask where bits [3:0] are Controller 0 Channel [3:0] and bits [7:4] are Controller + 1 Channel [3:0]. 0 = No Command Mirror and 1 = Command Mirror. +**/ + UINT8 CmdMirror; + +/** Offset 0x08E2 - DIMM DFE Training + Enable/Disable DIMM DFE Training + $EN_DIS +**/ + UINT8 DIMMDFE; + +/** Offset 0x08E3 - Extended Bank Hashing + Enable/Disable Extended Bank Hashing + $EN_DIS +**/ + UINT8 ExtendedBankHashing; + +/** Offset 0x08E4 - Refresh Watermarks + Refresh Watermarks: 0-Low, 1-High (default) + 0:Set Refresh Watermarks to Low, 1:Set Refresh Watermarks to High (Default) +**/ + UINT8 RefreshWm; + +/** Offset 0x08E5 - MC_REFRESH_RATE + Type of Refresh Rate used to prevent Row Hammer. Default is NORMAL Refresh + 0:NORMAL Refresh, 1:1x Refresh, 2:2x Refresh, 3:4x Refresh +**/ + UINT8 McRefreshRate; + +/** Offset 0x08E6 - Periodic DCC + Enable/Disable Periodic DCC; default: Disabled + $EN_DIS +**/ + UINT8 PeriodicDcc; + +/** Offset 0x08E7 - LpMode + LpMode feature + 0: Auto (default), 1: Enabled, 2: Disabled, 3: Reserved +**/ + UINT8 LpMode; + +/** Offset 0x08E8 - TX DQS DCC Training + Enable/Disable TX DQS DCC Training + $EN_DIS +**/ + UINT8 TXDQSDCC; + +/** Offset 0x08E9 - DRAM DCA Training + Enable/Disable DRAM DCA Training + $EN_DIS +**/ + UINT8 DRAMDCA; + +/** Offset 0x08EA - EARLY DIMM DFE Training + Enable/Disable EARLY DIMM DFE Training + $EN_DIS +**/ + UINT8 EARLYDIMMDFE; + +/** Offset 0x08EB - Skip external display device scanning + Enable: Do not scan for external display device, Disable (Default): Scan external + display devices + $EN_DIS +**/ + UINT8 SkipExtGfxScan; + +/** Offset 0x08EC - Generate BIOS Data ACPI Table + Enable: Generate BDAT for MRC RMT or SA PCIe data. Disable (Default): Do not generate it + $EN_DIS +**/ + UINT8 BdatEnable; + +/** Offset 0x08ED - Lock PCU Thermal Management registers + Lock PCU Thermal Management registers. Enable(Default)=1, Disable=0 + $EN_DIS +**/ + UINT8 LockPTMregs; + +/** Offset 0x08EE - Rsvd + Disable(0x0)(Default): Normal Operation - RxCTLE adaptive behavior enabled, Enable(0x1): + Override RxCTLE - Disable RxCTLE adaptive behavior to keep the configured RxCTLE + peak values unmodified + $EN_DIS +**/ + UINT8 PegGen3Rsvd; + +/** Offset 0x08EF - Panel Power Enable + Control for enabling/disabling VDD force bit (Required only for early enabling of + eDP panel). 0=Disable, 1(Default)=Enable + $EN_DIS +**/ + UINT8 PanelPowerEnable; + +/** Offset 0x08F0 - BdatTestType + Indicates the type of Memory Training data to populate into the BDAT ACPI table. + 0:RMT per Rank, 1:RMT per Bit, 2:Margin2D +**/ + UINT8 BdatTestType; + +/** Offset 0x08F1 +**/ + UINT8 UnusedUpdSpace23[3]; + +/** Offset 0x08F4 - PMR Size + Size of PMR memory buffer. 0x400000 for normal boot and 0x200000 for S3 boot +**/ + UINT32 DmaBufferSize; + +/** Offset 0x08F8 - VT-d/IOMMU Boot Policy + BIT0: Enable IOMMU during boot, BIT1: Enable IOMMU when transfer control to OS +**/ + UINT8 PreBootDmaMask; + +/** Offset 0x08F9 +**/ + UINT8 UnusedUpdSpace24; + +/** Offset 0x08FA - Delta T12 Power Cycle Delay required in ms + Select the value for delay required. 0= No delay, 0xFFFF(Default) = Auto calculate + T12 Delay to max 500ms + 0 : No Delay, 0xFFFF : Auto Calulate T12 Delay +**/ + UINT16 DeltaT12PowerCycleDelay; + +/** Offset 0x08FC - Reuse Adl DDR5 Board or not + Indicate whether adl ddr5 board is reused. + 0 : no, 1 : yes +**/ + UINT8 ReuseAdlSDdr5Board; + +/** Offset 0x08FD - Oem T12 Delay Override + Oem T12 Delay Override. 0(Default)=Disable 1=Enable + $EN_DIS +**/ + UINT8 OemT12DelayOverride; + +/** Offset 0x08FE - SaPreMemTestRsvd + Reserved for SA Pre-Mem Test + $EN_DIS +**/ + UINT8 SaPreMemTestRsvd[89]; + +/** Offset 0x0957 +**/ + UINT8 UnusedUpdSpace25; + +/** Offset 0x0958 - TotalFlashSize + Enable/Disable. 0: Disable, define default value of TotalFlashSize , 1: enable +**/ + UINT16 TotalFlashSize; + +/** Offset 0x095A - BiosSize + The size of the BIOS region of the IFWI. Used if FspmUpd->FspmConfig.BiosGuard != + 0. If BiosGuard is enabled, MRC will increase the size of the DPR (DMA Protected + Range) so that a BIOS Update Script can be stored in the DPR. +**/ + UINT16 BiosSize; + +/** Offset 0x095C - SecurityTestRsvd + Reserved for SA Pre-Mem Test + $EN_DIS +**/ + UINT8 SecurityTestRsvd[12]; + +/** Offset 0x0968 - Smbus dynamic power gating + Disable or Enable Smbus dynamic power gating. + $EN_DIS +**/ + UINT8 SmbusDynamicPowerGating; + +/** Offset 0x0969 - Disable and Lock Watch Dog Register + Set 1 to clear WDT status, then disable and lock WDT registers. + $EN_DIS +**/ + UINT8 WdtDisableAndLock; + +/** Offset 0x096A - SMBUS SPD Write Disable + Set/Clear Smbus SPD Write Disable. 0: leave SPD Write Disable bit; 1: set SPD Write + Disable bit. For security recommendations, SPD write disable bit must be set. + $EN_DIS +**/ + UINT8 SmbusSpdWriteDisable; + +/** Offset 0x096B - Force ME DID Init Status + Test, 0: disable, 1: Success, 2: No Memory in Channels, 3: Memory Init Error, Set + ME DID init stat value + $EN_DIS +**/ + UINT8 DidInitStat; + +/** Offset 0x096C - CPU Replaced Polling Disable + Test, 0: disable, 1: enable, Setting this option disables CPU replacement polling loop + $EN_DIS +**/ + UINT8 DisableCpuReplacedPolling; + +/** Offset 0x096D - Check HECI message before send + Test, 0: disable, 1: enable, Enable/Disable message check. + $EN_DIS +**/ + UINT8 DisableMessageCheck; + +/** Offset 0x096E - Skip MBP HOB + Test, 0: disable, 1: enable, Enable/Disable MOB HOB. + $EN_DIS +**/ + UINT8 SkipMbpHob; + +/** Offset 0x096F - HECI2 Interface Communication + Test, 0: disable, 1: enable, Adds or Removes HECI2 Device from PCI space. + $EN_DIS +**/ + UINT8 HeciCommunication2; + +/** Offset 0x0970 - Enable KT device + Test, 0: disable, 1: enable, Enable or Disable KT device. + $EN_DIS +**/ + UINT8 KtDeviceEnable; + +/** Offset 0x0971 - Skip CPU replacement check + Test, 0: disable, 1: enable, Setting this option to skip CPU replacement check + $EN_DIS +**/ + UINT8 SkipCpuReplacementCheck; + +/** Offset 0x0972 +**/ + UINT8 UnusedUpdSpace26[2]; + +/** Offset 0x0974 - Hybrid Graphics GPIO information for PEG 1 + Hybrid Graphics GPIO information for PEG 1, for Reset, power and wake GPIOs +**/ + UINT32 CpuPcie1Rtd3Gpio[24]; + +/** Offset 0x09D4 - Hybrid Graphics GPIO information for PEG 2 + Hybrid Graphics GPIO information for PEG 2, for Reset, power and wake GPIOs +**/ + UINT32 CpuPcie2Rtd3Gpio[24]; + +/** Offset 0x0A34 - Hybrid Graphics GPIO information for PEG 3 + Hybrid Graphics GPIO information for PEG 3, for Reset, power and wake GPIOs +**/ + UINT32 CpuPcie3Rtd3Gpio[24]; + +/** Offset 0x0A94 - Avx2 Voltage Guardband Scaling Factor + AVX2 Voltage Guardband Scale factor applied to AVX2 workloads. Range is 0-200 in + 1/100 units, where a value of 125 would apply a 1.25 scale factor. +**/ + UINT8 Avx2VoltageScaleFactor; + +/** Offset 0x0A95 - Avx512 Voltage Guardband Scaling Factor + DEPRECATED +**/ + UINT8 Avx512VoltageScaleFactor; + +/** Offset 0x0A96 - Serial Io Uart Debug Mode + Select SerialIo Uart Controller mode + 0:SerialIoUartDisabled, 1:SerialIoUartPci, 2:SerialIoUartHidden, 3:SerialIoUartCom, + 4:SerialIoUartSkipInit +**/ + UINT8 SerialIoUartDebugMode; + +/** Offset 0x0A97 +**/ + UINT8 UnusedUpdSpace27; + +/** Offset 0x0A98 - SerialIoUartDebugRxPinMux - FSPT + Select RX pin muxing for SerialIo UART used for debug +**/ + UINT32 SerialIoUartDebugRxPinMux; + +/** Offset 0x0A9C - SerialIoUartDebugTxPinMux - FSPM + Select TX pin muxing for SerialIo UART used for debug +**/ + UINT32 SerialIoUartDebugTxPinMux; + +/** Offset 0x0AA0 - SerialIoUartDebugRtsPinMux - FSPM + Select SerialIo Uart used for debug Rts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_RTS* + for possible values. +**/ + UINT32 SerialIoUartDebugRtsPinMux; + +/** Offset 0x0AA4 - SerialIoUartDebugCtsPinMux - FSPM + Select SerialIo Uart used for debug Cts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_CTS* + for possible values. +**/ + UINT32 SerialIoUartDebugCtsPinMux; + +/** Offset 0x0AA8 - Ppr Enable Type + Enable Soft or Hard PPR 0:Disable, 2:Hard PPR + 0:Disable, 2:Hard PPR +**/ + UINT8 PprEnable; + +/** Offset 0x0AA9 - Margin Limit Check + Margin Limit Check. Choose level of margin check + 0:Disable, 1:L1, 2:L2, 3:Both +**/ + UINT8 MarginLimitCheck; + +/** Offset 0x0AAA - Margin Limit L2 + % of L1 check for margin limit check +**/ + UINT16 MarginLimitL2; + +/** Offset 0x0AAC - DEKEL CDR Relock + Enable/Disable CDR Relock. 0: Disable(Default); 1: Enable +**/ + UINT8 CpuPcieRpCdrRelock[4]; + +/** Offset 0x0AB0 - DMI DEKEL CDR Relock + Enable/Disable CPU DMI CDR Relock. 0: Disable(Default); 1: Enable + $EN_DIS +**/ + UINT8 DmiCdrRelock; + +/** Offset 0x0AB1 - IbeccErrInjControl + IBECC Error Injection Control + 0: No Error Injection, 1:Inject Correctable Error Address match, 3:Inject Correctable + Error on insertion counter, 5: Inject Uncorrectable Error Address match, 7:Inject + Uncorrectable Error on insertion counter +**/ + UINT8 IbeccErrInjControl; + +/** Offset 0x0AB2 +**/ + UINT8 UnusedUpdSpace28[6]; + +/** Offset 0x0AB8 - IbeccErrInjAddress + Address to match against for ECC error injection +**/ + UINT64 IbeccErrInjAddress; + +/** Offset 0x0AC0 - IbeccErrInjMask + Mask to match against for ECC error injection +**/ + UINT64 IbeccErrInjMask; + +/** Offset 0x0AC8 - IbeccErrInjCount + Number of transactions between ECC error injection +**/ + UINT32 IbeccErrInjCount; + +/** Offset 0x0ACC - Pointer EnableDmaBuffer + Pointer of EnableDmaBuffer Callback Function. +**/ + UINT8 EnableDmaBuffer[8]; + +/** Offset 0x0AD4 - PLL Max Banding Ratio + DEPRECATED +**/ + UINT8 PllMaxBandingRatio; + +/** Offset 0x0AD5 +**/ + UINT8 UnusedUpdSpace29[3]; + +/** Offset 0x0AD8 - Debug Value + Debug Value +**/ + UINT32 DebugValue; + +/** Offset 0x0ADC - Pre-Mem GPIO table address + AlderLake S needs to assert PCIe SLOT RTD3 and PEG reset pins in early PreMem phase. + 0: Skip FSP PCIe pins programming. Refer to mAdlSPcieRstPinGpioTable[] in GpioSampleDef.h. +**/ + UINT32 BoardGpioTablePreMemAddress; + +/** Offset 0x0AE0 - tRFCpb + Min Internal per bank refresh recovery delay time, 0: AUTO, max: 0xFFFF. Only used + if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile). +**/ + UINT16 tRFCpb; + +/** Offset 0x0AE2 - tRFC2 + Min Internal refresh recovery delay time, 0: AUTO, max: 0xFFFF. Only used if FspmUpd->FspmConfig.SpdProfileSelected + == 1 (Custom Profile). +**/ + UINT16 tRFC2; + +/** Offset 0x0AE4 - tRFC4 + Min Internal refresh recovery delay time, 0: AUTO, max: 0xFFFF. Only used if FspmUpd->FspmConfig.SpdProfileSelected + == 1 (Custom Profile). +**/ + UINT16 tRFC4; + +/** Offset 0x0AE6 - tRRD_L + Min Internal row active to row active delay time for same bank groups, 0: AUTO, + max: 80. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile). +**/ + UINT8 tRRD_L; + +/** Offset 0x0AE7 - tRRD_S + Min Internal row active to row active delay time for different bank groups, 0: AUTO, + max: 80. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile). +**/ + UINT8 tRRD_S; + +/** Offset 0x0AE8 - tWTR_L + Min Internal write to read command delay time for same bank groups, 0: AUTO, max: + 127. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile). +**/ + UINT8 tWTR_L; + +/** Offset 0x0AE9 - tCCD_L + Min Internal CAS-to-CAS delay for same bank group, 0: AUTO, max: 80. Only used if + FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile). +**/ + UINT8 tCCD_L; + +/** Offset 0x0AEA - tWTR_S + Min Internal write to read command delay time for different bank groups, 0: AUTO, + max: 50. Only used if FspmUpd->FspmConfig.SpdProfileSelected == 1 (Custom Profile). +**/ + UINT8 tWTR_S; + +/** Offset 0x0AEB +**/ + UINT8 UnusedUpdSpace30[5]; + +/** Offset 0x0AF0 - EccErrInjAddress + Address to match against for ECC error injection +**/ + UINT64 EccErrInjAddress; + +/** Offset 0x0AF8 - EccErrInjMask + Mask to match against for ECC error injection +**/ + UINT64 EccErrInjMask; + +/** Offset 0x0B00 - EccErrInjCount + Number of transactions between ECC error injection +**/ + UINT32 EccErrInjCount; + +/** Offset 0x0B04 - Frequency Limit for 2DPC Mixed or non-POR Config + Frequency Limit for 2DPC Mixed or non-POR Config. 0: Auto (default), otherwise a + frequency in MT/s +**/ + UINT16 FreqLimitMixedConfig; + +/** Offset 0x0B06 - First Dimm BitMask + Defines which DIMM should be populated first on a 2DPC board. Bit0: MC0 DIMM0, Bit1: + MC0 DIMM1, Bit2: MC1 DIMM0, Bit3: MC1 DIMM1. For each MC, the first DIMM to be + populated should be set to '1' +**/ + UINT8 FirstDimmBitMask; + +/** Offset 0x0B07 - SAGV Switch Factor IA DDR BW + SAGV Switch Factor IA DDR BW: IA DDR load percentage when system switch to high + SAGV point from 1 to 50%. +**/ + UINT8 SagvSwitchFactorIA; + +/** Offset 0x0B08 - SAGV Switch Factor GT DDR BW + SAGV Switch Factor GT DDR BW: GT DDR load percentage when system switch to high + SAGV point from 1 to 50%. +**/ + UINT8 SagvSwitchFactorGT; + +/** Offset 0x0B09 - SAGV Switch Factor IO DDR BW + SAGV Switch Factor IO DDR BW: IO DDR load percentage when system switch to high + SAGV point from 1 to 50%. +**/ + UINT8 SagvSwitchFactorIO; + +/** Offset 0x0B0A - SAGV Switch Factor IA and GT Stall + SAGV Switch Factor IA and GT Stall: IA and GT percentage when system switch to high + SAGV point from 1 to 50%. +**/ + UINT8 SagvSwitchFactorStall; + +/** Offset 0x0B0B - Threshold For Switch Down + SAGV heuristics down control: Duration in ms of low activity after which SAGV will + switch down, from 1 to 50ms. +**/ + UINT8 SagvHeuristicsDownControl; + +/** Offset 0x0B0C - Threshold For Switch Up + SAGV heuristics up control: Duration in ms of low activity after which SAGV will + switch up, from 1 to 50ms. +**/ + UINT8 SagvHeuristicsUpControl; + +/** Offset 0x0B0D +**/ + UINT8 UnusedUpdSpace31; + +/** Offset 0x0B0E - Frequency Limit for Mixed 2DPC DDR5 1 Rank 8GB and 8GB + Frequency Limit for 2DPC Mixed or non-POR Config. 0: Auto, otherwise a frequency + in MT/s, default is 2000 +**/ + UINT16 FreqLimitMixedConfig_1R1R_8GB; + +/** Offset 0x0B10 - Frequency Limit for Mixed 2DPC DDR5 1 Rank 16GB and 16GB + Frequency Limit for 2DPC Mixed or non-POR Config. 0: Auto, otherwise a frequency + in MT/s, default is 2000 +**/ + UINT16 FreqLimitMixedConfig_1R1R_16GB; + +/** Offset 0x0B12 - Frequency Limit for Mixed 2DPC DDR5 1 Rank 8GB and 16GB + Frequency Limit for 2DPC Mixed or non-POR Config. 0: Auto, otherwise a frequency + in MT/s, default is 2000 +**/ + UINT16 FreqLimitMixedConfig_1R1R_8GB_16GB; + +/** Offset 0x0B14 - Frequency Limit for Mixed 2DPC DDR5 2 Rank + Frequency Limit for 2DPC Mixed or non-POR Config. 0: Auto, otherwise a frequency + in MT/s, default is 2000 +**/ + UINT16 FreqLimitMixedConfig_2R2R; + +/** Offset 0x0B16 - DMI Hw Eq Gen3 CoeffList Cm + PCH_DMI_EQ_PARAM. Coefficient C-1. +**/ + UINT8 PchDmiHwEqGen3CoeffListCm[8]; + +/** Offset 0x0B1E - DMI Hw Eq Gen3 CoeffList Cp + PCH_DMI_EQ_PARAM. Coefficient C+1. +**/ + UINT8 PchDmiHwEqGen3CoeffListCp[8]; + +/** Offset 0x0B26 - LCT Command eyewidth + LCT Command eyewidth. 0: Auto, otherwise eyewidth , default is 96 +**/ + UINT16 LctCmdEyeWidth; + +/** Offset 0x0B28 - For LPDDR Only: Throttler CKEMin Timer + For LPDDR Only: Timer value for CKEMin, range[255;0]. Reqd min of SC_ROUND_T + BYTE_LENGTH + (4). Dfault is 0x00 +**/ + UINT8 ThrtCkeMinTmrLpddr; + +/** Offset 0x0B29 - First ECC Dimm BitMask + Defines which ECC DIMM should be populated first on a 2DPC board. Bit0: MC0 DIMM0, + Bit1: MC0 DIMM1, Bit2: MC1 DIMM0, Bit3: MC1 DIMM1. For each MC, the first DIMM + to be populated should be set to '1' +**/ + UINT8 FirstDimmBitMaskEcc; + +/** Offset 0x0B2A - LP5 Bank Mode + LP5 Bank Mode. 0: Auto, 1: 8 Bank Mode, 2: 16 Bank Mode, 3: BG Mode, default is 0 + 0:Auto, 1:8 Bank Mode, 2:16 Bank Mode, 3:BG Mode +**/ + UINT8 Lp5BankMode; + +/** Offset 0x0B2B - Write DS Training + Enable/Disable Write DS Training + $EN_DIS +**/ + UINT8 WRDS; + +/** Offset 0x0B2C - SAM Overlaoding + Enable: copy the sagv frequency point. Disable: not copy. + $EN_DIS +**/ + UINT8 OverloadSAM; + +/** Offset 0x0B2D +**/ + UINT8 UnusedUpdSpace32[5]; + +/** Offset 0x0B32 +**/ + UINT8 ReservedFspmUpd2[6]; +} FSP_M_CONFIG; + +/** Fsp M UPD Configuration +**/ +typedef struct { + +/** Offset 0x0000 +**/ + FSP_UPD_HEADER FspUpdHeader; + +/** Offset 0x0020 +**/ + FSPM_ARCH_UPD FspmArchUpd; + +/** Offset 0x0040 +**/ + FSP_M_CONFIG FspmConfig; + +/** Offset 0x0B38 +**/ + UINT8 UnusedUpdSpace33[6]; + +/** Offset 0x0B3E +**/ + UINT16 UpdTerminator; +} FSPM_UPD; + +#pragma pack() + +#endif diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FspsUpd.h b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FspsUpd.h new file mode 100644 index 0000000..a551d32 --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FspsUpd.h @@ -0,0 +1,4280 @@ +/** @file + +Copyright (c) 2022, Intel Corporation. All rights reserved.
+ +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +* Neither the name of Intel Corporation nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + THE POSSIBILITY OF SUCH DAMAGE. + + This file is automatically generated. Please do NOT modify !!! + +**/ + +#ifndef __FSPSUPD_H__ +#define __FSPSUPD_H__ + +#include + +#pragma pack(1) + + +/// +/// Azalia Header structure +/// +typedef struct { + UINT16 VendorId; ///< Codec Vendor ID + UINT16 DeviceId; ///< Codec Device ID + UINT8 RevisionId; ///< Revision ID of the codec. 0xFF matches any revision. + UINT8 SdiNum; ///< SDI number, 0xFF matches any SDI. + UINT16 DataDwords; ///< Number of data DWORDs pointed by the codec data buffer. + UINT32 Reserved; ///< Reserved for future use. Must be set to 0. +} AZALIA_HEADER; + +/// +/// Audio Azalia Verb Table structure +/// +typedef struct { + AZALIA_HEADER Header; ///< AZALIA PCH header + UINT32 *Data; ///< Pointer to the data buffer. Its length is specified in the header +} AUDIO_AZALIA_VERB_TABLE; + +/// +/// Refer to the definition of PCH_INT_PIN +/// +typedef enum { + SiPchNoInt, ///< No Interrupt Pin + SiPchIntA, + SiPchIntB, + SiPchIntC, + SiPchIntD +} SI_PCH_INT_PIN; +/// +/// The PCH_DEVICE_INTERRUPT_CONFIG block describes interrupt pin, IRQ and interrupt mode for PCH device. +/// +typedef struct { + UINT8 Device; ///< Device number + UINT8 Function; ///< Device function + UINT8 IntX; ///< Interrupt pin: INTA-INTD (see SI_PCH_INT_PIN) + UINT8 Irq; ///< IRQ to be set for device. +} SI_PCH_DEVICE_INTERRUPT_CONFIG; + +#define SI_PCH_MAX_DEVICE_INTERRUPT_CONFIG 64 ///< Number of all PCH devices + + +/** Fsp S Configuration +**/ +typedef struct { + +/** Offset 0x0040 - Logo Pointer + Points to PEI Display Logo Image +**/ + UINT32 LogoPtr; + +/** Offset 0x0044 - Logo Size + Size of PEI Display Logo Image +**/ + UINT32 LogoSize; + +/** Offset 0x0048 - Blt Buffer Address + Address of Blt buffer +**/ + UINT32 BltBufferAddress; + +/** Offset 0x004C - Blt Buffer Size + Size of Blt Buffer, is equal to PixelWidth * PixelHeight * 4 bytes (the size of + EFI_GRAPHICS_OUTPUT_BLT_PIXEL) +**/ + UINT32 BltBufferSize; + +/** Offset 0x0050 - Graphics Configuration Ptr + Points to VBT +**/ + UINT32 GraphicsConfigPtr; + +/** Offset 0x0054 - Enable Device 4 + Enable/disable Device 4 + $EN_DIS +**/ + UINT8 Device4Enable; + +/** Offset 0x0055 - Show SPI controller + Enable/disable to show SPI controller. + $EN_DIS +**/ + UINT8 ShowSpiController; + +/** Offset 0x0056 +**/ + UINT8 UnusedUpdSpace0[2]; + +/** Offset 0x0058 - MicrocodeRegionBase + Memory Base of Microcode Updates +**/ + UINT32 MicrocodeRegionBase; + +/** Offset 0x005C - MicrocodeRegionSize + Size of Microcode Updates +**/ + UINT32 MicrocodeRegionSize; + +/** Offset 0x0060 - Turbo Mode + Enable/Disable Turbo mode. 0: disable, 1: enable + $EN_DIS +**/ + UINT8 TurboMode; + +/** Offset 0x0061 - Enable SATA SALP Support + Enable/disable SATA Aggressive Link Power Management. + $EN_DIS +**/ + UINT8 SataSalpSupport; + +/** Offset 0x0062 - Enable SATA ports + Enable/disable SATA ports. One byte for each port, byte0 for port0, byte1 for port1, + and so on. +**/ + UINT8 SataPortsEnable[8]; + +/** Offset 0x006A - Enable SATA DEVSLP Feature + Enable/disable SATA DEVSLP per port. 0 is disable, 1 is enable. One byte for each + port, byte0 for port0, byte1 for port1, and so on. +**/ + UINT8 SataPortsDevSlp[8]; + +/** Offset 0x0072 +**/ + UINT8 UnusedUpdSpace1[2]; + +/** Offset 0x0074 - SATA DEVSLP GPIO Pin + Select SATA DEVSLP Pin. Refer to GPIO_*_MUXING_SATA_DEVSLP_x* for possible values. +**/ + UINT32 SataPortDevSlpPinMux[8]; + +/** Offset 0x0094 - Enable USB2 ports + Enable/disable per USB2 ports. One byte for each port, byte0 for port0, byte1 for + port1, and so on. +**/ + UINT8 PortUsb20Enable[16]; + +/** Offset 0x00A4 - Enable USB3 ports + Enable/disable per USB3 ports. One byte for each port, byte0 for port0, byte1 for + port1, and so on. +**/ + UINT8 PortUsb30Enable[10]; + +/** Offset 0x00AE - Enable xDCI controller + Enable/disable to xDCI controller. + $EN_DIS +**/ + UINT8 XdciEnable; + +/** Offset 0x00AF +**/ + UINT8 UnusedUpdSpace2; + +/** Offset 0x00B0 - Address of PCH_DEVICE_INTERRUPT_CONFIG table. + The address of the table of PCH_DEVICE_INTERRUPT_CONFIG. +**/ + UINT32 DevIntConfigPtr; + +/** Offset 0x00B4 - Number of DevIntConfig Entry + Number of Device Interrupt Configuration Entry. If this is not zero, the DevIntConfigPtr + must not be NULL. +**/ + UINT8 NumOfDevIntConfig; + +/** Offset 0x00B5 - PIRQx to IRQx Map Config + PIRQx to IRQx mapping. The valid value is 0x00 to 0x0F for each. First byte is for + PIRQA, second byte is for PIRQB, and so on. The setting is only available in Legacy + 8259 PCI mode. +**/ + UINT8 PxRcConfig[8]; + +/** Offset 0x00BD - Select GPIO IRQ Route + GPIO IRQ Select. The valid value is 14 or 15. +**/ + UINT8 GpioIrqRoute; + +/** Offset 0x00BE - Select SciIrqSelect + SCI IRQ Select. The valid value is 9, 10, 11, and 20, 21, 22, 23 for APIC only. +**/ + UINT8 SciIrqSelect; + +/** Offset 0x00BF - Select TcoIrqSelect + TCO IRQ Select. The valid value is 9, 10, 11, 20, 21, 22, 23. +**/ + UINT8 TcoIrqSelect; + +/** Offset 0x00C0 - Enable/Disable Tco IRQ + Enable/disable TCO IRQ + $EN_DIS +**/ + UINT8 TcoIrqEnable; + +/** Offset 0x00C1 - PCH HDA Verb Table Entry Number + Number of Entries in Verb Table. +**/ + UINT8 PchHdaVerbTableEntryNum; + +/** Offset 0x00C2 +**/ + UINT8 UnusedUpdSpace3[2]; + +/** Offset 0x00C4 - PCH HDA Verb Table Pointer + Pointer to Array of pointers to Verb Table. +**/ + UINT32 PchHdaVerbTablePtr; + +/** Offset 0x00C8 - PCH HDA Codec Sx Wake Capability + Capability to detect wake initiated by a codec in Sx +**/ + UINT8 PchHdaCodecSxWakeCapability; + +/** Offset 0x00C9 - Enable SATA + Enable/disable SATA controller. + $EN_DIS +**/ + UINT8 SataEnable; + +/** Offset 0x00CA - SATA Mode + Select SATA controller working mode. + 0:AHCI, 1:RAID +**/ + UINT8 SataMode; + +/** Offset 0x00CB - SPIn Device Mode + Selects SPI operation mode. N represents controller index: SPI0, SPI1, ... Available + modes: 0:SerialIoSpiDisabled, 1:SerialIoSpiPci, 2:SerialIoSpiHidden +**/ + UINT8 SerialIoSpiMode[7]; + +/** Offset 0x00D2 - SPI Chip Select Polarity + Sets polarity for each chip Select. Available options: 0:SerialIoSpiCsActiveLow, + 1:SerialIoSpiCsActiveHigh +**/ + UINT8 SerialIoSpiCsPolarity[14]; + +/** Offset 0x00E0 - SPI Chip Select Enable + 0:Disabled, 1:Enabled. Enables GPIO for CS0 or CS1 if it is Enabled +**/ + UINT8 SerialIoSpiCsEnable[14]; + +/** Offset 0x00EE - SPIn Default Chip Select Output + Sets Default CS as Output. N represents controller index: SPI0, SPI1, ... Available + options: 0:CS0, 1:CS1 +**/ + UINT8 SerialIoSpiDefaultCsOutput[7]; + +/** Offset 0x00F5 - SPIn Default Chip Select Mode HW/SW + Sets Default CS Mode Hardware or Software. N represents controller index: SPI0, + SPI1, ... Available options: 0:HW, 1:SW +**/ + UINT8 SerialIoSpiCsMode[7]; + +/** Offset 0x00FC - SPIn Default Chip Select State Low/High + Sets Default CS State Low or High. N represents controller index: SPI0, SPI1, ... + Available options: 0:Low, 1:High +**/ + UINT8 SerialIoSpiCsState[7]; + +/** Offset 0x0103 - UARTn Device Mode + Selects Uart operation mode. N represents controller index: Uart0, Uart1, ... Available + modes: 0:SerialIoUartDisabled, 1:SerialIoUartPci, 2:SerialIoUartHidden, 3:SerialIoUartCom, + 4:SerialIoUartSkipInit +**/ + UINT8 SerialIoUartMode[7]; + +/** Offset 0x010A +**/ + UINT8 UnusedUpdSpace4[2]; + +/** Offset 0x010C - Default BaudRate for each Serial IO UART + Set default BaudRate Supported from 0 - default to 6000000 +**/ + UINT32 SerialIoUartBaudRate[7]; + +/** Offset 0x0128 - Default ParityType for each Serial IO UART + Set default Parity. 0: DefaultParity, 1: NoParity, 2: EvenParity, 3: OddParity +**/ + UINT8 SerialIoUartParity[7]; + +/** Offset 0x012F - Default DataBits for each Serial IO UART + Set default word length. 0: Default, 5,6,7,8 +**/ + UINT8 SerialIoUartDataBits[7]; + +/** Offset 0x0136 - Default StopBits for each Serial IO UART + Set default stop bits. 0: DefaultStopBits, 1: OneStopBit, 2: OneFiveStopBits, 3: + TwoStopBits +**/ + UINT8 SerialIoUartStopBits[7]; + +/** Offset 0x013D - Power Gating mode for each Serial IO UART that works in COM mode + Set Power Gating. 0: Disabled, 1: Enabled, 2: Auto +**/ + UINT8 SerialIoUartPowerGating[7]; + +/** Offset 0x0144 - Enable Dma for each Serial IO UART that supports it + Set DMA/PIO mode. 0: Disabled, 1: Enabled +**/ + UINT8 SerialIoUartDmaEnable[7]; + +/** Offset 0x014B - Enables UART hardware flow control, CTS and RTS lines + Enables UART hardware flow control, CTS and RTS lines. +**/ + UINT8 SerialIoUartAutoFlow[7]; + +/** Offset 0x0152 +**/ + UINT8 UnusedUpdSpace5[2]; + +/** Offset 0x0154 - SerialIoUartRtsPinMuxPolicy + Select SerialIo Uart Rts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_RTS* + for possible values. +**/ + UINT32 SerialIoUartRtsPinMuxPolicy[7]; + +/** Offset 0x0170 - SerialIoUartCtsPinMuxPolicy + Select SerialIo Uart Cts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_CTS* + for possible values. +**/ + UINT32 SerialIoUartCtsPinMuxPolicy[7]; + +/** Offset 0x018C - SerialIoUartRxPinMuxPolicy + Select SerialIo Uart Rx pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_RX* for + possible values. +**/ + UINT32 SerialIoUartRxPinMuxPolicy[7]; + +/** Offset 0x01A8 - SerialIoUartTxPinMuxPolicy + Select SerialIo Uart Tx pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_TX* for + possible values. +**/ + UINT32 SerialIoUartTxPinMuxPolicy[7]; + +/** Offset 0x01C4 - UART Number For Debug Purpose + UART number for debug purpose. 0:UART0, 1:UART1, 2:UART2, 3:UART3, 4:UART4, 5:UART5, + 6:UART6. Note: If UART0 is selected as CNVi BT Core interface, it cannot be used + for debug purpose. + 0:UART0, 1:UART1, 2:UART2, 3:UART3, 4:UART4, 5:UART5, 6:UART6 +**/ + UINT8 SerialIoDebugUartNumber; + +/** Offset 0x01C5 - Serial IO UART DBG2 table + Enable or disable Serial Io UART DBG2 table, default is Disable; 0: Disable; + 1: Enable. +**/ + UINT8 SerialIoUartDbg2[7]; + +/** Offset 0x01CC - I2Cn Device Mode + Selects I2c operation mode. N represents controller index: I2c0, I2c1, ... Available + modes: 0:SerialIoI2cDisabled, 1:SerialIoI2cPci, 2:SerialIoI2cHidden +**/ + UINT8 SerialIoI2cMode[8]; + +/** Offset 0x01D4 - Serial IO I2C SDA Pin Muxing + Select SerialIo I2c Sda pin muxing. Refer to GPIO_*_MUXING_SERIALIO_I2Cx_SDA* for + possible values. +**/ + UINT32 PchSerialIoI2cSdaPinMux[8]; + +/** Offset 0x01F4 - Serial IO I2C SCL Pin Muxing + Select SerialIo I2c Scl pin muxing. Refer to GPIO_*_MUXING_SERIALIO_I2Cx_SCL* for + possible values. +**/ + UINT32 PchSerialIoI2cSclPinMux[8]; + +/** Offset 0x0214 - PCH SerialIo I2C Pads Termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo I2C0,I2C1,... pads termination + respectively. One byte for each controller, byte0 for I2C0, byte1 for I2C1, and so on. +**/ + UINT8 PchSerialIoI2cPadsTermination[8]; + +/** Offset 0x021C - ISH GP GPIO Pin Muxing + Determines ISH GP GPIO Pin muxing. See GPIO_*_MUXING_ISH_GP_x_GPIO_*. 'x' are GP_NUMBER +**/ + UINT32 IshGpGpioPinMuxing[8]; + +/** Offset 0x023C - ISH UART Rx Pin Muxing + Determines ISH UART Rx Pin muxing. See GPIO_*_MUXING_ISH_UARTx_TXD_* +**/ + UINT32 IshUartRxPinMuxing[3]; + +/** Offset 0x0248 - ISH UART Tx Pin Muxing + Determines ISH UART Tx Pin muxing. See GPIO_*_MUXING_ISH_UARTx_RXD_* +**/ + UINT32 IshUartTxPinMuxing[3]; + +/** Offset 0x0254 - ISH UART Rts Pin Muxing + Select ISH UART Rts Pin muxing. Refer to GPIO_*_MUXING_ISH_UARTx_RTS_* for possible values. +**/ + UINT32 IshUartRtsPinMuxing[3]; + +/** Offset 0x0260 - ISH UART Rts Pin Muxing + Select ISH UART Cts Pin muxing. Refer to GPIO_*_MUXING_ISH_UARTx_CTS_* for possible values. +**/ + UINT32 IshUartCtsPinMuxing[3]; + +/** Offset 0x026C - ISH I2C SDA Pin Muxing + Select ISH I2C SDA Pin muxing. Refer to GPIO_*_MUXING_ISH_I2Cx_SDA_* for possible values. +**/ + UINT32 IshI2cSdaPinMuxing[3]; + +/** Offset 0x0278 - ISH I2C SCL Pin Muxing + Select ISH I2C SCL Pin muxing. Refer to GPIO_*_MUXING_ISH_I2Cx_SCL_* for possible values. +**/ + UINT32 IshI2cSclPinMuxing[3]; + +/** Offset 0x0284 - ISH SPI MOSI Pin Muxing + Select ISH SPI MOSI Pin muxing. Refer to GPIO_*_MUXING_ISH_SPIx_MOSI_* for possible values. +**/ + UINT32 IshSpiMosiPinMuxing[2]; + +/** Offset 0x028C - ISH SPI MISO Pin Muxing + Select ISH SPI MISO Pin muxing. Refer to GPIO_*_MUXING_ISH_SPIx_MISO_* for possible values. +**/ + UINT32 IshSpiMisoPinMuxing[2]; + +/** Offset 0x0294 - ISH SPI CLK Pin Muxing + Select ISH SPI CLK Pin muxing. Refer to GPIO_*_MUXING_ISH_SPIx_CLK_* for possible values. +**/ + UINT32 IshSpiClkPinMuxing[2]; + +/** Offset 0x029C - ISH SPI CS#N Pin Muxing + Select ISH SPI CS#N Pin muxing. Refer to GPIO_*_MUXING_ISH_SPIx_CS_* for possible + values. N-SPI number, 0-1. +**/ + UINT32 IshSpiCsPinMuxing[4]; + +/** Offset 0x02AC - ISH GP GPIO Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo GP#N GPIO pads termination + respectively. #N are GP_NUMBER, not strictly relate to indexes of this table. Index + 0-23 -> ISH_GP_0-23, Index 24-25 -> ISH_GP_30-31 +**/ + UINT8 IshGpGpioPadTermination[8]; + +/** Offset 0x02B4 - ISH UART Rx Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo UART#N Rx pads termination + respectively. #N-byte for each controller, byte0 for UART0 Rx, byte1 for UART1 + Rx, and so on. +**/ + UINT8 IshUartRxPadTermination[3]; + +/** Offset 0x02B7 - ISH UART Tx Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo UART#N Tx pads termination + respectively. #N-byte for each controller, byte0 for UART0 Tx, byte1 for UART1 + Tx, and so on. +**/ + UINT8 IshUartTxPadTermination[3]; + +/** Offset 0x02BA - ISH UART Rts Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo UART#N Rts pads termination + respectively. #N-byte for each controller, byte0 for UART0 Rts, byte1 for UART1 + Rts, and so on. +**/ + UINT8 IshUartRtsPadTermination[3]; + +/** Offset 0x02BD - ISH UART Rts Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo UART#N Cts pads termination + respectively. #N-byte for each controller, byte0 for UART0 Cts, byte1 for UART1 + Cts, and so on. +**/ + UINT8 IshUartCtsPadTermination[3]; + +/** Offset 0x02C0 - ISH I2C SDA Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo I2C#N Sda pads termination + respectively. #N-byte for each controller, byte0 for I2C0 Sda, byte1 for I2C1 Sda, + and so on. +**/ + UINT8 IshI2cSdaPadTermination[3]; + +/** Offset 0x02C3 - ISH I2C SCL Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo I2C#N Scl pads termination + respectively. #N-byte for each controller, byte0 for I2C0 Scl, byte1 for I2C1 Scl, + and so on. +**/ + UINT8 IshI2cSclPadTermination[3]; + +/** Offset 0x02C6 - ISH SPI MOSI Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo SPI#N Mosi pads termination + respectively. #N-byte for each controller, byte0 for SPI0 Mosi, byte1 for SPI1 + Mosi, and so on. +**/ + UINT8 IshSpiMosiPadTermination[2]; + +/** Offset 0x02C8 - ISH SPI MISO Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo SPI#N Miso pads termination + respectively. #N-byte for each controller, byte0 for SPI0 Miso, byte1 for SPI1 + Miso, and so on. +**/ + UINT8 IshSpiMisoPadTermination[2]; + +/** Offset 0x02CA - ISH SPI CLK Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo SPI#N Clk pads termination + respectively. #N-byte for each controller, byte0 for SPI0 Clk, byte1 for SPI1 Clk, + and so on. +**/ + UINT8 IshSpiClkPadTermination[2]; + +/** Offset 0x02CC - ISH SPI CS#N Pad termination + 0x0: Hardware default, 0x1: None, 0x13: 1kOhm weak pull-up, 0x15: 5kOhm weak pull-up, + 0x19: 20kOhm weak pull-up - Enable/disable SerialIo SPI#N Cs#M pads termination + respectively. N*M-byte for each controller, byte0 for SPI0 Cs0, byte1 for SPI1 + Cs1, SPI1 Cs0, byte2, SPI1 Cs1, byte3 +**/ + UINT8 IshSpiCsPadTermination[4]; + +/** Offset 0x02D0 - Enable PCH ISH SPI Cs#N pins assigned + Set if ISH SPI Cs#N pins are to be enabled by BIOS. 0: Disable; 1: Enable. N-Cs + number: 0-1 +**/ + UINT8 PchIshSpiCsEnable[4]; + +/** Offset 0x02D4 - USB Per Port HS Preemphasis Bias + USB Per Port HS Preemphasis Bias. 000b-0mV, 001b-11.25mV, 010b-16.9mV, 011b-28.15mV, + 100b-28.15mV, 101b-39.35mV, 110b-45mV, 111b-56.3mV. One byte for each port. +**/ + UINT8 Usb2PhyPetxiset[16]; + +/** Offset 0x02E4 - USB Per Port HS Transmitter Bias + USB Per Port HS Transmitter Bias. 000b-0mV, 001b-11.25mV, 010b-16.9mV, 011b-28.15mV, + 100b-28.15mV, 101b-39.35mV, 110b-45mV, 111b-56.3mV, One byte for each port. +**/ + UINT8 Usb2PhyTxiset[16]; + +/** Offset 0x02F4 - USB Per Port HS Transmitter Emphasis + USB Per Port HS Transmitter Emphasis. 00b - Emphasis OFF, 01b - De-emphasis ON, + 10b - Pre-emphasis ON, 11b - Pre-emphasis & De-emphasis ON. One byte for each port. +**/ + UINT8 Usb2PhyPredeemp[16]; + +/** Offset 0x0304 - USB Per Port Half Bit Pre-emphasis + USB Per Port Half Bit Pre-emphasis. 1b - half-bit pre-emphasis, 0b - full-bit pre-emphasis. + One byte for each port. +**/ + UINT8 Usb2PhyPehalfbit[16]; + +/** Offset 0x0314 - Enable the write to USB 3.0 TX Output -3.5dB De-Emphasis Adjustment + Enable the write to USB 3.0 TX Output -3.5dB De-Emphasis Adjustment. Each value + in arrary can be between 0-1. One byte for each port. +**/ + UINT8 Usb3HsioTxDeEmphEnable[10]; + +/** Offset 0x031E - USB 3.0 TX Output -3.5dB De-Emphasis Adjustment Setting + USB 3.0 TX Output -3.5dB De-Emphasis Adjustment Setting, HSIO_TX_DWORD5[21:16], + Default = 29h (approximately -3.5dB De-Emphasis). One byte for each port. +**/ + UINT8 Usb3HsioTxDeEmph[10]; + +/** Offset 0x0328 - Enable the write to USB 3.0 TX Output Downscale Amplitude Adjustment + Enable the write to USB 3.0 TX Output Downscale Amplitude Adjustment, Each value + in arrary can be between 0-1. One byte for each port. +**/ + UINT8 Usb3HsioTxDownscaleAmpEnable[10]; + +/** Offset 0x0332 - USB 3.0 TX Output Downscale Amplitude Adjustment + USB 3.0 TX Output Downscale Amplitude Adjustment, HSIO_TX_DWORD8[21:16], Default + = 00h. One byte for each port. +**/ + UINT8 Usb3HsioTxDownscaleAmp[10]; + +/** Offset 0x033C +**/ + UINT8 PchUsb3HsioCtrlAdaptOffsetCfgEnable[10]; + +/** Offset 0x0346 +**/ + UINT8 PchUsb3HsioFilterSelNEnable[10]; + +/** Offset 0x0350 +**/ + UINT8 PchUsb3HsioFilterSelPEnable[10]; + +/** Offset 0x035A +**/ + UINT8 PchUsb3HsioOlfpsCfgPullUpDwnResEnable[10]; + +/** Offset 0x0364 +**/ + UINT8 PchUsb3HsioCtrlAdaptOffsetCfg[10]; + +/** Offset 0x036E +**/ + UINT8 PchUsb3HsioOlfpsCfgPullUpDwnRes[10]; + +/** Offset 0x0378 +**/ + UINT8 PchUsb3HsioFilterSelN[10]; + +/** Offset 0x0382 +**/ + UINT8 PchUsb3HsioFilterSelP[10]; + +/** Offset 0x038C - Enable LAN + Enable/disable LAN controller. + $EN_DIS +**/ + UINT8 PchLanEnable; + +/** Offset 0x038D - Enable PCH TSN + Enable/disable TSN on the PCH. + $EN_DIS +**/ + UINT8 PchTsnEnable; + +/** Offset 0x038E - TSN Link Speed + Set TSN Link Speed. + 0: 24Mhz 2.5Gbps, 1: 24Mhz 1Gbps, 2: 38.4Mhz 2.5Gbps, 3: 38.4Mhz 1Gbps +**/ + UINT8 PchTsnLinkSpeed; + +/** Offset 0x038F +**/ + UINT8 UnusedUpdSpace6; + +/** Offset 0x0390 - PCH TSN MAC Address High Bits + Set TSN MAC Address High. +**/ + UINT32 PchTsnMacAddressHigh; + +/** Offset 0x0394 - PCH TSN MAC Address Low Bits + Set TSN MAC Address Low. +**/ + UINT32 PchTsnMacAddressLow; + +/** Offset 0x0398 - PCIe PTM enable/disable + Enable/disable Precision Time Measurement for PCIE Root Ports. +**/ + UINT8 PciePtm[28]; + +/** Offset 0x03B4 - PCIe DPC enable/disable + Enable/disable Downstream Port Containment for PCIE Root Ports. +**/ + UINT8 PcieDpc[28]; + +/** Offset 0x03D0 - PCIe DPC extensions enable/disable + Enable/disable Downstream Port Containment Extensions for PCIE Root Ports. +**/ + UINT8 PcieEdpc[28]; + +/** Offset 0x03EC - USB PDO Programming + Enable/disable PDO programming for USB in PEI phase. Disabling will allow for programming + during later phase. 1: enable, 0: disable + $EN_DIS +**/ + UINT8 UsbPdoProgramming; + +/** Offset 0x03ED +**/ + UINT8 UnusedUpdSpace7[3]; + +/** Offset 0x03F0 - Power button debounce configuration + Debounce time for PWRBTN in microseconds. For values not supported by HW, they will + be rounded down to closest supported on. 0: disable, 250-1024000us: supported range +**/ + UINT32 PmcPowerButtonDebounce; + +/** Offset 0x03F4 - PCH eSPI Host and Device BME enabled + PCH eSPI Host and Device BME enabled + $EN_DIS +**/ + UINT8 PchEspiBmeMasterSlaveEnabled; + +/** Offset 0x03F5 - PCH eSPI Link Configuration Lock (SBLCL) + Enable/Disable lock of communication through SET_CONFIG/GET_CONFIG to eSPI slaves + addresseses from range 0x0 - 0x7FF + $EN_DIS +**/ + UINT8 PchEspiLockLinkConfiguration; + +/** Offset 0x03F6 - Mask to enable the usage of external V1p05 VR rail in specific S0ix or Sx states + Enable External V1P05 Rail in: BIT0:S0i1/S0i2, BIT1:S0i3, BIT2:S3, BIT3:S4, BIT4:S5, BIT5:S0 +**/ + UINT8 PchFivrExtV1p05RailEnabledStates; + +/** Offset 0x03F7 - Mask to enable the platform configuration of external V1p05 VR rail + External V1P05 Rail Supported Configuration +**/ + UINT8 PchFivrExtV1p05RailSupportedVoltageStates; + +/** Offset 0x03F8 - External V1P05 Voltage Value that will be used in S0i2/S0i3 states + Value is given in 2.5mV increments (0=0mV, 1=2.5mV, 2=5mV...) +**/ + UINT16 PchFivrExtV1p05RailVoltage; + +/** Offset 0x03FA - External V1P05 Icc Max Value + Granularity of this setting is 1mA and maximal possible value is 200mA +**/ + UINT8 PchFivrExtV1p05RailIccMax; + +/** Offset 0x03FB - Mask to enable the usage of external Vnn VR rail in specific S0ix or Sx states + Enable External Vnn Rail in: BIT0:S0i1/S0i2, BIT1:S0i3, BIT2:S3, BIT3:S4, BIT5:S5 +**/ + UINT8 PchFivrExtVnnRailEnabledStates; + +/** Offset 0x03FC - Mask to enable the platform configuration of external Vnn VR rail + External Vnn Rail Supported Configuration +**/ + UINT8 PchFivrExtVnnRailSupportedVoltageStates; + +/** Offset 0x03FD +**/ + UINT8 UnusedUpdSpace8; + +/** Offset 0x03FE - External Vnn Voltage Value that will be used in S0ix/Sx states + Value is given in 2.5mV increments (0=0mV, 1=2.5mV, 2=5mV...), Default is set to 420 +**/ + UINT16 PchFivrExtVnnRailVoltage; + +/** Offset 0x0400 - External Vnn Icc Max Value that will be used in S0ix/Sx states + Granularity of this setting is 1mA and maximal possible value is 200mA +**/ + UINT8 PchFivrExtVnnRailIccMax; + +/** Offset 0x0401 - Mask to enable the usage of external Vnn VR rail in Sx states + Use only if Ext Vnn Rail config is different in Sx. Enable External Vnn Rail in + Sx: BIT0-1:Reserved, BIT2:S3, BIT3:S4, BIT4:S5, BIT5:S0 +**/ + UINT8 PchFivrExtVnnRailSxEnabledStates; + +/** Offset 0x0402 - External Vnn Voltage Value that will be used in Sx states + Use only if Ext Vnn Rail config is different in Sx. Value is given in 2.5mV increments + (0=0mV, 1=2.5mV, 2=5mV...) +**/ + UINT16 PchFivrExtVnnRailSxVoltage; + +/** Offset 0x0404 - External Vnn Icc Max Value that will be used in Sx states + Use only if Ext Vnn Rail config is different in Sx. Granularity of this setting + is 1mA and maximal possible value is 200mA +**/ + UINT8 PchFivrExtVnnRailSxIccMax; + +/** Offset 0x0405 - Transition time in microseconds from Low Current Mode Voltage to High Current Mode Voltage + This field has 1us resolution. When value is 0 PCH will not transition VCCIN_AUX + to low current mode voltage. +**/ + UINT8 PchFivrVccinAuxLowToHighCurModeVolTranTime; + +/** Offset 0x0406 - Transition time in microseconds from Retention Mode Voltage to High Current Mode Voltage + This field has 1us resolution. When value is 0 PCH will not transition VCCIN_AUX + to retention mode voltage. +**/ + UINT8 PchFivrVccinAuxRetToHighCurModeVolTranTime; + +/** Offset 0x0407 - Transition time in microseconds from Retention Mode Voltage to Low Current Mode Voltage + This field has 1us resolution. When value is 0 PCH will not transition VCCIN_AUX + to retention mode voltage. +**/ + UINT8 PchFivrVccinAuxRetToLowCurModeVolTranTime; + +/** Offset 0x0408 - Transition time in microseconds from Off (0V) to High Current Mode Voltage + This field has 1us resolution. When value is 0 Transition to 0V is disabled. +**/ + UINT16 PchFivrVccinAuxOffToHighCurModeVolTranTime; + +/** Offset 0x040A - PMC Debug Message Enable + When Enabled, PMC HW will send debug messages to trace hub; When Disabled, PMC HW + will never send debug meesages to trace hub. Noted: When Enabled, may not enter S0ix + $EN_DIS +**/ + UINT8 PmcDbgMsgEn; + +/** Offset 0x040B +**/ + UINT8 UnusedUpdSpace9; + +/** Offset 0x040C - Pointer of ChipsetInit Binary + ChipsetInit Binary Pointer. +**/ + UINT32 ChipsetInitBinPtr; + +/** Offset 0x0410 - Length of ChipsetInit Binary + ChipsetInit Binary Length. +**/ + UINT32 ChipsetInitBinLen; + +/** Offset 0x0414 - FIVR Dynamic Power Management + Enable/Disable FIVR Dynamic Power Management. + $EN_DIS +**/ + UINT8 PchFivrDynPm; + +/** Offset 0x0415 +**/ + UINT8 UnusedUpdSpace10; + +/** Offset 0x0416 - External V1P05 Icc Max Value + Granularity of this setting is 1mA and maximal possible value is 500mA +**/ + UINT16 PchFivrExtV1p05RailIccMaximum; + +/** Offset 0x0418 - External Vnn Icc Max Value that will be used in S0ix/Sx states + Granularity of this setting is 1mA and maximal possible value is 500mA +**/ + UINT16 PchFivrExtVnnRailIccMaximum; + +/** Offset 0x041A - External Vnn Icc Max Value that will be used in Sx states + Use only if Ext Vnn Rail config is different in Sx. Granularity of this setting + is 1mA and maximal possible value is 500mA +**/ + UINT16 PchFivrExtVnnRailSxIccMaximum; + +/** Offset 0x041C - Extented BIOS Direct Read Decode enable + Enable/Disable access to bigger than 16MB BIOS Region through Direct Memory Reads. + 0: disabled (default), 1: enabled + $EN_DIS +**/ + UINT8 PchSpiExtendedBiosDecodeRangeEnable; + +/** Offset 0x041D +**/ + UINT8 UnusedUpdSpace11[3]; + +/** Offset 0x0420 - Extended BIOS Direct Read Decode Range base + Bits of 31:16 of a memory address that'll be a base for Extended BIOS Direct Read Decode. +**/ + UINT32 PchSpiExtendedBiosDecodeRangeBase; + +/** Offset 0x0424 - Extended BIOS Direct Read Decode Range limit + Bits of 31:16 of a memory address that'll be a limit for Extended BIOS Direct Read Decode. +**/ + UINT32 PchSpiExtendedBiosDecodeRangeLimit; + +/** Offset 0x0428 - USB Audio Offload enable + Enable/Disable USB Audio Offload capabilites. 0: disabled, 1: enabled (default) + $EN_DIS +**/ + UINT8 PchXhciUaolEnable; + +/** Offset 0x0429 +**/ + UINT8 UnusedUpdSpace12[3]; + +/** Offset 0x042C - Pointer of SYNPS PHY Binary + ChipsetInit Binary Pointer. +**/ + UINT32 SynpsPhyBinPtr; + +/** Offset 0x0430 - Length of SYNPS PHY Binary + ChipsetInit Binary Length. +**/ + UINT32 SynpsPhyBinLen; + +/** Offset 0x0434 - CNVi Configuration + This option allows for automatic detection of Connectivity Solution. [Auto Detection] + assumes that CNVi will be enabled when available, [Disable] allows for disabling CNVi. + 0:Disable, 1:Auto +**/ + UINT8 CnviMode; + +/** Offset 0x0435 - CNVi Wi-Fi Core + Enable/Disable CNVi Wi-Fi Core, Default is ENABLE. 0: DISABLE, 1: ENABLE + $EN_DIS +**/ + UINT8 CnviWifiCore; + +/** Offset 0x0436 - CNVi BT Core + Enable/Disable CNVi BT Core, Default is ENABLE. 0: DISABLE, 1: ENABLE + $EN_DIS +**/ + UINT8 CnviBtCore; + +/** Offset 0x0437 - CNVi BT Audio Offload + Enable/Disable BT Audio Offload, Default is DISABLE. 0: DISABLE, 1: ENABLE + $EN_DIS +**/ + UINT8 CnviBtAudioOffload; + +/** Offset 0x0438 - CNVi RF_RESET pin muxing + Select CNVi RF_RESET# pin depending on board routing. ADP-P/M: GPP_A8 = 0x2942E408(default) + or GPP_F4 = 0x194CE404. ADP-S: 0. Refer to GPIO_*_MUXING_CNVI_RF_RESET_* in GpioPins*.h. +**/ + UINT32 CnviRfResetPinMux; + +/** Offset 0x043C - CNVi CLKREQ pin muxing + Select CNVi CLKREQ pin depending on board routing. ADP-P/M: GPP_A9 = 0x3942E609(default) + or GPP_F5 = 0x394CE605. ADP-S: 0. Refer to GPIO_*_MUXING_CNVI_CRF_XTAL_CLKREQ_* + in GpioPins*.h. +**/ + UINT32 CnviClkreqPinMux; + +/** Offset 0x0440 - Enable Host C10 reporting through eSPI + Enable/disable Host C10 reporting to Device via eSPI Virtual Wire. + $EN_DIS +**/ + UINT8 PchEspiHostC10ReportEnable; + +/** Offset 0x0441 - PCH USB2 PHY Power Gating enable + 1: Will enable USB2 PHY SUS Well Power Gating, 0: Will not enable PG of USB2 PHY + Sus Well PG + $EN_DIS +**/ + UINT8 PmcUsb2PhySusPgEnable; + +/** Offset 0x0442 - PCH USB OverCurrent mapping enable + 1: Will program USB OC pin mapping in xHCI controller memory, 0: Will clear OC pin + mapping allow for NOA usage of OC pins + $EN_DIS +**/ + UINT8 PchUsbOverCurrentEnable; + +/** Offset 0x0443 - Espi Lgmr Memory Range decode + This option enables or disables espi lgmr + $EN_DIS +**/ + UINT8 PchEspiLgmrEnable; + +/** Offset 0x0444 - External V1P05 Control Ramp Timer value + Hold off time to be used when changing the v1p05_ctrl for external bypass value in us +**/ + UINT8 PchFivrExtV1p05RailCtrlRampTmr; + +/** Offset 0x0445 - External VNN Control Ramp Timer value + Hold off time to be used when changing the vnn_ctrl for external bypass value in us +**/ + UINT8 PchFivrExtVnnRailCtrlRampTmr; + +/** Offset 0x0446 - Set SATA DEVSLP GPIO Reset Config + Set SATA DEVSLP GPIO Reset Config per port. 0x00 - GpioResetDefault, 0x01 - GpioResumeReset, + 0x03 - GpioHostDeepReset, 0x05 - GpioPlatformReset, 0x07 - GpioDswReset. One byte + for each port, byte0 for port0, byte1 for port1, and so on. +**/ + UINT8 SataPortsDevSlpResetConfig[8]; + +/** Offset 0x044E - PCHHOT# pin + Enable PCHHOT# pin assertion when temperature is higher than PchHotLevel. 0: disable, 1: enable + $EN_DIS +**/ + UINT8 PchHotEnable; + +/** Offset 0x044F - SATA LED + SATA LED indicating SATA controller activity. 0: disable, 1: enable + $EN_DIS +**/ + UINT8 SataLedEnable; + +/** Offset 0x0450 - VRAlert# Pin + When VRAlert# feature pin is enabled and its state is '0', the PMC requests throttling + to a T3 Tstate to the PCH throttling unit.. 0: disable, 1: enable + $EN_DIS +**/ + UINT8 PchPmVrAlert; + +/** Offset 0x0451 - AMT Switch + Enable/Disable. 0: Disable, 1: enable, Enable or disable AMT functionality. + $EN_DIS +**/ + UINT8 AmtEnabled; + +/** Offset 0x0452 - WatchDog Timer Switch + Enable/Disable. 0: Disable, 1: enable, Enable or disable WatchDog timer. Setting + is invalid if AmtEnabled is 0. + $EN_DIS +**/ + UINT8 WatchDogEnabled; + +/** Offset 0x0453 - PET Progress + Enable/Disable. 0: Disable, 1: enable, Enable/Disable PET Events Progress to receive + PET Events. Setting is invalid if AmtEnabled is 0. + $EN_DIS +**/ + UINT8 FwProgress; + +/** Offset 0x0454 - SOL Switch + Enable/Disable. 0: Disable, 1: enable, Serial Over Lan enable/disable state by Mebx. + Setting is invalid if AmtEnabled is 0. + $EN_DIS +**/ + UINT8 AmtSolEnabled; + +/** Offset 0x0455 +**/ + UINT8 UnusedUpdSpace13; + +/** Offset 0x0456 - OS Timer + 16 bits Value, Set OS watchdog timer. Setting is invalid if AmtEnabled is 0. +**/ + UINT16 WatchDogTimerOs; + +/** Offset 0x0458 - BIOS Timer + 16 bits Value, Set BIOS watchdog timer. Setting is invalid if AmtEnabled is 0. +**/ + UINT16 WatchDogTimerBios; + +/** Offset 0x045A - Force MEBX execution + Enable/Disable. 0: Disable, 1: enable, Force MEBX execution. + $EN_DIS +**/ + UINT8 ForcMebxSyncUp; + +/** Offset 0x045B - PCH PCIe root port connection type + 0: built-in device, 1:slot +**/ + UINT8 PcieRpSlotImplemented[28]; + +/** Offset 0x0477 - PCIE RP Access Control Services Extended Capability + Enable/Disable PCIE RP Access Control Services Extended Capability +**/ + UINT8 PcieRpAcsEnabled[28]; + +/** Offset 0x0493 - PCIE RP Clock Power Management + Enable/Disable PCIE RP Clock Power Management, even if disabled, CLKREQ# signal + can still be controlled by L1 PM substates mechanism +**/ + UINT8 PcieRpEnableCpm[28]; + +/** Offset 0x04AF +**/ + UINT8 UnusedUpdSpace14[1]; + +/** Offset 0x04B0 - PCIE RP Detect Timeout Ms + The number of milliseconds within 0~65535 in reference code will wait for link to + exit Detect state for enabled ports before assuming there is no device and potentially + disabling the port. +**/ + UINT16 PcieRpDetectTimeoutMs[28]; + +/** Offset 0x04E8 - ModPHY SUS Power Domain Dynamic Gating + Enable/Disable ModPHY SUS Power Domain Dynamic Gating. Setting not supported on + PCH-H. 0: disable, 1: enable + $EN_DIS +**/ + UINT8 PmcModPhySusPgEnable; + +/** Offset 0x04E9 - V1p05-PHY supply external FET control + Enable/Disable control using EXT_PWR_GATE# pin of external FET to power gate v1p05-PHY + supply. 0: disable, 1: enable + $EN_DIS +**/ + UINT8 PmcV1p05PhyExtFetControlEn; + +/** Offset 0x04EA - V1p05-IS supply external FET control + Enable/Disable control using EXT_PWR_GATE2# pin of external FET to power gate v1p05-IS + supply. 0: disable, 1: enable + $EN_DIS +**/ + UINT8 PmcV1p05IsExtFetControlEn; + +/** Offset 0x04EB - Enable/Disable PavpEnable + Enable(Default): Enable PavpEnable, Disable: Disable PavpEnable + $EN_DIS +**/ + UINT8 PavpEnable; + +/** Offset 0x04EC - CdClock Frequency selection + 0 (Default) Auto (Max based on reference clock frequency), 0: 192, 1: 307.2, 2: + 312 Mhz, 3: 324Mhz, 4: 326.4 Mhz, 5: 552 Mhz, 6: 556.8 Mhz, 7: 648 Mhz, 8: 652.8 Mhz + 0xFF: Auto (Max based on reference clock frequency), 0: 192, 1: 307.2, 2: 312 Mhz, + 3: 324Mhz, 4: 326.4 Mhz, 5: 552 Mhz, 6: 556.8 Mhz, 7: 648 Mhz, 8: 652.8 Mhz +**/ + UINT8 CdClock; + +/** Offset 0x04ED - Enable/Disable PeiGraphicsPeimInit + Enable(Default): FSP will initialize the framebuffer and provide it via EFI_PEI_GRAPHICS_INFO_HOB. + Disable: FSP will NOT initialize the framebuffer. + $EN_DIS +**/ + UINT8 PeiGraphicsPeimInit; + +/** Offset 0x04EE - Enable D3 Hot in TCSS + This policy will enable/disable D3 hot support in IOM + $EN_DIS +**/ + UINT8 D3HotEnable; + +/** Offset 0x04EF - Enable or disable GNA device + 0=Disable, 1(Default)=Enable + $EN_DIS +**/ + UINT8 GnaEnable; + +/** Offset 0x04F0 - TypeC port GPIO setting + GPIO Ping number for Type C Aux Oritation setting, use the GpioPad that is defined + in GpioPinsXXXH.h and GpioPinsXXXLp.h as argument.(XXX is platform name, Ex: Adl + = AlderLake) +**/ + UINT32 IomTypeCPortPadCfg[8]; + +/** Offset 0x0510 - CPU USB3 Port Over Current Pin + Describe the specific over current pin number of USBC Port N. +**/ + UINT8 CpuUsb3OverCurrentPin[8]; + +/** Offset 0x0518 - Enable D3 Cold in TCSS + This policy will enable/disable D3 cold support in IOM + $EN_DIS +**/ + UINT8 D3ColdEnable; + +/** Offset 0x0519 - Enable/Disable PCIe tunneling for USB4 + Enable/Disable PCIe tunneling for USB4, default is enable + $EN_DIS +**/ + UINT8 ITbtPcieTunnelingForUsb4; + +/** Offset 0x051A - Enable/Disable SkipFspGop + Enable: Skip FSP provided GOP driver, Disable(Default): Use FSP provided GOP driver + $EN_DIS +**/ + UINT8 SkipFspGop; + +/** Offset 0x051B - TC State in TCSS + This TC C-State Limit in IOM +**/ + UINT8 TcCstateLimit; + +/** Offset 0x051C - Intel Graphics VBT (Video BIOS Table) Size + Size of Internal Graphics VBT Image +**/ + UINT32 VbtSize; + +/** Offset 0x0520 - Platform LID Status for LFP Displays. + LFP Display Lid Status (LID_STATUS enum): 0 (Default): LidClosed, 1: LidOpen. + 0: LidClosed, 1: LidOpen +**/ + UINT8 LidStatus; + +/** Offset 0x0521 - Set Iom stay in TC cold seconds in TCSS + Set Iom stay in TC cold seconds in IOM +**/ + UINT8 IomStayInTCColdSeconds; + +/** Offset 0x0522 - Set Iom before entering TC cold seconds in TCSS + Set Iom before entering TC cold seconds in IOM +**/ + UINT8 IomBeforeEnteringTCColdSeconds; + +/** Offset 0x0523 - SaPostMemRsvd + Reserved for PCH Post-Mem + $EN_DIS +**/ + UINT8 SaPostMemRsvd[5]; + +/** Offset 0x0528 - PCH xHCI enable HS Interrupt IN Alarm + PCH xHCI enable HS Interrupt IN Alarm. 0: disabled (default), 1: enabled + $EN_DIS +**/ + UINT8 PchXhciHsiiEnable; + +/** Offset 0x0529 - Enable VMD controller + Enable/disable to VMD controller.0: Disable; 1: Enable(Default) + $EN_DIS +**/ + UINT8 VmdEnable; + +/** Offset 0x052A - Map port under VMD + Map/UnMap port under VMD + $EN_DIS +**/ + UINT8 VmdPort[31]; + +/** Offset 0x0549 - VMD Port Device + VMD Root port device number. +**/ + UINT8 VmdPortDev[31]; + +/** Offset 0x0568 - VMD Port Func + VMD Root port function number. +**/ + UINT8 VmdPortFunc[31]; + +/** Offset 0x0587 - VMD Config Bar size + Set The VMD Config Bar Size. +**/ + UINT8 VmdCfgBarSize; + +/** Offset 0x0588 - VMD Config Bar Attributes + 0: VMD_32BIT_NONPREFETCH, 1: VMD_64BIT_NONPREFETCH(Default), 2: VMD_64BIT_PREFETCH + 0: VMD_32BIT_NONPREFETCH, 1: VMD_64BIT_NONPREFETCH, 2: VMD_64BIT_PREFETCH +**/ + UINT8 VmdCfgBarAttr; + +/** Offset 0x0589 - VMD Mem Bar1 size + Set The VMD Mem Bar1 Size. +**/ + UINT8 VmdMemBarSize1; + +/** Offset 0x058A - VMD Mem Bar1 Attributes + 0: VMD_32BIT_NONPREFETCH(Default), 1: VMD_64BIT_NONPREFETCH, 2: VMD_64BIT_PREFETCH + 0: VMD_32BIT_NONPREFETCH, 1: VMD_64BIT_NONPREFETCH, 2: VMD_64BIT_PREFETCH +**/ + UINT8 VmdMemBar1Attr; + +/** Offset 0x058B - VMD Mem Bar2 size + Set The VMD Mem Bar2 Size. +**/ + UINT8 VmdMemBarSize2; + +/** Offset 0x058C - VMD Mem Bar2 Attributes + 0: VMD_32BIT_NONPREFETCH, 1: VMD_64BIT_NONPREFETCH(Default), 2: VMD_64BIT_PREFETCH + 0: VMD_32BIT_NONPREFETCH, 1: VMD_64BIT_NONPREFETCH, 2: VMD_64BIT_PREFETCH +**/ + UINT8 VmdMemBar2Attr; + +/** Offset 0x058D +**/ + UINT8 UnusedUpdSpace15[3]; + +/** Offset 0x0590 - VMD Variable + VMD Variable Pointer. +**/ + UINT32 VmdVariablePtr; + +/** Offset 0x0594 - Temporary CfgBar address for VMD + VMD Variable Pointer. +**/ + UINT32 VmdCfgBarBase; + +/** Offset 0x0598 - Temporary MemBar1 address for VMD + VMD Variable Pointer. +**/ + UINT32 VmdMemBar1Base; + +/** Offset 0x059C - Temporary MemBar2 address for VMD + VMD Variable Pointer. +**/ + UINT32 VmdMemBar2Base; + +/** Offset 0x05A0 - TCSS CPU USB PDO Programming + Enable/disable PDO programming for TCSS CPU USB in PEI phase. Disabling will allow + for programming during later phase. 1: enable, 0: disable + $EN_DIS +**/ + UINT8 TcssCpuUsbPdoProgramming; + +/** Offset 0x05A1 - Enable/Disable PMC-PD Solution + This policy will enable/disable PMC-PD Solution vs EC-TCPC Solution + $EN_DIS +**/ + UINT8 PmcPdEnable; + +/** Offset 0x05A2 - TCSS Aux Orientation Override Enable + Bits 0, 2, ... 10 control override enables, bits 1, 3, ... 11 control overrides +**/ + UINT16 TcssAuxOri; + +/** Offset 0x05A4 - TCSS HSL Orientation Override Enable + Bits 0, 2, ... 10 control override enables, bits 1, 3, ... 11 control overrides +**/ + UINT16 TcssHslOri; + +/** Offset 0x05A6 - USB override in IOM + This policy will enable/disable USB Connect override in IOM + $EN_DIS +**/ + UINT8 UsbOverride; + +/** Offset 0x05A7 - ITBT Root Port Enable + ITBT Root Port Enable, 0:Disable, 1:Enable + 0:Disable, 1:Enable +**/ + UINT8 ITbtPcieRootPortEn[4]; + +/** Offset 0x05AB - TCSS USB Port Enable + Bits 0, 1, ... max Type C port control enables +**/ + UINT8 UsbTcPortEn; + +/** Offset 0x05AC - ITBTForcePowerOn Timeout value + ITBTForcePowerOn value. Specified increment values in miliseconds. Range is 0-1000. + 100 = 100 ms. +**/ + UINT16 ITbtForcePowerOnTimeoutInMs; + +/** Offset 0x05AE - ITbtConnectTopology Timeout value + ITbtConnectTopologyTimeout value. Specified increment values in miliseconds. Range + is 0-10000. 100 = 100 ms. +**/ + UINT16 ITbtConnectTopologyTimeoutInMs; + +/** Offset 0x05B0 - VCCST request for IOM + This policy will enable/disable VCCST and also decides if message would be replayed in S4/S5 + $EN_DIS +**/ + UINT8 VccSt; + +/** Offset 0x05B1 +**/ + UINT8 UnusedUpdSpace16[1]; + +/** Offset 0x05B2 - ITBT DMA LTR + TCSS DMA1, DMA2 LTR value +**/ + UINT16 ITbtDmaLtr[2]; + +/** Offset 0x05B6 - Enable/Disable CrashLog + Enable(Default): Enable CPU CrashLog, Disable: Disable CPU CrashLog + $EN_DIS +**/ + UINT8 CpuCrashLogEnable; + +/** Offset 0x05B7 - Enable/Disable PTM + This policy will enable/disable Precision Time Measurement for TCSS PCIe Root Ports + $EN_DIS +**/ + UINT8 PtmEnabled[4]; + +/** Offset 0x05BB - PCIE RP Ltr Enable + Latency Tolerance Reporting Mechanism. +**/ + UINT8 SaPcieItbtRpLtrEnable[4]; + +/** Offset 0x05BF - PCIE RP Snoop Latency Override Mode + Latency Tolerance Reporting, Snoop Latency Override Mode. +**/ + UINT8 SaPcieItbtRpSnoopLatencyOverrideMode[4]; + +/** Offset 0x05C3 - PCIE RP Snoop Latency Override Multiplier + Latency Tolerance Reporting, Snoop Latency Override Multiplier. +**/ + UINT8 SaPcieItbtRpSnoopLatencyOverrideMultiplier[4]; + +/** Offset 0x05C7 +**/ + UINT8 UnusedUpdSpace17[1]; + +/** Offset 0x05C8 - PCIE RP Snoop Latency Override Value + Latency Tolerance Reporting, Snoop Latency Override Value. +**/ + UINT16 SaPcieItbtRpSnoopLatencyOverrideValue[4]; + +/** Offset 0x05D0 - PCIE RP Non Snoop Latency Override Mode + Latency Tolerance Reporting, Non-Snoop Latency Override Mode. +**/ + UINT8 SaPcieItbtRpNonSnoopLatencyOverrideMode[4]; + +/** Offset 0x05D4 - PCIE RP Non Snoop Latency Override Multiplier + Latency Tolerance Reporting, Non-Snoop Latency Override Multiplier. +**/ + UINT8 SaPcieItbtRpNonSnoopLatencyOverrideMultiplier[4]; + +/** Offset 0x05D8 - PCIE RP Non Snoop Latency Override Value + Latency Tolerance Reporting, Non-Snoop Latency Override Value. +**/ + UINT16 SaPcieItbtRpNonSnoopLatencyOverrideValue[4]; + +/** Offset 0x05E0 - Force LTR Override + Force LTR Override. +**/ + UINT8 SaPcieItbtRpForceLtrOverride[4]; + +/** Offset 0x05E4 - PCIE RP Ltr Config Lock + 0: Disable; 1: Enable. +**/ + UINT8 SaPcieItbtRpLtrConfigLock[4]; + +/** Offset 0x05E8 - Advanced Encryption Standard (AES) feature + Enable or Disable Advanced Encryption Standard (AES) feature;
0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 AesEnable; + +/** Offset 0x05E9 - Power State 3 enable/disable + PCODE MMIO Mailbox: Power State 3 enable/disable; 0: Disable; 1: Enable. + For all VR Indexes +**/ + UINT8 Psi3Enable[5]; + +/** Offset 0x05EE - Power State 4 enable/disable + PCODE MMIO Mailbox: Power State 4 enable/disable; 0: Disable; 1: Enable.For + all VR Indexes +**/ + UINT8 Psi4Enable[5]; + +/** Offset 0x05F3 +**/ + UINT8 UnusedUpdSpace18[1]; + +/** Offset 0x05F4 - Imon slope correction + PCODE MMIO Mailbox: Imon slope correction. Specified in 1/100 increment values. + Range is 0-200. 125 = 1.25. 0: Auto.For all VR Indexes +**/ + UINT16 ImonSlope[5]; + +/** Offset 0x05FE - Imon offset correction + PCODE MMIO Mailbox: Imon offset correction. Value is a 2's complement signed integer. + Units 1/1000, Range 0-63999. For an offset = 12.580, use 12580. 0: Auto +**/ + UINT16 ImonOffset[5]; + +/** Offset 0x0608 - Enable/Disable BIOS configuration of VR + Enable/Disable BIOS configuration of VR; 0: Disable; 1: Enable.For all VR Indexes +**/ + UINT8 VrConfigEnable[5]; + +/** Offset 0x060D - Thermal Design Current enable/disable + PCODE MMIO Mailbox: Thermal Design Current enable/disable; 0: Disable; 1: + Enable.For all VR Indexes +**/ + UINT8 TdcEnable[5]; + +/** Offset 0x0612 +**/ + UINT8 UnusedUpdSpace19[2]; + +/** Offset 0x0614 - Thermal Design Current time window + PCODE MMIO Mailbox: Thermal Design Current time window. Defined in milli seconds. + Range 1ms to 448s +**/ + UINT32 TdcTimeWindow[5]; + +/** Offset 0x0628 - Thermal Design Current Lock + PCODE MMIO Mailbox: Thermal Design Current Lock; 0: Disable; 1: Enable.For + all VR Indexes +**/ + UINT8 TdcLock[5]; + +/** Offset 0x062D - Platform Psys slope correction + PCODE MMIO Mailbox: Platform Psys slope correction. 0 - Auto Specified in + 1/100 increment values. Range is 0-200. 125 = 1.25 +**/ + UINT8 PsysSlope; + +/** Offset 0x062E - Platform Psys offset correction + PCODE MMIO Mailbox: Platform Psys offset correction. 0 - Auto Units 1/1000, + Range 0-63999. For an offset of 25.348, enter 25348. +**/ + UINT16 PsysOffset; + +/** Offset 0x0630 - Acoustic Noise Mitigation feature + Enable or Disable Acoustic Noise Mitigation feature. 0: Disabled; 1: Enabled + $EN_DIS +**/ + UINT8 AcousticNoiseMitigation; + +/** Offset 0x0631 - Disable Fast Slew Rate for Deep Package C States for VR domains + Disable Fast Slew Rate for Deep Package C States based on Acoustic Noise Mitigation + feature enabled. 0: False; 1: True + $EN_DIS +**/ + UINT8 FastPkgCRampDisable[5]; + +/** Offset 0x0636 - Slew Rate configuration for Deep Package C States for VR domains + Slew Rate configuration for Deep Package C States for VR domains based on Acoustic + Noise Mitigation feature enabled. ADL supports VCCIA FAST/2/4/8/16, VCCGT FAST/2/4/8 + and VCCSA FAST/2 0: Fast/2; 1: Fast/4; 2: Fast/8; 3: Fast/16 + 0: Fast/2, 1: Fast/4, 2: Fast/8, 3: Fast/16 +**/ + UINT8 SlowSlewRate[5]; + +/** Offset 0x063B +**/ + UINT8 UnusedUpdSpace20[1]; + +/** Offset 0x063C - Thermal Design Current current limit + PCODE MMIO Mailbox: Thermal Design Current current limit. Specified in 1/8A units. + Range is 0-4095. 1000 = 125A. 0: Auto. For all VR Indexes +**/ + UINT16 TdcCurrentLimit[5]; + +/** Offset 0x0646 - AcLoadline + PCODE MMIO Mailbox: AcLoadline in 1/100 mOhms (ie. 1250 = 12.50 mOhm); Range is + 0-6249. Intel Recommended Defaults vary by domain and SKU. +**/ + UINT16 AcLoadline[5]; + +/** Offset 0x0650 - DcLoadline + PCODE MMIO Mailbox: DcLoadline in 1/100 mOhms (ie. 1250 = 12.50 mOhm); Range is + 0-6249.Intel Recommended Defaults vary by domain and SKU. +**/ + UINT16 DcLoadline[5]; + +/** Offset 0x065A - Power State 1 Threshold current + PCODE MMIO Mailbox: Power State 1 current cuttof in 1/4 Amp increments. Range is 0-128A. +**/ + UINT16 Psi1Threshold[5]; + +/** Offset 0x0664 - Power State 2 Threshold current + PCODE MMIO Mailbox: Power State 2 current cuttof in 1/4 Amp increments. Range is 0-128A. +**/ + UINT16 Psi2Threshold[5]; + +/** Offset 0x066E - Power State 3 Threshold current + PCODE MMIO Mailbox: Power State 3 current cuttof in 1/4 Amp increments. Range is 0-128A. +**/ + UINT16 Psi3Threshold[5]; + +/** Offset 0x0678 - Icc Max limit + PCODE MMIO Mailbox: VR Icc Max limit. 0-512A in 1/4 A units. 400 = 100A +**/ + UINT16 IccMax[5]; + +/** Offset 0x0682 - Enable or Disable TXT + Enable or Disable TXT; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 TxtEnable; + +/** Offset 0x0683 - Skip Multi-Processor Initialization + When this is skipped, boot loader must initialize processors before SilicionInit + API. 0: Initialize; 1: Skip + $EN_DIS +**/ + UINT8 SkipMpInit; + +/** Offset 0x0684 - FIVR RFI Frequency + PCODE MMIO Mailbox: Set the desired RFI frequency, in increments of 100KHz. 0: + Auto. Range varies based on XTAL clock: 0-1918 (Up to 191.8HMz) for 24MHz clock; + 0-1535 (Up to 153.5MHz) for 19MHz clock. +**/ + UINT16 FivrRfiFrequency; + +/** Offset 0x0686 - FIVR RFI Spread Spectrum + Set the Spread Spectrum Range. 1.5%; Range: 0.5%, 1%, 1.5%, 2%, 3%, 4%, 5%, + 6%. Each Range is translated to an encoded value for FIVR register. 0.5% = 0, 1% + = 3, 1.5% = 8, 2% = 18, 3% = 28, 4% = 34, 5% = 39, 6% = 44. +**/ + UINT8 FivrSpreadSpectrum; + +/** Offset 0x0687 +**/ + UINT8 UnusedUpdSpace21; + +/** Offset 0x0688 - CpuBistData + Pointer CPU BIST Data +**/ + UINT32 CpuBistData; + +/** Offset 0x068C - CpuMpPpi + Optional pointer to the boot loader's implementation of EFI_PEI_MP_SERVICES_PPI. + If not NULL, FSP will use the boot loader's implementation of multiprocessing. + See section 5.1.4 of the FSP Integration Guide for more details. +**/ + UINT32 CpuMpPpi; + +/** Offset 0x0690 - Pre Wake Randomization time + PCODE MMIO Mailbox: Acoustic Noise Mitigation Range.Defines the maximum pre-wake + randomization time in micro ticks.This can be programmed only if AcousticNoiseMitigation + is enabled. Range 0-255 0. +**/ + UINT8 PreWake; + +/** Offset 0x0691 - Ramp Up Randomization time + PCODE MMIO Mailbox: Acoustic Noise Mitigation Range.Defines the maximum Ramp Up + randomization time in micro ticks.This can be programmed only if AcousticNoiseMitigation + is enabled.Range 0-255 0. +**/ + UINT8 RampUp; + +/** Offset 0x0692 - Ramp Down Randomization time + PCODE MMIO Mailbox: Acoustic Noise Mitigation Range.Defines the maximum Ramp Down + randomization time in micro ticks.This can be programmed only if AcousticNoiseMitigation + is enabled.Range 0-255 0. +**/ + UINT8 RampDown; + +/** Offset 0x0693 +**/ + UINT8 UnusedUpdSpace22[1]; + +/** Offset 0x0694 - VR Voltage Limit + PCODE MMIO Mailbox: Voltage Limit. Range is 0 - 7999mV +**/ + UINT16 VrVoltageLimit[5]; + +/** Offset 0x069E - VccIn Aux Imon IccMax + PCODE MMIO Mailbox: VccIn Aux Imon IccMax. 0 - Auto Values are in 1/4 Amp + increments. Range is 0-512. +**/ + UINT16 VccInAuxImonIccImax; + +/** Offset 0x06A0 - Vsys Critical + PCODE MMIO Mailbox: Vsys Critical. 0: Disable; 1: Enable Range is 0-255. +**/ + UINT8 EnableVsysCritical; + +/** Offset 0x06A1 - Vsys Full Scale + Vsys Full Scale, Range is 0-255 +**/ + UINT8 VsysFullScale; + +/** Offset 0x06A2 - Vsys Critical Threshold + Vsys Critical Threshold, Range is 0-255 +**/ + UINT8 VsysCriticalThreshold; + +/** Offset 0x06A3 - Assertion Deglitch Mantissa + Assertion Deglitch Mantissa, Range is 0-255 +**/ + UINT8 VsysAssertionDeglitchMantissa; + +/** Offset 0x06A4 - Assertion Deglitch Exponent + Assertion Deglitch Exponent, Range is 0-255 +**/ + UINT8 VsysAssertionDeglitchExponent; + +/** Offset 0x06A5 - De assertion Deglitch Mantissa + De assertion Deglitch Mantissa, Range is 0-255 +**/ + UINT8 VsysDeassertionDeglitchMantissa; + +/** Offset 0x06A6 - De assertion Deglitch Exponent + De assertion Deglitch Exponent, Range is 0-255 +**/ + UINT8 VsysDeassertionDeglitchExponent; + +/** Offset 0x06A7 - VccIn Aux Imon slope correction + PCODE MMIO Mailbox: VccIn Aux Imon slope correction. 0 - Auto Specified in + 1/100 increment values. Range is 0-200. 125 = 1.25 +**/ + UINT8 VccInAuxImonSlope; + +/** Offset 0x06A8 - VccIn Aux Imon offset correction + PCODE MMIO Mailbox: VccIn Aux Imon offset correction. 0 - Auto Units 1/1000, + Range 0-63999. For an offset of 25.348, enter 25348. +**/ + UINT16 VccInAuxImonOffset; + +/** Offset 0x06AA - FIVR RFI Spread Spectrum Enable or disable + Enable or Disable FIVR RFI Spread Spectrum. 0: Disable ; 1: Enable +**/ + UINT8 FivrSpectrumEnable; + +/** Offset 0x06AB +**/ + UINT8 UnusedUpdSpace23[1]; + +/** Offset 0x06AC - VR Fast Vmode ICC Limit support + PCODE MMIO Mailbox: VR Fast Vmode ICC Limit support. 0-255A in 1/4 A units. 400 = 100A +**/ + UINT16 IccLimit[5]; + +/** Offset 0x06B6 +**/ + UINT8 CpuPostMemRsvd[2]; + +/** Offset 0x06B8 - PpinSupport to view Protected Processor Inventory Number + Enable or Disable or Auto (Based on End of Manufacturing flag. Disabled if this + flag is set) for PPIN Support + 0: Disable, 1: Enable, 2: Auto +**/ + UINT8 PpinSupport; + +/** Offset 0x06B9 - Enable or Disable Minimum Voltage Override + Enable or disable Minimum Voltage overrides ; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 EnableMinVoltageOverride; + +/** Offset 0x06BA - Min Voltage for Runtime + PCODE MMIO Mailbox: Minimum voltage for runtime. Valid if EnableMinVoltageOverride + = 1. Range 0 to 1999mV. 0: 0mV +**/ + UINT16 MinVoltageRuntime; + +/** Offset 0x06BC - Memory size per thread allocated for Processor Trace + Memory size per thread for Processor Trace. Processor Trace requires 2^N alignment + and size in bytes per thread, from 4KB to 128MB.\n + 0xff:none , 0:4k, 0x1:8k, 0x2:16k, 0x3:32k, 0x4:64k, 0x5:128k, 0x6:256k, + 0x7:512k, 0x8:1M, 0x9:2M, 0xa:4M. 0xb:8M, 0xc:16M, 0xd:32M, 0xe:64M, 0xf:128M +**/ + UINT8 ProcessorTraceMemSize; + +/** Offset 0x06BD +**/ + UINT8 UnusedUpdSpace24; + +/** Offset 0x06BE - Min Voltage for C8 + PCODE MMIO Mailbox: Minimum voltage for C8. Valid if EnableMinVoltageOverride = + 1. Range 0 to 1999mV. 0: 0mV +**/ + UINT16 MinVoltageC8; + +/** Offset 0x06C0 - Smbios Type4 Max Speed Override + Provide the option for platform to override the MaxSpeed field of Smbios Type 4. + If this value is not zero, it dominates the field. +**/ + UINT16 SmbiosType4MaxSpeedOverride; + +/** Offset 0x06C2 - Current root mean square + PCODE MMIO Mailbox: Current root mean square; 0: Disable; 1: Enable.For all + VR Indexes +**/ + UINT8 Irms[5]; + +/** Offset 0x06C7 - AvxDisable + Enable or Disable AVX Support. This only applicable when all small core is disabled. + 0: Enable, 1: Disable +**/ + UINT8 AvxDisable; + +/** Offset 0x06C8 - Avx3Disable + DEPRECATED + 0: Enable, 1: Disable +**/ + UINT8 Avx3Disable; + +/** Offset 0x06C9 - X2ApicSupport + Enable or Disable X2APIC Support + $EN_DIS +**/ + UINT8 X2ApicSupport; + +/** Offset 0x06CA - CPU VR Power Delivery Design + Used to communicate the power delivery design capability of the board. This value + is an enum of the available power delivery segments that are defined in the Platform + Design Guide. +**/ + UINT8 VrPowerDeliveryDesign; + +/** Offset 0x06CB - Enable/Disable VR FastVmode. The VR will initiate reactive protection if Fast Vmode is enabled. + Enable/Disable VR FastVmode; 0: Disable; 1: Enable.For all VR by domain + 0: Disable, 1: Enable +**/ + UINT8 EnableFastVmode[5]; + +/** Offset 0x06D0 - ReservedCpuPostMemProduction + Reserved for CPU Post-Mem Production + $EN_DIS +**/ + UINT8 ReservedCpuPostMemProduction[32]; + +/** Offset 0x06F0 - Enable Power Optimizer + Enable DMI Power Optimizer on PCH side. + $EN_DIS +**/ + UINT8 PchPwrOptEnable; + +/** Offset 0x06F1 - PCH Flash Protection Ranges Write Enble + Write or erase is blocked by hardware. +**/ + UINT8 PchWriteProtectionEnable[5]; + +/** Offset 0x06F6 - PCH Flash Protection Ranges Read Enble + Read is blocked by hardware. +**/ + UINT8 PchReadProtectionEnable[5]; + +/** Offset 0x06FB +**/ + UINT8 UnusedUpdSpace25[1]; + +/** Offset 0x06FC - PCH Protect Range Limit + Left shifted address by 12 bits with address bits 11:0 are assumed to be FFFh for + limit comparison. +**/ + UINT16 PchProtectedRangeLimit[5]; + +/** Offset 0x0706 - PCH Protect Range Base + Left shifted address by 12 bits with address bits 11:0 are assumed to be 0. +**/ + UINT16 PchProtectedRangeBase[5]; + +/** Offset 0x0710 - Enable Pme + Enable Azalia wake-on-ring. + $EN_DIS +**/ + UINT8 PchHdaPme; + +/** Offset 0x0711 - HD Audio Link Frequency + HDA Link Freq (PCH_HDAUDIO_LINK_FREQUENCY enum): 0: 6MHz, 1: 12MHz, 2: 24MHz. + 0: 6MHz, 1: 12MHz, 2: 24MHz +**/ + UINT8 PchHdaLinkFrequency; + +/** Offset 0x0712 - Enable PCH ISH SPI Cs0 pins assigned + Set if ISH SPI Cs0 pins are to be enabled by BIOS. 0: Disable; 1: Enable. +**/ + UINT8 PchIshSpiCs0Enable[1]; + +/** Offset 0x0713 - Enable PCH Io Apic Entry 24-119 + 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 PchIoApicEntry24_119; + +/** Offset 0x0714 - PCH Io Apic ID + This member determines IOAPIC ID. Default is 0x02. +**/ + UINT8 PchIoApicId; + +/** Offset 0x0715 - Enable PCH ISH SPI pins assigned + Set if ISH SPI native pins are to be enabled by BIOS. 0: Disable; 1: Enable. +**/ + UINT8 PchIshSpiEnable[1]; + +/** Offset 0x0716 - Enable PCH ISH UART pins assigned + Set if ISH UART native pins are to be enabled by BIOS. 0: Disable; 1: Enable. +**/ + UINT8 PchIshUartEnable[2]; + +/** Offset 0x0718 - Enable PCH ISH I2C pins assigned + Set if ISH I2C native pins are to be enabled by BIOS. 0: Disable; 1: Enable. +**/ + UINT8 PchIshI2cEnable[3]; + +/** Offset 0x071B - Enable PCH ISH GP pins assigned + Set if ISH GP native pins are to be enabled by BIOS. 0: Disable; 1: Enable. +**/ + UINT8 PchIshGpEnable[8]; + +/** Offset 0x0723 - PCH ISH PDT Unlock Msg + 0: False; 1: True. + $EN_DIS +**/ + UINT8 PchIshPdtUnlock; + +/** Offset 0x0724 - Enable PCH Lan LTR capabilty of PCH internal LAN + 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 PchLanLtrEnable; + +/** Offset 0x0725 - Enable LOCKDOWN BIOS LOCK + Enable the BIOS Lock feature and set EISS bit (D31:F5:RegDCh[5]) for the BIOS region + protection. + $EN_DIS +**/ + UINT8 PchLockDownBiosLock; + +/** Offset 0x0726 - PCH Compatibility Revision ID + This member describes whether or not the CRID feature of PCH should be enabled. + $EN_DIS +**/ + UINT8 PchCrid; + +/** Offset 0x0727 - RTC BIOS Interface Lock + Enable RTC BIOS interface lock. When set, prevents RTC TS (BUC.TS) from being changed. + $EN_DIS +**/ + UINT8 RtcBiosInterfaceLock; + +/** Offset 0x0728 - RTC Cmos Memory Lock + Enable RTC lower and upper 128 byte Lock bits to lock Bytes 38h-3Fh in the upper + and and lower 128-byte bank of RTC RAM. + $EN_DIS +**/ + UINT8 RtcMemoryLock; + +/** Offset 0x0729 - Enable PCIE RP HotPlug + Indicate whether the root port is hot plug available. +**/ + UINT8 PcieRpHotPlug[28]; + +/** Offset 0x0745 - Enable PCIE RP Pm Sci + Indicate whether the root port power manager SCI is enabled. +**/ + UINT8 PcieRpPmSci[28]; + +/** Offset 0x0761 - Enable PCIE RP Transmitter Half Swing + Indicate whether the Transmitter Half Swing is enabled. +**/ + UINT8 PcieRpTransmitterHalfSwing[28]; + +/** Offset 0x077D - Enable PCIE RP Clk Req Detect + Probe CLKREQ# signal before enabling CLKREQ# based power management. +**/ + UINT8 PcieRpClkReqDetect[28]; + +/** Offset 0x0799 - PCIE RP Advanced Error Report + Indicate whether the Advanced Error Reporting is enabled. +**/ + UINT8 PcieRpAdvancedErrorReporting[28]; + +/** Offset 0x07B5 - PCIE RP Unsupported Request Report + Indicate whether the Unsupported Request Report is enabled. +**/ + UINT8 PcieRpUnsupportedRequestReport[28]; + +/** Offset 0x07D1 - PCIE RP Fatal Error Report + Indicate whether the Fatal Error Report is enabled. +**/ + UINT8 PcieRpFatalErrorReport[28]; + +/** Offset 0x07ED - PCIE RP No Fatal Error Report + Indicate whether the No Fatal Error Report is enabled. +**/ + UINT8 PcieRpNoFatalErrorReport[28]; + +/** Offset 0x0809 - PCIE RP Correctable Error Report + Indicate whether the Correctable Error Report is enabled. +**/ + UINT8 PcieRpCorrectableErrorReport[28]; + +/** Offset 0x0825 - PCIE RP System Error On Fatal Error + Indicate whether the System Error on Fatal Error is enabled. +**/ + UINT8 PcieRpSystemErrorOnFatalError[28]; + +/** Offset 0x0841 - PCIE RP System Error On Non Fatal Error + Indicate whether the System Error on Non Fatal Error is enabled. +**/ + UINT8 PcieRpSystemErrorOnNonFatalError[28]; + +/** Offset 0x085D - PCIE RP System Error On Correctable Error + Indicate whether the System Error on Correctable Error is enabled. +**/ + UINT8 PcieRpSystemErrorOnCorrectableError[28]; + +/** Offset 0x0879 - PCIE RP Max Payload + Max Payload Size supported, Default 128B, see enum PCH_PCIE_MAX_PAYLOAD. +**/ + UINT8 PcieRpMaxPayload[28]; + +/** Offset 0x0895 - Touch Host Controller Port 0 Assignment + Assign THC Port 0 + 0x0:ThcAssignmentNone, 0x1:ThcAssignmentThc0 +**/ + UINT8 ThcPort0Assignment; + +/** Offset 0x0896 +**/ + UINT8 UnusedUpdSpace26[2]; + +/** Offset 0x0898 - Touch Host Controller Port 0 Interrupt Pin Mux + Set THC Port 0 Pin Muxing Value if signal can be enabled on multiple pads. Refer + to GPIO_*_MUXING_THC_SPIx_INTB_* for possible values. +**/ + UINT32 ThcPort0InterruptPinMuxing; + +/** Offset 0x089C - Touch Host Controller Port 0 Wake On Touch + Based on this setting vGPIO for given THC will be in native mode, and additional + _CRS for wake will be exposed in ACPI + $EN_DIS +**/ + UINT8 ThcPort0WakeOnTouch; + +/** Offset 0x089D - Touch Host Controller Port 1 Assignment + Assign THC Port 1 + 0x0:ThcAssignmentNone, 0x1:ThcPort1AssignmentThc0, 0x2:ThcAssignmentThc1 +**/ + UINT8 ThcPort1Assignment; + +/** Offset 0x089E +**/ + UINT8 UnusedUpdSpace27[2]; + +/** Offset 0x08A0 - Touch Host Controller Port 1 Interrupt Pin Mux + Set THC Port 1 Pin Muxing Value if signal can be enabled on multiple pads. Refer + to GPIO_*_MUXING_THC_SPIx_INTB_* for possible values. +**/ + UINT32 ThcPort1InterruptPinMuxing; + +/** Offset 0x08A4 - Touch Host Controller Port 1 Wake On Touch + Based on this setting vGPIO for given THC will be in native mode, and additional + _CRS for wake will be exposed in ACPI + $EN_DIS +**/ + UINT8 ThcPort1WakeOnTouch; + +/** Offset 0x08A5 - PCIE RP Pcie Speed + Determines each PCIE Port speed capability. 0: Auto; 1: Gen1; 2: Gen2; 3: Gen3; + 4: Gen4 (see: PCIE_SPEED). +**/ + UINT8 PcieRpPcieSpeed[28]; + +/** Offset 0x08C1 - PCIE RP Physical Slot Number + Indicates the slot number for the root port. Default is the value as root port index. +**/ + UINT8 PcieRpPhysicalSlotNumber[28]; + +/** Offset 0x08DD - PCIE RP Completion Timeout + The root port completion timeout(see: PCIE_COMPLETION_TIMEOUT). Default is PchPcieCompletionTO_Default. +**/ + UINT8 PcieRpCompletionTimeout[28]; + +/** Offset 0x08F9 - PCIE RP Aspm + The ASPM configuration of the root port (see: PCH_PCIE_ASPM_CONTROL). Default is + PchPcieAspmAutoConfig. +**/ + UINT8 PcieRpAspm[28]; + +/** Offset 0x0915 - PCIE RP L1 Substates + The L1 Substates configuration of the root port (see: PCH_PCIE_L1SUBSTATES_CONTROL). + Default is PchPcieL1SubstatesL1_1_2. +**/ + UINT8 PcieRpL1Substates[28]; + +/** Offset 0x0931 - PCIE RP L1 Low Substate + The L1 Low Substate configuration of the root port. 0: Disable; 1: Enable. +**/ + UINT8 PcieRpL1Low[28]; + +/** Offset 0x094D - PCIE RP Ltr Enable + Latency Tolerance Reporting Mechanism. +**/ + UINT8 PcieRpLtrEnable[28]; + +/** Offset 0x0969 - PCIE RP Ltr Config Lock + 0: Disable; 1: Enable. +**/ + UINT8 PcieRpLtrConfigLock[28]; + +/** Offset 0x0985 - PCIe override default settings for EQ + Choose PCIe EQ method + $EN_DIS +**/ + UINT8 PcieEqOverrideDefault; + +/** Offset 0x0986 - PCIe choose EQ method + Choose PCIe EQ method + 0: HardwareEq, 1: FixedEq +**/ + UINT8 PcieEqMethod; + +/** Offset 0x0987 - PCIe choose EQ mode + Choose PCIe EQ mode + 0: PresetEq, 1: CoefficientEq +**/ + UINT8 PcieEqMode; + +/** Offset 0x0988 - PCIe EQ local transmitter override + Enable/Disable local transmitter override + $EN_DIS +**/ + UINT8 PcieEqLocalTransmitterOverrideEnable; + +/** Offset 0x0989 - PCIe number of valid list entries + Select number of presets or coefficients depending on the mode +**/ + UINT8 PcieEqPh3NumberOfPresetsOrCoefficients; + +/** Offset 0x098A - PCIe pre-cursor coefficient list + Provide a list of pre-cursor coefficients to be used during phase 3 EQ +**/ + UINT8 PcieEqPh3PreCursorList[10]; + +/** Offset 0x0994 - PCIe post-cursor coefficient list + Provide a list of post-cursor coefficients to be used during phase 3 EQ +**/ + UINT8 PcieEqPh3PostCursorList[10]; + +/** Offset 0x099E - PCIe preset list + Provide a list of presets to be used during phase 3 EQ +**/ + UINT8 PcieEqPh3PresetList[11]; + +/** Offset 0x09A9 +**/ + UINT8 UnusedUpdSpace28[3]; + +/** Offset 0x09AC - PCIe EQ phase 1 downstream transmitter port preset + Allows to select the downstream port preset value that will be used during phase + 1 of equalization +**/ + UINT32 PcieEqPh1DownstreamPortTransmitterPreset; + +/** Offset 0x09B0 - PCIe EQ phase 1 upstream tranmitter port preset + Allows to select the upstream port preset value that will be used during phase 1 + of equalization +**/ + UINT32 PcieEqPh1UpstreamPortTransmitterPreset; + +/** Offset 0x09B4 - PCIe EQ phase 2 local transmitter override preset + Allows to select the value of the preset used during phase 2 local transmitter override +**/ + UINT8 PcieEqPh2LocalTransmitterOverridePreset; + +/** Offset 0x09B5 - PCIE Enable Peer Memory Write + This member describes whether Peer Memory Writes are enabled on the platform. + $EN_DIS +**/ + UINT8 PcieEnablePeerMemoryWrite[28]; + +/** Offset 0x09D1 - PCIE Compliance Test Mode + Compliance Test Mode shall be enabled when using Compliance Load Board. + $EN_DIS +**/ + UINT8 PcieComplianceTestMode; + +/** Offset 0x09D2 - PCIE Rp Function Swap + DEPRECATED. Allows BIOS to use root port function number swapping when root port + of function 0 is disabled. + $EN_DIS +**/ + UINT8 PcieRpFunctionSwap; + +/** Offset 0x09D3 - Enable/Disable PEG GEN3 Static EQ Phase1 programming + Program Gen3 EQ Phase1 Static Presets. Disabled(0x0): Disable EQ Phase1 Static Presets + Programming, Enabled(0x1)(Default): Enable EQ Phase1 Static Presets Programming + $EN_DIS +**/ + UINT8 CpuPcieGen3ProgramStaticEq; + +/** Offset 0x09D4 - Enable/Disable GEN4 Static EQ Phase1 programming + Program Gen4 EQ Phase1 Static Presets. Disabled(0x0): Disable EQ Phase1 Static Presets + Programming, Enabled(0x1)(Default): Enable EQ Phase1 Static Presets Programming + $EN_DIS +**/ + UINT8 CpuPcieGen4ProgramStaticEq; + +/** Offset 0x09D5 - PCH Pm PME_B0_S5_DIS + When cleared (default), wake events from PME_B0_STS are allowed in S5 if PME_B0_EN = 1. + $EN_DIS +**/ + UINT8 PchPmPmeB0S5Dis; + +/** Offset 0x09D6 - PCIE IMR + Enables Isolated Memory Region for PCIe. + $EN_DIS +**/ + UINT8 PcieRpImrEnabled; + +/** Offset 0x09D7 - PCIE IMR port number + Selects PCIE root port number for IMR feature. +**/ + UINT8 PcieRpImrSelection; + +/** Offset 0x09D8 - PCH Pm Wol Enable Override + Corresponds to the WOL Enable Override bit in the General PM Configuration B (GEN_PMCON_B) register. + $EN_DIS +**/ + UINT8 PchPmWolEnableOverride; + +/** Offset 0x09D9 - PCH Pm Pcie Wake From DeepSx + Determine if enable PCIe to wake from deep Sx. + $EN_DIS +**/ + UINT8 PchPmPcieWakeFromDeepSx; + +/** Offset 0x09DA - PCH Pm WoW lan Enable + Determine if WLAN wake from Sx, corresponds to the HOST_WLAN_PP_EN bit in the PWRM_CFG3 register. + $EN_DIS +**/ + UINT8 PchPmWoWlanEnable; + +/** Offset 0x09DB - PCH Pm WoW lan DeepSx Enable + Determine if WLAN wake from DeepSx, corresponds to the DSX_WLAN_PP_EN bit in the + PWRM_CFG3 register. + $EN_DIS +**/ + UINT8 PchPmWoWlanDeepSxEnable; + +/** Offset 0x09DC - PCH Pm Lan Wake From DeepSx + Determine if enable LAN to wake from deep Sx. + $EN_DIS +**/ + UINT8 PchPmLanWakeFromDeepSx; + +/** Offset 0x09DD - PCH Pm Deep Sx Pol + Deep Sx Policy. + $EN_DIS +**/ + UINT8 PchPmDeepSxPol; + +/** Offset 0x09DE - PCH Pm Slp S3 Min Assert + SLP_S3 Minimum Assertion Width Policy. Default is PchSlpS350ms. +**/ + UINT8 PchPmSlpS3MinAssert; + +/** Offset 0x09DF - PCH Pm Slp S4 Min Assert + SLP_S4 Minimum Assertion Width Policy. Default is PchSlpS44s. +**/ + UINT8 PchPmSlpS4MinAssert; + +/** Offset 0x09E0 - PCH Pm Slp Sus Min Assert + SLP_SUS Minimum Assertion Width Policy. Default is PchSlpSus4s. +**/ + UINT8 PchPmSlpSusMinAssert; + +/** Offset 0x09E1 - PCH Pm Slp A Min Assert + SLP_A Minimum Assertion Width Policy. Default is PchSlpA2s. +**/ + UINT8 PchPmSlpAMinAssert; + +/** Offset 0x09E2 - USB Overcurrent Override for VISA + This option overrides USB Over Current enablement state that USB OC will be disabled + after enabling this option. Enable when VISA pin is muxed with USB OC + $EN_DIS +**/ + UINT8 PchEnableDbcObs; + +/** Offset 0x09E3 - PCH Pm Slp Strch Sus Up + Enable SLP_X Stretching After SUS Well Power Up. + $EN_DIS +**/ + UINT8 PchPmSlpStrchSusUp; + +/** Offset 0x09E4 - PCH Pm Slp Lan Low Dc + Enable/Disable SLP_LAN# Low on DC Power. + $EN_DIS +**/ + UINT8 PchPmSlpLanLowDc; + +/** Offset 0x09E5 - PCH Pm Pwr Btn Override Period + PCH power button override period. 000b-4s, 001b-6s, 010b-8s, 011b-10s, 100b-12s, 101b-14s. +**/ + UINT8 PchPmPwrBtnOverridePeriod; + +/** Offset 0x09E6 - PCH Pm Disable Dsx Ac Present Pulldown + When Disable, PCH will internal pull down AC_PRESENT in deep SX and during G3 exit. + $EN_DIS +**/ + UINT8 PchPmDisableDsxAcPresentPulldown; + +/** Offset 0x09E7 - PCH Pm Disable Native Power Button + Power button native mode disable. + $EN_DIS +**/ + UINT8 PchPmDisableNativePowerButton; + +/** Offset 0x09E8 - PCH Pm ME_WAKE_STS + Clear the ME_WAKE_STS bit in the Power and Reset Status (PRSTS) register. + $EN_DIS +**/ + UINT8 PchPmMeWakeSts; + +/** Offset 0x09E9 - PCH Pm WOL_OVR_WK_STS + Clear the WOL_OVR_WK_STS bit in the Power and Reset Status (PRSTS) register. + $EN_DIS +**/ + UINT8 PchPmWolOvrWkSts; + +/** Offset 0x09EA - PCH Pm Reset Power Cycle Duration + Could be customized in the unit of second. Please refer to EDS for all support settings. + 0 is default, 1 is 1 second, 2 is 2 seconds, ... +**/ + UINT8 PchPmPwrCycDur; + +/** Offset 0x09EB - PCH Pm Pcie Pll Ssc + Specifies the Pcie Pll Spread Spectrum Percentage. The default is 0xFF: AUTO - No + BIOS override. +**/ + UINT8 PchPmPciePllSsc; + +/** Offset 0x09EC - PCH Legacy IO Low Latency Enable + Set to enable low latency of legacy IO. 0: Disable, 1: Enable + $EN_DIS +**/ + UINT8 PchLegacyIoLowLatency; + +/** Offset 0x09ED - PCH Sata Pwr Opt Enable + SATA Power Optimizer on PCH side. + $EN_DIS +**/ + UINT8 SataPwrOptEnable; + +/** Offset 0x09EE - PCH Sata eSATA Speed Limit + When enabled, BIOS will configure the PxSCTL.SPD to 2 to limit the eSATA port speed. + $EN_DIS +**/ + UINT8 EsataSpeedLimit; + +/** Offset 0x09EF - PCH Sata Speed Limit + Indicates the maximum speed the SATA controller can support 0h: PchSataSpeedDefault. +**/ + UINT8 SataSpeedLimit; + +/** Offset 0x09F0 - Enable SATA Port HotPlug + Enable SATA Port HotPlug. +**/ + UINT8 SataPortsHotPlug[8]; + +/** Offset 0x09F8 - Enable SATA Port Interlock Sw + Enable SATA Port Interlock Sw. +**/ + UINT8 SataPortsInterlockSw[8]; + +/** Offset 0x0A00 - Enable SATA Port External + Enable SATA Port External. +**/ + UINT8 SataPortsExternal[8]; + +/** Offset 0x0A08 - Enable SATA Port SpinUp + Enable the COMRESET initialization Sequence to the device. +**/ + UINT8 SataPortsSpinUp[8]; + +/** Offset 0x0A10 - Enable SATA Port Solid State Drive + 0: HDD; 1: SSD. +**/ + UINT8 SataPortsSolidStateDrive[8]; + +/** Offset 0x0A18 - Enable SATA Port Enable Dito Config + Enable DEVSLP Idle Timeout settings (DmVal, DitoVal). +**/ + UINT8 SataPortsEnableDitoConfig[8]; + +/** Offset 0x0A20 - Enable SATA Port DmVal + DITO multiplier. Default is 15. +**/ + UINT8 SataPortsDmVal[8]; + +/** Offset 0x0A28 - Enable SATA Port DmVal + DEVSLP Idle Timeout (DITO), Default is 625. +**/ + UINT16 SataPortsDitoVal[8]; + +/** Offset 0x0A38 - Enable SATA Port ZpOdd + Support zero power ODD. +**/ + UINT8 SataPortsZpOdd[8]; + +/** Offset 0x0A40 - PCH Sata Rst Raid Alternate Id + Enable RAID Alternate ID. + $EN_DIS +**/ + UINT8 SataRstRaidDeviceId; + +/** Offset 0x0A41 - PCH Sata Rst Pcie Storage Remap enable + Enable Intel RST for PCIe Storage remapping. +**/ + UINT8 SataRstPcieEnable[3]; + +/** Offset 0x0A44 - PCH Sata Rst Pcie Storage Port + Intel RST for PCIe Storage remapping - PCIe Port Selection (1-based, 0 = autodetect). +**/ + UINT8 SataRstPcieStoragePort[3]; + +/** Offset 0x0A47 - PCH Sata Rst Pcie Device Reset Delay + PCIe Storage Device Reset Delay in milliseconds. Default value is 100ms +**/ + UINT8 SataRstPcieDeviceResetDelay[3]; + +/** Offset 0x0A4A - UFS enable/disable + PCIe Storage Device Reset Delay in milliseconds. Default value is 100ms + $EN_DIS +**/ + UINT8 UfsEnable[2]; + +/** Offset 0x0A4C - IEH Mode + Integrated Error Handler Mode, 0: Bypass, 1: Enable + 0: Bypass, 1:Enable +**/ + UINT8 IehMode; + +/** Offset 0x0A4D +**/ + UINT8 UnusedUpdSpace29; + +/** Offset 0x0A4E - Thermal Throttling Custimized T0Level Value + Custimized T0Level value. +**/ + UINT16 PchT0Level; + +/** Offset 0x0A50 - Thermal Throttling Custimized T1Level Value + Custimized T1Level value. +**/ + UINT16 PchT1Level; + +/** Offset 0x0A52 - Thermal Throttling Custimized T2Level Value + Custimized T2Level value. +**/ + UINT16 PchT2Level; + +/** Offset 0x0A54 - Enable The Thermal Throttle + Enable the thermal throttle function. + $EN_DIS +**/ + UINT8 PchTTEnable; + +/** Offset 0x0A55 - PMSync State 13 + When set to 1 and the programmed GPIO pin is a 1, then PMSync state 13 will force + at least T2 state. + $EN_DIS +**/ + UINT8 PchTTState13Enable; + +/** Offset 0x0A56 - Thermal Throttle Lock + Thermal Throttle Lock. + $EN_DIS +**/ + UINT8 PchTTLock; + +/** Offset 0x0A57 - Thermal Throttling Suggested Setting + Thermal Throttling Suggested Setting. + $EN_DIS +**/ + UINT8 TTSuggestedSetting; + +/** Offset 0x0A58 - Enable PCH Cross Throttling + Enable/Disable PCH Cross Throttling + $EN_DIS +**/ + UINT8 TTCrossThrottling; + +/** Offset 0x0A59 - DMI Thermal Sensor Autonomous Width Enable + DMI Thermal Sensor Autonomous Width Enable. + $EN_DIS +**/ + UINT8 PchDmiTsawEn; + +/** Offset 0x0A5A - DMI Thermal Sensor Suggested Setting + DMT thermal sensor suggested representative values. + $EN_DIS +**/ + UINT8 DmiSuggestedSetting; + +/** Offset 0x0A5B - Thermal Sensor 0 Target Width + Thermal Sensor 0 Target Width. + 0:x1, 1:x2, 2:x4, 3:x8, 4:x16 +**/ + UINT8 DmiTS0TW; + +/** Offset 0x0A5C - Thermal Sensor 1 Target Width + Thermal Sensor 1 Target Width. + 0:x1, 1:x2, 2:x4, 3:x8, 4:x16 +**/ + UINT8 DmiTS1TW; + +/** Offset 0x0A5D - Thermal Sensor 2 Target Width + Thermal Sensor 2 Target Width. + 0:x1, 1:x2, 2:x4, 3:x8, 4:x16 +**/ + UINT8 DmiTS2TW; + +/** Offset 0x0A5E - Thermal Sensor 3 Target Width + Thermal Sensor 3 Target Width. + 0:x1, 1:x2, 2:x4, 3:x8, 4:x16 +**/ + UINT8 DmiTS3TW; + +/** Offset 0x0A5F - Port 0 T1 Multipler + Port 0 T1 Multipler. +**/ + UINT8 SataP0T1M; + +/** Offset 0x0A60 - Port 0 T2 Multipler + Port 0 T2 Multipler. +**/ + UINT8 SataP0T2M; + +/** Offset 0x0A61 - Port 0 T3 Multipler + Port 0 T3 Multipler. +**/ + UINT8 SataP0T3M; + +/** Offset 0x0A62 - Port 0 Tdispatch + Port 0 Tdispatch. +**/ + UINT8 SataP0TDisp; + +/** Offset 0x0A63 - Port 1 T1 Multipler + Port 1 T1 Multipler. +**/ + UINT8 SataP1T1M; + +/** Offset 0x0A64 - Port 1 T2 Multipler + Port 1 T2 Multipler. +**/ + UINT8 SataP1T2M; + +/** Offset 0x0A65 - Port 1 T3 Multipler + Port 1 T3 Multipler. +**/ + UINT8 SataP1T3M; + +/** Offset 0x0A66 - Port 1 Tdispatch + Port 1 Tdispatch. +**/ + UINT8 SataP1TDisp; + +/** Offset 0x0A67 - Port 0 Tinactive + Port 0 Tinactive. +**/ + UINT8 SataP0Tinact; + +/** Offset 0x0A68 - Port 0 Alternate Fast Init Tdispatch + Port 0 Alternate Fast Init Tdispatch. + $EN_DIS +**/ + UINT8 SataP0TDispFinit; + +/** Offset 0x0A69 - Port 1 Tinactive + Port 1 Tinactive. +**/ + UINT8 SataP1Tinact; + +/** Offset 0x0A6A - Port 1 Alternate Fast Init Tdispatch + Port 1 Alternate Fast Init Tdispatch. + $EN_DIS +**/ + UINT8 SataP1TDispFinit; + +/** Offset 0x0A6B - Sata Thermal Throttling Suggested Setting + Sata Thermal Throttling Suggested Setting. + $EN_DIS +**/ + UINT8 SataThermalSuggestedSetting; + +/** Offset 0x0A6C - Enable Memory Thermal Throttling + Enable Memory Thermal Throttling. + $EN_DIS +**/ + UINT8 PchMemoryThrottlingEnable; + +/** Offset 0x0A6D - Memory Thermal Throttling + Enable Memory Thermal Throttling. +**/ + UINT8 PchMemoryPmsyncEnable[2]; + +/** Offset 0x0A6F - Enable Memory Thermal Throttling + Enable Memory Thermal Throttling. +**/ + UINT8 PchMemoryC0TransmitEnable[2]; + +/** Offset 0x0A71 - Enable Memory Thermal Throttling + Enable Memory Thermal Throttling. +**/ + UINT8 PchMemoryPinSelection[2]; + +/** Offset 0x0A73 +**/ + UINT8 UnusedUpdSpace30; + +/** Offset 0x0A74 - Thermal Device Temperature + Decides the temperature. +**/ + UINT16 PchTemperatureHotLevel; + +/** Offset 0x0A76 - USB2 Port Over Current Pin + Describe the specific over current pin number of USB 2.0 Port N. +**/ + UINT8 Usb2OverCurrentPin[16]; + +/** Offset 0x0A86 - USB3 Port Over Current Pin + Describe the specific over current pin number of USB 3.0 Port N. +**/ + UINT8 Usb3OverCurrentPin[10]; + +/** Offset 0x0A90 - Enable xHCI LTR override + Enables override of recommended LTR values for xHCI + $EN_DIS +**/ + UINT8 PchUsbLtrOverrideEnable; + +/** Offset 0x0A91 - Touch Host Controller Mode + Switch between Intel THC protocol and Industry standard HID Over SPI protocol. 0x0:Thc, 0x1:Hid +**/ + UINT8 ThcMode[2]; + +/** Offset 0x0A93 +**/ + UINT8 UnusedUpdSpace31; + +/** Offset 0x0A94 - xHCI High Idle Time LTR override + Value used for overriding LTR recommendation for xHCI High Idle Time LTR setting +**/ + UINT32 PchUsbLtrHighIdleTimeOverride; + +/** Offset 0x0A98 - xHCI Medium Idle Time LTR override + Value used for overriding LTR recommendation for xHCI Medium Idle Time LTR setting +**/ + UINT32 PchUsbLtrMediumIdleTimeOverride; + +/** Offset 0x0A9C - xHCI Low Idle Time LTR override + Value used for overriding LTR recommendation for xHCI Low Idle Time LTR setting +**/ + UINT32 PchUsbLtrLowIdleTimeOverride; + +/** Offset 0x0AA0 - Enable 8254 Static Clock Gating + Set 8254CGE=1 is required for SLP_S0 support. However, set 8254CGE=1 in POST time + might fail to boot legacy OS using 8254 timer. Make sure it is disabled to support + legacy OS using 8254 timer. Also enable this while S0ix is enabled. + $EN_DIS +**/ + UINT8 Enable8254ClockGating; + +/** Offset 0x0AA1 - Enable 8254 Static Clock Gating On S3 + This is only applicable when Enable8254ClockGating is disabled. FSP will do the + 8254 CGE programming on S3 resume when Enable8254ClockGatingOnS3 is enabled. This + avoids the SMI requirement for the programming. + $EN_DIS +**/ + UINT8 Enable8254ClockGatingOnS3; + +/** Offset 0x0AA2 - Enable TCO timer. + When FALSE, it disables PCH ACPI timer, and stops TCO timer. NOTE: This will have + huge power impact when it's enabled. If TCO timer is disabled, uCode ACPI timer + emulation must be enabled, and WDAT table must not be exposed to the OS. + $EN_DIS +**/ + UINT8 EnableTcoTimer; + +/** Offset 0x0AA3 - Hybrid Storage Detection and Configuration Mode + Enables support for Hybrid storage devices. 0: Disabled; 1: Dynamic Configuration. + Default is 0: Disabled + 0: Disabled, 1: Dynamic Configuration +**/ + UINT8 HybridStorageMode; + +/** Offset 0x0AA4 - CPU Root Port used for Hybrid Storage + Specifies the CPU root port used for Hybrid storage. +**/ + UINT8 CpuRootportUsedForHybridStorage; + +/** Offset 0x0AA5 - PCH Root Port used for Hybrid Storage when two lanes are connected to CPU + Specifies PCH Root Port used for Hybrid Storage when two lanes are connected to CPU. +**/ + UINT8 PchRootportUsedForCpuAttach; + +/** Offset 0x0AA6 - PCH GPE event handler + Enabled _L6D ACPI handler. PME GPE is shared by multiple devices So BIOS must verify + the same in the ASL handler by reading offset for PMEENABLE and PMESTATUS bit + $EN_DIS +**/ + UINT8 PchAcpiL6dPmeHandling; + +/** Offset 0x0AA7 +**/ + UINT8 UnusedUpdSpace32[1]; + +/** Offset 0x0AA8 - BgpdtHash[4] + BgpdtHash values +**/ + UINT64 BgpdtHash[4]; + +/** Offset 0x0AC8 - BiosGuardAttr + BiosGuardAttr default values +**/ + UINT32 BiosGuardAttr; + +/** Offset 0x0ACC +**/ + UINT8 UnusedUpdSpace33[4]; + +/** Offset 0x0AD0 - BiosGuardModulePtr + BiosGuardModulePtr default values +**/ + UINT64 BiosGuardModulePtr; + +/** Offset 0x0AD8 - SendEcCmd + SendEcCmd function pointer. \n + @code typedef EFI_STATUS (EFIAPI *PLATFORM_SEND_EC_COMMAND) (IN EC_COMMAND_TYPE + EcCmdType, IN UINT8 EcCmd, IN UINT8 SendData, IN OUT UINT8 *ReceiveData); @endcode +**/ + UINT64 SendEcCmd; + +/** Offset 0x0AE0 - EcCmdProvisionEav + Ephemeral Authorization Value default values. Provisions an ephemeral shared secret to the EC +**/ + UINT8 EcCmdProvisionEav; + +/** Offset 0x0AE1 - EcCmdLock + EcCmdLock default values. Locks Ephemeral Authorization Value sent previously +**/ + UINT8 EcCmdLock; + +/** Offset 0x0AE2 - Skip Ssid Programming. + When set to TRUE, silicon code will not do any SSID programming and platform code + needs to handle that by itself properly. + $EN_DIS +**/ + UINT8 SiSkipSsidProgramming; + +/** Offset 0x0AE3 +**/ + UINT8 UnusedUpdSpace34; + +/** Offset 0x0AE4 - Change Default SVID + Change the default SVID used in FSP to programming internal devices. This is only + valid when SkipSsidProgramming is FALSE. +**/ + UINT16 SiCustomizedSvid; + +/** Offset 0x0AE6 - Change Default SSID + Change the default SSID used in FSP to programming internal devices. This is only + valid when SkipSsidProgramming is FALSE. +**/ + UINT16 SiCustomizedSsid; + +/** Offset 0x0AE8 - SVID SDID table Poniter. + The address of the table of SVID SDID to customize each SVID SDID entry. This is + only valid when SkipSsidProgramming is FALSE. +**/ + UINT32 SiSsidTablePtr; + +/** Offset 0x0AEC - Number of ssid table. + SiNumberOfSsidTableEntry should match the table entries created in SiSsidTablePtr. + This is only valid when SkipSsidProgramming is FALSE. +**/ + UINT16 SiNumberOfSsidTableEntry; + +/** Offset 0x0AEE - USB2 Port Reset Message Enable + 0: Disable USB2 Port Reset Message; 1: Enable USB2 Port Reset Message; This must + be enable for USB2 Port those are paired with CPU XHCI Port +**/ + UINT8 PortResetMessageEnable[16]; + +/** Offset 0x0AFE - SATA RST Interrupt Mode + Allowes to choose which interrupts will be implemented by SATA controller in RAID mode. + 0:Msix, 1:Msi, 2:Legacy +**/ + UINT8 SataRstInterrupt; + +/** Offset 0x0AFF - ME Unconfig on RTC clear + 0: Disable ME Unconfig On Rtc Clear. 1: Enable ME Unconfig On Rtc Clear. + 2: Cmos is clear, status unkonwn. 3: Reserved + 0: Disable ME Unconfig On Rtc Clear, 1: Enable ME Unconfig On Rtc Clear, 2: Cmos + is clear, 3: Reserved +**/ + UINT8 MeUnconfigOnRtcClear; + +/** Offset 0x0B00 - Enforce Enhanced Debug Mode + Determine if ME should enter Enhanced Debug Mode. 0: disable, 1: enable + $EN_DIS +**/ + UINT8 EnforceEDebugMode; + +/** Offset 0x0B01 - Enable PS_ON. + PS_ON is a new C10 state from the CPU on desktop SKUs that enables a lower power + target that will be required by the California Energy Commission (CEC). When FALSE, + PS_ON is to be disabled. + $EN_DIS +**/ + UINT8 PsOnEnable; + +/** Offset 0x0B02 - Pmc Cpu C10 Gate Pin Enable + Enable/Disable platform support for CPU_C10_GATE# pin to control gating of CPU VccIO + and VccSTG rails instead of SLP_S0# pin. + $EN_DIS +**/ + UINT8 PmcCpuC10GatePinEnable; + +/** Offset 0x0B03 - Pch Dmi Aspm Ctrl + ASPM configuration on the PCH side of the DMI/OPI Link. Default is PchPcieAspmL1 + 0:Disabled, 1:L0s, 2:L1, 3:L0sL1, 4:Auto +**/ + UINT8 PchDmiAspmCtrl; + +/** Offset 0x0B04 - PchDmiCwbEnable + Central Write Buffer feature configurable and enabled by default + $EN_DIS +**/ + UINT8 PchDmiCwbEnable; + +/** Offset 0x0B05 - OS IDLE Mode Enable + Enable/Disable OS Idle Mode + $EN_DIS +**/ + UINT8 PmcOsIdleEnable; + +/** Offset 0x0B06 - S0ix Auto-Demotion + Enable/Disable the Low Power Mode Auto-Demotion Host Control feature. + $EN_DIS +**/ + UINT8 PchS0ixAutoDemotion; + +/** Offset 0x0B07 - Latch Events C10 Exit + When this bit is set to 1, SLP_S0# entry events in SLP_S0_DEBUG_REGx registers are + captured on C10 exit (instead of C10 entry which is default) + $EN_DIS +**/ + UINT8 PchPmLatchEventsC10Exit; + +/** Offset 0x0B08 - PMC ADR enable + Enable/disable asynchronous DRAM refresh + $EN_DIS +**/ + UINT8 PmcAdrEn; + +/** Offset 0x0B09 - PMC ADR timer configuration enable + Enable/disable ADR timer configuration + $EN_DIS +**/ + UINT8 PmcAdrTimerEn; + +/** Offset 0x0B0A - PMC ADR phase 1 timer value + Enable/disable ADR timer configuration +**/ + UINT8 PmcAdrTimer1Val; + +/** Offset 0x0B0B - PMC ADR phase 1 timer multiplier value + Specify the multiplier value for phase 1 ADR timer +**/ + UINT8 PmcAdrMultiplier1Val; + +/** Offset 0x0B0C - PMC ADR host reset partition enable + Specify whether PMC should set ADR_RST_STS bit after receiving Reset_Warn_Ack DMI message + $EN_DIS +**/ + UINT8 PmcAdrHostPartitionReset; + +/** Offset 0x0B0D - PMC ADR source select override enable + Tells the FSP to update the source select with platform value + $EN_DIS +**/ + UINT8 PmcAdrSrcOverride; + +/** Offset 0x0B0E +**/ + UINT8 UnusedUpdSpace35[2]; + +/** Offset 0x0B10 - PMC ADR source selection + Specify which sources should cause ADR flow +**/ + UINT32 PmcAdrSrcSel; + +/** Offset 0x0B14 - PCIE Eq Ph3 Lane Param Cm + CPU_PCIE_EQ_LANE_PARAM. Coefficient C-1. +**/ + UINT8 CpuPcieEqPh3LaneParamCm[32]; + +/** Offset 0x0B34 - PCIE Eq Ph3 Lane Param Cp + CPU_PCIE_EQ_LANE_PARAM. Coefficient C+1. +**/ + UINT8 CpuPcieEqPh3LaneParamCp[32]; + +/** Offset 0x0B54 - Gen3 Root port preset values per lane + Used for programming Pcie Gen3 preset values per lane. Range: 0-9, 8 is default + for each lane +**/ + UINT8 CpuPcieGen3RootPortPreset[20]; + +/** Offset 0x0B68 - Pcie Gen4 Root port preset values per lane + Used for programming Pcie Gen4 preset values per lane. Range: 0-9, 8 is default + for each lane +**/ + UINT8 CpuPcieGen4RootPortPreset[20]; + +/** Offset 0x0B7C - Pcie Gen3 End port preset values per lane + Used for programming Pcie Gen3 preset values per lane. Range: 0-9, 7 is default + for each lane +**/ + UINT8 CpuPcieGen3EndPointPreset[20]; + +/** Offset 0x0B90 - Pcie Gen4 End port preset values per lane + Used for programming Pcie Gen4 preset values per lane. Range: 0-9, 7 is default + for each lane +**/ + UINT8 CpuPcieGen4EndPointPreset[20]; + +/** Offset 0x0BA4 - Pcie Gen3 End port Hint values per lane + Used for programming Pcie Gen3 Hint values per lane. Range: 0-6, 2 is default for each lane +**/ + UINT8 CpuPcieGen3EndPointHint[20]; + +/** Offset 0x0BB8 - Pcie Gen4 End port Hint values per lane + Used for programming Pcie Gen4 Hint values per lane. Range: 0-6, 2 is default for each lane +**/ + UINT8 CpuPcieGen4EndPointHint[20]; + +/** Offset 0x0BCC - CPU PCIe Fia Programming + Load Fia configuration if enable. 0: Disable; 1: Enable(Default). + $EN_DIS +**/ + UINT8 CpuPcieFiaProgramming; + +/** Offset 0x0BCD - CPU PCIe RootPort Clock Gating + Describes whether the PCI Express Clock Gating for each root port is enabled by + platform modules. 0: Disable; 1: Enable(Default). + $EN_DIS +**/ + UINT8 CpuPcieClockGating[4]; + +/** Offset 0x0BD1 - CPU PCIe RootPort Power Gating + Describes whether the PCI Express Power Gating for each root port is enabled by + platform modules. 0: Disable; 1: Enable(Default). + $EN_DIS +**/ + UINT8 CpuPciePowerGating[4]; + +/** Offset 0x0BD5 - PCIE Compliance Test Mode + Compliance Test Mode shall be enabled when using Compliance Load Board. + $EN_DIS +**/ + UINT8 CpuPcieComplianceTestMode; + +/** Offset 0x0BD6 - PCIE Enable Peer Memory Write + This member describes whether Peer Memory Writes are enabled on the platform. + $EN_DIS +**/ + UINT8 CpuPcieEnablePeerMemoryWrite; + +/** Offset 0x0BD7 - PCIE Rp Function Swap + Allows BIOS to use root port function number swapping when root port of function + 0 is disabled. + $EN_DIS +**/ + UINT8 CpuPcieRpFunctionSwap; + +/** Offset 0x0BD8 - PCI Express Slot Selection + Select the PCIe M2 or CEMx4 slot.0: CEMx4 slot; 1: M2 slot(Default). + $EN_DIS +**/ + UINT8 CpuPcieSlotSelection; + +/** Offset 0x0BD9 +**/ + UINT8 UnusedUpdSpace36[3]; + +/** Offset 0x0BDC - CPU PCIE device override table pointer + The PCIe device table is being used to override PCIe device ASPM settings. This + is a pointer points to a 32bit address. And it's only used in PostMem phase. Please + refer to CPU_PCIE_DEVICE_OVERRIDE structure for the table. Last entry VendorId + must be 0. +**/ + UINT32 CpuPcieDeviceOverrideTablePtr; + +/** Offset 0x0BE0 - Enable PCIE RP HotPlug + Indicate whether the root port is hot plug available. +**/ + UINT8 CpuPcieRpHotPlug[4]; + +/** Offset 0x0BE4 - Enable PCIE RP Pm Sci + Indicate whether the root port power manager SCI is enabled. +**/ + UINT8 CpuPcieRpPmSci[4]; + +/** Offset 0x0BE8 - Enable PCIE RP Transmitter Half Swing + Indicate whether the Transmitter Half Swing is enabled. +**/ + UINT8 CpuPcieRpTransmitterHalfSwing[4]; + +/** Offset 0x0BEC - PCIE RP Access Control Services Extended Capability + Enable/Disable PCIE RP Access Control Services Extended Capability +**/ + UINT8 CpuPcieRpAcsEnabled[4]; + +/** Offset 0x0BF0 - PCIE RP Clock Power Management + Enable/Disable PCIE RP Clock Power Management, even if disabled, CLKREQ# signal + can still be controlled by L1 PM substates mechanism +**/ + UINT8 CpuPcieRpEnableCpm[4]; + +/** Offset 0x0BF4 - PCIE RP Advanced Error Report + Indicate whether the Advanced Error Reporting is enabled. +**/ + UINT8 CpuPcieRpAdvancedErrorReporting[4]; + +/** Offset 0x0BF8 - PCIE RP Unsupported Request Report + Indicate whether the Unsupported Request Report is enabled. +**/ + UINT8 CpuPcieRpUnsupportedRequestReport[4]; + +/** Offset 0x0BFC - PCIE RP Fatal Error Report + Indicate whether the Fatal Error Report is enabled. +**/ + UINT8 CpuPcieRpFatalErrorReport[4]; + +/** Offset 0x0C00 - PCIE RP No Fatal Error Report + Indicate whether the No Fatal Error Report is enabled. +**/ + UINT8 CpuPcieRpNoFatalErrorReport[4]; + +/** Offset 0x0C04 - PCIE RP Correctable Error Report + Indicate whether the Correctable Error Report is enabled. +**/ + UINT8 CpuPcieRpCorrectableErrorReport[4]; + +/** Offset 0x0C08 - PCIE RP System Error On Fatal Error + Indicate whether the System Error on Fatal Error is enabled. +**/ + UINT8 CpuPcieRpSystemErrorOnFatalError[4]; + +/** Offset 0x0C0C - PCIE RP System Error On Non Fatal Error + Indicate whether the System Error on Non Fatal Error is enabled. +**/ + UINT8 CpuPcieRpSystemErrorOnNonFatalError[4]; + +/** Offset 0x0C10 - PCIE RP System Error On Correctable Error + Indicate whether the System Error on Correctable Error is enabled. +**/ + UINT8 CpuPcieRpSystemErrorOnCorrectableError[4]; + +/** Offset 0x0C14 - PCIE RP Max Payload + Max Payload Size supported, Default 128B, see enum CPU_PCIE_MAX_PAYLOAD. +**/ + UINT8 CpuPcieRpMaxPayload[4]; + +/** Offset 0x0C18 - DPC for PCIE RP Mask + Enable/disable Downstream Port Containment for PCIE Root Ports. 0: disable, 1: enable. + One bit for each port, bit0 for port1, bit1 for port2, and so on. +**/ + UINT8 CpuPcieRpDpcEnabled[4]; + +/** Offset 0x0C1C - DPC Extensions PCIE RP Mask + Enable/disable DPC Extensions for PCIE Root Ports. 0: disable, 1: enable. One bit + for each port, bit0 for port1, bit1 for port2, and so on. +**/ + UINT8 CpuPcieRpDpcExtensionsEnabled[4]; + +/** Offset 0x0C20 - CPU PCIe root port connection type + 0: built-in device, 1:slot +**/ + UINT8 CpuPcieRpSlotImplemented[4]; + +/** Offset 0x0C24 - PCIE RP Gen3 Equalization Phase Method + PCIe Gen3 Eq Ph3 Method (see CPU_PCIE_EQ_METHOD). 0: DEPRECATED, hardware equalization; + 1: hardware equalization; 4: Fixed Coeficients. +**/ + UINT8 CpuPcieRpGen3EqPh3Method[4]; + +/** Offset 0x0C28 - PCIE RP Gen4 Equalization Phase Method + PCIe Gen4 Eq Ph3 Method (see CPU_PCIE_EQ_METHOD). 0: DEPRECATED, hardware equalization; + 1: hardware equalization; 4: Fixed Coeficients. +**/ + UINT8 CpuPcieRpGen4EqPh3Method[4]; + +/** Offset 0x0C2C - PCIE RP Physical Slot Number + Indicates the slot number for the root port. Default is the value as root port index. +**/ + UINT8 CpuPcieRpPhysicalSlotNumber[4]; + +/** Offset 0x0C30 - PCIE RP Aspm + The ASPM configuration of the root port (see: CPU_PCIE_ASPM_CONTROL).0: Disable; + 1: CpuPcieAspmL0s; 2: CpuPcieAspmL1; 3:CpuPcieAspmL0sL1(Default) +**/ + UINT8 CpuPcieRpAspm[4]; + +/** Offset 0x0C34 - PCIE RP L1 Substates + The L1 Substates configuration of the root port (see: CPU_PCIE_L1SUBSTATES_CONTROL). + Default is CpuPcieL1SubstatesL1_1_2. +**/ + UINT8 CpuPcieRpL1Substates[4]; + +/** Offset 0x0C38 - PCIE RP Ltr Enable + Latency Tolerance Reporting Mechanism. +**/ + UINT8 CpuPcieRpLtrEnable[4]; + +/** Offset 0x0C3C - PCIE RP Ltr Config Lock + 0: Disable; 1: Enable. +**/ + UINT8 CpuPcieRpLtrConfigLock[4]; + +/** Offset 0x0C40 - PTM for PCIE RP Mask + Enable/disable Precision Time Measurement for PCIE Root Ports. 0: disable, 1: enable. + One bit for each port, bit0 for port1, bit1 for port2, and so on. +**/ + UINT8 CpuPcieRpPtmEnabled[4]; + +/** Offset 0x0C44 - PCIE RP Detect Timeout Ms + The number of milliseconds within 0~65535 in reference code will wait for link to + exit Detect state for enabled ports before assuming there is no device and potentially + disabling the port. +**/ + UINT16 CpuPcieRpDetectTimeoutMs[4]; + +/** Offset 0x0C4C - Multi-VC for PCIE RP Mask + Enable/disable Multiple Virtual Channel for PCIE Root Ports. 0: disable, 1: enable. + One bit for each port, bit0 for port1, bit1 for port2, and so on. +**/ + UINT8 CpuPcieRpMultiVcEnabled[4]; + +/** Offset 0x0C50 - Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 3 + Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 3, Each + value in array can be between 0-1. One byte for each port. +**/ + UINT8 Usb3HsioTxRate3UniqTranEnable[10]; + +/** Offset 0x0C5A - USB 3.0 TX Output Unique Transition Bit Scale for rate 3 + USB 3.0 TX Output Unique Transition Bit Scale for rate 3, HSIO_TX_DWORD9[6:0], Default + = 4Ch. One byte for each port. +**/ + UINT8 Usb3HsioTxRate3UniqTran[10]; + +/** Offset 0x0C64 - Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 2 + Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 2, Each + value in array can be between 0-1. One byte for each port. +**/ + UINT8 Usb3HsioTxRate2UniqTranEnable[10]; + +/** Offset 0x0C6E - USB 3.0 TX Output Unique Transition Bit Scale for rate 2 + USB 3.0 TX Output Unique Transition Bit Scale for rate 2, HSIO_TX_DWORD9[14:8], + Default = 4Ch. One byte for each port. +**/ + UINT8 Usb3HsioTxRate2UniqTran[10]; + +/** Offset 0x0C78 - Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 1 + Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 1, Each + value in array can be between 0-1. One byte for each port. +**/ + UINT8 Usb3HsioTxRate1UniqTranEnable[10]; + +/** Offset 0x0C82 - USB 3.0 TX Output Unique Transition Bit Scale for rate 1 + USB 3.0 TX Output Unique Transition Bit Scale for rate 1, HSIO_TX_DWORD9[22:16], + Default = 4Ch. One byte for each port. +**/ + UINT8 Usb3HsioTxRate1UniqTran[10]; + +/** Offset 0x0C8C - Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 0 + Enable the write to USB 3.0 TX Output Unique Transition Bit Mode for rate 0, Each + value in array can be between 0-1. One byte for each port. +**/ + UINT8 Usb3HsioTxRate0UniqTranEnable[10]; + +/** Offset 0x0C96 - USB 3.0 TX Output Unique Transition Bit Scale for rate 0 + USB 3.0 TX Output Unique Transition Bit Scale for rate 0, HSIO_TX_DWORD9[30:24], + Default = 4Ch. One byte for each port. +**/ + UINT8 Usb3HsioTxRate0UniqTran[10]; + +/** Offset 0x0CA0 - Skip PAM regsiter lock + Enable: PAM register will not be locked by RC, platform code should lock it, Disable(Default): + PAM registers will be locked by RC + $EN_DIS +**/ + UINT8 SkipPamLock; + +/** Offset 0x0CA1 - EDRAM Test Mode + Enable: PAM register will not be locked by RC, platform code should lock it, Disable(Default): + PAM registers will be locked by RC + 0: EDRAM SW disable, 1: EDRAM SW Enable, 2: EDRAM HW mode +**/ + UINT8 EdramTestMode; + +/** Offset 0x0CA2 - Enable/Disable IGFX RenderStandby + Enable(Default): Enable IGFX RenderStandby, Disable: Disable IGFX RenderStandby + $EN_DIS +**/ + UINT8 RenderStandby; + +/** Offset 0x0CA3 - Enable/Disable IGFX PmSupport + Enable(Default): Enable IGFX PmSupport, Disable: Disable IGFX PmSupport + $EN_DIS +**/ + UINT8 PmSupport; + +/** Offset 0x0CA4 - Enable/Disable CdynmaxClamp + Enable: Enable CdynmaxClamp, Disable(Default): Disable CdynmaxClamp + $EN_DIS +**/ + UINT8 CdynmaxClampEnable; + +/** Offset 0x0CA5 - GT Frequency Limit + 0xFF: Auto(Default), 2: 100 Mhz, 3: 150 Mhz, 4: 200 Mhz, 5: 250 Mhz, 6: 300 Mhz, + 7: 350 Mhz, 8: 400 Mhz, 9: 450 Mhz, 0xA: 500 Mhz, 0xB: 550 Mhz, 0xC: 600 Mhz, 0xD: + 650 Mhz, 0xE: 700 Mhz, 0xF: 750 Mhz, 0x10: 800 Mhz, 0x11: 850 Mhz, 0x12:900 Mhz, + 0x13: 950 Mhz, 0x14: 1000 Mhz, 0x15: 1050 Mhz, 0x16: 1100 Mhz, 0x17: 1150 Mhz, + 0x18: 1200 Mhz + 0xFF: Auto(Default), 2: 100 Mhz, 3: 150 Mhz, 4: 200 Mhz, 5: 250 Mhz, 6: 300 Mhz, + 7: 350 Mhz, 8: 400 Mhz, 9: 450 Mhz, 0xA: 500 Mhz, 0xB: 550 Mhz, 0xC: 600 Mhz, 0xD: + 650 Mhz, 0xE: 700 Mhz, 0xF: 750 Mhz, 0x10: 800 Mhz, 0x11: 850 Mhz, 0x12:900 Mhz, + 0x13: 950 Mhz, 0x14: 1000 Mhz, 0x15: 1050 Mhz, 0x16: 1100 Mhz, 0x17: 1150 Mhz, + 0x18: 1200 Mhz +**/ + UINT8 GtFreqMax; + +/** Offset 0x0CA6 - Disable Turbo GT + 0=Disable: GT frequency is not limited, 1=Enable: Disables Turbo GT frequency + $EN_DIS +**/ + UINT8 DisableTurboGt; + +/** Offset 0x0CA7 - Enable/Disable CdClock Init + Enable: Skip Full CD clock initializaton, Disable(Default): Initialize the full + CD clock if not initialized by Gfx PEIM + $EN_DIS +**/ + UINT8 SkipCdClockInit; + +/** Offset 0x0CA8 - Enable RC1p frequency request to PMA (provided all other conditions are met) + 0(Default)=Disable, 1=Enable + $EN_DIS +**/ + UINT8 RC1pFreqEnable; + +/** Offset 0x0CA9 - Enable TSN Multi-VC + Enable/disable Multi Virtual Channels(VC) in TSN. + $EN_DIS +**/ + UINT8 PchTsnMultiVcEnable; + +/** Offset 0x0CAA +**/ + UINT8 UnusedUpdSpace37[2]; + +/** Offset 0x0CAC - LogoPixelHeight Address + Address of LogoPixelHeight +**/ + UINT32 LogoPixelHeight; + +/** Offset 0x0CB0 - LogoPixelWidth Address + Address of LogoPixelWidth +**/ + UINT32 LogoPixelWidth; + +/** Offset 0x0CB4 - ITbt Usb4CmMode value + ITbt Usb4CmMode value. 0:Firmware CM, 1:Software CM +**/ + UINT8 Usb4CmMode; + +/** Offset 0x0CB5 - PCIE Resizable BAR Support + Enable/Disable PCIE Resizable BAR Support.0: Disable; 1: Enable; 2: Auto(Default). + $EN_DIS +**/ + UINT8 CpuPcieResizableBarSupport; + +/** Offset 0x0CB6 - SaPostMemTestRsvd + Reserved for SA Post-Mem Test + $EN_DIS +**/ + UINT8 SaPostMemTestRsvd[3]; + +/** Offset 0x0CB9 - RSR feature + Enable or Disable RSR feature; 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 EnableRsr; + +/** Offset 0x0CBA - ReservedCpuPostMem1 + Reserved for CPU Post-Mem 1 + $EN_DIS +**/ + UINT8 ReservedCpuPostMem1[4]; + +/** Offset 0x0CBE - Enable or Disable HWP + Enable or Disable HWP(Hardware P states) Support. 0: Disable; 1: Enable; + 2-3:Reserved + $EN_DIS +**/ + UINT8 Hwp; + +/** Offset 0x0CBF - Hardware Duty Cycle Control + Hardware Duty Cycle Control configuration. 0: Disabled; 1: Enabled 2-3:Reserved + $EN_DIS +**/ + UINT8 HdcControl; + +/** Offset 0x0CC0 - Package Long duration turbo mode time + Package Long duration turbo mode time window in seconds. Valid values(Unit in seconds) + 0 to 8 , 10 , 12 ,14 , 16 , 20 , 24 , 28 , 32 , 40 , 48 , 56 , 64 , 80 , 96 , 112 , 128 +**/ + UINT8 PowerLimit1Time; + +/** Offset 0x0CC1 - Short Duration Turbo Mode + Enable or Disable short duration Turbo Mode. 0 : Disable; 1: Enable + $EN_DIS +**/ + UINT8 PowerLimit2; + +/** Offset 0x0CC2 - Turbo settings Lock + Lock all Turbo settings Enable/Disable; 0: Disable , 1: Enable + $EN_DIS +**/ + UINT8 TurboPowerLimitLock; + +/** Offset 0x0CC3 - Package PL3 time window + Package PL3 time window range for this policy from 0 to 64ms +**/ + UINT8 PowerLimit3Time; + +/** Offset 0x0CC4 - Package PL3 Duty Cycle + Package PL3 Duty Cycle; Valid Range is 0 to 100 +**/ + UINT8 PowerLimit3DutyCycle; + +/** Offset 0x0CC5 - Package PL3 Lock + Package PL3 Lock Enable/Disable; 0: Disable ; 1:Enable + $EN_DIS +**/ + UINT8 PowerLimit3Lock; + +/** Offset 0x0CC6 - Package PL4 Lock + Package PL4 Lock Enable/Disable; 0: Disable ; 1:Enable + $EN_DIS +**/ + UINT8 PowerLimit4Lock; + +/** Offset 0x0CC7 - TCC Activation Offset + TCC Activation Offset. Offset from factory set TCC activation temperature at which + the Thermal Control Circuit must be activated. TCC will be activated at TCC Activation + Temperature, in volts.For SKL Y SKU, the recommended default for this policy is + 10, For all other SKUs the recommended default are 0 +**/ + UINT8 TccActivationOffset; + +/** Offset 0x0CC8 - Tcc Offset Clamp Enable/Disable + Tcc Offset Clamp for Runtime Average Temperature Limit (RATL) allows CPU to throttle + below P1.For SKL Y SKU, the recommended default for this policy is 1: Enabled, + For all other SKUs the recommended default are 0: Disabled. + $EN_DIS +**/ + UINT8 TccOffsetClamp; + +/** Offset 0x0CC9 - Tcc Offset Lock + Tcc Offset Lock for Runtime Average Temperature Limit (RATL) to lock temperature + target; 0: Disabled; 1: Enabled. + $EN_DIS +**/ + UINT8 TccOffsetLock; + +/** Offset 0x0CCA - Custom Ratio State Entries + The number of custom ratio state entries, ranges from 0 to 40 for a valid custom + ratio table.Sets the number of custom P-states. At least 2 states must be present +**/ + UINT8 NumberOfEntries; + +/** Offset 0x0CCB - Custom Short term Power Limit time window + Short term Power Limit time window value for custom CTDP level 1. Valid Range 0 to 128 +**/ + UINT8 Custom1PowerLimit1Time; + +/** Offset 0x0CCC - Custom Turbo Activation Ratio + Turbo Activation Ratio for custom cTDP level 1. Valid Range 0 to 255 +**/ + UINT8 Custom1TurboActivationRatio; + +/** Offset 0x0CCD - Custom Config Tdp Control + Config Tdp Control (0/1/2) value for custom cTDP level 1. Valid Range is 0 to 2 +**/ + UINT8 Custom1ConfigTdpControl; + +/** Offset 0x0CCE - Custom Short term Power Limit time window + Short term Power Limit time window value for custom CTDP level 2. Valid Range 0 to 128 +**/ + UINT8 Custom2PowerLimit1Time; + +/** Offset 0x0CCF - Custom Turbo Activation Ratio + Turbo Activation Ratio for custom cTDP level 2. Valid Range 0 to 255 +**/ + UINT8 Custom2TurboActivationRatio; + +/** Offset 0x0CD0 - Custom Config Tdp Control + Config Tdp Control (0/1/2) value for custom cTDP level 1. Valid Range is 0 to 2 +**/ + UINT8 Custom2ConfigTdpControl; + +/** Offset 0x0CD1 - Custom Short term Power Limit time window + Short term Power Limit time window value for custom CTDP level 3. Valid Range 0 to 128 +**/ + UINT8 Custom3PowerLimit1Time; + +/** Offset 0x0CD2 - Custom Turbo Activation Ratio + Turbo Activation Ratio for custom cTDP level 3. Valid Range 0 to 255 +**/ + UINT8 Custom3TurboActivationRatio; + +/** Offset 0x0CD3 - Custom Config Tdp Control + Config Tdp Control (0/1/2) value for custom cTDP level 1. Valid Range is 0 to 2 +**/ + UINT8 Custom3ConfigTdpControl; + +/** Offset 0x0CD4 - ConfigTdp mode settings Lock + Lock the ConfigTdp mode settings from runtime changes; 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 ConfigTdpLock; + +/** Offset 0x0CD5 - Load Configurable TDP SSDT + Configure whether to load Configurable TDP SSDT; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 ConfigTdpBios; + +/** Offset 0x0CD6 - PL1 Enable value + PL1 Enable value to limit average platform power. 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 PsysPowerLimit1; + +/** Offset 0x0CD7 - PL1 timewindow + PL1 timewindow in seconds.Valid values(Unit in seconds) 0 to 8 , 10 , 12 ,14 , 16 + , 20 , 24 , 28 , 32 , 40 , 48 , 56 , 64 , 80 , 96 , 112 , 128 +**/ + UINT8 PsysPowerLimit1Time; + +/** Offset 0x0CD8 - PL2 Enable Value + PL2 Enable activates the PL2 value to limit average platform power.0: Disable; + 1: Enable. + $EN_DIS +**/ + UINT8 PsysPowerLimit2; + +/** Offset 0x0CD9 - Enable or Disable MLC Streamer Prefetcher + Enable or Disable MLC Streamer Prefetcher; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 MlcStreamerPrefetcher; + +/** Offset 0x0CDA - Enable or Disable MLC Spatial Prefetcher + Enable or Disable MLC Spatial Prefetcher; 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 MlcSpatialPrefetcher; + +/** Offset 0x0CDB - Enable or Disable Monitor /MWAIT instructions + Enable or Disable Monitor /MWAIT instructions; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 MonitorMwaitEnable; + +/** Offset 0x0CDC - Enable or Disable initialization of machine check registers + Enable or Disable initialization of machine check registers; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 MachineCheckEnable; + +/** Offset 0x0CDD - AP Idle Manner of waiting for SIPI + AP Idle Manner of waiting for SIPI; 1: HALT loop; 2: MWAIT loop; 3: RUN loop. + 1: HALT loop, 2: MWAIT loop, 3: RUN loop +**/ + UINT8 ApIdleManner; + +/** Offset 0x0CDE - Control on Processor Trace output scheme + Control on Processor Trace output scheme; 0: Single Range Output; 1: ToPA Output. + 0: Single Range Output, 1: ToPA Output +**/ + UINT8 ProcessorTraceOutputScheme; + +/** Offset 0x0CDF - Enable or Disable Processor Trace feature + Enable or Disable Processor Trace feature; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 ProcessorTraceEnable; + +/** Offset 0x0CE0 - Enable or Disable Intel SpeedStep Technology + Enable or Disable Intel SpeedStep Technology. 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 Eist; + +/** Offset 0x0CE1 - Enable or Disable Energy Efficient P-state + Enable or Disable Energy Efficient P-state will be applied in Turbo mode. Disable; + 1: Enable + $EN_DIS +**/ + UINT8 EnergyEfficientPState; + +/** Offset 0x0CE2 - Enable or Disable Energy Efficient Turbo + Enable or Disable Energy Efficient Turbo, will be applied in Turbo mode. 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 EnergyEfficientTurbo; + +/** Offset 0x0CE3 - Enable or Disable T states + Enable or Disable T states; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 TStates; + +/** Offset 0x0CE4 - Enable or Disable Bi-Directional PROCHOT# + Enable or Disable Bi-Directional PROCHOT#; 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 BiProcHot; + +/** Offset 0x0CE5 - Enable or Disable PROCHOT# signal being driven externally + Enable or Disable PROCHOT# signal being driven externally; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 DisableProcHotOut; + +/** Offset 0x0CE6 - Enable or Disable PROCHOT# Response + Enable or Disable PROCHOT# Response; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 ProcHotResponse; + +/** Offset 0x0CE7 - Enable or Disable VR Thermal Alert + Enable or Disable VR Thermal Alert; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 DisableVrThermalAlert; + +/** Offset 0x0CE8 - Enable or Disable Thermal Reporting + Enable or Disable Thermal Reporting through ACPI tables; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 EnableAllThermalFunctions; + +/** Offset 0x0CE9 - Enable or Disable Thermal Monitor + Enable or Disable Thermal Monitor; 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 ThermalMonitor; + +/** Offset 0x0CEA - Enable or Disable CPU power states (C-states) + Enable or Disable CPU power states (C-states). 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 Cx; + +/** Offset 0x0CEB - Configure C-State Configuration Lock + Configure C-State Configuration Lock; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 PmgCstCfgCtrlLock; + +/** Offset 0x0CEC - Enable or Disable Enhanced C-states + Enable or Disable Enhanced C-states. 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 C1e; + +/** Offset 0x0CED - Enable or Disable Package Cstate Demotion + Enable or Disable Package Cstate Demotion. 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 PkgCStateDemotion; + +/** Offset 0x0CEE - Enable or Disable Package Cstate UnDemotion + Enable or Disable Package Cstate UnDemotion. 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 PkgCStateUnDemotion; + +/** Offset 0x0CEF - Enable or Disable CState-Pre wake + Enable or Disable CState-Pre wake. 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 CStatePreWake; + +/** Offset 0x0CF0 - Enable or Disable TimedMwait Support. + Enable or Disable TimedMwait Support. 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 TimedMwait; + +/** Offset 0x0CF1 - Enable or Disable IO to MWAIT redirection + Enable or Disable IO to MWAIT redirection; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 CstCfgCtrIoMwaitRedirection; + +/** Offset 0x0CF2 - Set the Max Pkg Cstate + Set the Max Pkg Cstate. Default set to Auto which limits the Max Pkg Cstate to deep + C-state. Valid values 0 - C0/C1 , 1 - C2 , 2 - C3 , 3 - C6 , 4 - C7 , 5 - C7S , + 6 - C8 , 7 - C9 , 8 - C10 , 254 - CPU Default , 255 - Auto +**/ + UINT8 PkgCStateLimit; + +/** Offset 0x0CF3 - TimeUnit for C-State Latency Control0 + TimeUnit for C-State Latency Control0; Valid values 0 - 1ns , 1 - 32ns , 2 - 1024ns + , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns +**/ + UINT8 CstateLatencyControl0TimeUnit; + +/** Offset 0x0CF4 - TimeUnit for C-State Latency Control1 + TimeUnit for C-State Latency Control1;Valid values 0 - 1ns , 1 - 32ns , 2 - 1024ns + , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns +**/ + UINT8 CstateLatencyControl1TimeUnit; + +/** Offset 0x0CF5 - TimeUnit for C-State Latency Control2 + TimeUnit for C-State Latency Control2;Valid values 0 - 1ns , 1 - 32ns , 2 - 1024ns + , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns +**/ + UINT8 CstateLatencyControl2TimeUnit; + +/** Offset 0x0CF6 - TimeUnit for C-State Latency Control3 + TimeUnit for C-State Latency Control3;Valid values 0 - 1ns , 1 - 32ns , 2 - 1024ns + , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns +**/ + UINT8 CstateLatencyControl3TimeUnit; + +/** Offset 0x0CF7 - TimeUnit for C-State Latency Control4 + Time - 1ns , 1 - 32ns , 2 - 1024ns , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns +**/ + UINT8 CstateLatencyControl4TimeUnit; + +/** Offset 0x0CF8 - TimeUnit for C-State Latency Control5 + TimeUnit for C-State Latency Control5;Valid values 0 - 1ns , 1 - 32ns , 2 - 1024ns + , 3 - 32768ns , 4 - 1048576ns , 5 - 33554432ns +**/ + UINT8 CstateLatencyControl5TimeUnit; + +/** Offset 0x0CF9 - Interrupt Redirection Mode Select + Interrupt Redirection Mode Select.0: Fixed priority; 1: Round robin;2: Hash vector;7: + No change. +**/ + UINT8 PpmIrmSetting; + +/** Offset 0x0CFA - Lock prochot configuration + Lock prochot configuration Enable/Disable; 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 ProcHotLock; + +/** Offset 0x0CFB - Configuration for boot TDP selection + Deprecated. Move to premem. +**/ + UINT8 ConfigTdpLevel; + +/** Offset 0x0CFC - Max P-State Ratio + Max P-State Ratio, Valid Range 0 to 0x7F +**/ + UINT8 MaxRatio; + +/** Offset 0x0CFD - P-state ratios for custom P-state table + P-state ratios for custom P-state table. NumberOfEntries has valid range between + 0 to 40. For no. of P-States supported(NumberOfEntries) , StateRatio[NumberOfEntries] + are configurable. Valid Range of each entry is 0 to 0x7F +**/ + UINT8 StateRatio[40]; + +/** Offset 0x0D25 - P-state ratios for max 16 version of custom P-state table + P-state ratios for max 16 version of custom P-state table. This table is used for + OS versions limited to a max of 16 P-States. If the first entry of this table is + 0, or if Number of Entries is 16 or less, then this table will be ignored, and + up to the top 16 values of the StateRatio table will be used instead. Valid Range + of each entry is 0 to 0x7F +**/ + UINT8 StateRatioMax16[16]; + +/** Offset 0x0D35 +**/ + UINT8 UnusedUpdSpace38; + +/** Offset 0x0D36 - Platform Power Pmax + PCODE MMIO Mailbox: Platform Power Pmax. 0 - Auto Specified in 1/8 Watt increments. + Range 0-1024 Watts. Value of 800 = 100W +**/ + UINT16 PsysPmax; + +/** Offset 0x0D38 - Interrupt Response Time Limit of C-State LatencyContol1 + Interrupt Response Time Limit of C-State LatencyContol1.Range of value 0 to 0x3FF. + 0 is Auto. +**/ + UINT16 CstateLatencyControl1Irtl; + +/** Offset 0x0D3A - Interrupt Response Time Limit of C-State LatencyContol2 + Interrupt Response Time Limit of C-State LatencyContol2.Range of value 0 to 0x3FF. + 0 is Auto. +**/ + UINT16 CstateLatencyControl2Irtl; + +/** Offset 0x0D3C - Interrupt Response Time Limit of C-State LatencyContol3 + Interrupt Response Time Limit of C-State LatencyContol3.Range of value 0 to 0x3FF. + 0 is Auto. +**/ + UINT16 CstateLatencyControl3Irtl; + +/** Offset 0x0D3E - Interrupt Response Time Limit of C-State LatencyContol4 + Interrupt Response Time Limit of C-State LatencyContol4.Range of value 0 to 0x3FF. + 0 is Auto. +**/ + UINT16 CstateLatencyControl4Irtl; + +/** Offset 0x0D40 - Interrupt Response Time Limit of C-State LatencyContol5 + Interrupt Response Time Limit of C-State LatencyContol5.Range of value 0 to 0x3FF. + 0 is Auto. +**/ + UINT16 CstateLatencyControl5Irtl; + +/** Offset 0x0D42 +**/ + UINT8 UnusedUpdSpace39[2]; + +/** Offset 0x0D44 - Package Long duration turbo mode power limit + Package Long duration turbo mode power limit. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit. + Valid Range 0 to 4095875 in Step size of 125 +**/ + UINT32 PowerLimit1; + +/** Offset 0x0D48 - Package Short duration turbo mode power limit + Package Short duration turbo mode power limit. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid + Range 0 to 4095875 in Step size of 125 +**/ + UINT32 PowerLimit2Power; + +/** Offset 0x0D4C - Package PL3 power limit + Package PL3 power limit. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid + Range 0 to 4095875 in Step size of 125 +**/ + UINT32 PowerLimit3; + +/** Offset 0x0D50 - Package PL4 power limit + Package PL4 power limit. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid + Range 0 to 4095875 in Step size of 125 +**/ + UINT32 PowerLimit4; + +/** Offset 0x0D54 - Tcc Offset Time Window for RATL + Package PL4 power limit. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid + Range 0 to 4095875 in Step size of 125 +**/ + UINT32 TccOffsetTimeWindowForRatl; + +/** Offset 0x0D58 - Short term Power Limit value for custom cTDP level 1 + Short term Power Limit value for custom cTDP level 1. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid + Range 0 to 4095875 in Step size of 125 +**/ + UINT32 Custom1PowerLimit1; + +/** Offset 0x0D5C - Long term Power Limit value for custom cTDP level 1 + Long term Power Limit value for custom cTDP level 1. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid + Range 0 to 4095875 in Step size of 125 +**/ + UINT32 Custom1PowerLimit2; + +/** Offset 0x0D60 - Short term Power Limit value for custom cTDP level 2 + Short term Power Limit value for custom cTDP level 2. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid + Range 0 to 4095875 in Step size of 125 +**/ + UINT32 Custom2PowerLimit1; + +/** Offset 0x0D64 - Long term Power Limit value for custom cTDP level 2 + Long term Power Limit value for custom cTDP level 2. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid + Range 0 to 4095875 in Step size of 125 +**/ + UINT32 Custom2PowerLimit2; + +/** Offset 0x0D68 - Short term Power Limit value for custom cTDP level 3 + Short term Power Limit value for custom cTDP level 3. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid + Range 0 to 4095875 in Step size of 125 +**/ + UINT32 Custom3PowerLimit1; + +/** Offset 0x0D6C - Long term Power Limit value for custom cTDP level 3 + Long term Power Limit value for custom cTDP level 3. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid + Range 0 to 4095875 in Step size of 125 +**/ + UINT32 Custom3PowerLimit2; + +/** Offset 0x0D70 - Platform PL1 power + Platform PL1 power. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range + 0 to 4095875 in Step size of 125 +**/ + UINT32 PsysPowerLimit1Power; + +/** Offset 0x0D74 - Platform PL2 power + Platform PL2 power. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.Valid Range + 0 to 4095875 in Step size of 125 +**/ + UINT32 PsysPowerLimit2Power; + +/** Offset 0x0D78 - Race To Halt + Enable/Disable Race To Halt feature. RTH will dynamically increase CPU frequency + in order to enter pkg C-State faster to reduce overall power. (RTH is controlled + through MSR 1FC bit 20)Disable; 1: Enable + $EN_DIS +**/ + UINT8 RaceToHalt; + +/** Offset 0x0D79 - Set Three Strike Counter Disable + False (default): Three Strike counter will be incremented and True: Prevents Three + Strike counter from incrementing; 0: False; 1: True. + 0: False, 1: True +**/ + UINT8 ThreeStrikeCounterDisable; + +/** Offset 0x0D7A - Set HW P-State Interrupts Enabled for for MISC_PWR_MGMT + Set HW P-State Interrupts Enabled for for MISC_PWR_MGMT; 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 HwpInterruptControl; + +/** Offset 0x0D7B - ReservedCpuPostMem2 + Reserved for CPU Post-Mem 2 + $EN_DIS +**/ + UINT8 ReservedCpuPostMem2[4]; + +/** Offset 0x0D7F - Intel Turbo Boost Max Technology 3.0 + Intel Turbo Boost Max Technology 3.0. 0: Disabled; 1: Enabled + $EN_DIS +**/ + UINT8 EnableItbm; + +/** Offset 0x0D80 - Enable or Disable C1 Cstate Demotion + Enable or Disable C1 Cstate Demotion. Disable; 1: Enable + $EN_DIS +**/ + UINT8 C1StateAutoDemotion; + +/** Offset 0x0D81 - Enable or Disable C1 Cstate UnDemotion + Enable or Disable C1 Cstate UnDemotion. Disable; 1: Enable + $EN_DIS +**/ + UINT8 C1StateUnDemotion; + +/** Offset 0x0D82 - Minimum Ring ratio limit override + Minimum Ring ratio limit override. 0: Hardware defaults. Range: 0 - Max turbo + ratio limit +**/ + UINT8 MinRingRatioLimit; + +/** Offset 0x0D83 - Maximum Ring ratio limit override + Maximum Ring ratio limit override. 0: Hardware defaults. Range: 0 - Max turbo + ratio limit +**/ + UINT8 MaxRingRatioLimit; + +/** Offset 0x0D84 - Enable or Disable Per Core P State OS control + Enable or Disable Per Core P State OS control. 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 EnablePerCorePState; + +/** Offset 0x0D85 - Enable or Disable HwP Autonomous Per Core P State OS control + Enable or Disable HwP Autonomous Per Core P State OS control. 0: Disable; 1: + Enable + $EN_DIS +**/ + UINT8 EnableHwpAutoPerCorePstate; + +/** Offset 0x0D86 - Enable or Disable HwP Autonomous EPP Grouping + Enable or Disable HwP Autonomous EPP Grouping. 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 EnableHwpAutoEppGrouping; + +/** Offset 0x0D87 - Enable or Disable EPB override over PECI + Enable or Disable EPB override over PECI. 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 EnableEpbPeciOverride; + +/** Offset 0x0D88 - Enable or Disable Fast MSR for IA32_HWP_REQUEST + Enable or Disable Fast MSR for IA32_HWP_REQUEST. 0: Disable; 1: Enable + $EN_DIS +**/ + UINT8 EnableFastMsrHwpReq; + +/** Offset 0x0D89 - Enable Configurable TDP + Applies TDP initialization settings based on non-cTDP or cTDP.; 0: Applies to non-cTDP; + 1: Applies to cTDP + $EN_DIS +**/ + UINT8 ApplyConfigTdp; + +/** Offset 0x0D8A - Misc Power Management MSR Lock + Lock Misc Power Management MSR. Enable/Disable; 0: Disable , 1: Enable + $EN_DIS +**/ + UINT8 HwpLock; + +/** Offset 0x0D8B - Dual Tau Boost + Enable, Disable Dual Tau Boost feature. This is only applicable for Desktop; 0: + Disable; 1: Enable + $EN_DIS +**/ + UINT8 DualTauBoost; + +/** Offset 0x0D8C - ReservedCpuPostMemTest + Reserved for CPU Post-Mem Test + $EN_DIS +**/ + UINT8 ReservedCpuPostMemTest[16]; + +/** Offset 0x0D9C +**/ + UINT8 SecurityPostMemRsvd[16]; + +/** Offset 0x0DAC - End of Post message + Test, Send End of Post message. Disable(0x0): Disable EOP message, Send in PEI(0x1): + EOP send in PEI, Send in DXE(0x2)(Default): EOP send in DXE + 0:Disable, 1:Send in PEI, 2:Send in DXE, 3:Reserved +**/ + UINT8 EndOfPostMessage; + +/** Offset 0x0DAD - D0I3 Setting for HECI Disable + Test, 0: disable, 1: enable, Setting this option disables setting D0I3 bit for all + HECI devices + $EN_DIS +**/ + UINT8 DisableD0I3SettingForHeci; + +/** Offset 0x0DAE - Mctp Broadcast Cycle + Test, Determine if MCTP Broadcast is enabled 0: Disable; 1: Enable. + $EN_DIS +**/ + UINT8 MctpBroadcastCycle; + +/** Offset 0x0DAF - Enable LOCKDOWN SMI + Enable SMI_LOCK bit to prevent writes to the Global SMI Enable bit. + $EN_DIS +**/ + UINT8 PchLockDownGlobalSmi; + +/** Offset 0x0DB0 - Enable LOCKDOWN BIOS Interface + Enable BIOS Interface Lock Down bit to prevent writes to the Backup Control Register. + $EN_DIS +**/ + UINT8 PchLockDownBiosInterface; + +/** Offset 0x0DB1 - Unlock all GPIO pads + Force all GPIO pads to be unlocked for debug purpose. + $EN_DIS +**/ + UINT8 PchUnlockGpioPads; + +/** Offset 0x0DB2 - PCH Unlock SideBand access + The SideBand PortID mask for certain end point (e.g. PSFx) will be locked before + 3rd party code execution. 0: Lock SideBand access; 1: Unlock SideBand access. + $EN_DIS +**/ + UINT8 PchSbAccessUnlock; + +/** Offset 0x0DB3 +**/ + UINT8 UnusedUpdSpace40[1]; + +/** Offset 0x0DB4 - PCIE RP Ltr Max Snoop Latency + Latency Tolerance Reporting, Max Snoop Latency. +**/ + UINT16 PcieRpLtrMaxSnoopLatency[28]; + +/** Offset 0x0DEC - PCIE RP Ltr Max No Snoop Latency + Latency Tolerance Reporting, Max Non-Snoop Latency. +**/ + UINT16 PcieRpLtrMaxNoSnoopLatency[28]; + +/** Offset 0x0E24 - PCIE RP Snoop Latency Override Mode + Latency Tolerance Reporting, Snoop Latency Override Mode. +**/ + UINT8 PcieRpSnoopLatencyOverrideMode[28]; + +/** Offset 0x0E40 - PCIE RP Snoop Latency Override Multiplier + Latency Tolerance Reporting, Snoop Latency Override Multiplier. +**/ + UINT8 PcieRpSnoopLatencyOverrideMultiplier[28]; + +/** Offset 0x0E5C - PCIE RP Snoop Latency Override Value + Latency Tolerance Reporting, Snoop Latency Override Value. +**/ + UINT16 PcieRpSnoopLatencyOverrideValue[28]; + +/** Offset 0x0E94 - PCIE RP Non Snoop Latency Override Mode + Latency Tolerance Reporting, Non-Snoop Latency Override Mode. +**/ + UINT8 PcieRpNonSnoopLatencyOverrideMode[28]; + +/** Offset 0x0EB0 - PCIE RP Non Snoop Latency Override Multiplier + Latency Tolerance Reporting, Non-Snoop Latency Override Multiplier. +**/ + UINT8 PcieRpNonSnoopLatencyOverrideMultiplier[28]; + +/** Offset 0x0ECC - PCIE RP Non Snoop Latency Override Value + Latency Tolerance Reporting, Non-Snoop Latency Override Value. +**/ + UINT16 PcieRpNonSnoopLatencyOverrideValue[28]; + +/** Offset 0x0F04 - PCIE RP Slot Power Limit Scale + Specifies scale used for slot power limit value. Leave as 0 to set to default. +**/ + UINT8 PcieRpSlotPowerLimitScale[28]; + +/** Offset 0x0F20 - PCIE RP Slot Power Limit Value + Specifies upper limit on power supplie by slot. Leave as 0 to set to default. +**/ + UINT16 PcieRpSlotPowerLimitValue[28]; + +/** Offset 0x0F58 - PCIE RP Enable Port8xh Decode + This member describes whether PCIE root port Port 8xh Decode is enabled. 0: Disable; + 1: Enable. + $EN_DIS +**/ + UINT8 PcieEnablePort8xhDecode; + +/** Offset 0x0F59 - PCIE Port8xh Decode Port Index + The Index of PCIe Port that is selected for Port8xh Decode (0 Based). +**/ + UINT8 PchPciePort8xhDecodePortIndex; + +/** Offset 0x0F5A - PCH Energy Reporting + Disable/Enable PCH to CPU energy report feature. + $EN_DIS +**/ + UINT8 PchPmDisableEnergyReport; + +/** Offset 0x0F5B - PCH Sata Test Mode + Allow entrance to the PCH SATA test modes. + $EN_DIS +**/ + UINT8 SataTestMode; + +/** Offset 0x0F5C - PCH USB OverCurrent mapping lock enable + If this policy option is enabled then BIOS will program OCCFDONE bit in xHCI meaning + that OC mapping data will be consumed by xHCI and OC mapping registers will be locked. + $EN_DIS +**/ + UINT8 PchXhciOcLock; + +/** Offset 0x0F5D - Low Power Mode Enable/Disable config mask + Configure if respective S0i2/3 sub-states are to be supported. Each bit corresponds + to one sub-state (LPMx - BITx): LPM0-s0i2.0, LPM1-s0i2.1, LPM2-s0i2.2, LPM3-s0i3.0, + LPM4-s0i3.1, LPM5-s0i3.2, LPM6-s0i3.3, LPM7-s0i3.4. +**/ + UINT8 PmcLpmS0ixSubStateEnableMask; + +/** Offset 0x0F5E - PCIE RP Ltr Max Snoop Latency + Latency Tolerance Reporting, Max Snoop Latency. +**/ + UINT16 CpuPcieRpLtrMaxSnoopLatency[4]; + +/** Offset 0x0F66 - PCIE RP Ltr Max No Snoop Latency + Latency Tolerance Reporting, Max Non-Snoop Latency. +**/ + UINT16 CpuPcieRpLtrMaxNoSnoopLatency[4]; + +/** Offset 0x0F6E - PCIE RP Snoop Latency Override Mode + Latency Tolerance Reporting, Snoop Latency Override Mode. +**/ + UINT8 CpuPcieRpSnoopLatencyOverrideMode[4]; + +/** Offset 0x0F72 - PCIE RP Snoop Latency Override Multiplier + Latency Tolerance Reporting, Snoop Latency Override Multiplier. +**/ + UINT8 CpuPcieRpSnoopLatencyOverrideMultiplier[4]; + +/** Offset 0x0F76 - PCIE RP Snoop Latency Override Value + Latency Tolerance Reporting, Snoop Latency Override Value. +**/ + UINT16 CpuPcieRpSnoopLatencyOverrideValue[4]; + +/** Offset 0x0F7E - PCIE RP Non Snoop Latency Override Mode + Latency Tolerance Reporting, Non-Snoop Latency Override Mode. +**/ + UINT8 CpuPcieRpNonSnoopLatencyOverrideMode[4]; + +/** Offset 0x0F82 - PCIE RP Non Snoop Latency Override Multiplier + Latency Tolerance Reporting, Non-Snoop Latency Override Multiplier. +**/ + UINT8 CpuPcieRpNonSnoopLatencyOverrideMultiplier[4]; + +/** Offset 0x0F86 - PCIE RP Non Snoop Latency Override Value + Latency Tolerance Reporting, Non-Snoop Latency Override Value. +**/ + UINT16 CpuPcieRpNonSnoopLatencyOverrideValue[4]; + +/** Offset 0x0F8E - PCIE RP Upstream Port Transmiter Preset + Used during Gen3 Link Equalization. Used for all lanes. Default is 7. +**/ + UINT8 CpuPcieRpGen3Uptp[4]; + +/** Offset 0x0F92 - PCIE RP Downstream Port Transmiter Preset + Used during Gen3 Link Equalization. Used for all lanes. Default is 7. +**/ + UINT8 CpuPcieRpGen3Dptp[4]; + +/** Offset 0x0F96 - PCIE RP Upstream Port Transmiter Preset + Used during Gen4 Link Equalization. Used for all lanes. Default is 8. +**/ + UINT8 CpuPcieRpGen4Uptp[4]; + +/** Offset 0x0F9A - PCIE RP Downstream Port Transmiter Preset + Used during Gen4 Link Equalization. Used for all lanes. Default is 9. +**/ + UINT8 CpuPcieRpGen4Dptp[4]; + +/** Offset 0x0F9E - PCIE RP Upstream Port Transmiter Preset + Used during Gen5 Link Equalization. Used for all lanes. Default is 7. +**/ + UINT8 CpuPcieRpGen5Uptp[4]; + +/** Offset 0x0FA2 - PCIE RP Downstream Port Transmiter Preset + Used during Gen5 Link Equalization. Used for all lanes. Default is 7. +**/ + UINT8 CpuPcieRpGen5Dptp[4]; + +/** Offset 0x0FA6 - Type C Port x Convert to TypeA + Enable / Disable(default) Type C Port x Convert to TypeA + $EN_DIS +**/ + UINT8 EnableTcssCovTypeA[4]; + +/** Offset 0x0FAA - PCH xhci port x for Type C Port x mapping + input PCH xhci port x for Type C Port 0 mapping. +**/ + UINT8 MappingPchXhciUsbA[4]; + +/** Offset 0x0FAE - FOMS Control Policy + Choose the Foms Control Policy, Default = 0 + 0: Auto, 1: Gen3 Foms, 2: Gen4 Foms, 3: Gen3 and Gen4 Foms +**/ + UINT8 CpuPcieFomsCp[4]; + +/** Offset 0x0FB2 - PMC C10 dynamic threshold dajustment enable + Set if you want to enable PMC C10 dynamic threshold adjustment. Only works on supported SKUs + $EN_DIS +**/ + UINT8 PmcC10DynamicThresholdAdjustment; + +/** Offset 0x0FB3 - P2P mode for PCIE RP + Enable/disable peer to peer mode for PCIE Root Ports. 0: Disable, 1: Enable. + 0: Disable, 1: Enable +**/ + UINT8 CpuPcieRpPeerToPeerMode[4]; + +/** Offset 0x0FB7 - Turbo Ratio Limit Ratio array + TurboRatioLimitRatio[7-0] will pair with TurboRatioLimitNumCore[7-0] to determine + the active core ranges for each frequency point. +**/ + UINT8 TurboRatioLimitRatio[8]; + +/** Offset 0x0FBF - Turbo Ratio Limit Num Core array + TurboRatioLimitNumCore[7-0] will pair with TurboRatioLimitRatio[7-0] to determine + the active core ranges for each frequency point. +**/ + UINT8 TurboRatioLimitNumCore[8]; + +/** Offset 0x0FC7 - ATOM Turbo Ratio Limit Ratio array + AtomTurboRatioLimitRatio[7-0] will pair with AtomTurboRatioLimitNumCore[7-0] to + determine the active core ranges for each frequency point. +**/ + UINT8 AtomTurboRatioLimitRatio[8]; + +/** Offset 0x0FCF - ATOM Turbo Ratio Limit Num Core array + AtomTurboRatioLimitNumCore[7-0] will pair with AtomTurboRatioLimitRatio[7-0] to + determine the active core ranges for each frequency point. +**/ + UINT8 AtomTurboRatioLimitNumCore[8]; + +/** Offset 0x0FD7 +**/ + UINT8 UnusedUpdSpace41; + +/** Offset 0x0FD8 - FspEventHandler + Optional pointer to the boot loader's implementation of FSP_EVENT_HANDLER. +**/ + UINT32 FspEventHandler; + +/** Offset 0x0FDC - Enable VMD Global Mapping + Enable/disable to VMD controller.0: Disable; 1: Enable(Default) + $EN_DIS +**/ + UINT8 VmdGlobalMapping; + +/** Offset 0x0FDD - CPU PCIE Port0 Link Disable + CPU PCIE Port0 Link Disable while Device attached into Port0 and Port1.0: Disable(Default); + 1: Enable. + $EN_DIS +**/ + UINT8 CpuPcieFunc0LinkDisable[4]; + +/** Offset 0x0FE1 - Skip VccIn Configuration + Skips VccIn configuration when enabled + $EN_DIS +**/ + UINT8 PmcSkipVccInConfig; + +/** Offset 0x0FE2 - CSE Data Resilience Support + 0: Disable CSE Data Resilience Support. ; 1: Enable CSE Data Resilience Support. + $EN_DIS +**/ + UINT8 CseDataResilience; + +/** Offset 0x0FE3 +**/ + UINT8 UnusedUpdSpace42; + +/** Offset 0x0FE4 - HorizontalResolution for PEI Logo + HorizontalResolution from PEIm Gfx for PEI Logo +**/ + UINT32 HorizontalResolution; + +/** Offset 0x0FE8 - VerticalResolution for PEI Logo + VerticalResolution from PEIm Gfx for PEI Logo +**/ + UINT32 VerticalResolution; + +/** Offset 0x0FEC - Touch Host Controller Active Ltr + Expose Active Ltr for OS driver to set +**/ + UINT32 ThcActiveLtr[2]; + +/** Offset 0x0FF4 - Touch Host Controller Idle Ltr + Expose Idle Ltr for OS driver to set +**/ + UINT32 ThcIdleLtr[2]; + +/** Offset 0x0FFC - Touch Host Controller Hid Over Spi ResetPad + Hid Over Spi ResetPad 0x0 - Use THC HW default Pad, For other pad setting refer + to GpioPins +**/ + UINT32 ThcHidResetPad[2]; + +/** Offset 0x1004 - Touch Host Controller Hid Over Spi ResetPad Trigger + Hid Over Spi Reset Pad Trigger 0x0:Low, 0x1:High +**/ + UINT32 ThcHidResetPadTrigger[2]; + +/** Offset 0x100C - Touch Host Controller Hid Over Spi Connection Speed + Hid Over Spi Connection Speed - SPI Frequency +**/ + UINT32 ThcHidConnectionSpeed[2]; + +/** Offset 0x1014 - Touch Host Controller Hid Over Spi Limit PacketSize + When set, limits SPI read & write packet size to 64B. Otherwise, THC uses Max Soc + packet size for SPI Read and Write 0x0- Max Soc Packet Size, 0x11 - 64 Bytes +**/ + UINT32 ThcLimitPacketSize[2]; + +/** Offset 0x101C - Touch Host Controller Hid Over Spi Limit PacketSize + Minimum amount of delay the THC/QUICKSPI driver must wait between end of write operation + and begin of read operation. This value shall be in 10us multiples 0x0: Disabled, + 1-65535 (0xFFFF) - up to 655350 us +**/ + UINT32 ThcPerformanceLimitation[2]; + +/** Offset 0x1024 - Touch Host Controller Hid Over Spi Input Report Header Address + Hid Over Spi Input Report Header Address +**/ + UINT32 ThcHidInputReportHeaderAddress[2]; + +/** Offset 0x102C - Touch Host Controller Hid Over Spi Input Report Body Address + Hid Over Spi Input Report Body Address +**/ + UINT32 ThcHidInputReportBodyAddress[2]; + +/** Offset 0x1034 - Touch Host Controller Hid Over Spi Output Report Address + Hid Over Spi Output Report Address +**/ + UINT32 ThcHidOutputReportAddress[2]; + +/** Offset 0x103C - Touch Host Controller Hid Over Spi Read Opcode + Hid Over Spi Read Opcode +**/ + UINT32 ThcHidReadOpcode[2]; + +/** Offset 0x1044 - Touch Host Controller Hid Over Spi Write Opcode + Hid Over Spi Write Opcode +**/ + UINT32 ThcHidWriteOpcode[2]; + +/** Offset 0x104C - Touch Host Controller Hid Over Spi Flags + Hid Over Spi Flags 0x0:Single SPI Mode, 0x4000:Dual SPI Mode, 0x8000:Quad SPI Mode +**/ + UINT32 ThcHidFlags[2]; + +/** Offset 0x1054 +**/ + UINT8 UnusedUpdSpace43[2]; + +/** Offset 0x1056 +**/ + UINT8 ReservedFspsUpd[2]; +} FSP_S_CONFIG; + +/** Fsp S UPD Configuration +**/ +typedef struct { + +/** Offset 0x0000 +**/ + FSP_UPD_HEADER FspUpdHeader; + +/** Offset 0x0020 +**/ + FSPS_ARCH_UPD FspsArchUpd; + +/** Offset 0x0040 +**/ + FSP_S_CONFIG FspsConfig; + +/** Offset 0x1058 +**/ + UINT8 UnusedUpdSpace44[6]; + +/** Offset 0x105E +**/ + UINT16 UpdTerminator; +} FSPS_UPD; + +#pragma pack() + +#endif diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FsptUpd.h b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FsptUpd.h new file mode 100644 index 0000000..61eb7aa --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/FsptUpd.h @@ -0,0 +1,357 @@ +/** @file + +Copyright (c) 2022, Intel Corporation. All rights reserved.
+ +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +* Neither the name of Intel Corporation nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + THE POSSIBILITY OF SUCH DAMAGE. + + This file is automatically generated. Please do NOT modify !!! + +**/ + +#ifndef __FSPTUPD_H__ +#define __FSPTUPD_H__ + +#include + +#pragma pack(1) + + +/** Fsp T Core UPD +**/ +typedef struct { + +/** Offset 0x0040 +**/ + UINT32 MicrocodeRegionBase; + +/** Offset 0x0044 +**/ + UINT32 MicrocodeRegionSize; + +/** Offset 0x0048 +**/ + UINT32 CodeRegionBase; + +/** Offset 0x004C +**/ + UINT32 CodeRegionSize; + +/** Offset 0x0050 +**/ + UINT8 Reserved[16]; +} FSPT_CORE_UPD; + +/** Fsp T Configuration +**/ +typedef struct { + +/** Offset 0x0060 - PcdSerialIoUartDebugEnable + Enable SerialIo Uart debug library with/without initializing SerialIo Uart device in FSP. + 0:Disable, 1:Enable and Initialize, 2:Enable without Initializing +**/ + UINT8 PcdSerialIoUartDebugEnable; + +/** Offset 0x0061 - PcdSerialIoUartNumber + Select SerialIo Uart Controller for debug. Note: If UART0 is selected as CNVi BT + Core interface, it cannot be used for debug purpose. + 0:SerialIoUart0, 1:SerialIoUart1, 2:SerialIoUart2 +**/ + UINT8 PcdSerialIoUartNumber; + +/** Offset 0x0062 - PcdSerialIoUartMode - FSPT + Select SerialIo Uart Controller mode + 0:SerialIoUartDisabled, 1:SerialIoUartPci, 2:SerialIoUartHidden, 3:SerialIoUartCom, + 4:SerialIoUartSkipInit +**/ + UINT8 PcdSerialIoUartMode; + +/** Offset 0x0063 +**/ + UINT8 UnusedUpdSpace0; + +/** Offset 0x0064 - PcdSerialIoUartBaudRate - FSPT + Set default BaudRate Supported from 0 - default to 6000000 +**/ + UINT32 PcdSerialIoUartBaudRate; + +/** Offset 0x0068 - Pci Express Base Address + Base address to be programmed for Pci Express +**/ + UINT64 PcdPciExpressBaseAddress; + +/** Offset 0x0070 - Pci Express Region Length + Region Length to be programmed for Pci Express +**/ + UINT32 PcdPciExpressRegionLength; + +/** Offset 0x0074 - PcdSerialIoUartParity - FSPT + Set default Parity. + 0: DefaultParity, 1: NoParity, 2: EvenParity, 3: OddParity +**/ + UINT8 PcdSerialIoUartParity; + +/** Offset 0x0075 - PcdSerialIoUartDataBits - FSPT + Set default word length. 0: Default, 5,6,7,8 +**/ + UINT8 PcdSerialIoUartDataBits; + +/** Offset 0x0076 - PcdSerialIoUartStopBits - FSPT + Set default stop bits. + 0: DefaultStopBits, 1: OneStopBit, 2: OneFiveStopBits, 3: TwoStopBits +**/ + UINT8 PcdSerialIoUartStopBits; + +/** Offset 0x0077 - PcdSerialIoUartAutoFlow - FSPT + Enables UART hardware flow control, CTS and RTS lines. + 0: Disable, 1:Enable +**/ + UINT8 PcdSerialIoUartAutoFlow; + +/** Offset 0x0078 - PcdSerialIoUartRxPinMux - FSPT + Select RX pin muxing for SerialIo UART used for debug +**/ + UINT32 PcdSerialIoUartRxPinMux; + +/** Offset 0x007C - PcdSerialIoUartTxPinMux - FSPT + Select TX pin muxing for SerialIo UART used for debug +**/ + UINT32 PcdSerialIoUartTxPinMux; + +/** Offset 0x0080 - PcdSerialIoUartRtsPinMux - FSPT + Select SerialIo Uart used for debug Rts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_RTS* + for possible values. +**/ + UINT32 PcdSerialIoUartRtsPinMux; + +/** Offset 0x0084 - PcdSerialIoUartCtsPinMux - FSPT + Select SerialIo Uart used for debug Cts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_CTS* + for possible values. +**/ + UINT32 PcdSerialIoUartCtsPinMux; + +/** Offset 0x0088 - PcdSerialIoUartDebugMmioBase - FSPT + Select SerialIo Uart default MMIO resource in SEC/PEI phase when PcdSerialIoUartMode + = SerialIoUartPci. +**/ + UINT32 PcdSerialIoUartDebugMmioBase; + +/** Offset 0x008C - PcdLpcUartDebugEnable + Enable to initialize LPC Uart device in FSP. + 0:Disable, 1:Enable +**/ + UINT8 PcdLpcUartDebugEnable; + +/** Offset 0x008D - Debug Interfaces + Debug Interfaces. BIT0-RAM, BIT1-UART, BIT3-USB3, BIT4-Serial IO, BIT5-TraceHub, + BIT2 - Not used. +**/ + UINT8 PcdDebugInterfaceFlags; + +/** Offset 0x008E - PcdSerialDebugLevel + Serial Debug Message Level. 0:Disable, 1:Error Only, 2:Error & Warnings, 3:Load, + Error, Warnings & Info, 4:Load, Error, Warnings, Info & Event, 5:Load, Error, Warnings, + Info & Verbose. + 0:Disable, 1:Error Only, 2:Error and Warnings, 3:Load Error Warnings and Info, 4:Load + Error Warnings and Info, 5:Load Error Warnings Info and Verbose +**/ + UINT8 PcdSerialDebugLevel; + +/** Offset 0x008F - ISA Serial Base selection + Select ISA Serial Base address. Default is 0x3F8. + 0:0x3F8, 1:0x2F8 +**/ + UINT8 PcdIsaSerialUartBase; + +/** Offset 0x0090 - PcdSerialIo2ndUartEnable + Enable Additional SerialIo Uart device in FSP. + 0:Disable, 1:Enable and Initialize, 2:Enable without Initializing +**/ + UINT8 PcdSerialIo2ndUartEnable; + +/** Offset 0x0091 - PcdSerialIo2ndUartNumber + Select SerialIo Uart Controller Number + 0:SerialIoUart0, 1:SerialIoUart1, 2:SerialIoUart2 +**/ + UINT8 PcdSerialIo2ndUartNumber; + +/** Offset 0x0092 - PcdSerialIo2ndUartMode - FSPT + Select SerialIo Uart Controller mode + 0:SerialIoUartDisabled, 1:SerialIoUartPci, 2:SerialIoUartHidden, 3:SerialIoUartCom, + 4:SerialIoUartSkipInit +**/ + UINT8 PcdSerialIo2ndUartMode; + +/** Offset 0x0093 +**/ + UINT8 UnusedUpdSpace1; + +/** Offset 0x0094 - PcdSerialIo2ndUartBaudRate - FSPT + Set default BaudRate Supported from 0 - default to 6000000 +**/ + UINT32 PcdSerialIo2ndUartBaudRate; + +/** Offset 0x0098 - PcdSerialIo2ndUartParity - FSPT + Set default Parity. + 0: DefaultParity, 1: NoParity, 2: EvenParity, 3: OddParity +**/ + UINT8 PcdSerialIo2ndUartParity; + +/** Offset 0x0099 - PcdSerialIo2ndUartDataBits - FSPT + Set default word length. 0: Default, 5,6,7,8 +**/ + UINT8 PcdSerialIo2ndUartDataBits; + +/** Offset 0x009A - PcdSerialIo2ndUartStopBits - FSPT + Set default stop bits. + 0: DefaultStopBits, 1: OneStopBit, 2: OneFiveStopBits, 3: TwoStopBits +**/ + UINT8 PcdSerialIo2ndUartStopBits; + +/** Offset 0x009B - PcdSerialIo2ndUartAutoFlow - FSPT + Enables UART hardware flow control, CTS and RTS lines. + 0: Disable, 1:Enable +**/ + UINT8 PcdSerialIo2ndUartAutoFlow; + +/** Offset 0x009C - PcdSerialIo2ndUartRxPinMux - FSPT + Select RX pin muxing for SerialIo UART +**/ + UINT32 PcdSerialIo2ndUartRxPinMux; + +/** Offset 0x00A0 - PcdSerialIo2ndUartTxPinMux - FSPT + Select TX pin muxing for SerialIo UART +**/ + UINT32 PcdSerialIo2ndUartTxPinMux; + +/** Offset 0x00A4 - PcdSerialIo2ndUartRtsPinMux - FSPT + Select SerialIo Uart Rts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_RTS* + for possible values. +**/ + UINT32 PcdSerialIo2ndUartRtsPinMux; + +/** Offset 0x00A8 - PcdSerialIo2ndUartCtsPinMux - FSPT + Select SerialIo Uart Cts pin muxing. Refer to GPIO_*_MUXING_SERIALIO_UARTx_CTS* + for possible values. +**/ + UINT32 PcdSerialIo2ndUartCtsPinMux; + +/** Offset 0x00AC - PcdSerialIo2ndUartMmioBase - FSPT + Select SerialIo Uart default MMIO resource in SEC/PEI phase when PcdSerialIo2ndUartMode + = SerialIoUartPci. +**/ + UINT32 PcdSerialIo2ndUartMmioBase; + +/** Offset 0x00B0 +**/ + UINT32 TopMemoryCacheSize; + +/** Offset 0x00B4 - FspDebugHandler + Optional pointer to the boot loader's implementation of FSP_DEBUG_HANDLER. +**/ + UINT32 FspDebugHandler; + +/** Offset 0x00B8 - Serial Io SPI Chip Select Polarity + Sets polarity for each chip Select. Available options: 0:SerialIoSpiCsActiveLow, + 1:SerialIoSpiCsActiveHigh +**/ + UINT8 PcdSerialIoSpiCsPolarity[2]; + +/** Offset 0x00BA - Serial Io SPI Chip Select Enable + 0:Disabled, 1:Enabled. Enables GPIO for CS0 or CS1 if it is Enabled +**/ + UINT8 PcdSerialIoSpiCsEnable[2]; + +/** Offset 0x00BC - Serial Io SPI Device Mode + When mode is set to Pci, controller is initalized in early stage. Available modes: + 0:SerialIoSpiDisabled, 1:SerialIoSpiPci. +**/ + UINT8 PcdSerialIoSpiMode; + +/** Offset 0x00BD - Serial Io SPI Default Chip Select Output + Sets Default CS as Output. Available options: 0:CS0, 1:CS1 +**/ + UINT8 PcdSerialIoSpiDefaultCsOutput; + +/** Offset 0x00BE - Serial Io SPI Default Chip Select Mode HW/SW + Sets Default CS Mode Hardware or Software. Available options: 0:HW, 1:SW +**/ + UINT8 PcdSerialIoSpiCsMode; + +/** Offset 0x00BF - Serial Io SPI Default Chip Select State Low/High + Sets Default CS State Low or High. Available options: 0:Low, 1:High +**/ + UINT8 PcdSerialIoSpiCsState; + +/** Offset 0x00C0 - Serial Io SPI Device Number + Select which Serial Io SPI controller is initalized in early stage. +**/ + UINT8 PcdSerialIoSpiNumber; + +/** Offset 0x00C1 +**/ + UINT8 UnusedUpdSpace2[3]; + +/** Offset 0x00C4 - Serial Io SPI Device MMIO Base + Assigns MMIO for Serial Io SPI controller usage in early stage. +**/ + UINT32 PcdSerialIoSpiMmioBase; + +/** Offset 0x00C8 +**/ + UINT8 ReservedFsptUpd1[16]; +} FSP_T_CONFIG; + +/** Fsp T UPD Configuration +**/ +typedef struct { + +/** Offset 0x0000 +**/ + FSP_UPD_HEADER FspUpdHeader; + +/** Offset 0x0020 +**/ + FSPT_ARCH_UPD FsptArchUpd; + +/** Offset 0x0040 +**/ + FSPT_CORE_UPD FsptCoreUpd; + +/** Offset 0x0060 +**/ + FSP_T_CONFIG FsptConfig; + +/** Offset 0x00D8 +**/ + UINT8 UnusedUpdSpace3[6]; + +/** Offset 0x00DE +**/ + UINT16 UpdTerminator; +} FSPT_UPD; + +#pragma pack() + +#endif diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Include/GpioConfig.h b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/GpioConfig.h new file mode 100644 index 0000000..ee81f48 --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/GpioConfig.h @@ -0,0 +1,332 @@ +/** @file + Header file for GpioConfig structure used by GPIO library. + + @copyright + Copyright (c) 2022, Intel Corporation. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +@par Specification Reference: +**/ +#ifndef _GPIO_CONFIG_H_ +#define _GPIO_CONFIG_H_ + +#pragma pack(push, 1) + +/// +/// For any GpioPad usage in code use GPIO_PAD type +/// +typedef UINT32 GPIO_PAD; + + +/// +/// For any GpioGroup usage in code use GPIO_GROUP type +/// +typedef UINT32 GPIO_GROUP; + +/** + GPIO configuration structure used for pin programming. + Structure contains fields that can be used to configure pad. +**/ +typedef struct { + /** + Pad Mode + Pad can be set as GPIO or one of its native functions. + When in native mode setting Direction (except Inversion), OutputState, + InterruptConfig, Host Software Pad Ownership and OutputStateLock are unnecessary. + Refer to definition of GPIO_PAD_MODE. + Refer to EDS for each native mode according to the pad. + **/ + UINT32 PadMode : 5; + /** + Host Software Pad Ownership + Set pad to ACPI mode or GPIO Driver Mode. + Refer to definition of GPIO_HOSTSW_OWN. + **/ + UINT32 HostSoftPadOwn : 2; + /** + GPIO Direction + Can choose between In, In with inversion, Out, both In and Out, both In with inversion and out or disabling both. + Refer to definition of GPIO_DIRECTION for supported settings. + **/ + UINT32 Direction : 6; + /** + Output State + Set Pad output value. + Refer to definition of GPIO_OUTPUT_STATE for supported settings. + This setting takes place when output is enabled. + **/ + UINT32 OutputState : 2; + /** + GPIO Interrupt Configuration + Set Pad to cause one of interrupts (IOxAPIC/SCI/SMI/NMI). + This setting is applicable only if GPIO is in GpioMode with input enabled. + Refer to definition of GPIO_INT_CONFIG for supported settings. + **/ + UINT32 InterruptConfig : 9; + /** + GPIO Power Configuration. + This setting controls Pad Reset Configuration. + Refer to definition of GPIO_RESET_CONFIG for supported settings. + **/ + UINT32 PowerConfig : 8; + /** + GPIO Electrical Configuration + This setting controls pads termination and voltage tolerance. + Refer to definition of GPIO_ELECTRICAL_CONFIG for supported settings. + **/ + UINT32 ElectricalConfig : 9; + /** + GPIO Lock Configuration + This setting controls pads lock. + Refer to definition of GPIO_LOCK_CONFIG for supported settings. + **/ + UINT32 LockConfig : 4; + /** + Additional GPIO configuration + Refer to definition of GPIO_OTHER_CONFIG for supported settings. + **/ + UINT32 OtherSettings : 2; + UINT32 RsvdBits : 17; ///< Reserved bits for future extension +} GPIO_CONFIG; + + +typedef enum { + GpioHardwareDefault = 0x0 ///< Leave setting unmodified +} GPIO_HARDWARE_DEFAULT; + +/** + GPIO Pad Mode + Refer to GPIO documentation on native functions available for certain pad. + If GPIO is set to one of NativeX modes then following settings are not applicable + and can be skipped: + - Interrupt related settings + - Host Software Ownership + - Output/Input enabling/disabling + - Output lock +**/ +typedef enum { + GpioPadModeGpio = 0x1, + GpioPadModeNative1 = 0x3, + GpioPadModeNative2 = 0x5, + GpioPadModeNative3 = 0x7, + GpioPadModeNative4 = 0x9 +} GPIO_PAD_MODE; + +/** + Host Software Pad Ownership modes + This setting affects GPIO interrupt status registers. Depending on chosen ownership + some GPIO Interrupt status register get updated and other masked. + Please refer to EDS for HOSTSW_OWN register description. +**/ +typedef enum { + GpioHostOwnDefault = 0x0, ///< Leave ownership value unmodified + /** + Set HOST ownership to ACPI. + Use this setting if pad is not going to be used by GPIO OS driver. + If GPIO is configured to generate SCI/SMI/NMI then this setting must be + used for interrupts to work + **/ + GpioHostOwnAcpi = 0x1, + /** + Set HOST ownership to GPIO Driver mode. + Use this setting only if GPIO pad should be controlled by GPIO OS Driver. + GPIO OS Driver will be able to control the pad if appropriate entry in + ACPI exists (refer to ACPI specification for GpioIo and GpioInt descriptors) + **/ + GpioHostOwnGpio = 0x3 +} GPIO_HOSTSW_OWN; + +/// +/// GPIO Direction +/// +typedef enum { + GpioDirDefault = 0x0, ///< Leave pad direction setting unmodified + GpioDirInOut = (0x1 | (0x1 << 3)), ///< Set pad for both output and input + GpioDirInInvOut = (0x1 | (0x3 << 3)), ///< Set pad for both output and input with inversion + GpioDirIn = (0x3 | (0x1 << 3)), ///< Set pad for input only + GpioDirInInv = (0x3 | (0x3 << 3)), ///< Set pad for input with inversion + GpioDirOut = 0x5, ///< Set pad for output only + GpioDirNone = 0x7 ///< Disable both output and input +} GPIO_DIRECTION; + +/** + GPIO Output State + This field is relevant only if output is enabled +**/ +typedef enum { + GpioOutDefault = 0x0, ///< Leave output value unmodified + GpioOutLow = 0x1, ///< Set output to low + GpioOutHigh = 0x3 ///< Set output to high +} GPIO_OUTPUT_STATE; + +/** + GPIO interrupt configuration + This setting is applicable only if pad is in GPIO mode and has input enabled. + GPIO_INT_CONFIG allows to choose which interrupt is generated (IOxAPIC/SCI/SMI/NMI) + and how it is triggered (edge or level). Refer to PADCFG_DW0 register description in + EDS for details on this settings. + Field from GpioIntNmi to GpioIntApic can be OR'ed with GpioIntLevel to GpioIntBothEdge + to describe an interrupt e.g. GpioIntApic | GpioIntLevel + If GPIO is set to cause an SCI then also GPI_GPE_EN is enabled for this pad. + If GPIO is set to cause an NMI then also GPI_NMI_EN is enabled for this pad. + Not all GPIO are capable of generating an SMI or NMI interrupt. + When routing GPIO to cause an IOxAPIC interrupt care must be taken, as this + interrupt cannot be shared and its IRQn number is not configurable. + Refer to EDS for GPIO pads IRQ numbers (PADCFG_DW1.IntSel) + If GPIO is under GPIO OS driver control and appropriate ACPI GpioInt descriptor + exist then use only trigger type setting (from GpioIntLevel to GpioIntBothEdge). + This type of GPIO Driver interrupt doesn't have any additional routing setting + required to be set by BIOS. Interrupt is handled by GPIO OS Driver. +**/ + +typedef enum { + GpioIntDefault = 0x0, ///< Leave value of interrupt routing unmodified + GpioIntDis = 0x1, ///< Disable IOxAPIC/SCI/SMI/NMI interrupt generation + GpioIntNmi = 0x3, ///< Enable NMI interrupt only + GpioIntSmi = 0x5, ///< Enable SMI interrupt only + GpioIntSci = 0x9, ///< Enable SCI interrupt only + GpioIntApic = 0x11, ///< Enable IOxAPIC interrupt only + GpioIntLevel = (0x1 << 5), ///< Set interrupt as level triggered + GpioIntEdge = (0x3 << 5), ///< Set interrupt as edge triggered (type of edge depends on input inversion) + GpioIntLvlEdgDis = (0x5 << 5), ///< Disable interrupt trigger + GpioIntBothEdge = (0x7 << 5) ///< Set interrupt as both edge triggered +} GPIO_INT_CONFIG; + +#define B_GPIO_INT_CONFIG_INT_SOURCE_MASK 0x1F ///< Mask for GPIO_INT_CONFIG for interrupt source +#define B_GPIO_INT_CONFIG_INT_TYPE_MASK 0xE0 ///< Mask for GPIO_INT_CONFIG for interrupt type + +/** + GPIO Power Configuration + GPIO_RESET_CONFIG allows to set GPIO Reset type (PADCFG_DW0.PadRstCfg) which will + be used to reset certain GPIO settings. + Refer to EDS for settings that are controllable by PadRstCfg. +**/ +typedef enum { + + + GpioResetDefault = 0x00, ///< Leave value of pad reset unmodified + /// + /// Deprecated settings. Maintained only for compatibility. + /// + GpioResetPwrGood = 0x09, ///< GPP: RSMRST; GPD: DSW_PWROK; (PadRstCfg = 00b = "Powergood") + GpioResetDeep = 0x0B, ///< Deep GPIO Reset (PadRstCfg = 01b = "Deep GPIO Reset") + GpioResetNormal = 0x0D, ///< GPIO Reset (PadRstCfg = 10b = "GPIO Reset" ) + GpioResetResume = 0x0F, ///< GPP: Reserved; GPD: RSMRST; (PadRstCfg = 11b = "Resume Reset" ) + + /// + /// New GPIO reset configuration options + /// + /** + Resume Reset (RSMRST) + GPP: PadRstCfg = 00b = "Powergood" + GPD: PadRstCfg = 11b = "Resume Reset" + Pad setting will reset on: + - DeepSx transition + - G3 + Pad settings will not reset on: + - S3/S4/S5 transition + - Warm/Cold/Global reset + **/ + GpioResumeReset = 0x01, + /** + Host Deep Reset + PadRstCfg = 01b = "Deep GPIO Reset" + Pad settings will reset on: + - Warm/Cold/Global reset + - DeepSx transition + - G3 + Pad settings will not reset on: + - S3/S4/S5 transition + **/ + GpioHostDeepReset = 0x03, + /** + Platform Reset (PLTRST) + PadRstCfg = 10b = "GPIO Reset" + Pad settings will reset on: + - S3/S4/S5 transition + - Warm/Cold/Global reset + - DeepSx transition + - G3 + **/ + GpioPlatformReset = 0x05, + /** + Deep Sleep Well Reset (DSW_PWROK) + GPP: not applicable + GPD: PadRstCfg = 00b = "Powergood" + Pad settings will reset on: + - G3 + Pad settings will not reset on: + - S3/S4/S5 transition + - Warm/Cold/Global reset + - DeepSx transition + **/ + GpioDswReset = 0x07 +} GPIO_RESET_CONFIG; + +/** + GPIO Electrical Configuration + Set GPIO termination and Pad Tolerance (applicable only for some pads) + Field from GpioTermNone to GpioTermNative can be OR'ed with GpioTolerance1v8. +**/ +typedef enum { + GpioTermDefault = 0x0, ///< Leave termination setting unmodified + GpioTermNone = 0x1, ///< none + GpioTermWpd5K = 0x5, ///< 5kOhm weak pull-down + GpioTermWpd20K = 0x9, ///< 20kOhm weak pull-down + GpioTermWpu1K = 0x13, ///< 1kOhm weak pull-up + GpioTermWpu2K = 0x17, ///< 2kOhm weak pull-up + GpioTermWpu5K = 0x15, ///< 5kOhm weak pull-up + GpioTermWpu20K = 0x19, ///< 20kOhm weak pull-up + GpioTermWpu1K2K = 0x1B, ///< 1kOhm & 2kOhm weak pull-up + /** + Native function controls pads termination + This setting is applicable only to some native modes. + Please check EDS to determine which native functionality + can control pads termination + **/ + GpioTermNative = 0x1F, + GpioNoTolerance1v8 = (0x1 << 5), ///< Disable 1.8V pad tolerance + GpioTolerance1v8 = (0x3 << 5) ///< Enable 1.8V pad tolerance +} GPIO_ELECTRICAL_CONFIG; + +#define B_GPIO_ELECTRICAL_CONFIG_TERMINATION_MASK 0x1F ///< Mask for GPIO_ELECTRICAL_CONFIG for termination value +#define B_GPIO_ELECTRICAL_CONFIG_1V8_TOLERANCE_MASK 0x60 ///< Mask for GPIO_ELECTRICAL_CONFIG for 1v8 tolerance setting + +/** + GPIO LockConfiguration + Set GPIO configuration lock and output state lock. + GpioLockPadConfig and GpioLockOutputState can be OR'ed. + Lock settings reset is in Powergood domain. Care must be taken when using this setting + as fields it locks may be reset by a different signal and can be controllable + by what is in GPIO_RESET_CONFIG (PADCFG_DW0.PadRstCfg). GPIO library provides + functions which allow to unlock a GPIO pad. +**/ +typedef enum { + GpioLockDefault = 0x0, ///< Leave lock setting unmodified + GpioPadConfigLock = 0x3, ///< Lock Pad Configuration + GpioOutputStateLock = 0x5 ///< Lock GPIO pad output value +} GPIO_LOCK_CONFIG; + +#define B_GPIO_LOCK_CONFIG_PAD_CONF_LOCK_MASK 0x3 ///< Mask for GPIO_LOCK_CONFIG for Pad Configuration Lock +#define B_GPIO_LOCK_CONFIG_OUTPUT_LOCK_MASK 0x5 ///< Mask for GPIO_LOCK_CONFIG for Pad Output Lock + +/** + Other GPIO Configuration + GPIO_OTHER_CONFIG is used for less often settings and for future extensions + Supported settings: + - RX raw override to '1' - allows to override input value to '1' + This setting is applicable only if in input mode (both in GPIO and native usage). + The override takes place at the internal pad state directly from buffer and before the RXINV. +**/ +typedef enum { + GpioRxRaw1Default = 0x0, ///< Use default input override value + GpioRxRaw1Dis = 0x1, ///< Don't override input + GpioRxRaw1En = 0x3 ///< Override input to '1' +} GPIO_OTHER_CONFIG; + +#define B_GPIO_OTHER_CONFIG_RXRAW_MASK 0x3 ///< Mask for GPIO_OTHER_CONFIG for RxRaw1 setting + +#pragma pack(pop) + +#endif //_GPIO_CONFIG_H_ diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Include/GpioSampleDef.h b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/GpioSampleDef.h new file mode 100644 index 0000000..eaa9233 --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/GpioSampleDef.h @@ -0,0 +1,381 @@ +/** @file + + @copyright + Copyright (c) 2022, Intel Corporation. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef __GPIOCONFIG_H__ +#define __GPIOCONFIG_H__ +#include +#include +#include + +/* + SKL LP GPIO pins + Use below for functions from PCH GPIO Lib which + require GpioPad as argument. Encoding used here + has all information required by library functions +*/ +#define GPIO_SKL_LP_GPP_A0 0x02000000 +#define GPIO_SKL_LP_GPP_A1 0x02000001 +#define GPIO_SKL_LP_GPP_A2 0x02000002 +#define GPIO_SKL_LP_GPP_A3 0x02000003 +#define GPIO_SKL_LP_GPP_A4 0x02000004 +#define GPIO_SKL_LP_GPP_A5 0x02000005 +#define GPIO_SKL_LP_GPP_A6 0x02000006 +#define GPIO_SKL_LP_GPP_A7 0x02000007 +#define GPIO_SKL_LP_GPP_A8 0x02000008 +#define GPIO_SKL_LP_GPP_A9 0x02000009 +#define GPIO_SKL_LP_GPP_A10 0x0200000A +#define GPIO_SKL_LP_GPP_A11 0x0200000B +#define GPIO_SKL_LP_GPP_A12 0x0200000C +#define GPIO_SKL_LP_GPP_A13 0x0200000D +#define GPIO_SKL_LP_GPP_A14 0x0200000E +#define GPIO_SKL_LP_GPP_A15 0x0200000F +#define GPIO_SKL_LP_GPP_A16 0x02000010 +#define GPIO_SKL_LP_GPP_A17 0x02000011 +#define GPIO_SKL_LP_GPP_A18 0x02000012 +#define GPIO_SKL_LP_GPP_A19 0x02000013 +#define GPIO_SKL_LP_GPP_A20 0x02000014 +#define GPIO_SKL_LP_GPP_A21 0x02000015 +#define GPIO_SKL_LP_GPP_A22 0x02000016 +#define GPIO_SKL_LP_GPP_A23 0x02000017 +#define GPIO_SKL_LP_GPP_B0 0x02010000 +#define GPIO_SKL_LP_GPP_B1 0x02010001 +#define GPIO_SKL_LP_GPP_B2 0x02010002 +#define GPIO_SKL_LP_GPP_B3 0x02010003 +#define GPIO_SKL_LP_GPP_B4 0x02010004 +#define GPIO_SKL_LP_GPP_B5 0x02010005 +#define GPIO_SKL_LP_GPP_B6 0x02010006 +#define GPIO_SKL_LP_GPP_B7 0x02010007 +#define GPIO_SKL_LP_GPP_B8 0x02010008 +#define GPIO_SKL_LP_GPP_B9 0x02010009 +#define GPIO_SKL_LP_GPP_B10 0x0201000A +#define GPIO_SKL_LP_GPP_B11 0x0201000B +#define GPIO_SKL_LP_GPP_B12 0x0201000C +#define GPIO_SKL_LP_GPP_B13 0x0201000D +#define GPIO_SKL_LP_GPP_B14 0x0201000E +#define GPIO_SKL_LP_GPP_B15 0x0201000F +#define GPIO_SKL_LP_GPP_B16 0x02010010 +#define GPIO_SKL_LP_GPP_B17 0x02010011 +#define GPIO_SKL_LP_GPP_B18 0x02010012 +#define GPIO_SKL_LP_GPP_B19 0x02010013 +#define GPIO_SKL_LP_GPP_B20 0x02010014 +#define GPIO_SKL_LP_GPP_B21 0x02010015 +#define GPIO_SKL_LP_GPP_B22 0x02010016 +#define GPIO_SKL_LP_GPP_B23 0x02010017 +#define GPIO_SKL_LP_GPP_C0 0x02020000 +#define GPIO_SKL_LP_GPP_C1 0x02020001 +#define GPIO_SKL_LP_GPP_C2 0x02020002 +#define GPIO_SKL_LP_GPP_C3 0x02020003 +#define GPIO_SKL_LP_GPP_C4 0x02020004 +#define GPIO_SKL_LP_GPP_C5 0x02020005 +#define GPIO_SKL_LP_GPP_C6 0x02020006 +#define GPIO_SKL_LP_GPP_C7 0x02020007 +#define GPIO_SKL_LP_GPP_C8 0x02020008 +#define GPIO_SKL_LP_GPP_C9 0x02020009 +#define GPIO_SKL_LP_GPP_C10 0x0202000A +#define GPIO_SKL_LP_GPP_C11 0x0202000B +#define GPIO_SKL_LP_GPP_C12 0x0202000C +#define GPIO_SKL_LP_GPP_C13 0x0202000D +#define GPIO_SKL_LP_GPP_C14 0x0202000E +#define GPIO_SKL_LP_GPP_C15 0x0202000F +#define GPIO_SKL_LP_GPP_C16 0x02020010 +#define GPIO_SKL_LP_GPP_C17 0x02020011 +#define GPIO_SKL_LP_GPP_C18 0x02020012 +#define GPIO_SKL_LP_GPP_C19 0x02020013 +#define GPIO_SKL_LP_GPP_C20 0x02020014 +#define GPIO_SKL_LP_GPP_C21 0x02020015 +#define GPIO_SKL_LP_GPP_C22 0x02020016 +#define GPIO_SKL_LP_GPP_C23 0x02020017 +#define GPIO_SKL_LP_GPP_D0 0x02030000 +#define GPIO_SKL_LP_GPP_D1 0x02030001 +#define GPIO_SKL_LP_GPP_D2 0x02030002 +#define GPIO_SKL_LP_GPP_D3 0x02030003 +#define GPIO_SKL_LP_GPP_D4 0x02030004 +#define GPIO_SKL_LP_GPP_D5 0x02030005 +#define GPIO_SKL_LP_GPP_D6 0x02030006 +#define GPIO_SKL_LP_GPP_D7 0x02030007 +#define GPIO_SKL_LP_GPP_D8 0x02030008 +#define GPIO_SKL_LP_GPP_D9 0x02030009 +#define GPIO_SKL_LP_GPP_D10 0x0203000A +#define GPIO_SKL_LP_GPP_D11 0x0203000B +#define GPIO_SKL_LP_GPP_D12 0x0203000C +#define GPIO_SKL_LP_GPP_D13 0x0203000D +#define GPIO_SKL_LP_GPP_D14 0x0203000E +#define GPIO_SKL_LP_GPP_D15 0x0203000F +#define GPIO_SKL_LP_GPP_D16 0x02030010 +#define GPIO_SKL_LP_GPP_D17 0x02030011 +#define GPIO_SKL_LP_GPP_D18 0x02030012 +#define GPIO_SKL_LP_GPP_D19 0x02030013 +#define GPIO_SKL_LP_GPP_D20 0x02030014 +#define GPIO_SKL_LP_GPP_D21 0x02030015 +#define GPIO_SKL_LP_GPP_D22 0x02030016 +#define GPIO_SKL_LP_GPP_D23 0x02030017 +#define GPIO_SKL_LP_GPP_E0 0x02040000 +#define GPIO_SKL_LP_GPP_E1 0x02040001 +#define GPIO_SKL_LP_GPP_E2 0x02040002 +#define GPIO_SKL_LP_GPP_E3 0x02040003 +#define GPIO_SKL_LP_GPP_E4 0x02040004 +#define GPIO_SKL_LP_GPP_E5 0x02040005 +#define GPIO_SKL_LP_GPP_E6 0x02040006 +#define GPIO_SKL_LP_GPP_E7 0x02040007 +#define GPIO_SKL_LP_GPP_E8 0x02040008 +#define GPIO_SKL_LP_GPP_E9 0x02040009 +#define GPIO_SKL_LP_GPP_E10 0x0204000A +#define GPIO_SKL_LP_GPP_E11 0x0204000B +#define GPIO_SKL_LP_GPP_E12 0x0204000C +#define GPIO_SKL_LP_GPP_E13 0x0204000D +#define GPIO_SKL_LP_GPP_E14 0x0204000E +#define GPIO_SKL_LP_GPP_E15 0x0204000F +#define GPIO_SKL_LP_GPP_E16 0x02040010 +#define GPIO_SKL_LP_GPP_E17 0x02040011 +#define GPIO_SKL_LP_GPP_E18 0x02040012 +#define GPIO_SKL_LP_GPP_E19 0x02040013 +#define GPIO_SKL_LP_GPP_E20 0x02040014 +#define GPIO_SKL_LP_GPP_E21 0x02040015 +#define GPIO_SKL_LP_GPP_E22 0x02040016 +#define GPIO_SKL_LP_GPP_E23 0x02040017 +#define GPIO_SKL_LP_GPP_F0 0x02050000 +#define GPIO_SKL_LP_GPP_F1 0x02050001 +#define GPIO_SKL_LP_GPP_F2 0x02050002 +#define GPIO_SKL_LP_GPP_F3 0x02050003 +#define GPIO_SKL_LP_GPP_F4 0x02050004 +#define GPIO_SKL_LP_GPP_F5 0x02050005 +#define GPIO_SKL_LP_GPP_F6 0x02050006 +#define GPIO_SKL_LP_GPP_F7 0x02050007 +#define GPIO_SKL_LP_GPP_F8 0x02050008 +#define GPIO_SKL_LP_GPP_F9 0x02050009 +#define GPIO_SKL_LP_GPP_F10 0x0205000A +#define GPIO_SKL_LP_GPP_F11 0x0205000B +#define GPIO_SKL_LP_GPP_F12 0x0205000C +#define GPIO_SKL_LP_GPP_F13 0x0205000D +#define GPIO_SKL_LP_GPP_F14 0x0205000E +#define GPIO_SKL_LP_GPP_F15 0x0205000F +#define GPIO_SKL_LP_GPP_F16 0x02050010 +#define GPIO_SKL_LP_GPP_F17 0x02050011 +#define GPIO_SKL_LP_GPP_F18 0x02050012 +#define GPIO_SKL_LP_GPP_F19 0x02050013 +#define GPIO_SKL_LP_GPP_F20 0x02050014 +#define GPIO_SKL_LP_GPP_F21 0x02050015 +#define GPIO_SKL_LP_GPP_F22 0x02050016 +#define GPIO_SKL_LP_GPP_F23 0x02050017 +#define GPIO_SKL_LP_GPP_G0 0x02060000 +#define GPIO_SKL_LP_GPP_G1 0x02060001 +#define GPIO_SKL_LP_GPP_G2 0x02060002 +#define GPIO_SKL_LP_GPP_G3 0x02060003 +#define GPIO_SKL_LP_GPP_G4 0x02060004 +#define GPIO_SKL_LP_GPP_G5 0x02060005 +#define GPIO_SKL_LP_GPP_G6 0x02060006 +#define GPIO_SKL_LP_GPP_G7 0x02060007 +#define GPIO_SKL_LP_GPD0 0x02070000 +#define GPIO_SKL_LP_GPD1 0x02070001 +#define GPIO_SKL_LP_GPD2 0x02070002 +#define GPIO_SKL_LP_GPD3 0x02070003 +#define GPIO_SKL_LP_GPD4 0x02070004 +#define GPIO_SKL_LP_GPD5 0x02070005 +#define GPIO_SKL_LP_GPD6 0x02070006 +#define GPIO_SKL_LP_GPD7 0x02070007 +#define GPIO_SKL_LP_GPD8 0x02070008 +#define GPIO_SKL_LP_GPD9 0x02070009 +#define GPIO_SKL_LP_GPD10 0x0207000A +#define GPIO_SKL_LP_GPD11 0x0207000B + +#define END_OF_GPIO_TABLE 0xFFFFFFFF + +// +//AlderLake S GPIO PCIe SLOT RTD3 and PEG reset pins. +// +#define GPIO_VER4_S_GPP_E2 0x080E0002 +#define GPIO_VER4_S_GPP_E3 0x080E0003 +#define GPIO_VER4_S_GPP_F11 0x0810000B +#define GPIO_VER4_S_GPP_F12 0x0810000C +#define GPIO_VER4_S_GPP_F13 0x0810000D + +//Sample GPIO Table + +// +//AlderLake S Gpio table for assert PCIe SLOT RTD3 and PEG reset pins in early PreMem phase. +// +static GPIO_INIT_CONFIG mAdlSPcieRstPinGpioTable[] = +{ + { GPIO_VER4_S_GPP_E2, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDefault, GpioPlatformReset, GpioTermNone }},// PEG_1 RTD3 Reset + { GPIO_VER4_S_GPP_E3, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDefault, GpioPlatformReset, GpioTermNone }},// PEG_2 RTD3 Reset Sinai DR0 (Rework) + { GPIO_VER4_S_GPP_F11, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDefault, GpioPlatformReset, GpioTermNone }},// PCIe SLOT_1 RTD3 Reset MIPI60 (Rework) + { GPIO_VER4_S_GPP_F12, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDefault, GpioPlatformReset, GpioTermNone }},// PCIe SLOT_2 RTD3 Reset MIPI60 (Rework) + { GPIO_VER4_S_GPP_F13, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDefault, GpioPlatformReset, GpioTermNone }},// PCIe SLOT_3 RTD3 Reset MIPI60 (Rework) + { 0x0 } // terminator +}; + +static GPIO_INIT_CONFIG mGpioTableLpDdr3Rvp3[] = +{ +//skip for eSPI function {GPIO_SKL_LP_GPP_A0, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//H_RCIN_N +//skip for eSPI function {GPIO_SKL_LP_GPP_A1, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//LPC_AD0_ESPI_IO0 +//skip for eSPI function {GPIO_SKL_LP_GPP_A2, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//LPC_AD1_ESPI_IO1 +//skip for eSPI function {GPIO_SKL_LP_GPP_A3, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//LPC_AD2_ESPI_IO2 +//skip for eSPI function {GPIO_SKL_LP_GPP_A4, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//LPC_AD3_ESPI_IO3 +//skip for eSPI function {GPIO_SKL_LP_GPP_A5, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//LPC_FRAME_ESPI_CS_N +//skip for eSPI function {GPIO_SKL_LP_GPP_A6, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//INT_SERIRQ +//skip for eSPI function {GPIO_SKL_LP_GPP_A7, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//PM_SLP_S0ix_R_N + {GPIO_SKL_LP_GPP_A8, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//PM_CLKRUN_N +//skip for eSPI function {GPIO_SKL_LP_GPP_A9, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//LPC_CLK_ESPI_CLK + {GPIO_SKL_LP_GPP_A10, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//PCH_CLK_PCI_TPM + {GPIO_SKL_LP_GPP_A11, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntLevel | GpioIntApic, GpioHostDeepReset, GpioTermNone}},//EC_HID_INTR + {GPIO_SKL_LP_GPP_A12, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//M.2_WWAN_GNSS_UART_RST_N + {GPIO_SKL_LP_GPP_A13, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SUS_PWR_ACK_R +//skip for eSPI function {GPIO_SKL_LP_GPP_A14, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//PM_SUS_STAT_ESPI_RST_N + {GPIO_SKL_LP_GPP_A15, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//SUSACK_R_N + {GPIO_SKL_LP_GPP_A16, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SD_1P8_SEL + {GPIO_SKL_LP_GPP_A17, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SD_PWR_EN_N + {GPIO_SKL_LP_GPP_A18, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//ISH_GP_0_SENSOR + {GPIO_SKL_LP_GPP_A19, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//ISH_GP_1_SENSOR + {GPIO_SKL_LP_GPP_A20, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//ISH_GP_2_SENSOR + {GPIO_SKL_LP_GPP_A21, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//GNSS_CHUB_IRQ + {GPIO_SKL_LP_GPP_A22, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//FPS_SLP_N + {GPIO_SKL_LP_GPP_A23, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntLevel | GpioIntApic, GpioHostDeepReset, GpioTermNone}},//FPS_DRDY + {GPIO_SKL_LP_GPP_B0, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//V0.85A_VID0 + {GPIO_SKL_LP_GPP_B1, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//V0.85A_VID1 + {GPIO_SKL_LP_GPP_B2, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//GP_VRALERTB + {GPIO_SKL_LP_GPP_B3, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntLevel | GpioIntApic, GpioPlatformReset, GpioTermNone}},//TCH_PAD_INTR_R_N + {GPIO_SKL_LP_GPP_B4, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//BT_RF_KILL_N + {GPIO_SKL_LP_GPP_B5, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntLevel | GpioIntApic, GpioHostDeepReset, GpioTermNone}},//M.2_BT_UART_WAKE_N + // {GPIO_SKL_LP_GPP_B6, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//CLK_REQ_SLOT1_N + // {GPIO_SKL_LP_GPP_B7, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//CLK_REQ_SLOT2_LAN_N + // {GPIO_SKL_LP_GPP_B8, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//CLK_REQ_M.2_SSD_SLOT3_N + // {GPIO_SKL_LP_GPP_B9, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//CLK_REQ_M.2_WIGIG_N + // {GPIO_SKL_LP_GPP_B10, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//CLK_REQ_M.2_WLAN_N + {GPIO_SKL_LP_GPP_B11, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//MPHY_EXT_PWR_GATEB + {GPIO_SKL_LP_GPP_B12, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//PCH_SLP_S0_N + {GPIO_SKL_LP_GPP_B13, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//PLT_RST_N + {GPIO_SKL_LP_GPP_B14, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//TCH_PNL_PWREN + {GPIO_SKL_LP_GPP_B15, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutLow, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//PCH_NFC_DFU + {GPIO_SKL_LP_GPP_B16, {GpioPadModeGpio, GpioHostOwnAcpi, GpioDirInInv, GpioOutDefault, GpioIntLevel | GpioIntSci, GpioPlatformReset, GpioTermNone}},//M.2_WLAN_WIFI_WAKE_N + {GPIO_SKL_LP_GPP_B17, {GpioPadModeGpio, GpioHostOwnAcpi, GpioDirInInv, GpioOutDefault, GpioIntEdge | GpioIntSci, GpioHostDeepReset, GpioTermWpd20K}},//TBT_CIO_PLUG_EVENT_N + {GPIO_SKL_LP_GPP_B18, {GpioPadModeGpio, GpioHostOwnAcpi, GpioDirInInv, GpioOutDefault, GpioIntLevel | GpioIntSci, GpioPlatformReset, GpioTermWpu20K}},//PCH_SLOT1_WAKE_N + {GPIO_SKL_LP_GPP_B19, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//FPS_GSPI1_CS_R1_N + {GPIO_SKL_LP_GPP_B20, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//FPS_GSPI1_CLK_R1 + {GPIO_SKL_LP_GPP_B21, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//FPS_GSPI1_MISO_R1 + {GPIO_SKL_LP_GPP_B22, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//FPS_GSPI1_MOSI_R1 + {GPIO_SKL_LP_GPP_B23, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//DISCRETE_GNSS_RESET_N + {GPIO_SKL_LP_GPP_C0, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SMB_CLK + {GPIO_SKL_LP_GPP_C1, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//SMB_DATA + {GPIO_SKL_LP_GPP_C2, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//SKIN_THRM_SNSR_ALERT_N + {GPIO_SKL_LP_GPP_C3, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SML0_CLK + {GPIO_SKL_LP_GPP_C4, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SML0_DATA + {GPIO_SKL_LP_GPP_C5, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirInInv, GpioOutDefault, GpioIntLevel | GpioIntApic, GpioHostDeepReset, GpioTermWpd20K}},//M.2_WIGIG_WAKE_N + {GPIO_SKL_LP_GPP_C6, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SML1_CLK + {GPIO_SKL_LP_GPP_C7, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//SML1_DATA + {GPIO_SKL_LP_GPP_C8, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SERIALIO_UART0_RXD + {GPIO_SKL_LP_GPP_C9, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SERIALIO_UART0_TXD + {GPIO_SKL_LP_GPP_C10, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SERIALIO_UART0_RTS_N + {GPIO_SKL_LP_GPP_C11, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SERIALIO_UART0_CTS_N + {GPIO_SKL_LP_GPP_C12, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SERIALIO_UART1_ISH_UART1_RXD + {GPIO_SKL_LP_GPP_C13, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SERIALIO_UART1_ISH_UART1_TXD + {GPIO_SKL_LP_GPP_C14, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SERIALIO_UART1_ISH_UART1_RTS_N + {GPIO_SKL_LP_GPP_C15, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SERIALIO_UART1_ISH_UART1_CTS_N + {GPIO_SKL_LP_GPP_C16, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SERIALIO_I2C0_SDA + {GPIO_SKL_LP_GPP_C17, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SERIALIO_I2C0_SCL + {GPIO_SKL_LP_GPP_C18, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SERIALIO_I2C1_SDA + {GPIO_SKL_LP_GPP_C19, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SERIALIO_I2C1_SCL + {GPIO_SKL_LP_GPP_C20, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SERIALIO_UART2_RXD + {GPIO_SKL_LP_GPP_C21, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SERIALIO_UART2_TXD + {GPIO_SKL_LP_GPP_C22, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SERIALIO_UART2_RTS_N + {GPIO_SKL_LP_GPP_C23, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SERIALIO_UART2_CTS_N + {GPIO_SKL_LP_GPP_D0, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SPI1_TCHPNL_CS_N + {GPIO_SKL_LP_GPP_D1, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SPI1_TCHPNL_CLK + {GPIO_SKL_LP_GPP_D2, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SPI1_TCHPNL_MISO + {GPIO_SKL_LP_GPP_D3, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SPI1_TCHPNL_MOSI + {GPIO_SKL_LP_GPP_D4, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//CSI2_FLASH_STROBE + {GPIO_SKL_LP_GPP_D5, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//ISH_I2C0_SDA + {GPIO_SKL_LP_GPP_D6, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//ISH_I2C0_SCL + {GPIO_SKL_LP_GPP_D7, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//ISH_I2C1_SDA + {GPIO_SKL_LP_GPP_D8, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//ISH_I2C1_SCL + {GPIO_SKL_LP_GPP_D9, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntLevel | GpioIntDis, GpioHostDeepReset, GpioTermNone}},//HOME_BTN + {GPIO_SKL_LP_GPP_D10, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntLevel | GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SCREEN_LOCK_PCH + {GPIO_SKL_LP_GPP_D11, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntLevel | GpioIntDis, GpioHostDeepReset, GpioTermNone}},//VOL_UP_PCH + {GPIO_SKL_LP_GPP_D12, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntLevel | GpioIntDis, GpioHostDeepReset, GpioTermNone}},//VOL_DOWN_PCH + {GPIO_SKL_LP_GPP_D13, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//ISH_UART0_RXD_SML0B_DATA + {GPIO_SKL_LP_GPP_D14, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//ISH_UART0_TXD_SML0B_CLK + {GPIO_SKL_LP_GPP_D15, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//ISH_UART0_RTS_N + {GPIO_SKL_LP_GPP_D16, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//ISH_UART0_CTS_SML0B_ALERT_N + {GPIO_SKL_LP_GPP_D17, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//DMIC_CLK_1 + {GPIO_SKL_LP_GPP_D18, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//DMIC_DATA_1 + {GPIO_SKL_LP_GPP_D19, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//DMIC_CLK_0 + {GPIO_SKL_LP_GPP_D20, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//DMIC_DATA_0 + {GPIO_SKL_LP_GPP_D21, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SPI1_TCHPNL_IO2 + {GPIO_SKL_LP_GPP_D22, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SPI1_TCHPNL_IO3 + {GPIO_SKL_LP_GPP_D23, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SSP_MCLK + {GPIO_SKL_LP_GPP_E0, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirInInv, GpioOutDefault, GpioIntEdge | GpioIntApic, GpioHostDeepReset, GpioTermNone}},//SPI_TPM_HDR_IRQ_N + {GPIO_SKL_LP_GPP_E1, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SATA_ODD_PRSNT_N + {GPIO_SKL_LP_GPP_E2, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntLvlEdgDis | GpioIntApic, GpioHostDeepReset, GpioTermNone}},//M.2_SSD_SATA2_PCIE3_DET_N + {GPIO_SKL_LP_GPP_E3, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDis, GpioResumeReset, GpioTermNone}},//EINK_SSR_DFU_N + {GPIO_SKL_LP_GPP_E4, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//PCH_NFC_RESET + {GPIO_SKL_LP_GPP_E5, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SATA1_PHYSLP1_DIRECT_R + {GPIO_SKL_LP_GPP_E6, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutLow, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SATA2_PHYSLP2_M.2SSD_R + {GPIO_SKL_LP_GPP_E8, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//PCH_SATA_LED_N + {GPIO_SKL_LP_GPP_E9, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//USB_OC_0_WP1_OTG_N + {GPIO_SKL_LP_GPP_E10, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//USB_OC_1_WP4_N + {GPIO_SKL_LP_GPP_E11, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//USB_OC_2_WP2_WP3_WP5_R_N + {GPIO_SKL_LP_GPP_E12, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntLevel | GpioIntDis, GpioHostDeepReset, GpioTermNone}},//PCH_NFC_IRQ + {GPIO_SKL_LP_GPP_E13, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//DDI1_HPD_Q + {GPIO_SKL_LP_GPP_E14, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//DDI2_HPD_Q + {GPIO_SKL_LP_GPP_E15, {GpioPadModeGpio, GpioHostOwnAcpi, GpioDirInInv, GpioOutDefault, GpioIntEdge | GpioIntSmi, GpioHostDeepReset, GpioTermNone}},//SMC_EXTSMI_R_N + {GPIO_SKL_LP_GPP_E16, {GpioPadModeGpio, GpioHostOwnAcpi, GpioDirInInv, GpioOutDefault, GpioIntLevel | GpioIntSci, GpioPlatformReset, GpioTermNone}},//SMC_RUNTIME_SCI_R_N + {GPIO_SKL_LP_GPP_E17, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//EDP_HPD + {GPIO_SKL_LP_GPP_E18, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//DDI1_CTRL_CLK + {GPIO_SKL_LP_GPP_E19, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//DDI1_CTRL_DATA + {GPIO_SKL_LP_GPP_E20, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//DDI2_CTRL_CLK + {GPIO_SKL_LP_GPP_E21, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//DDI2_CTRL_DATA + {GPIO_SKL_LP_GPP_E22, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirInInv, GpioOutDefault, GpioIntLevel | GpioIntApic, GpioHostDeepReset, GpioTermNone}},//PCH_CODEC_IRQ + {GPIO_SKL_LP_GPP_E23, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirOut, GpioOutHigh, GpioIntDis, GpioHostDeepReset, GpioTermWpd20K}},//TCH_PNL_RST_N + {GPIO_SKL_LP_GPP_F0, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SSP2_SCLK + {GPIO_SKL_LP_GPP_F1, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SSP2_SFRM + {GPIO_SKL_LP_GPP_F2, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SSP2_TXD + {GPIO_SKL_LP_GPP_F3, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SSP2_RXD + {GPIO_SKL_LP_GPP_F4, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTolerance1v8 | GpioTermNone}},//SERIALIO_I2C2_SDA + {GPIO_SKL_LP_GPP_F5, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTolerance1v8 | GpioTermNone}},//SERIALIO_I2C2_SCL + {GPIO_SKL_LP_GPP_F6, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTolerance1v8 | GpioTermNone}},//SERIALIO_I2C3_SDA + {GPIO_SKL_LP_GPP_F7, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTolerance1v8 | GpioTermNone}},//SERIALIO_I2C3_SCL + {GPIO_SKL_LP_GPP_F8, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTolerance1v8 | GpioTermNone}},//SERIALIO_I2C4_SDA + {GPIO_SKL_LP_GPP_F9, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTolerance1v8 | GpioTermNone}},//SERIALIO_I2C4_SCL + {GPIO_SKL_LP_GPP_F10, {GpioPadModeNative2, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTolerance1v8 | GpioTermNone}},//SERIALIO_I2C5_ISH_12C2_SDA + {GPIO_SKL_LP_GPP_F11, {GpioPadModeNative2, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTolerance1v8 | GpioTermNone}},//SERIALIO_I2C5_ISH_12C2_SCL + {GPIO_SKL_LP_GPP_F12, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//EMMC_CMD + {GPIO_SKL_LP_GPP_F13, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//EMMC_DATA0 + {GPIO_SKL_LP_GPP_F14, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//EMMC_DATA1 + {GPIO_SKL_LP_GPP_F15, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//EMMC_DATA2 + {GPIO_SKL_LP_GPP_F16, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//EMMC_DATA3 + {GPIO_SKL_LP_GPP_F17, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//EMMC_DATA4 + {GPIO_SKL_LP_GPP_F18, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//EMMC_DATA5 + {GPIO_SKL_LP_GPP_F19, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//EMMC_DATA6 + {GPIO_SKL_LP_GPP_F20, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//EMMC_DATA7 + {GPIO_SKL_LP_GPP_F21, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//EMMC_RCLK + {GPIO_SKL_LP_GPP_F22, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//EMMC_CLK + {GPIO_SKL_LP_GPP_F23, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntLevel | GpioIntApic, GpioHostDeepReset, GpioTermNone}},//PCH_M.2_WWAN_UIM_SIM_DET + {GPIO_SKL_LP_GPP_G0, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SD_CMD + {GPIO_SKL_LP_GPP_G1, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SD_DATA0 + {GPIO_SKL_LP_GPP_G2, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SD_DATA1 + {GPIO_SKL_LP_GPP_G3, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SD_DATA2 + {GPIO_SKL_LP_GPP_G4, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SD_DATA3 + {GPIO_SKL_LP_GPP_G5, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SD_CDB + {GPIO_SKL_LP_GPP_G6, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SD_CLK + {GPIO_SKL_LP_GPP_G7, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioHostDeepReset, GpioTermNone}},//SD_WP + {GPIO_SKL_LP_GPD0, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioDswReset, GpioTermNone}},//PM_BATLOW_R_N + {GPIO_SKL_LP_GPD1, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioDswReset, GpioTermNone}},//AC_PRESENT_R + {GPIO_SKL_LP_GPD2, {GpioPadModeNative1, GpioHostOwnAcpi, GpioDirIn, GpioOutDefault, GpioIntLevel | GpioIntSci, GpioDswReset, GpioTermNone}},//LANWAKE_SMC_WAKE_SCI_N + {GPIO_SKL_LP_GPD3, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioDswReset, GpioTermWpu20K}},//PM_PWRBTN_R_N + {GPIO_SKL_LP_GPD4, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioDswReset, GpioTermNone}},//SLP_S3_R_N + {GPIO_SKL_LP_GPD5, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioDswReset, GpioTermNone}},//SLP_S4_R_N + {GPIO_SKL_LP_GPD6, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioDswReset, GpioTermNone}},//SLP_M_R_N + {GPIO_SKL_LP_GPD7, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioDswReset, GpioTermNone}},//USB_WAKEOUT_INTRUDET_N + {GPIO_SKL_LP_GPD8, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioDswReset, GpioTermNone}},//SUS_CLK + {GPIO_SKL_LP_GPD9, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioDswReset, GpioTermNone}},//PCH_SLP_WLAN_N + {GPIO_SKL_LP_GPD10, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioDswReset, GpioTermNone}},//SLP_S5_R_N + {GPIO_SKL_LP_GPD11, {GpioPadModeNative1, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioDswReset, GpioTermNone}},//PM_LANPHY_ENABLE + {END_OF_GPIO_TABLE, {GpioPadModeGpio, GpioHostOwnGpio, GpioDirNone, GpioOutDefault, GpioIntDis, GpioDswReset, GpioTermNone}},//Marking End of Table +}; + +#endif //_GPIO_CONFIG_H_ diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Include/HobUsageDataHob.h b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/HobUsageDataHob.h new file mode 100644 index 0000000..195e709 --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/HobUsageDataHob.h @@ -0,0 +1,35 @@ +/** @file + Definitions for Hob Usage data HOB + +@copyright + Copyright (c) 2022, Intel Corporation. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +@par Specification Reference: +**/ + +#ifndef _HOB_USAGE_DATA_HOB_H_ +#define _HOB_USAGE_DATA_HOB_H_ + +extern EFI_GUID gHobUsageDataGuid; + +#pragma pack (push, 1) + +/** + Hob Usage Data Hob + + Revision 1: + - Initial version. +**/ +typedef struct { + EFI_PHYSICAL_ADDRESS EfiMemoryTop; + EFI_PHYSICAL_ADDRESS EfiMemoryBottom; + EFI_PHYSICAL_ADDRESS EfiFreeMemoryTop; + EFI_PHYSICAL_ADDRESS EfiFreeMemoryBottom; + UINTN FreeMemory; +} HOB_USAGE_DATA_HOB; + +#pragma pack (pop) + +#endif // _HOB_USAGE_DATA_HOB_H_ diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Include/MemInfoHob.h b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/MemInfoHob.h new file mode 100644 index 0000000..35a5554 --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/MemInfoHob.h @@ -0,0 +1,315 @@ +/** @file + This file contains definitions required for creation of + Memory S3 Save data, Memory Info data and Memory Platform + data hobs. + +@copyright + Copyright (c) 2022, Intel Corporation. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +@par Specification Reference: +**/ +#ifndef _MEM_INFO_HOB_H_ +#define _MEM_INFO_HOB_H_ + + +#pragma pack (push, 1) + +extern EFI_GUID gSiMemoryS3DataGuid; +extern EFI_GUID gSiMemoryInfoDataGuid; +extern EFI_GUID gSiMemoryPlatformDataGuid; + +#define MAX_NODE 2 +#define MAX_CH 4 +#define MAX_DIMM 2 +// Must match definitions in +// Intel\ClientOneSiliconPkg\IpBlock\MemoryInit\Mtl\Include\MrcInterface.h +#define HOB_MAX_SAGV_POINTS 4 + +/// +/// Host reset states from MRC. +/// +#define WARM_BOOT 2 + +#define R_MC_CHNL_RANK_PRESENT 0x7C +#define B_RANK0_PRS BIT0 +#define B_RANK1_PRS BIT1 +#define B_RANK2_PRS BIT4 +#define B_RANK3_PRS BIT5 + +// @todo remove and use the MdePkg\Include\Pi\PiHob.h +#if !defined(_PEI_HOB_H_) && !defined(__PI_HOB_H__) +#ifndef __HOB__H__ +typedef struct _EFI_HOB_GENERIC_HEADER { + UINT16 HobType; + UINT16 HobLength; + UINT32 Reserved; +} EFI_HOB_GENERIC_HEADER; + +typedef struct _EFI_HOB_GUID_TYPE { + EFI_HOB_GENERIC_HEADER Header; + EFI_GUID Name; + /// + /// Guid specific data goes here + /// +} EFI_HOB_GUID_TYPE; +#endif +#endif + +/// +/// Defines taken from MRC so avoid having to include MrcInterface.h +/// + +// +// Matches MAX_SPD_SAVE define in MRC +// +#ifndef MAX_SPD_SAVE +#define MAX_SPD_SAVE 29 +#endif + +// +// MRC version description. +// +typedef struct { + UINT8 Major; ///< Major version number + UINT8 Minor; ///< Minor version number + UINT8 Rev; ///< Revision number + UINT8 Build; ///< Build number +} SiMrcVersion; + +// +// Matches MrcChannelSts enum in MRC +// +#ifndef CHANNEL_NOT_PRESENT +#define CHANNEL_NOT_PRESENT 0 // There is no channel present on the controller. +#endif +#ifndef CHANNEL_DISABLED +#define CHANNEL_DISABLED 1 // There is a channel present but it is disabled. +#endif +#ifndef CHANNEL_PRESENT +#define CHANNEL_PRESENT 2 // There is a channel present and it is enabled. +#endif + +// +// Matches MrcDimmSts enum in MRC +// +#ifndef DIMM_ENABLED +#define DIMM_ENABLED 0 // DIMM/rank Pair is enabled, presence will be detected. +#endif +#ifndef DIMM_DISABLED +#define DIMM_DISABLED 1 // DIMM/rank Pair is disabled, regardless of presence. +#endif +#ifndef DIMM_PRESENT +#define DIMM_PRESENT 2 // There is a DIMM present in the slot/rank pair and it will be used. +#endif +#ifndef DIMM_NOT_PRESENT +#define DIMM_NOT_PRESENT 3 // There is no DIMM present in the slot/rank pair. +#endif + +// +// Matches MrcBootMode enum in MRC +// +#ifndef __MRC_BOOT_MODE__ +#define __MRC_BOOT_MODE__ //The below values are originated from MrcCommonTypes.h + #ifndef INT32_MAX + #define INT32_MAX (0x7FFFFFFF) + #endif //INT32_MAX +typedef enum { + bmCold, ///< Cold boot + bmWarm, ///< Warm boot + bmS3, ///< S3 resume + bmFast, ///< Fast boot + MrcBootModeMax, ///< MRC_BOOT_MODE enumeration maximum value. + MrcBootModeDelim = INT32_MAX ///< This value ensures the enum size is consistent on both sides of the PPI. +} MRC_BOOT_MODE; +#endif //__MRC_BOOT_MODE__ + +// +// Matches MrcDdrType enum in MRC +// +#ifndef MRC_DDR_TYPE_DDR5 +#define MRC_DDR_TYPE_DDR5 1 +#endif +#ifndef MRC_DDR_TYPE_LPDDR5 +#define MRC_DDR_TYPE_LPDDR5 2 +#endif +#ifndef MRC_DDR_TYPE_LPDDR4 +#define MRC_DDR_TYPE_LPDDR4 3 +#endif +#ifndef MRC_DDR_TYPE_UNKNOWN +#define MRC_DDR_TYPE_UNKNOWN 4 +#endif + +#define MAX_PROFILE_NUM 7 // number of memory profiles supported +#define MAX_XMP_PROFILE_NUM 5 // number of XMP profiles supported + +#define MAX_TRACE_REGION 5 +#define MAX_TRACE_CACHE_TYPE 2 + +// +// DIMM timings +// +typedef struct { + UINT32 tCK; ///< Memory cycle time, in femtoseconds. + UINT16 NMode; ///< Number of tCK cycles for the channel DIMM's command rate mode. + UINT16 tCL; ///< Number of tCK cycles for the channel DIMM's CAS latency. + UINT16 tCWL; ///< Number of tCK cycles for the channel DIMM's minimum CAS write latency time. + UINT16 tFAW; ///< Number of tCK cycles for the channel DIMM's minimum four activate window delay time. + UINT16 tRAS; ///< Number of tCK cycles for the channel DIMM's minimum active to precharge delay time. + UINT16 tRCDtRP; ///< Number of tCK cycles for the channel DIMM's minimum RAS# to CAS# delay time and Row Precharge delay time. + UINT16 tREFI; ///< Number of tCK cycles for the channel DIMM's minimum Average Periodic Refresh Interval. + UINT16 tRFC; ///< Number of tCK cycles for the channel DIMM's minimum refresh recovery delay time. + UINT16 tRFCpb; ///< Number of tCK cycles for the channel DIMM's minimum per bank refresh recovery delay time. + UINT16 tRFC2; ///< Number of tCK cycles for the channel DIMM's minimum refresh recovery delay time. + UINT16 tRFC4; ///< Number of tCK cycles for the channel DIMM's minimum refresh recovery delay time. + UINT16 tRPab; ///< Number of tCK cycles for the channel DIMM's minimum row precharge delay time for all banks. + UINT16 tRRD; ///< Number of tCK cycles for the channel DIMM's minimum row active to row active delay time. + UINT16 tRRD_L; ///< Number of tCK cycles for the channel DIMM's minimum row active to row active delay time for same bank groups. + UINT16 tRRD_S; ///< Number of tCK cycles for the channel DIMM's minimum row active to row active delay time for different bank groups. + UINT16 tRTP; ///< Number of tCK cycles for the channel DIMM's minimum internal read to precharge command delay time. + UINT16 tWR; ///< Number of tCK cycles for the channel DIMM's minimum write recovery time. + UINT16 tWTR; ///< Number of tCK cycles for the channel DIMM's minimum internal write to read command delay time. + UINT16 tWTR_L; ///< Number of tCK cycles for the channel DIMM's minimum internal write to read command delay time for same bank groups. + UINT16 tWTR_S; ///< Number of tCK cycles for the channel DIMM's minimum internal write to read command delay time for different bank groups. + UINT16 tCCD_L; ///< Number of tCK cycles for the channel DIMM's minimum CAS-to-CAS delay for same bank group. +} MRC_CH_TIMING; + +typedef struct { + UINT16 tRDPRE; ///< Read CAS to Precharge cmd delay +} MRC_IP_TIMING; + +/// +/// Memory SMBIOS & OC Memory Data Hob +/// +typedef struct { + UINT8 Status; ///< See MrcDimmStatus for the definition of this field. + UINT8 DimmId; + UINT32 DimmCapacity; ///< DIMM size in MBytes. + UINT16 MfgId; + UINT8 ModulePartNum[20]; ///< Module part number for DDR3 is 18 bytes however for DRR4 20 bytes as per JEDEC Spec, so reserving 20 bytes + UINT8 RankInDimm; ///< The number of ranks in this DIMM. + UINT8 SpdDramDeviceType; ///< Save SPD DramDeviceType information needed for SMBIOS structure creation. + UINT8 SpdModuleType; ///< Save SPD ModuleType information needed for SMBIOS structure creation. + UINT8 SpdModuleMemoryBusWidth; ///< Save SPD ModuleMemoryBusWidth information needed for SMBIOS structure creation. + UINT8 SpdSave[MAX_SPD_SAVE]; ///< Save SPD Manufacturing information needed for SMBIOS structure creation. + UINT16 Speed; ///< The maximum capable speed of the device, in MHz + UINT8 MdSocket; ///< MdSocket: 0 = Memory Down, 1 = Socketed. Needed for SMBIOS structure creation. +} DIMM_INFO; + +typedef struct { + UINT8 Status; ///< Indicates whether this channel should be used. + UINT8 ChannelId; + UINT8 DimmCount; ///< Number of valid DIMMs that exist in the channel. + MRC_CH_TIMING Timing[MAX_PROFILE_NUM]; ///< The channel timing values. + DIMM_INFO DimmInfo[MAX_DIMM]; ///< Save the DIMM output characteristics. +} CHANNEL_INFO; + +typedef struct { + UINT8 Status; ///< Indicates whether this controller should be used. + UINT16 DeviceId; ///< The PCI device id of this memory controller. + UINT8 RevisionId; ///< The PCI revision id of this memory controller. + UINT8 ChannelCount; ///< Number of valid channels that exist on the controller. + CHANNEL_INFO ChannelInfo[MAX_CH]; ///< The following are channel level definitions. +} CONTROLLER_INFO; + +typedef struct { + UINT64 BaseAddress; ///< Trace Base Address + UINT64 TotalSize; ///< Total Trace Region of Same Cache type + UINT8 CacheType; ///< Trace Cache Type + UINT8 ErrorCode; ///< Trace Region Allocation Fail Error code + UINT8 Rsvd[2]; +} PSMI_MEM_INFO; + +/// This data structure contains per-SaGv timing values that are considered output by the MRC. +typedef struct { + UINT32 DataRate; ///< The memory rate for the current SaGv Point in units of MT/s + MRC_CH_TIMING JedecTiming; ///< Timings used for this entry's corresponding SaGv Point - derived from JEDEC SPD spec + MRC_IP_TIMING IpTiming; ///< Timings used for this entry's corresponding SaGv Point - IP specific +} HOB_SAGV_TIMING_OUT; + +/// This data structure contains SAGV config values that are considered output by the MRC. +typedef struct { + UINT32 NumSaGvPointsEnabled; ///< Count of the total number of SAGV Points enabled. + UINT32 SaGvPointMask; ///< Bit mask where each bit indicates an enabled SAGV point. + HOB_SAGV_TIMING_OUT SaGvTiming[HOB_MAX_SAGV_POINTS]; +} HOB_SAGV_INFO; + +typedef struct { + UINT8 Revision; + UINT16 DataWidth; ///< Data width, in bits, of this memory device + /** As defined in SMBIOS 3.0 spec + Section 7.18.2 and Table 75 + **/ + UINT8 MemoryType; ///< DDR type: DDR3, DDR4, or LPDDR3 + UINT16 MaximumMemoryClockSpeed;///< The maximum capable speed of the device, in megahertz (MHz) + UINT16 ConfiguredMemoryClockSpeed; ///< The configured clock speed to the memory device, in megahertz (MHz) + /** As defined in SMBIOS 3.0 spec + Section 7.17.3 and Table 72 + **/ + UINT8 ErrorCorrectionType; + + SiMrcVersion Version; + BOOLEAN EccSupport; + UINT8 MemoryProfile; + UINT8 IsDMBRunning; ///< Deprecated. + UINT32 TotalPhysicalMemorySize; + UINT32 DefaultXmptCK[MAX_XMP_PROFILE_NUM];///< Stores the tCK value read from SPD XMP profiles if they exist. + /// + /// Set of bit flags showing XMP and User Profile capability status for the DIMMs detected in system. For each bit, 1 is supported, 0 is unsupported. + /// Bit 0: XMP Profile 1 capability status + /// Bit 1: XMP Profile 2 capability status + /// Bit 2: XMP Profile 3 capability status + /// Bit 3: User Profile 4 capability status + /// Bit 4: User Profile 5 capability status + /// + UINT8 XmpProfileEnable; + UINT8 XmpConfigWarning; ///< If XMP capable DIMMs config support only 1DPC, but 2DPC is installed + UINT8 Ratio; ///< DDR Frequency Ratio, Max Value 255 + UINT8 RefClk; + UINT32 VddVoltage[MAX_PROFILE_NUM]; + UINT32 VddqVoltage[MAX_PROFILE_NUM]; + UINT32 VppVoltage[MAX_PROFILE_NUM]; + CONTROLLER_INFO Controller[MAX_NODE]; + UINT16 Ratio_UINT16; ///< DDR Frequency Ratio, used for programs that require ratios higher then 255 + UINT32 NumPopulatedChannels; ///< Total number of memory channels populated + HOB_SAGV_INFO SagvConfigInfo; ///< This data structure contains SAGV config values that are considered output by the MRC. + UINT16 TotalMemWidth; ///< Total Memory Width in bits from all populated channels + BOOLEAN MemorySpeedReducedWrongDimmSlot; ///< Can be used by OEM BIOS to display a warning on the screen that DDR speed was reduced due to wrong DIMM population + BOOLEAN MemorySpeedReducedMixedConfig; ///< Can be used by OEM BIOS to display a warning on the screen that DDR speed was reduced due to mixed DIMM config + BOOLEAN DynamicMemoryBoostTrainingFailed; ///< TRUE if Dynamic Memory Boost failed to train and was force disabled on the last full training boot. FALSE otherwise. +} MEMORY_INFO_DATA_HOB; + +/** + Memory Platform Data Hob + + Revision 1: + - Initial version. + Revision 2: + - Added TsegBase, PrmrrSize, PrmrrBase, Gttbase, MmioSize, PciEBaseAddress fields +**/ +typedef struct { + UINT8 Revision; + UINT8 Reserved[3]; + UINT32 BootMode; + UINT32 TsegSize; + UINT32 TsegBase; + UINT32 PrmrrSize; + UINT64 PrmrrBase; + UINT32 GttBase; + UINT32 MmioSize; + UINT32 PciEBaseAddress; + PSMI_MEM_INFO PsmiInfo[MAX_TRACE_CACHE_TYPE]; + PSMI_MEM_INFO PsmiRegionInfo[MAX_TRACE_REGION]; + BOOLEAN MrcBasicMemoryTestPass; +} MEMORY_PLATFORM_DATA; + +typedef struct { + EFI_HOB_GUID_TYPE EfiHobGuidType; + MEMORY_PLATFORM_DATA Data; + UINT8 *Buffer; +} MEMORY_PLATFORM_DATA_HOB; + +#pragma pack (pop) + +#endif // _MEM_INFO_HOB_H_ diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Include/SmbiosCacheInfoHob.h b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/SmbiosCacheInfoHob.h new file mode 100644 index 0000000..bfa0d80 --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/SmbiosCacheInfoHob.h @@ -0,0 +1,47 @@ +/** @file + Header file for SMBIOS Cache Info HOB + +@copyright + Copyright (c) 2022, Intel Corporation. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +@par Specification Reference: +**/ + +#ifndef _SMBIOS_CACHE_INFO_HOB_H_ +#define _SMBIOS_CACHE_INFO_HOB_H_ + +#include +#include + +#pragma pack(1) +/// +/// SMBIOS Cache Info HOB Structure +/// +typedef struct { + UINT16 ProcessorSocketNumber; + UINT16 NumberOfCacheLevels; ///< Based on Number of Cache Types L1/L2/L3 + UINT8 SocketDesignationStrIndex; ///< String Index in the string Buffer. Example "L1-CACHE" + UINT16 CacheConfiguration; ///< Format defined in SMBIOS Spec v3.1 Section7.8 Table36 + UINT16 MaxCacheSize; ///< Format defined in SMBIOS Spec v3.1 Section7.8.1 + UINT16 InstalledSize; ///< Format defined in SMBIOS Spec v3.1 Section7.8.1 + UINT16 SupportedSramType; ///< Format defined in SMBIOS Spec v3.1 Section7.8.2 + UINT16 CurrentSramType; ///< Format defined in SMBIOS Spec v3.1 Section7.8.2 + UINT8 CacheSpeed; ///< Cache Speed in nanoseconds. 0 if speed is unknown. + UINT8 ErrorCorrectionType; ///< ENUM Format defined in SMBIOS Spec v3.1 Section 7.8.3 + UINT8 SystemCacheType; ///< ENUM Format defined in SMBIOS Spec v3.1 Section 7.8.4 + UINT8 Associativity; ///< ENUM Format defined in SMBIOS Spec v3.1 Section 7.8.5 + // + // Add for smbios 3.1.0 + // + UINT32 MaximumCacheSize2; ///< Format defined in SMBIOS Spec v3.1 Section7.8.1 + UINT32 InstalledSize2; ///< Format defined in SMBIOS Spec v3.1 Section7.8.1 + /** + String Buffer - each string terminated by NULL "0x00" + String buffer terminated by double NULL "0x0000" + **/ +} SMBIOS_CACHE_INFO; +#pragma pack() + +#endif // _SMBIOS_CACHE_INFO_HOB_H_ diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Include/SmbiosProcessorInfoHob.h b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/SmbiosProcessorInfoHob.h new file mode 100644 index 0000000..90c1230 --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/Include/SmbiosProcessorInfoHob.h @@ -0,0 +1,62 @@ +/** @file + Header file for SMBIOS Processor Info HOB + +@copyright + Copyright (c) 2022, Intel Corporation. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +@par Specification Reference: + System Management BIOS (SMBIOS) Reference Specification v3.1.0 + dated 2016-Nov-16 (DSP0134) + http://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.1.0.pdf +**/ + +#ifndef _SMBIOS_PROCESSOR_INFO_HOB_H_ +#define _SMBIOS_PROCESSOR_INFO_HOB_H_ + +#include +#include + +#pragma pack(1) +/// +/// SMBIOS Processor Info HOB Structure +/// +typedef struct { + UINT16 TotalNumberOfSockets; + UINT16 CurrentSocketNumber; + UINT8 ProcessorType; ///< ENUM defined in SMBIOS Spec v3.1 Section 7.5.1 + /** This info is used for both ProcessorFamily and ProcessorFamily2 fields + See ENUM defined in SMBIOS Spec v3.1 Section 7.5.2 + **/ + UINT16 ProcessorFamily; + UINT8 ProcessorManufacturerStrIndex; ///< Index of the String in the String Buffer + UINT64 ProcessorId; ///< ENUM defined in SMBIOS Spec v3.1 Section 7.5.3 + UINT8 ProcessorVersionStrIndex; ///< Index of the String in the String Buffer + UINT8 Voltage; ///< Format defined in SMBIOS Spec v3.1 Section 7.5.4 + UINT16 ExternalClockInMHz; ///< External Clock Frequency. Set to 0 if unknown. + UINT16 MaxSpeedInMHz; ///< Snapshot of Max processor speed during boot + UINT16 CurrentSpeedInMHz; ///< Snapshot of current processor speed during boot + UINT8 Status; ///< Format defined in the SMBIOS Spec v3.1 Table 21 + UINT8 ProcessorUpgrade; ///< ENUM defined in SMBIOS Spec v3.1 Section 7.5.5 + /** This info is used for both CoreCount & CoreCount2 fields + See detailed description in SMBIOS Spec v3.1 Section 7.5.6 + **/ + UINT16 CoreCount; + /** This info is used for both CoreEnabled & CoreEnabled2 fields + See detailed description in SMBIOS Spec v3.1 Section 7.5.7 + **/ + UINT16 EnabledCoreCount; + /** This info is used for both ThreadCount & ThreadCount2 fields + See detailed description in SMBIOS Spec v3.1 Section 7.5.8 + **/ + UINT16 ThreadCount; + UINT16 ProcessorCharacteristics; ///< Format defined in SMBIOS Spec v3.1 Section 7.5.9 + /** + String Buffer - each string terminated by NULL "0x00" + String buffer terminated by double NULL "0x0000" + **/ +} SMBIOS_PROCESSOR_INFO; +#pragma pack() + +#endif // _SMBIOS_PROCESSOR_INFO_HOB_H_ diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Library/FspPcdListLib/FspPcdListLibNull.c b/AlderLakeFspBinPkg/Client/AlderLakeP/Library/FspPcdListLib/FspPcdListLibNull.c new file mode 100644 index 0000000..74e7bcb --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/Library/FspPcdListLib/FspPcdListLibNull.c @@ -0,0 +1,25 @@ +/** @file + Library instance to list all DynamicEx PCD FSP consumes. + No real functionality. + +@copyright + Copyright (c) 2022, Intel Corporation. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +@par Specification Reference: +**/ + +#include + +/** + Do nothing function. + +**/ +VOID +FspPcdListLibNull ( + VOID + ) +{ + return; +} diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/Library/FspPcdListLib/FspPcdListLibNull.inf b/AlderLakeFspBinPkg/Client/AlderLakeP/Library/FspPcdListLib/FspPcdListLibNull.inf new file mode 100644 index 0000000..bce5c98 --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/Library/FspPcdListLib/FspPcdListLibNull.inf @@ -0,0 +1,61 @@ +## @file +# Library instance to list all DynamicEx PCD FSP consumes. +# +# @copyright +# Copyright (c) 2022, Intel Corporation. All rights reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +# @par Specification Reference: +# +## + +[Defines] + INF_VERSION = 0x00010017 + BASE_NAME = FspPcdListLibNull + FILE_GUID = C5D4D79E-3D5C-4EB6-899E-6F1563CB0B32 + VERSION_STRING = 1.0 + MODULE_TYPE = BASE + LIBRARY_CLASS = NULL +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# + +[LibraryClasses] + BaseLib + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + UefiCpuPkg/UefiCpuPkg.dec + ClientOneSiliconPkg/SiPkg.dec + +[Sources] + FspPcdListLibNull.c + +[Pcd] + # + # List all the DynamicEx PCDs that FSP will consume. + # FSP Dispatch mode bootloader will include this INF to ensure all the PCDs are + # built into PCD database. + # + gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptTablePrivateDataPtr ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptTablePrivateSmmDataPtr ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbSize ## CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber ## CONSUMES + gSiPkgTokenSpaceGuid.PcdSiPciExpressBaseAddress ## CONSUMES + gSiPkgTokenSpaceGuid.PcdPciExpressRegionLength ## CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress ## CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize ## CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuApLoopMode ## CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuApTargetCstate ## CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdSevEsIsEnabled ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable ## CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress ## CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuFeaturesSetting ## CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuProcTraceMemSize ## CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuProcTraceOutputScheme ## CONSUMES + gUefiCpuPkgTokenSpaceGuid.PcdCpuFeaturesCapability ## CONSUMES diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/SampleCode/Vbt/Vbt.bin b/AlderLakeFspBinPkg/Client/AlderLakeP/SampleCode/Vbt/Vbt.bin new file mode 100644 index 0000000000000000000000000000000000000000..be3342f7a798d1fa0e241448554affb0b41dce08 GIT binary patch literal 8704 zcmeHMUrbw782`?_?WL8ShPl75yC>S`Ki$(D=8y!bbhnn_c)tWfgF~a;{$c-Upl>jE zn*UCF=-b*qZV@FI+vjRi)wa;3ndD?cw2}8ujZaJ_Tf382F3e1&csLm1{&VM&lga6^ znPh?wjlAgR0VJ-~(4Ljwh$PI6zc*^R}Zc?MFHHzR;?+w|dpKW3Y6!b#xs& zUheGf2@dv$Lw)|?(BJ?cjPmZ#kbh{Xr$5klmWQK*CqseIa8Gx+vmk}wRO6W0ux2dAb}E!;mj$)m#O3XdkQB&T0XCR)m!0w_Zc8zW*0Rb&W-y8&{O zgLJ43szEta)JaeVB?g6+U?o@yR)Q46mMa=Yn3t>}*kZlY7TF^*2xMWe6I3%BDrxAOH)<2g4G0s+}_JCk#(uu{rU zs=&>ibGw{#+f8Ig>kR1yZc@(e-JDw`kz%?T1#V`Ti0$*78(f5J?o@CnQn<0%jSA32 z(<0=~8*s`I#E1zY+Re24ntm;>+*kLK-AQB63(%|3Iq2Ka_n;p_KZSk){StZu`W^Hq z=r7RUpt}-)l+1y8RL3QV^BdZ@Dze%2EOu(iRY|9CfyoZv{C+c+Gep^ss+LHx{u24t zQ+&Yrv9LXRL|!d((rVdlwov(amL5Re7FGFqw1q>dy2QXkG0;#)lH6VZA(k~E`O2md zyDqIUefQJmEzL3Q!u1uCT;};UbK`8UI852>54&`OuN`nZ;&oQ*nvOZF{G#mQa!lGD zAzi_#Ew-OG=v5mC*7{8@u`+Fskl06>pXyc5LWhOm>6nwv+dmNOWD^KJ+={o(LT#eO z2&tNy!rfE|vOq&oa?RSSi$a*?k!rW*z6XIB;{IJM!e_0sYmw@DEw-4Cff?e~PA*MZ zE+U4LCp2|@*{f-pJc1(jEehxuOBr3OVSD+UAC zBM|hmPIEqpNxt>0mb!G$<<4d;)|?*;nXvm5F<`^I{dLi(QCz3WxZ91*s1P#?wQPHJ`+OTyPOXp?V;U=^5yTh)wIms92L8Mje}E zJJyd3(67C43Sr}YhQgGfBkX;;DdYBI3DPlT&n6M|4+3vd87*wc&L~=Wtf%vzpWDqP z+zR4o2bLWJtAM#6ZX!6FJz=sgmR=F%YVHwRETk24&z-2kAd11I-bEvl3~FDrrDjws{L|clsHP*q2x@8Hl9@HtUU| zj{bgJWn?I6Qi%hzW+ToFY{prM^fJq~Y&(eDt&fhvW=k_l+gDkbuFu=%1xFe45 Y=Xf8WR3aAh-M`7_Uya|BU;}M`0%2BnE&u=k literal 0 HcmV?d00001 diff --git a/AlderLakeFspBinPkg/Client/AlderLakeP/SampleCode/Vbt/Vbt.json b/AlderLakeFspBinPkg/Client/AlderLakeP/SampleCode/Vbt/Vbt.json new file mode 100644 index 0000000..81001dc --- /dev/null +++ b/AlderLakeFspBinPkg/Client/AlderLakeP/SampleCode/Vbt/Vbt.json @@ -0,0 +1,72466 @@ +[ + { + "Type": "DataBlock", + "block": { + "info": [ + { + "Type": "Block", + "Block": { + "Id": "0", + "Name": "Header", + "SizeInBytes": "48", + "BlockIdSizeInBytes": "0", + "BlockSizeSizeInBytes": "0", + "StartOffset": "", + "Data": [ + { + "Name": "Product_String", + "SizeInBits": "160", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VBT_Version", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VBT_Header_Size", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VBT_Table_Size", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VBT_Checksum", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VBT_Reserved", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BDB_Offset", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Offset_1", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Offset_2", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Offset_3", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Offset_4", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "0-1", + "Name": "Header", + "SizeInBytes": "22", + "BlockIdSizeInBytes": "0", + "BlockSizeSizeInBytes": "0", + "StartOffset": "", + "Data": [ + { + "Name": "Signature", + "SizeInBits": "128", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BDB_Ver", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BDB_Header_Size ", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BDB_Size", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "254", + "Name": "Signon Strings and Other General Data", + "SizeInBytes": "237", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "Bmp_BIOS_Size", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BIOS_Type", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RelStage", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Chipset", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Integrated_EFP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Signon", + "SizeInBits": "1240", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Copyright", + "SizeInBits": "488", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "bmp_BIOS_CS", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "bmp_VBIOS_Post_Mode", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "bmp_BW_Percent", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "bmp_Resize_PCI_BIOS", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Allow_Boot_DVI", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Allow_Aspect_Ratio", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "1", + "Name": "General Bit Definitions", + "SizeInBytes": "9", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Kvmr_Session_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "bmp_Dynamic_CdClock_Supported", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Hotplug_Support_Enb", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "bmp_Legacy_Monitor_Detect", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DP_SSC_Enb", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DP_SSC_Dongle_Enb", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Type_C_HPD_Retry_Timeout", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "253", + "Name": "PRD Boot Algorithm Table", + "SizeInBytes": "69", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice1Primary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice1Secondary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice2Primary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice2Secondary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice3Primary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice3Secondary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice4Primary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice4Secondary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice5Primary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice5Secondary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice6Primary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice6Secondary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice7Primary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice7Secondary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice8Primary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice8Secondary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice9Primary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice9Secondary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice10Primary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice10Secondary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice11Primary", + "Comment": "", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice11Secondary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice12Primary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice12Secondary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice13Primary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice13Secondary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice14Primary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice14Secondary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice15Primary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice15Secondary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice16Primary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ChildDevice16Secondary", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "2", + "Name": "General Data Definitions", + "SizeInBytes": "398", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "size_ChildStruc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Device_Class", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "48", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_LFP_Compression_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_LFP_Compression_Method_Select", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_LFP_Compression_Struct_Index", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Port", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "48", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Lane_Reversal", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_IBoost_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_LFP_HPD_Inversion_Enable ", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_LFP_Vswing_Override_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_LFP_EDP_DP_Port_Max_LaneCount", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_LFP_AUX_Channel", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "88", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_LFP_Dp_Boost_Magnitude", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP2_Device_Class", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "48", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_LFP2_Compression_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_LFP2_Compression_Method_Select", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_LFP2_Compression_Struct_Index", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP2_Port", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "48", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP2_Lane_Reversal", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP2_IBoost_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_LFP2_Vswing_Override_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_LFP2_EDP_DP_Port_Max_LaneCount", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_LFP2_AUX_Channel", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "88", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_LFP2_Dp_Boost_Magnitude", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_Type", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_OnBoard_Pre_emphasis", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_OnBoard_Voltage_swing", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_OnBoard_Redriver_Present", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_Dock_Pre_emphasis", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_Dock_Voltage_swing", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_Dock_Redriver_Present", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_HDMI_LS_Type", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_HDMI_Maximum_Data_Rate", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP1_EDIDless_en", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP1_Compression_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP1_Compression_Method_Select", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP1_Dual_Pipe_Ganged_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP1_LTTPRNonTransparentMode", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP1_Compression_Struct_Index ", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP1_MaximumFrlRate", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP1_IsMaxFrlRateFieldValid ", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_Port", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_DDC_Pin", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_Port_Dockable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_Lane_Reversal", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LSPcon1_Options", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_IBoost_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_EFP1_HPD_Inversion_Enable ", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_EFP1_Vswing_Override_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP1_EDP_DP_Port_Max_LaneCount", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_AUX_Channel", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "48", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP1_DP_Alt_Mode_OverTypeC_Enabled", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP1_Thunderbolt_Feature_Enabled", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP1_DP_Port_Trace_Length", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_Dp_Boost_Magnitude", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_Hdmi_Boost_Magnitude", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP1_DP_Port_Max_LinkRate", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_Type", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_OnBoard_Pre_emphasis", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_OnBoard_Voltage_swing", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_OnBoard_Redriver_Present", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_Dock_Pre_emphasis", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_Dock_Voltage_swing", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_Dock_Redriver_Present", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_HDMI_LS_Type", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_HDMI_Maximum_Data_Rate", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP2_EDIDless_en", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP2_Compression_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP2_Compression_Method_Select", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP2_Dual_Pipe_Ganged_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP2_LTTPRNonTransparentMode", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP2_Compression_Struct_Index ", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP2_MaximumFrlRate", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP2_IsMaxFrlRateFieldValid ", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_Port", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_DDC_Pin", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_Port_Dockable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_Lane_Reversal", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LSPcon2_Options", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_IBoost_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_EFP2_HPD_Inversion_Enable ", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_EFP2_Vswing_Override_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP2_EDP_DP_Port_Max_LaneCount", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_AUX_Channel", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "48", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP2_DP_Alt_Mode_OverTypeC_Enabled", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP2_Thunderbolt_Feature_Enabled", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP2_DP_Port_Trace_Length", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_Dp_Boost_Magnitude", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_Hdmi_Boost_Magnitude", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP2_DP_Port_Max_LinkRate", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_Type", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_OnBoard_Pre_emphasis", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_OnBoard_Voltage_swing", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_OnBoard_Redriver_Present", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_Dock_Pre_emphasis", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_Dock_Voltage_swing", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_Dock_Redriver_Present", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_HDMI_LS_Type", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_HDMI_Maximum_Data_Rate", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP3_EDIDless_en", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP3_Compression_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP3_Compression_Method_Select", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP3_Dual_Pipe_Ganged_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP3_LTTPRNonTransparentMode", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP3_Compression_Struct_Index ", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP3_MaximumFrlRate", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP3_IsMaxFrlRateFieldValid ", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_Port", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_DDC_Pin", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_Port_Dockable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_Lane_Reversal", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LSPcon3_Options", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_IBoost_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_EFP3_HPD_Inversion_Enable ", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_EFP3_Vswing_Override_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP3_EDP_DP_Port_Max_LaneCount", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_AUX_Channel", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "48", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP3_DP_Alt_Mode_OverTypeC_Enabled", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP3_Thunderbolt_Feature_Enabled", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP3_DP_Port_Trace_Length", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_Dp_Boost_Magnitude", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_Hdmi_Boost_Magnitude", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP3_DP_Port_Max_LinkRate", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_Type", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_OnBoard_Pre_emphasis", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_OnBoard_Voltage_swing", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_OnBoard_Redriver_Present", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_Dock_Pre_emphasis", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_Dock_Voltage_swing", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_Dock_Redriver_Present", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_HDMI_LS_Type", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_HDMI_Maximum_Data_Rate", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP4_EDIDless_en", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP4_Compression_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP4_Compression_Method_Select", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP4_Dual_Pipe_Ganged_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP4_LTTPRNonTransparentMode", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP4_Compression_Struct_Index ", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP4_MaximumFrlRate", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP4_IsMaxFrlRateFieldValid ", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_Port", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_DDC_Pin", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_Port_Dockable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_Lane_Reversal", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LSPcon4_Options", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_IBoost_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_EFP4_HPD_Inversion_Enable ", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_EFP4_Vswing_Override_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP4_EDP_DP_Port_Max_LaneCount", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_AUX_Channel", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "48", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP4_DP_Alt_Mode_OverTypeC_Enabled", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP4_Thunderbolt_Feature_Enabled", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP4_DP_Port_Trace_Length", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_Dp_Boost_Magnitude", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_Hdmi_Boost_Magnitude", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP4_DP_Port_Max_LinkRate", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_Type", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_OnBoard_Pre_emphasis", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_OnBoard_Voltage_swing", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_OnBoard_Redriver_Present", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_Dock_Pre_emphasis", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_Dock_Voltage_swing", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_Dock_Redriver_Present", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_HDMI_LS_Type", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_HDMI_Maximum_Data_Rate", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP5_EDIDless_en", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP5_Compression_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP5_Compression_Method_Select", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP5_Dual_Pipe_Ganged_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP5_LTTPRNonTransparentMode", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP5_Compression_Struct_Index ", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP5_MaximumFrlRate", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP5_IsMaxFrlRateFieldValid ", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_Port", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_DDC_Pin", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_Port_Dockable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_Lane_Reversal", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LSPcon5_Options", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_IBoost_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_EFP5_HPD_Inversion_Enable ", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_EFP5_Vswing_Override_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP5_EDP_DP_Port_Max_LaneCount", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_AUX_Channel", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "48", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP5_DP_Alt_Mode_OverTypeC_Enabled", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP5_Thunderbolt_Feature_Enabled", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP5_DP_Port_Trace_Length", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_Dp_Boost_Magnitude", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_Hdmi_Boost_Magnitude", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP5_DP_Port_Max_LinkRate", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_Type", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_OnBoard_Pre_emphasis", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_OnBoard_Voltage_swing", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_OnBoard_Redriver_Present", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_Dock_Pre_emphasis", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_Dock_Voltage_swing", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_Dock_Redriver_Present", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_HDMI_LS_Type", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_HDMI_Maximum_Data_Rate", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP6_EDIDless_en", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP6_Compression_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP6_Compression_Method_Select", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP6_Dual_Pipe_Ganged_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP6_LTTPRNonTransparentMode", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP6_Compression_Struct_Index ", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP6_MaximumFrlRate", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP6_IsMaxFrlRateFieldValid ", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_Port", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_DDC_Pin", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_Port_Dockable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_Lane_Reversal", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LSPcon6_Options", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_IBoost_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_EFP6_HPD_Inversion_Enable ", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_EFP6_Vswing_Override_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP6_EDP_DP_Port_Max_LaneCount", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_AUX_Channel", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "48", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP6_DP_Alt_Mode_OverTypeC_Enabled", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP6_Thunderbolt_Feature_Enabled", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP6_DP_Port_Trace_Length", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_Dp_Boost_Magnitude", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_Hdmi_Boost_Magnitude", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP6_DP_Port_Max_LinkRate", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_Type", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_OnBoard_Pre_emphasis", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_OnBoard_Voltage_swing", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_OnBoard_Redriver_Present", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_Dock_Pre_emphasis", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_Dock_Voltage_swing", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_Dock_Redriver_Present", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_HDMI_LS_Type", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_HDMI_Maximum_Data_Rate", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP7_EDIDless_en", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP7_Compression_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP7_Compression_Method_Select", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP7_Dual_Pipe_Ganged_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP7_LTTPRNonTransparentMode", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP7_Compression_Struct_Index ", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP7_MaximumFrlRate", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP7_IsMaxFrlRateFieldValid ", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_Port", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_DDC_Pin", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_Port_Dockable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_Lane_Reversal", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LSPcon7_Options", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_IBoost_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_EFP7_HPD_Inversion_Enable ", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "INT_EFP7_Vswing_Override_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP7_EDP_DP_Port_Max_LaneCount", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_AUX_Channel", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "48", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP7_DP_Alt_Mode_OverTypeC_Enabled", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP7_Thunderbolt_Feature_Enabled", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP7_DP_Port_Trace_Length", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_Dp_Boost_Magnitude", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_Hdmi_Boost_Magnitude", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Int_EFP7_DP_Port_Max_LinkRate", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "312", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "252", + "Name": "Hook Defintions", + "SizeInBytes": "125", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "SKIP", + "SizeInBits": "976", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "9", + "Name": "PSR/SRD feature control block", + "SizeInBytes": "103", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "PSR_FullLink_Enable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Require_AUX2Wakeup_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_IdleFrames2Wait_01", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Lines2Wait_B4LinkS3_01", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_TP1_WaitTime_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR1_TP_2_3_4_WaitTime_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_FullLink_Enable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Require_AUX2Wakeup_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_IdleFrames2Wait_02", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Lines2Wait_B4LinkS3_02", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_TP1_WaitTime_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR1_TP_2_3_4_WaitTime_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_FullLink_Enable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Require_AUX2Wakeup_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_IdleFrames2Wait_03", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Lines2Wait_B4LinkS3_03", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_TP1_WaitTime_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR1_TP_2_3_4_WaitTime_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_FullLink_Enable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Require_AUX2Wakeup_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_IdleFrames2Wait_04", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Lines2Wait_B4LinkS3_04", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_TP1_WaitTime_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR1_TP_2_3_4_WaitTime_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_FullLink_Enable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Require_AUX2Wakeup_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_IdleFrames2Wait_05", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Lines2Wait_B4LinkS3_05", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_TP1_WaitTime_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR1_TP_2_3_4_WaitTime_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_FullLink_Enable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Require_AUX2Wakeup_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_IdleFrames2Wait_06", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Lines2Wait_B4LinkS3_06", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_TP1_WaitTime_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR1_TP_2_3_4_WaitTime_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_FullLink_Enable_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Require_AUX2Wakeup_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_IdleFrames2Wait_07", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Lines2Wait_B4LinkS3_07", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_TP1_WaitTime_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR1_TP_2_3_4_WaitTime_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_FullLink_Enable_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Require_AUX2Wakeup_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_IdleFrames2Wait_08", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Lines2Wait_B4LinkS3_08", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_TP1_WaitTime_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR1_TP_2_3_4_WaitTime_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_FullLink_Enable_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Require_AUX2Wakeup_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_IdleFrames2Wait_09", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Lines2Wait_B4LinkS3_09", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_TP1_WaitTime_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR1_TP_2_3_4_WaitTime_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_FullLink_Enable_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Require_AUX2Wakeup_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_IdleFrames2Wait_10", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Lines2Wait_B4LinkS3_10", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_TP1_WaitTime_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR1_TP_2_3_4_WaitTime_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_FullLink_Enable_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Require_AUX2Wakeup_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_IdleFrames2Wait_11", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Lines2Wait_B4LinkS3_11", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_TP1_WaitTime_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR1_TP_2_3_4_WaitTime_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_FullLink_Enable_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Require_AUX2Wakeup_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_IdleFrames2Wait_12", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Lines2Wait_B4LinkS3_12", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_TP1_WaitTime_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR1_TP_2_3_4_WaitTime_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_FullLink_Enable_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Require_AUX2Wakeup_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_IdleFrames2Wait_13", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Lines2Wait_B4LinkS3_13", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_TP1_WaitTime_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR1_TP_2_3_4_WaitTime_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_FullLink_Enable_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Require_AUX2Wakeup_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_IdleFrames2Wait_14", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Lines2Wait_B4LinkS3_14", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_TP1_WaitTime_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR1_TP_2_3_4_WaitTime_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_FullLink_Enable_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Require_AUX2Wakeup_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_IdleFrames2Wait_15", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Lines2Wait_B4LinkS3_15", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_TP1_WaitTime_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR1_TP_2_3_4_WaitTime_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_FullLink_Enable_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Require_AUX2Wakeup_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_IdleFrames2Wait_16", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Lines2Wait_B4LinkS3_16", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_TP1_WaitTime_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR1_TP_2_3_4_WaitTime_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR2_TP_2_3_4_WaitTime_01", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR2_TP_2_3_4_WaitTime_02", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR2_TP_2_3_4_WaitTime_03", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR2_TP_2_3_4_WaitTime_04", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR2_TP_2_3_4_WaitTime_05", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR2_TP_2_3_4_WaitTime_06", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR2_TP_2_3_4_WaitTime_07", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR2_TP_2_3_4_WaitTime_08", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR2_TP_2_3_4_WaitTime_09", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR2_TP_2_3_4_WaitTime_10", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR2_TP_2_3_4_WaitTime_11", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR2_TP_2_3_4_WaitTime_12", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR2_TP_2_3_4_WaitTime_13", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR2_TP_2_3_4_WaitTime_14", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR2_TP_2_3_4_WaitTime_15", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR2_TP_2_3_4_WaitTime_16", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "10", + "Name": "Modes Removal Table", + "SizeInBytes": "206", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "EntrySize", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mode_Rem_Table", + "SizeInBits": "1600", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Terminator", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "12", + "Name": "Driver default boot display", + "SizeInBytes": "22", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Allow_FDOS_Disp_Switch", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Hot_Plug_DVO", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Drv_Int15_hook", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DVD_Sprite_Clone", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Use_110h_for_LFP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Driver_Boot_Mode_X", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Driver_Boot_Mode_Y", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Driver_Boot_Mode_BPP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Driver_Boot_Mode_RR", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_LFP_Primary", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "GTF_Mode_Pruning", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Sprite_Display_Assign", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "CUI_Maintain_Aspect", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Preserve_Aspect_Ratio", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SDVO_Device_Power_Down", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DisplayShift_Enabled", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "CUIHotK_Static_Display", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Embedded_Platform", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Disable_DisplayEnum", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Legacy_Monitor_Max_X", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Legacy_Monitor_Max_Y", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Legacy_Monitor_Max_RR", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Int_Src_Term", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VBT_Customization_Version", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PM_RMPM_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PM_S2DDT_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PM_BLC_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PM_RS_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PM_GPMT_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PM_Turbo_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Inter_Pixel_Storage", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Dynamic_FPS_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PC_Fields_Enable", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "20", + "Name": "OEM Customizable Modes", + "SizeInBytes": "173", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_Flags1", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_X1", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_Y1", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_RRate1", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_DTD1", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Display2_Flags1", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_Flags2", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_X2", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_Y2", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_RRate2", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_DTD2", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Display2_Flags2", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_Flags3", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_X3", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_Y3", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_RRate3", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_DTD3", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Display2_Flags3", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_Flags4", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_X4", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_Y4", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_RRate4", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_DTD4", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Display2_Flags4", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_Flags5", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_X5", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_Y5", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_RRate5", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_DTD5", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Display2_Flags5", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_Flags6", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_X6", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_Y6", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_RRate6", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Mode_DTD6", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OEM_Display2_Flags6", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "27", + "Name": "eDP Power Sequencing", + "SizeInBytes": "815", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "eDP_Vcc_To_Hpd_Delay_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOn_To_BkltEnable_Delay_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_BkltDisable_To_DataOff_Delay_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOff_To_PowerOff_Delay_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PowerCycle_Delay_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Vcc_To_Hpd_Delay_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOn_To_BkltEnable_Delay_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_BkltDisable_To_DataOff_Delay_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOff_To_PowerOff_Delay_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PowerCycle_Delay_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Vcc_To_Hpd_Delay_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOn_To_BkltEnable_Delay_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_BkltDisable_To_DataOff_Delay_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOff_To_PowerOff_Delay_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PowerCycle_Delay_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Vcc_To_Hpd_Delay_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOn_To_BkltEnable_Delay_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_BkltDisable_To_DataOff_Delay_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOff_To_PowerOff_Delay_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PowerCycle_Delay_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Vcc_To_Hpd_Delay_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOn_To_BkltEnable_Delay_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_BkltDisable_To_DataOff_Delay_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOff_To_PowerOff_Delay_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PowerCycle_Delay_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Vcc_To_Hpd_Delay_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOn_To_BkltEnable_Delay_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_BkltDisable_To_DataOff_Delay_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOff_To_PowerOff_Delay_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PowerCycle_Delay_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Vcc_To_Hpd_Delay_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOn_To_BkltEnable_Delay_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_BkltDisable_To_DataOff_Delay_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOff_To_PowerOff_Delay_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PowerCycle_Delay_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Vcc_To_Hpd_Delay_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOn_To_BkltEnable_Delay_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_BkltDisable_To_DataOff_Delay_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOff_To_PowerOff_Delay_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PowerCycle_Delay_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Vcc_To_Hpd_Delay_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOn_To_BkltEnable_Delay_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_BkltDisable_To_DataOff_Delay_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOff_To_PowerOff_Delay_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PowerCycle_Delay_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Vcc_To_Hpd_Delay_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOn_To_BkltEnable_Delay_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_BkltDisable_To_DataOff_Delay_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOff_To_PowerOff_Delay_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PowerCycle_Delay_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Vcc_To_Hpd_Delay_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOn_To_BkltEnable_Delay_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_BkltDisable_To_DataOff_Delay_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOff_To_PowerOff_Delay_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PowerCycle_Delay_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Vcc_To_Hpd_Delay_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOn_To_BkltEnable_Delay_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_BkltDisable_To_DataOff_Delay_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOff_To_PowerOff_Delay_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PowerCycle_Delay_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Vcc_To_Hpd_Delay_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOn_To_BkltEnable_Delay_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_BkltDisable_To_DataOff_Delay_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOff_To_PowerOff_Delay_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PowerCycle_Delay_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Vcc_To_Hpd_Delay_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOn_To_BkltEnable_Delay_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_BkltDisable_To_DataOff_Delay_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOff_To_PowerOff_Delay_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PowerCycle_Delay_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Vcc_To_Hpd_Delay_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOn_To_BkltEnable_Delay_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_BkltDisable_To_DataOff_Delay_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOff_To_PowerOff_Delay_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PowerCycle_Delay_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Vcc_To_Hpd_Delay_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOn_To_BkltEnable_Delay_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_BkltDisable_To_DataOff_Delay_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_DataOff_To_PowerOff_Delay_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PowerCycle_Delay_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Color_Depth_01", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Color_Depth_02", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Color_Depth_03", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Color_Depth_04", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Color_Depth_05", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Color_Depth_06", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Color_Depth_07", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Color_Depth_08", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Color_Depth_09", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Color_Depth_10", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Color_Depth_11", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Color_Depth_12", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Color_Depth_13", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Color_Depth_14", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Color_Depth_15", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Color_Depth_16", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_LaneCount_01", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_PreEmp_01", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_Vswing_01", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_LaneCount_02", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_PreEmp_02", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_Vswing_02", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_LaneCount_03", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_PreEmp_03", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_Vswing_03", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_LaneCount_04", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_PreEmp_04", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_Vswing_04", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_LaneCount_05", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_PreEmp_05", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_Vswing_05", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_LaneCount_06", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_PreEmp_06", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_Vswing_06", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_LaneCount_07", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_PreEmp_07", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_Vswing_07", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_LaneCount_08", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_PreEmp_08", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_Vswing_08", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_LaneCount_09", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_PreEmp_09", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_Vswing_09", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_LaneCount_10", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_PreEmp_10", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_Vswing_10", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_LaneCount_11", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_PreEmp_11", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_Vswing_11", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_LaneCount_12", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_PreEmp_12", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_Vswing_12", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_LaneCount_13", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_PreEmp_13", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_Vswing_13", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_LaneCount_14", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_PreEmp_14", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_Vswing_14", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_LaneCount_15", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_PreEmp_15", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_Vswing_15", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_LaneCount_16", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_PreEmp_16", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Link_Vswing_16", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_T3_Optimization_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_T3_Optimization_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_T3_Optimization_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_T3_Optimization_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_T3_Optimization_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_T3_Optimization_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_T3_Optimization_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_T3_Optimization_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_T3_Optimization_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_T3_Optimization_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_T3_Optimization_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_T3_Optimization_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_T3_Optimization_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_T3_Optimization_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_T3_Optimization_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_T3_Optimization_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_VswingPreEmph_1", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_VswingPreEmph_2", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_VswingPreEmph_3", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_VswingPreEmph_4", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_VswingPreEmph_5", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_VswingPreEmph_6", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_VswingPreEmph_7", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_VswingPreEmph_8", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_VswingPreEmph_9", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_VswingPreEmph_10", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_VswingPreEmph_11", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_VswingPreEmph_12", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_VswingPreEmph_13", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_VswingPreEmph_14", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_VswingPreEmph_15", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_VswingPreEmph_16", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Supported_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Supported_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Supported_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Supported_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Supported_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Supported_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Supported_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Supported_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Supported_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Supported_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Supported_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Supported_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Supported_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Supported_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Supported_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Supported_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PwmOn_To_Bklt_Enable_Delay_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Bklt_Disable_To_PwmOff_Delay_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PwmOn_To_Bklt_Enable_Delay_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Bklt_Disable_To_PwmOff_Delay_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PwmOn_To_Bklt_Enable_Delay_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Bklt_Disable_To_PwmOff_Delay_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PwmOn_To_Bklt_Enable_Delay_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Bklt_Disable_To_PwmOff_Delay_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PwmOn_To_Bklt_Enable_Delay_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Bklt_Disable_To_PwmOff_Delay_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PwmOn_To_Bklt_Enable_Delay_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Bklt_Disable_To_PwmOff_Delay_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PwmOn_To_Bklt_Enable_Delay_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Bklt_Disable_To_PwmOff_Delay_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PwmOn_To_Bklt_Enable_Delay_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Bklt_Disable_To_PwmOff_Delay_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PwmOn_To_Bklt_Enable_Delay_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Bklt_Disable_To_PwmOff_Delay_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PwmOn_To_Bklt_Enable_Delay_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Bklt_Disable_To_PwmOff_Delay_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PwmOn_To_Bklt_Enable_Delay_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Bklt_Disable_To_PwmOff_Delay_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PwmOn_To_Bklt_Enable_Delay_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Bklt_Disable_To_PwmOff_Delay_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PwmOn_To_Bklt_Enable_Delay_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Bklt_Disable_To_PwmOff_Delay_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PwmOn_To_Bklt_Enable_Delay_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Bklt_Disable_To_PwmOff_Delay_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PwmOn_To_Bklt_Enable_Delay_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Bklt_Disable_To_PwmOff_Delay_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_PwmOn_To_Bklt_Enable_Delay_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Bklt_Disable_To_PwmOff_Delay_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Training_Params_Enable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Training_Params_Enable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Training_Params_Enable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Training_Params_Enable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Training_Params_Enable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Training_Params_Enable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Training_Params_Enable_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Training_Params_Enable_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Training_Params_Enable_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Training_Params_Enable_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Training_Params_Enable_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Training_Params_Enable_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Training_Params_Enable_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Training_Params_Enable_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Training_Params_Enable_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Training_Params_Enable_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_PreEmp_01", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_Vswing_01", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_PreEmp_02", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_Vswing_02", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_PreEmp_03", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_Vswing_03", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_PreEmp_04", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_Vswing_04", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_PreEmp_05", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_Vswing_05", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_PreEmp_06", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_Vswing_06", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_PreEmp_07", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_Vswing_07", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_PreEmp_08", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_Vswing_08", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_PreEmp_09", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_Vswing_09", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_PreEmp_10", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_Vswing_10", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_PreEmp_11", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_Vswing_11", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_PreEmp_12", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_Vswing_12", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_PreEmp_13", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_Vswing_13", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_PreEmp_14", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_Vswing_14", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_PreEmp_15", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_Vswing_15", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_PreEmp_16", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Full_Link_Train_Vswing_16", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Apical_Display_Ip_Enable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Apical_Display_Ip_Enable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Apical_Display_Ip_Enable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Apical_Display_Ip_Enable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Apical_Display_Ip_Enable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Apical_Display_Ip_Enable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Apical_Display_Ip_Enable_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Apical_Display_Ip_Enable_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Apical_Display_Ip_Enable_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Apical_Display_Ip_Enable_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Apical_Display_Ip_Enable_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Apical_Display_Ip_Enable_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Apical_Display_Ip_Enable_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Apical_Display_Ip_Enable_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Apical_Display_Ip_Enable_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Apical_Display_Ip_Enable_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Oui_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Base_Address_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Irdidix_Control0_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Option_Select_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Backlight_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Ambient_Light_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Backlight_Scale_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Oui_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Base_Address_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Irdidix_Control0_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Option_Select_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Backlight_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Ambient_Light_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Backlight_Scale_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Oui_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Base_Address_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Irdidix_Control0_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Option_Select_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Backlight_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Ambient_Light_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Backlight_Scale_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Oui_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Base_Address_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Irdidix_Control0_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Option_Select_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Backlight_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Ambient_Light_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Backlight_Scale_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Oui_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Base_Address_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Irdidix_Control0_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Option_Select_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Backlight_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Ambient_Light_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Backlight_Scale_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Oui_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Base_Address_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Irdidix_Control0_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Option_Select_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Backlight_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Ambient_Light_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Backlight_Scale_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Oui_07", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Base_Address_07", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Irdidix_Control0_07", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Option_Select_07", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Backlight_07", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Ambient_Light_07", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Backlight_Scale_07", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Oui_08", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Base_Address_08", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Irdidix_Control0_08", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Option_Select_08", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Backlight_08", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Ambient_Light_08", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Backlight_Scale_08", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Oui_09", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Base_Address_09", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Irdidix_Control0_09", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Option_Select_09", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Backlight_09", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Ambient_Light_09", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Backlight_Scale_09", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Oui_10", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Base_Address_10", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Irdidix_Control0_10", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Option_Select_10", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Backlight_10", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Ambient_Light_10", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Backlight_Scale_10", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Oui_11", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Base_Address_11", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Irdidix_Control0_11", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Option_Select_11", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Backlight_11", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Ambient_Light_11", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Backlight_Scale_11", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Oui_12", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Base_Address_12", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Irdidix_Control0_12", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Option_Select_12", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Backlight_12", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Ambient_Light_12", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Backlight_Scale_12", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Oui_13", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Base_Address_13", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Irdidix_Control0_13", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Option_Select_13", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Backlight_13", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Ambient_Light_13", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Backlight_Scale_13", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Oui_14", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Base_Address_14", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Irdidix_Control0_14", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Option_Select_14", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Backlight_14", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Ambient_Light_14", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Backlight_Scale_14", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Oui_15", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Base_Address_15", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Irdidix_Control0_15", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Option_Select_15", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Backlight_15", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Ambient_Light_15", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Backlight_Scale_15", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Panel_Oui_16", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Base_Address_16", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Irdidix_Control0_16", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Option_Select_16", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Dpcd_Backlight_16", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Ambient_Light_16", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Backlight_Scale_16", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Data_Rate_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Data_Rate_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Data_Rate_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Data_Rate_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Data_Rate_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Data_Rate_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Data_Rate_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Data_Rate_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Data_Rate_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Data_Rate_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Data_Rate_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Data_Rate_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Data_Rate_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Data_Rate_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Data_Rate_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Fast_Link_Training_Data_Rate_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Max_Port_Link_Rate_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Max_Port_Link_Rate_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Max_Port_Link_Rate_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Max_Port_Link_Rate_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Max_Port_Link_Rate_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Max_Port_Link_Rate_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Max_Port_Link_Rate_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Max_Port_Link_Rate_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Max_Port_Link_Rate_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Max_Port_Link_Rate_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Max_Port_Link_Rate_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Max_Port_Link_Rate_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Max_Port_Link_Rate_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Max_Port_Link_Rate_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Max_Port_Link_Rate_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_Max_Port_Link_Rate_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "40", + "Name": "Start of LVDS BMP Structure Definition", + "SizeInBytes": "37", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "bmp_Panel_type", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "bmp_Panel2_type", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_SSC01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_SSC02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_SSC03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_SSC04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_SSC05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_SSC06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_SSC07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_SSC08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_SSC09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_SSC10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_SSC11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_SSC12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_SSC13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_SSC14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_SSC15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_SSC16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPS_Panel_Type_01", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPS_Panel_Type_02", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPS_Panel_Type_03", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPS_Panel_Type_04", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPS_Panel_Type_05", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPS_Panel_Type_06", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPS_Panel_Type_07", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPS_Panel_Type_08", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPS_Panel_Type_09", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPS_Panel_Type_10", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPS_Panel_Type_11", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPS_Panel_Type_12", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPS_Panel_Type_13", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPS_Panel_Type_14", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPS_Panel_Type_15", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPS_Panel_Type_16", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blt_Control_01", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blt_Control_02", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blt_Control_03", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blt_Control_04", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blt_Control_05", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blt_Control_06", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blt_Control_07", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blt_Control_08", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blt_Control_09", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blt_Control_10", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blt_Control_11", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blt_Control_12", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blt_Control_13", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blt_Control_14", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blt_Control_15", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blt_Control_16", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LcdVcc_On_During_S0_State_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LcdVcc_On_During_S0_State_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LcdVcc_On_During_S0_State_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LcdVcc_On_During_S0_State_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LcdVcc_On_During_S0_State_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LcdVcc_On_During_S0_State_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LcdVcc_On_During_S0_State_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LcdVcc_On_During_S0_State_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LcdVcc_On_During_S0_State_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LcdVcc_On_During_S0_State_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LcdVcc_On_During_S0_State_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LcdVcc_On_During_S0_State_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LcdVcc_On_During_S0_State_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LcdVcc_On_During_S0_State_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LcdVcc_On_During_S0_State_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LcdVcc_On_During_S0_State_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Rotation_01", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Rotation_02", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Rotation_03", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Rotation_04", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Rotation_05", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Rotation_06", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Rotation_07", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Rotation_08", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Rotation_09", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Rotation_10", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Rotation_11", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Rotation_12", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Rotation_13", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Rotation_14", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Rotation_15", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Rotation_16", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Position_01", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Position_02", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Position_03", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Position_04", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Position_05", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Position_06", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Position_07", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Position_08", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Position_09", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Position_10", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Position_11", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Position_12", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Position_13", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Position_14", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Position_15", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Position_16", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "42", + "Name": "Flat Panel Data Tables", + "SizeInBytes": "1369", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "Panel_Width_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Height_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "272", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Panel_PnP_ID_01", + "SizeInBits": "80", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Width_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Height_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "272", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Panel_PnP_ID_02", + "SizeInBits": "80", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Width_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Height_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "272", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Panel_PnP_ID_03", + "SizeInBits": "80", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Width_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Height_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "272", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Panel_PnP_ID_04", + "SizeInBits": "80", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Width_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Height_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "272", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Panel_PnP_ID_05", + "SizeInBits": "80", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Width_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Height_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "272", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Panel_PnP_ID_06", + "SizeInBits": "80", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Width_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Height_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "272", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Panel_PnP_ID_07", + "SizeInBits": "80", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Width_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Height_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "272", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Panel_PnP_ID_08", + "SizeInBits": "80", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Width_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Height_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "272", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Panel_PnP_ID_09", + "SizeInBits": "80", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Width_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Height_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "272", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Panel_PnP_ID_10", + "SizeInBits": "80", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Width_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Height_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "272", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Panel_PnP_ID_11", + "SizeInBits": "80", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Width_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Height_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "272", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Panel_PnP_ID_12", + "SizeInBits": "80", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Width_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Height_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "272", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Panel_PnP_ID_13", + "SizeInBits": "80", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Width_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Height_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "272", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Panel_PnP_ID_14", + "SizeInBits": "80", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Width_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Height_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "272", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Panel_PnP_ID_15", + "SizeInBits": "80", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Width_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Height_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "272", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "144", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_Panel_PnP_ID_16", + "SizeInBits": "80", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Name_01", + "SizeInBits": "104", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Name_02", + "SizeInBits": "104", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Name_03", + "SizeInBits": "104", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Name_04", + "SizeInBits": "104", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Name_05", + "SizeInBits": "104", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Name_06", + "SizeInBits": "104", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Name_07", + "SizeInBits": "104", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Name_08", + "SizeInBits": "104", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Name_09", + "SizeInBits": "104", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Name_10", + "SizeInBits": "104", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Name_11", + "SizeInBits": "104", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Name_12", + "SizeInBits": "104", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Name_13", + "SizeInBits": "104", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Name_14", + "SizeInBits": "104", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Name_15", + "SizeInBits": "104", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Name_16", + "SizeInBits": "104", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Scaling_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Scaling_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Scaling_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Scaling_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Scaling_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Scaling_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Scaling_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Scaling_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Scaling_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Scaling_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Scaling_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Scaling_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Scaling_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Scaling_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Scaling_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Enable_Scaling_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Seamless_DRRS_Min_RR_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Seamless_DRRS_Min_RR_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Seamless_DRRS_Min_RR_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Seamless_DRRS_Min_RR_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Seamless_DRRS_Min_RR_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Seamless_DRRS_Min_RR_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Seamless_DRRS_Min_RR_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Seamless_DRRS_Min_RR_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Seamless_DRRS_Min_RR_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Seamless_DRRS_Min_RR_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Seamless_DRRS_Min_RR_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Seamless_DRRS_Min_RR_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Seamless_DRRS_Min_RR_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Seamless_DRRS_Min_RR_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Seamless_DRRS_Min_RR_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Seamless_DRRS_Min_RR_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PixelOverlapCount_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PixelOverlapCount_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PixelOverlapCount_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PixelOverlapCount_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PixelOverlapCount_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PixelOverlapCount_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PixelOverlapCount_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PixelOverlapCount_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PixelOverlapCount_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PixelOverlapCount_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PixelOverlapCount_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PixelOverlapCount_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PixelOverlapCount_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PixelOverlapCount_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PixelOverlapCount_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PixelOverlapCount_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TopBorder_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BottomBorder_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LeftBorder_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RightBorder_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TopBorder_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BottomBorder_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LeftBorder_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RightBorder_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TopBorder_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BottomBorder_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LeftBorder_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RightBorder_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TopBorder_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BottomBorder_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LeftBorder_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RightBorder_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TopBorder_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BottomBorder_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LeftBorder_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RightBorder_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TopBorder_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BottomBorder_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LeftBorder_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RightBorder_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TopBorder_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BottomBorder_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LeftBorder_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RightBorder_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TopBorder_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BottomBorder_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LeftBorder_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RightBorder_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TopBorder_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BottomBorder_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LeftBorder_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RightBorder_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TopBorder_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BottomBorder_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LeftBorder_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RightBorder_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TopBorder_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BottomBorder_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LeftBorder_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RightBorder_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TopBorder_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BottomBorder_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LeftBorder_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RightBorder_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TopBorder_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BottomBorder_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LeftBorder_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RightBorder_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TopBorder_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BottomBorder_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LeftBorder_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RightBorder_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TopBorder_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BottomBorder_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LeftBorder_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RightBorder_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TopBorder_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BottomBorder_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LeftBorder_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RightBorder_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnablePortSync_Bit_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnablePortSync_Bit_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnablePortSync_Bit_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnablePortSync_Bit_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnablePortSync_Bit_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnablePortSync_Bit_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnablePortSync_Bit_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnablePortSync_Bit_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnablePortSync_Bit_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnablePortSync_Bit_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnablePortSync_Bit_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnablePortSync_Bit_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnablePortSync_Bit_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnablePortSync_Bit_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnablePortSync_Bit_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnablePortSync_Bit_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnableDithering_Bit_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnableDithering_Bit_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnableDithering_Bit_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnableDithering_Bit_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnableDithering_Bit_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnableDithering_Bit_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnableDithering_Bit_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnableDithering_Bit_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnableDithering_Bit_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnableDithering_Bit_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnableDithering_Bit_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnableDithering_Bit_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnableDithering_Bit_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnableDithering_Bit_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnableDithering_Bit_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EnableDithering_Bit_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "43", + "Name": "BLC (Backlight Control) Support", + "SizeInBytes": "308", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Type_01", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Polarity_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GPIO_Pins_01", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GMBus_Speed_01", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWM_Frequency_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_I2C_Addr_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Brightness_Cmd_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Type_02", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Polarity_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GPIO_Pins_02", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GMBus_Speed_02", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWM_Frequency_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_I2C_Addr_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Brightness_Cmd_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Type_03", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Polarity_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GPIO_Pins_03", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GMBus_Speed_03", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWM_Frequency_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_I2C_Addr_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Brightness_Cmd_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Type_04", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Polarity_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GPIO_Pins_04", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GMBus_Speed_04", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWM_Frequency_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_I2C_Addr_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Brightness_Cmd_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Type_05", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Polarity_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GPIO_Pins_05", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GMBus_Speed_05", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWM_Frequency_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_I2C_Addr_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Brightness_Cmd_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Type_06", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Polarity_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GPIO_Pins_06", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GMBus_Speed_06", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWM_Frequency_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_I2C_Addr_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Brightness_Cmd_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Type_07", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Polarity_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GPIO_Pins_07", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GMBus_Speed_07", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWM_Frequency_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_I2C_Addr_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Brightness_Cmd_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Type_08", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Polarity_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GPIO_Pins_08", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GMBus_Speed_08", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWM_Frequency_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_I2C_Addr_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Brightness_Cmd_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Type_09", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Polarity_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GPIO_Pins_09", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GMBus_Speed_09", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWM_Frequency_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_I2C_Addr_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Brightness_Cmd_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Type_10", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Polarity_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GPIO_Pins_10", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GMBus_Speed_10", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWM_Frequency_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_I2C_Addr_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Brightness_Cmd_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Type_11", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Polarity_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GPIO_Pins_11", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GMBus_Speed_11", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWM_Frequency_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_I2C_Addr_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Brightness_Cmd_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Type_12", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Polarity_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GPIO_Pins_12", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GMBus_Speed_12", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWM_Frequency_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_I2C_Addr_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Brightness_Cmd_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Type_13", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Polarity_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GPIO_Pins_13", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GMBus_Speed_13", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWM_Frequency_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_I2C_Addr_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Brightness_Cmd_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Type_14", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Polarity_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GPIO_Pins_14", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GMBus_Speed_14", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWM_Frequency_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_I2C_Addr_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Brightness_Cmd_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Type_15", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Polarity_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GPIO_Pins_15", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GMBus_Speed_15", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWM_Frequency_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_I2C_Addr_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Brightness_Cmd_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Type_16", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Inv_Polarity_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GPIO_Pins_16", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_GMBus_Speed_16", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWM_Frequency_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_I2C_Addr_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BLC_Brightness_Cmd_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Source_Selection_01", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Controller_Selection_01", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Source_Selection_02", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Controller_Selection_02", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Source_Selection_03", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Controller_Selection_03", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Source_Selection_04", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Controller_Selection_04", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Source_Selection_05", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Controller_Selection_05", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Source_Selection_06", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Controller_Selection_06", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Source_Selection_07", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Controller_Selection_07", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Source_Selection_08", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Controller_Selection_08", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Source_Selection_09", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Controller_Selection_09", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Source_Selection_10", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Controller_Selection_10", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Source_Selection_11", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Controller_Selection_11", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Source_Selection_12", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Controller_Selection_12", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Source_Selection_13", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Controller_Selection_13", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Source_Selection_14", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Controller_Selection_14", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Source_Selection_15", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Controller_Selection_15", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Source_Selection_16", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Lfp_Pwm_Controller_Selection_16", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Brightness_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Brightness_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Brightness_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Brightness_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Brightness_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Brightness_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Brightness_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Brightness_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Brightness_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Brightness_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Brightness_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Brightness_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Brightness_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Brightness_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Brightness_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Brightness_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Min_Brightness_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Min_Brightness_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Min_Brightness_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Min_Brightness_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Min_Brightness_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Min_Brightness_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Min_Brightness_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Min_Brightness_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Min_Brightness_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Min_Brightness_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Min_Brightness_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Min_Brightness_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Min_Brightness_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Min_Brightness_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Min_Brightness_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Post_Min_Brightness_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BrightnessPrecisionBits_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BrightnessPrecisionBits_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BrightnessPrecisionBits_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BrightnessPrecisionBits_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BrightnessPrecisionBits_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BrightnessPrecisionBits_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BrightnessPrecisionBits_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BrightnessPrecisionBits_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BrightnessPrecisionBits_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BrightnessPrecisionBits_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BrightnessPrecisionBits_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BrightnessPrecisionBits_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BrightnessPrecisionBits_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BrightnessPrecisionBits_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BrightnessPrecisionBits_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BrightnessPrecisionBits_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HdrDpcdRefreshTimeout_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HdrDpcdRefreshTimeout_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HdrDpcdRefreshTimeout_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HdrDpcdRefreshTimeout_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HdrDpcdRefreshTimeout_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HdrDpcdRefreshTimeout_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HdrDpcdRefreshTimeout_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HdrDpcdRefreshTimeout_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HdrDpcdRefreshTimeout_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HdrDpcdRefreshTimeout_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HdrDpcdRefreshTimeout_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HdrDpcdRefreshTimeout_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HdrDpcdRefreshTimeout_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HdrDpcdRefreshTimeout_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HdrDpcdRefreshTimeout_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HdrDpcdRefreshTimeout_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "44", + "Name": "BIA (Backlight Image Adaption) Support", + "SizeInBytes": "81", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ALS_Response_Data", + "SizeInBits": "160", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "5", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Enable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Enable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Enable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Enable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Enable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Enable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Enable_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Enable_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Enable_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Enable_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Enable_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Enable_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Enable_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Enable_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Enable_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Enable_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Enable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Enable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Enable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Enable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Enable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Enable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Enable_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Enable_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Enable_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Enable_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Enable_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Enable_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Enable_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Enable_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Enable_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PSR_Enable_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DRRS_Enable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DRRS_Enable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DRRS_Enable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DRRS_Enable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DRRS_Enable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DRRS_Enable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DRRS_Enable_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DRRS_Enable_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DRRS_Enable_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DRRS_Enable_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DRRS_Enable_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DRRS_Enable_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DRRS_Enable_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DRRS_Enable_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DRRS_Enable_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DRRS_Enable_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Enable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Enable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Enable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Enable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Enable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Enable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Enable_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Enable_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Enable_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Enable_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Enable_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Enable_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Enable_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Enable_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Enable_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Enable_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADT_Enable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADT_Enable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADT_Enable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADT_Enable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADT_Enable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADT_Enable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADT_Enable_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADT_Enable_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADT_Enable_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADT_Enable_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADT_Enable_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADT_Enable_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADT_Enable_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADT_Enable_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADT_Enable_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADT_Enable_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DMRRS_Enable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DMRRS_Enable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DMRRS_Enable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DMRRS_Enable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DMRRS_Enable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DMRRS_Enable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DMRRS_Enable_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DMRRS_Enable_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DMRRS_Enable_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DMRRS_Enable_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DMRRS_Enable_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DMRRS_Enable_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DMRRS_Enable_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DMRRS_Enable_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DMRRS_Enable_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DMRRS_Enable_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Enable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Enable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Enable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Enable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Enable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Enable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Enable_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Enable_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Enable_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Enable_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Enable_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Enable_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Enable_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Enable_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Enable_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ADB_Enable_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Status_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Status_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Status_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Status_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Status_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Status_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Status_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Status_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Status_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Status_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Status_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Status_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Status_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Status_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Status_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Status_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Aggressiveness_Profile_01", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Aggressiveness_Profile_01", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Aggressiveness_Profile_02", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Aggressiveness_Profile_02", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Aggressiveness_Profile_03", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Aggressiveness_Profile_03", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Aggressiveness_Profile_04", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Aggressiveness_Profile_04", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Aggressiveness_Profile_05", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Aggressiveness_Profile_05", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Aggressiveness_Profile_06", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Aggressiveness_Profile_06", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Aggressiveness_Profile_07", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Aggressiveness_Profile_07", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Aggressiveness_Profile_08", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Aggressiveness_Profile_08", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Aggressiveness_Profile_09", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Aggressiveness_Profile_09", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Aggressiveness_Profile_10", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Aggressiveness_Profile_10", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Aggressiveness_Profile_11", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Aggressiveness_Profile_11", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Aggressiveness_Profile_12", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Aggressiveness_Profile_12", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Aggressiveness_Profile_13", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Aggressiveness_Profile_13", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Aggressiveness_Profile_14", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Aggressiveness_Profile_14", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Aggressiveness_Profile_15", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Aggressiveness_Profile_15", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPST_Aggressiveness_Profile_16", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LACE_Aggressiveness_Profile_16", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_4k_2k_HOBL_feature_Enable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_4k_2k_HOBL_feature_Enable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_4k_2k_HOBL_feature_Enable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_4k_2k_HOBL_feature_Enable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_4k_2k_HOBL_feature_Enable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_4k_2k_HOBL_feature_Enable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_4k_2k_HOBL_feature_Enable_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_4k_2k_HOBL_feature_Enable_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_4k_2k_HOBL_feature_Enable_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_4k_2k_HOBL_feature_Enable_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_4k_2k_HOBL_feature_Enable_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_4k_2k_HOBL_feature_Enable_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_4k_2k_HOBL_feature_Enable_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_4k_2k_HOBL_feature_Enable_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_4k_2k_HOBL_feature_Enable_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "eDP_4k_2k_HOBL_feature_Enable_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VRR_Status_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VRR_Status_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VRR_Status_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VRR_Status_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VRR_Status_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VRR_Status_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VRR_Status_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VRR_Status_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VRR_Status_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VRR_Status_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VRR_Status_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VRR_Status_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VRR_Status_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VRR_Status_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VRR_Status_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "VRR_Status_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Enable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Enable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Enable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Enable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Enable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Enable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Enable_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Enable_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Enable_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Enable_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Enable_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Enable_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Enable_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Enable_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Enable_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Enable_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Enable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Enable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Enable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Enable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Enable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Enable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Enable_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Enable_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Enable_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Enable_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Enable_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Enable_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Enable_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Enable_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Enable_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Enable_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Aggressiveness_Profile_01", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Aggressiveness_Profile_01", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Aggressiveness_Profile_02", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Aggressiveness_Profile_02", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Aggressiveness_Profile_03", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Aggressiveness_Profile_03", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Aggressiveness_Profile_04", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Aggressiveness_Profile_04", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Aggressiveness_Profile_05", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Aggressiveness_Profile_05", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Aggressiveness_Profile_06", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Aggressiveness_Profile_06", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Aggressiveness_Profile_07", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Aggressiveness_Profile_07", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Aggressiveness_Profile_08", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Aggressiveness_Profile_08", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Aggressiveness_Profile_09", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Aggressiveness_Profile_09", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Aggressiveness_Profile_10", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Aggressiveness_Profile_10", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Aggressiveness_Profile_11", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Aggressiveness_Profile_11", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Aggressiveness_Profile_12", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Aggressiveness_Profile_12", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Aggressiveness_Profile_13", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Aggressiveness_Profile_13", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Aggressiveness_Profile_14", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Aggressiveness_Profile_14", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Aggressiveness_Profile_15", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Aggressiveness_Profile_15", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "OPST_Aggressiveness_Profile_16", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ELP_Aggressiveness_Profile_16", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "46", + "Name": "Chromaticity Support", + "SizeInBytes": "307", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "Chromacity_Enable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_EDID_Data_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_Green_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_White_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_x_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_y_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_x_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_y_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_x_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_y_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_x_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_y_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Chromacity_Enable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_EDID_Data_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_Green_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_White_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_x_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_y_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_x_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_y_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_x_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_y_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_x_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_y_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Chromacity_Enable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_EDID_Data_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_Green_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_White_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_x_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_y_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_x_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_y_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_x_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_y_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_x_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_y_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Chromacity_Enable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_EDID_Data_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_Green_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_White_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_x_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_y_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_x_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_y_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_x_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_y_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_x_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_y_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Chromacity_Enable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_EDID_Data_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_Green_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_White_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_x_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_y_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_x_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_y_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_x_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_y_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_x_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_y_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Chromacity_Enable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_EDID_Data_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_Green_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_White_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_x_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_y_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_x_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_y_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_x_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_y_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_x_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_y_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Chromacity_Enable_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_EDID_Data_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_Green_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_White_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_x_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_y_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_x_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_y_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_x_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_y_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_x_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_y_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Chromacity_Enable_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_EDID_Data_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_Green_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_White_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_x_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_y_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_x_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_y_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_x_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_y_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_x_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_y_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Chromacity_Enable_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_EDID_Data_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_Green_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_White_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_x_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_y_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_x_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_y_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_x_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_y_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_x_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_y_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Chromacity_Enable_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_EDID_Data_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_Green_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_White_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_x_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_y_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_x_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_y_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_x_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_y_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_x_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_y_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Chromacity_Enable_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_EDID_Data_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_Green_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_White_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_x_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_y_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_x_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_y_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_x_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_y_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_x_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_y_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Chromacity_Enable_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_EDID_Data_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_Green_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_White_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_x_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_y_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_x_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_y_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_x_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_y_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_x_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_y_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Chromacity_Enable_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_EDID_Data_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_Green_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_White_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_x_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_y_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_x_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_y_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_x_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_y_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_x_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_y_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Chromacity_Enable_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_EDID_Data_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_Green_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_White_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_x_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_y_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_x_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_y_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_x_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_y_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_x_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_y_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Chromacity_Enable_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_EDID_Data_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_Green_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_White_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_x_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_y_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_x_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_y_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_x_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_y_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_x_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_y_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Chromacity_Enable_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_EDID_Data_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_Green_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_White_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_x_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Red_y_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_x_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Green_y_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_x_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Blue_y_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_x_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "White_y_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_LUM_Data_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_Gamma_Data_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MinLuminance_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxFullLuminance_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxLuminance_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Gamma_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_LUM_Data_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_Gamma_Data_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MinLuminance_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxFullLuminance_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxLuminance_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Gamma_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_LUM_Data_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_Gamma_Data_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MinLuminance_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxFullLuminance_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxLuminance_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Gamma_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_LUM_Data_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_Gamma_Data_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MinLuminance_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxFullLuminance_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxLuminance_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Gamma_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_LUM_Data_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_Gamma_Data_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MinLuminance_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxFullLuminance_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxLuminance_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Gamma_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_LUM_Data_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_Gamma_Data_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MinLuminance_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxFullLuminance_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxLuminance_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Gamma_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_LUM_Data_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_Gamma_Data_07", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MinLuminance_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxFullLuminance_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxLuminance_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Gamma_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_LUM_Data_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_Gamma_Data_08", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MinLuminance_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxFullLuminance_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxLuminance_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Gamma_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_LUM_Data_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_Gamma_Data_09", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MinLuminance_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxFullLuminance_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxLuminance_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Gamma_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_LUM_Data_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_Gamma_Data_10", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MinLuminance_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxFullLuminance_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxLuminance_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Gamma_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_LUM_Data_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_Gamma_Data_11", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MinLuminance_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxFullLuminance_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxLuminance_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Gamma_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_LUM_Data_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_Gamma_Data_12", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MinLuminance_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxFullLuminance_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxLuminance_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Gamma_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_LUM_Data_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_Gamma_Data_13", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MinLuminance_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxFullLuminance_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxLuminance_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Gamma_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_LUM_Data_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_Gamma_Data_14", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MinLuminance_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxFullLuminance_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxLuminance_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Gamma_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_LUM_Data_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_Gamma_Data_15", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MinLuminance_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxFullLuminance_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxLuminance_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Gamma_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_LUM_Data_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Override_Gamma_Data_16", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MinLuminance_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxFullLuminance_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MaxLuminance_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Gamma_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "51", + "Name": "Fixed Mode Set Block", + "SizeInBytes": "12", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "Feature_Enable", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "X_res", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Y_res", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "52", + "Name": "MIPI DSI Configuration Block", + "SizeInBytes": "825", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "PanelIdentifier_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Dithering_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Type_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MIPI_DSI_Panel_Architecture_Type_01", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Video_Command_Mode_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Packet_Sequence_Video_Mode_01", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "CABC_Support_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PmicSocSelection_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Colour_Format_Video_Mode_01", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Bta_Disable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Dual_Link_01", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Number_Of_Lanes_01", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RgbFlip_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "CabcCmdsPort_01", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelPwmCmdsPort_01", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RequiredBurstModeRate_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DsiDDRClock_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EscapeClk_01", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPhyParamFlag_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EoTpSupport_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ClockStop_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BlankingDuringBllp_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpClockDuringLpm_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HsTxTimeOut_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpRxTimeOut_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TurnAroundTimeOut_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DeviceResetTimer_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MasterInitTimer_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DbiBwTimer_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpByteClkRegValue_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DphyParamRegValue_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ClkLaneSwitchingTimeCount_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HighLowSwitchCount_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "192", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkPrepare_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkTrail_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkPrepareTClkZero_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsPrepare_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsPrepareTHsZero_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsTrail_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelEnable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BkltEnable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWMEnable_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RstRN_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PwrDownR_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "StbyRN_01", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelIdentifier_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Dithering_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Type_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MIPI_DSI_Panel_Architecture_Type_02", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Video_Command_Mode_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Packet_Sequence_Video_Mode_02", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "CABC_Support_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PmicSocSelection_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Colour_Format_Video_Mode_02", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Bta_Disable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Dual_Link_02", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Number_Of_Lanes_02", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RgbFlip_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "CabcCmdsPort_02", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelPwmCmdsPort_02", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RequiredBurstModeRate_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DsiDDRClock_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EscapeClk_02", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPhyParamFlag_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EoTpSupport_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ClockStop_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BlankingDuringBllp_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpClockDuringLpm_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HsTxTimeOut_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpRxTimeOut_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TurnAroundTimeOut_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DeviceResetTimer_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MasterInitTimer_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DbiBwTimer_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpByteClkRegValue_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DphyParamRegValue_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ClkLaneSwitchingTimeCount_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HighLowSwitchCount_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "192", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkPrepare_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkTrail_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkPrepareTClkZero_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsPrepare_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsPrepareTHsZero_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsTrail_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelEnable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BkltEnable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWMEnable_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RstRN_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PwrDownR_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "StbyRN_02", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelIdentifier_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Dithering_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Type_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MIPI_DSI_Panel_Architecture_Type_03", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Video_Command_Mode_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Packet_Sequence_Video_Mode_03", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "CABC_Support_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PmicSocSelection_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Colour_Format_Video_Mode_03", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Bta_Disable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Dual_Link_03", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Number_Of_Lanes_03", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RgbFlip_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "CabcCmdsPort_03", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelPwmCmdsPort_03", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RequiredBurstModeRate_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DsiDDRClock_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EscapeClk_03", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPhyParamFlag_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EoTpSupport_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ClockStop_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BlankingDuringBllp_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpClockDuringLpm_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HsTxTimeOut_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpRxTimeOut_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TurnAroundTimeOut_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DeviceResetTimer_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MasterInitTimer_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DbiBwTimer_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpByteClkRegValue_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DphyParamRegValue_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ClkLaneSwitchingTimeCount_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HighLowSwitchCount_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "192", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkPrepare_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkTrail_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkPrepareTClkZero_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsPrepare_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsPrepareTHsZero_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsTrail_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelEnable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BkltEnable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWMEnable_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RstRN_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PwrDownR_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "StbyRN_03", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelIdentifier_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Dithering_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Type_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MIPI_DSI_Panel_Architecture_Type_04", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Video_Command_Mode_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Packet_Sequence_Video_Mode_04", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "CABC_Support_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PmicSocSelection_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Colour_Format_Video_Mode_04", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Bta_Disable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Dual_Link_04", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Number_Of_Lanes_04", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RgbFlip_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "CabcCmdsPort_04", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelPwmCmdsPort_04", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RequiredBurstModeRate_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DsiDDRClock_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EscapeClk_04", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPhyParamFlag_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EoTpSupport_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ClockStop_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BlankingDuringBllp_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpClockDuringLpm_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HsTxTimeOut_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpRxTimeOut_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TurnAroundTimeOut_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DeviceResetTimer_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MasterInitTimer_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DbiBwTimer_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpByteClkRegValue_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DphyParamRegValue_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ClkLaneSwitchingTimeCount_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HighLowSwitchCount_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "192", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkPrepare_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkTrail_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkPrepareTClkZero_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsPrepare_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsPrepareTHsZero_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsTrail_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelEnable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BkltEnable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWMEnable_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RstRN_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PwrDownR_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "StbyRN_04", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelIdentifier_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Dithering_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Type_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MIPI_DSI_Panel_Architecture_Type_05", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Video_Command_Mode_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Packet_Sequence_Video_Mode_05", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "CABC_Support_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PmicSocSelection_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Colour_Format_Video_Mode_05", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Bta_Disable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Dual_Link_05", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Number_Of_Lanes_05", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RgbFlip_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "CabcCmdsPort_05", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelPwmCmdsPort_05", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RequiredBurstModeRate_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DsiDDRClock_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EscapeClk_05", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPhyParamFlag_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EoTpSupport_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ClockStop_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BlankingDuringBllp_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpClockDuringLpm_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HsTxTimeOut_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpRxTimeOut_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TurnAroundTimeOut_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DeviceResetTimer_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MasterInitTimer_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DbiBwTimer_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpByteClkRegValue_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DphyParamRegValue_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ClkLaneSwitchingTimeCount_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HighLowSwitchCount_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "192", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkPrepare_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkTrail_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkPrepareTClkZero_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsPrepare_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsPrepareTHsZero_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsTrail_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelEnable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BkltEnable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWMEnable_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RstRN_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PwrDownR_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "StbyRN_05", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelIdentifier_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Dithering_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Panel_Type_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MIPI_DSI_Panel_Architecture_Type_06", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Video_Command_Mode_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Packet_Sequence_Video_Mode_06", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "CABC_Support_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PmicSocSelection_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Colour_Format_Video_Mode_06", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Bta_Disable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Dual_Link_06", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Number_Of_Lanes_06", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RgbFlip_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "CabcCmdsPort_06", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelPwmCmdsPort_06", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RequiredBurstModeRate_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DsiDDRClock_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EscapeClk_06", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DPhyParamFlag_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EoTpSupport_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ClockStop_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BlankingDuringBllp_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpClockDuringLpm_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "3", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HsTxTimeOut_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpRxTimeOut_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TurnAroundTimeOut_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DeviceResetTimer_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "MasterInitTimer_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DbiBwTimer_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LpByteClkRegValue_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DphyParamRegValue_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ClkLaneSwitchingTimeCount_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "HighLowSwitchCount_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "192", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkPrepare_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkTrail_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "TClkPrepareTClkZero_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsPrepare_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsPrepareTHsZero_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "THsTrail_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PanelEnable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BkltEnable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PWMEnable_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "RstRN_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PwrDownR_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "StbyRN_06", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerUpDelay_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DataTurnOnToPanelBacklightEnableDelay_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BacklightOffToDataTurnOffDelay_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerDownDelay_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerCycleDelay_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerUpDelay_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DataTurnOnToPanelBacklightEnableDelay_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BacklightOffToDataTurnOffDelay_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerDownDelay_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerCycleDelay_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerUpDelay_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DataTurnOnToPanelBacklightEnableDelay_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BacklightOffToDataTurnOffDelay_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerDownDelay_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerCycleDelay_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerUpDelay_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DataTurnOnToPanelBacklightEnableDelay_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BacklightOffToDataTurnOffDelay_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerDownDelay_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerCycleDelay_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerUpDelay_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DataTurnOnToPanelBacklightEnableDelay_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BacklightOffToDataTurnOffDelay_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerDownDelay_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerCycleDelay_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerUpDelay_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DataTurnOnToPanelBacklightEnableDelay_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "BacklightOffToDataTurnOffDelay_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerDownDelay_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "PowerCycleDelay_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_PwmOn_To_Bklt_Enable_Delay_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_Bklt_Disable_To_PwmOff_Delay_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_PwmOn_To_Bklt_Enable_Delay_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_Bklt_Disable_To_PwmOff_Delay_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_PwmOn_To_Bklt_Enable_Delay_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_Bklt_Disable_To_PwmOff_Delay_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_PwmOn_To_Bklt_Enable_Delay_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_Bklt_Disable_To_PwmOff_Delay_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_PwmOn_To_Bklt_Enable_Delay_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_Bklt_Disable_To_PwmOff_Delay_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_PwmOn_To_Bklt_Enable_Delay_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_Bklt_Disable_To_PwmOff_Delay_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_PmicI2cBusNo_1", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_PmicI2cBusNo_2", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_PmicI2cBusNo_3", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_PmicI2cBusNo_4", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_PmicI2cBusNo_5", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "Mipi_PmicI2cBusNo_6", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "56", + "Name": "Compression Block", + "SizeInBytes": "213", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "Size_Of_Compression_Struct", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C1_Major_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C1_Minor_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C1_RC_Block_Size", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C1_Dsc_RC_Buf_Size", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C1_Dsc_Slices_Per_Line", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C1_Line_Buffer_Depth", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C1_Blk_Prediction_En", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C1_Dsc_Max_Bpp", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C1_Dsc_Bpc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C1_Dsc_Slice_Height", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C2_Major_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C2_Minor_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C2_RC_Block_Size", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C2_Dsc_RC_Buf_Size", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C2_Dsc_Slices_Per_Line", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C2_Line_Buffer_Depth", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C2_Blk_Prediction_En", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C2_Dsc_Max_Bpp", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C2_Dsc_Bpc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C2_Dsc_Slice_Height", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C3_Major_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C3_Minor_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C3_RC_Block_Size", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C3_Dsc_RC_Buf_Size", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C3_Dsc_Slices_Per_Line", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C3_Line_Buffer_Depth", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C3_Blk_Prediction_En", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C3_Dsc_Max_Bpp", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C3_Dsc_Bpc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C3_Dsc_Slice_Height", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C4_Major_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C4_Minor_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C4_RC_Block_Size", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C4_Dsc_RC_Buf_Size", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C4_Dsc_Slices_Per_Line", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C4_Line_Buffer_Depth", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C4_Blk_Prediction_En", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C4_Dsc_Max_Bpp", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C4_Dsc_Bpc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C4_Dsc_Slice_Height", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C5_Major_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C5_Minor_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C5_RC_Block_Size", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C5_Dsc_RC_Buf_Size", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C5_Dsc_Slices_Per_Line", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C5_Line_Buffer_Depth", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C5_Blk_Prediction_En", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C5_Dsc_Max_Bpp", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C5_Dsc_Bpc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C5_Dsc_Slice_Height", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C6_Major_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C6_Minor_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C6_RC_Block_Size", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C6_Dsc_RC_Buf_Size", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C6_Dsc_Slices_Per_Line", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C6_Line_Buffer_Depth", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C6_Blk_Prediction_En", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C6_Dsc_Max_Bpp", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C6_Dsc_Bpc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C6_Dsc_Slice_Height", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C7_Major_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C7_Minor_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C7_RC_Block_Size", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C7_Dsc_RC_Buf_Size", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C7_Dsc_Slices_Per_Line", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C7_Line_Buffer_Depth", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C7_Blk_Prediction_En", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C7_Dsc_Max_Bpp", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C7_Dsc_Bpc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C7_Dsc_Slice_Height", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C8_Major_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C8_Minor_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C8_RC_Block_Size", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C8_Dsc_RC_Buf_Size", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C8_Dsc_Slices_Per_Line", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C8_Line_Buffer_Depth", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C8_Blk_Prediction_En", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C8_Dsc_Max_Bpp", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C8_Dsc_Bpc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C8_Dsc_Slice_Height", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C9_Major_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C9_Minor_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C9_RC_Block_Size", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C9_Dsc_RC_Buf_Size", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C9_Dsc_Slices_Per_Line", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C9_Line_Buffer_Depth", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C9_Blk_Prediction_En", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C9_Dsc_Max_Bpp", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C9_Dsc_Bpc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C9_Dsc_Slice_Height", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C10_Major_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C10_Minor_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C10_RC_Block_Size", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C10_Dsc_RC_Buf_Size", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C10_Dsc_Slices_Per_Line", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C10_Line_Buffer_Depth", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C10_Blk_Prediction_En", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C10_Dsc_Max_Bpp", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C10_Dsc_Bpc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C10_Dsc_Slice_Height", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C11_Major_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C11_Minor_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C11_RC_Block_Size", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C11_Dsc_RC_Buf_Size", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C11_Dsc_Slices_Per_Line", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C11_Line_Buffer_Depth", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C11_Blk_Prediction_En", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C11_Dsc_Max_Bpp", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C11_Dsc_Bpc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C11_Dsc_Slice_Height", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C12_Major_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C12_Minor_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C12_RC_Block_Size", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C12_Dsc_RC_Buf_Size", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C12_Dsc_Slices_Per_Line", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C12_Line_Buffer_Depth", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C12_Blk_Prediction_En", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C12_Dsc_Max_Bpp", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C12_Dsc_Bpc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C12_Dsc_Slice_Height", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C13_Major_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C13_Minor_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C13_RC_Block_Size", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C13_Dsc_RC_Buf_Size", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C13_Dsc_Slices_Per_Line", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C13_Line_Buffer_Depth", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C13_Blk_Prediction_En", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C13_Dsc_Max_Bpp", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C13_Dsc_Bpc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C13_Dsc_Slice_Height", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C14_Major_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C14_Minor_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C14_RC_Block_Size", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C14_Dsc_RC_Buf_Size", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C14_Dsc_Slices_Per_Line", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C14_Line_Buffer_Depth", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C14_Blk_Prediction_En", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C14_Dsc_Max_Bpp", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C14_Dsc_Bpc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C14_Dsc_Slice_Height", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C15_Major_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C15_Minor_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C15_RC_Block_Size", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C15_Dsc_RC_Buf_Size", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C15_Dsc_Slices_Per_Line", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C15_Line_Buffer_Depth", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C15_Blk_Prediction_En", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C15_Dsc_Max_Bpp", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C15_Dsc_Bpc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C15_Dsc_Slice_Height", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C16_Major_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C16_Minor_Dsc_Version", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C16_RC_Block_Size", + "SizeInBits": "2", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "6", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C16_Dsc_RC_Buf_Size", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C16_Dsc_Slices_Per_Line", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C16_Line_Buffer_Depth", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "4", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C16_Blk_Prediction_En", + "SizeInBits": "1", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "7", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C16_Dsc_Max_Bpp", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C16_Dsc_Bpc", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "C16_Dsc_Slice_Height", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "57", + "Name": "PHY Vswing Tables Block", + "SizeInBytes": "2645", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "NumVswingTables", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "NumVswingColumns", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ComboPhyVswingHbr", + "SizeInBits": "3520", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ComboPhyVswingHbr2", + "SizeInBits": "3520", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ComboPhyLowVswingHbr2", + "SizeInBits": "3520", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "ComboPhyLowVswingHbr3", + "SizeInBits": "3520", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DklPhyVswingHbr", + "SizeInBits": "3520", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "DklPhyVswingHbr2", + "SizeInBits": "3520", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + }, + { + "Type": "Block", + "Block": { + "Id": "58", + "Name": "EDID-less Display support - Panel data", + "SizeInBytes": "677", + "BlockIdSizeInBytes": "1", + "BlockSizeSizeInBytes": "2", + "StartOffset": "", + "Data": [ + { + "Name": "SKIP", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Pixel_CLK_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Active_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Blank_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_FrontPorch_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Sync_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Active_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Blank_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_FrontPorch_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Sync_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Image_Size_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Image_Size_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Common_Flag_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Pixel_CLK_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Active_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Blank_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_FrontPorch_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Sync_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Active_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Blank_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_FrontPorch_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Sync_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Image_Size_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Image_Size_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Common_Flag_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Pixel_CLK_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Active_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Blank_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_FrontPorch_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Sync_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Active_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Blank_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_FrontPorch_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Sync_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Image_Size_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Image_Size_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Common_Flag_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Pixel_CLK_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Active_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Blank_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_FrontPorch_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Sync_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Active_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Blank_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_FrontPorch_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Sync_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Image_Size_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Image_Size_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Common_Flag_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Pixel_CLK_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Active_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Blank_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_FrontPorch_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Sync_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Active_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Blank_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_FrontPorch_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Sync_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Image_Size_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Image_Size_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Common_Flag_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Pixel_CLK_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Active_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Blank_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_FrontPorch_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Sync_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Active_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Blank_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_FrontPorch_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Sync_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Image_Size_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Image_Size_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Common_Flag_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Pixel_CLK_07", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Active_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Blank_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_FrontPorch_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Sync_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Active_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Blank_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_FrontPorch_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Sync_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Image_Size_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Image_Size_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Common_Flag_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Pixel_CLK_08", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Active_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Blank_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_FrontPorch_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Sync_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Active_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Blank_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_FrontPorch_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Sync_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Image_Size_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Image_Size_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Common_Flag_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Pixel_CLK_09", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Active_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Blank_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_FrontPorch_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Sync_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Active_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Blank_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_FrontPorch_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Sync_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Image_Size_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Image_Size_09", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Common_Flag_09", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Pixel_CLK_10", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Active_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Blank_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_FrontPorch_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Sync_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Active_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Blank_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_FrontPorch_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Sync_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Image_Size_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Image_Size_10", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Common_Flag_10", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Pixel_CLK_11", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Active_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Blank_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_FrontPorch_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Sync_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Active_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Blank_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_FrontPorch_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Sync_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Image_Size_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Image_Size_11", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Common_Flag_11", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Pixel_CLK_12", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Active_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Blank_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_FrontPorch_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Sync_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Active_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Blank_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_FrontPorch_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Sync_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Image_Size_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Image_Size_12", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Common_Flag_12", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Pixel_CLK_13", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Active_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Blank_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_FrontPorch_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Sync_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Active_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Blank_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_FrontPorch_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Sync_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Image_Size_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Image_Size_13", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Common_Flag_13", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Pixel_CLK_14", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Active_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Blank_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_FrontPorch_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Sync_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Active_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Blank_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_FrontPorch_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Sync_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Image_Size_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Image_Size_14", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Common_Flag_14", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Pixel_CLK_15", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Active_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Blank_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_FrontPorch_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Sync_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Active_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Blank_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_FrontPorch_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Sync_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Image_Size_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Image_Size_15", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Common_Flag_15", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Pixel_CLK_16", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Active_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Blank_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_FrontPorch_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Sync_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Active_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Blank_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_FrontPorch_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Sync_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_H_Image_Size_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_V_Image_Size_16", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "LFP_DTD_Common_Flag_16", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_Pixel_CLK_01", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Active_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Blank_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_FrontPorch_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Sync_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Active_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Blank_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_FrontPorch_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Sync_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Image_Size_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Image_Size_01", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_Common_Flag_01", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_Pixel_CLK_02", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Active_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Blank_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_FrontPorch_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Sync_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Active_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Blank_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_FrontPorch_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Sync_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Image_Size_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Image_Size_02", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_Common_Flag_02", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_Pixel_CLK_03", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Active_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Blank_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_FrontPorch_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Sync_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Active_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Blank_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_FrontPorch_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Sync_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Image_Size_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Image_Size_03", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_Common_Flag_03", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_Pixel_CLK_04", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Active_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Blank_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_FrontPorch_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Sync_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Active_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Blank_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_FrontPorch_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Sync_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Image_Size_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Image_Size_04", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_Common_Flag_04", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_Pixel_CLK_05", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Active_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Blank_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_FrontPorch_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Sync_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Active_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Blank_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_FrontPorch_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Sync_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Image_Size_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Image_Size_05", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_Common_Flag_05", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_Pixel_CLK_06", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Active_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Blank_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_FrontPorch_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Sync_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Active_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Blank_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_FrontPorch_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Sync_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Image_Size_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Image_Size_06", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_Common_Flag_06", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_Pixel_CLK_07", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Active_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Blank_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_FrontPorch_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Sync_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Active_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Blank_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_FrontPorch_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Sync_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Image_Size_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Image_Size_07", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_Common_Flag_07", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_Pixel_CLK_08", + "SizeInBits": "32", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Active_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Blank_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_FrontPorch_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Sync_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Active_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Blank_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_FrontPorch_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Sync_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_H_Image_Size_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_V_Image_Size_08", + "SizeInBits": "16", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "EFP_DTD_Common_Flag_08", + "SizeInBits": "8", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + }, + { + "Name": "SKIP", + "SizeInBits": "24", + "ByteOffset": "", + "BitOffset": "", + "Value": "" + } + ] + } + } + ] + } + }, + { + "Type": "PageBlock", + "block": { + "info": [ + { + "Type": "Block", + "Block": { + "PageNum": "1", + "PageName": "VBT Information", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Label", + "WidgetName": "PLATFORM: AlderLake-P/M/N & RaptorLake-P", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "VBT Version: 249", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "Supported LFP type: eDP", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "Supported LFP type: MIPI", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "Supported LFP type: No LFP", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:0 and Block:2, Field:LFP2_Device_Class, Value:0", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "2", + "PageName": "General Platform Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "ComboBox", + "WidgetName": "Embedded Platform: ", + "Visibility": "", + "Data": [ + "12", + "Embedded_Platform" + ], + "HelpText": "This feature allows a selectable option to determine whether the platform is embedded design or not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic CD Clock Support: ", + "Visibility": "", + "Data": [ + "1", + "bmp_Dynamic_CdClock_Supported" + ], + "HelpText": "Enabling this feature configures optimal CD Clock frequency at run time.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "KVMR Session/Fake DVI Display Support: ", + "Visibility": "", + "Data": [ + "1", + "Kvmr_Session_Enable" + ], + "HelpText": "When enabled, GOP and Gfx driver will keep a display pipe enable even if no displays are attached.\nWhen no displays are attached, GOP or Gfx driver will check VBT settings for EFP1/2/3/4 for DVI support.\nIf any EFP setting supports DVI display type, GOP/driver will enable that port.\nIf none of the EFP settings support DVI display type, GOP/driver will enable DVI on port-B by default.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Display Shift Support: ", + "Visibility": "", + "Data": [ + "12", + "DisplayShift_Enabled" + ], + "HelpText": "This feature allows Runtime eDP Display Shift between iGfx and dGfx.", + "WidgetValues": [ + { + "Key": "Supported between Intel Integrated and Intel Discrete Adapter", + "Value": "1" + }, + { + "Key": "Supported between Intel Adapter and non-Intel Adapter", + "Value": "2" + }, + { + "Key": "Not Supported", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "3", + "PageName": "UEFI GOP Driver Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "ComboBox", + "WidgetName": "Hot Plug Support: ", + "Visibility": "", + "Data": [ + "1", + "Hotplug_Support_Enb" + ], + "HelpText": "Hot-Plug feature is supported only for fixed DP/HDMI interfaces for external panels and LID on/Off for internal panels in GOP phase.\nNote: It is not recommended to disable HPD for TCSS Type-C ports.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Type C HPD Retry Timeout: ", + "Visibility": "", + "Data": [ + "1", + "Type_C_HPD_Retry_Timeout" + ], + "HelpText": "This timeout is used to make GOP/PEI driver retry for detection if Type C display are configured and no other displays were detected. \nScale - 100 milliseconds\nThe Range of the Field:\n Minimum - 0(0 seconds)\n Maximum - 100(10 seconds)\n", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Child Device List", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Fixed Mode Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "3-1", + "PageName": "Child Device List", + "Visibility": "", + "PageHelpText": "A child device is a combination of one or more displays.\nSelect the child devices that the GOP driver should enumerate if detected.", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "A child device is a combination of one or more displays.\nSelect the child devices that the GOP driver should enumerate if detected.", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "Note: The child devices are listed here in decreasing order of priority.\nIn case the system BIOS does not specify the child device to start,\n then GOP driver selects the highest priority child device", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "Child Device 1: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Primary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice1Primary" + ], + "HelpText": "Primary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Secondary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice1Secondary" + ], + "HelpText": "Secondary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Child Device 2: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Primary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice2Primary" + ], + "HelpText": "Primary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Secondary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice2Secondary" + ], + "HelpText": "Secondary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Child Device 3: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Primary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice3Primary" + ], + "HelpText": "Primary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Secondary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice3Secondary" + ], + "HelpText": "Secondary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Child Device 4: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Primary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice4Primary" + ], + "HelpText": "Primary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Secondary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice4Secondary" + ], + "HelpText": "Secondary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Child Device 5: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Primary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice5Primary" + ], + "HelpText": "Primary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Secondary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice5Secondary" + ], + "HelpText": "Secondary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Child Device 6: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Primary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice6Primary" + ], + "HelpText": "Primary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Secondary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice6Secondary" + ], + "HelpText": "Secondary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Child Device 7: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Primary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice7Primary" + ], + "HelpText": "Primary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Secondary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice7Secondary" + ], + "HelpText": "Secondary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Child Device 8: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Primary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice8Primary" + ], + "HelpText": "Primary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Secondary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice8Secondary" + ], + "HelpText": "Secondary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Child Device 9: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Primary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice9Primary" + ], + "HelpText": "Primary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Secondary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice9Secondary" + ], + "HelpText": "Secondary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Child Device 10: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Primary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice10Primary" + ], + "HelpText": "Primary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Secondary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice10Secondary" + ], + "HelpText": "Secondary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Child Device 11: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Primary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice11Primary" + ], + "HelpText": "Primary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Secondary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice11Secondary" + ], + "HelpText": "Secondary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Child Device 12: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Primary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice12Primary" + ], + "HelpText": "Primary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Secondary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice12Secondary" + ], + "HelpText": "Secondary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Child Device 13: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Primary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice13Primary" + ], + "HelpText": "Primary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Secondary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice13Secondary" + ], + "HelpText": "Secondary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Child Device 14: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Primary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice14Primary" + ], + "HelpText": "Primary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Secondary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice14Secondary" + ], + "HelpText": "Secondary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Child Device 15: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Primary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice15Primary" + ], + "HelpText": "Primary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Secondary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice15Secondary" + ], + "HelpText": "Secondary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Child Device 16: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Primary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice16Primary" + ], + "HelpText": "Primary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Secondary display: ", + "Visibility": "", + "Data": [ + "253", + "ChildDevice16Secondary" + ], + "HelpText": "Secondary Display", + "WidgetValues": [ + { + "Key": "LFP1", + "Value": "8" + }, + { + "Key": "LFP2", + "Value": "128" + }, + { + "Key": "EFP1", + "Value": "4" + }, + { + "Key": "EFP2", + "Value": "64" + }, + { + "Key": "EFP3", + "Value": "32" + }, + { + "Key": "EFP4", + "Value": "16" + }, + { + "Key": "EFP5", + "Value": "2" + }, + { + "Key": "EFP6", + "Value": "1" + }, + { + "Key": "EFP7", + "Value": "256" + }, + { + "Key": "None", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "3-2", + "PageName": "Fixed Mode Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Feature: ", + "Visibility": "", + "Data": [ + "51", + "Feature_Enable" + ], + "HelpText": "Fixed Mode Feature allows user to fix a mode during POST such that only that particular mode will be always set.This field specifies if user wants to enable/disable the feature.When enabled user is expected to provide a valid input.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Pixels: ", + "Visibility": "", + "Data": [ + "51", + "X_res" + ], + "HelpText": "This value specifies the horizontal pixels of the mode.It should be always less than or equal to the native horizontal resolution.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Pixels: ", + "Visibility": "", + "Data": [ + "51", + "Y_res" + ], + "HelpText": "This value specifies the vertical pixels of the mode.It should be always less than or equal to the native vertical resolution.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "4", + "PageName": "OS Graphics driver Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "General Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Display Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Conservation", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "4-1", + "PageName": "General Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "VBT Customization Version: ", + "Visibility": "", + "Data": [ + "12", + "VBT_Customization_Version" + ], + "HelpText": "This feature allows the OEM to have a customized VBT version number.he permissible values for VBT Customization version is from 0 to 255.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Display subsystem disabled: ", + "Visibility": "", + "Data": [ + "12", + "Disable_DisplayEnum" + ], + "HelpText": "This option allows windows driver to be aware that display subsystem is not needed.\nDriver could choose not to activate any display hardware if this bit is set.\nHowever this is only valid if there's no LFP on system or no force projectable connector.\nplease check driver documentation for detailed driver behaviour.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "4-2", + "PageName": "Display Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable 'Maintain Aspect Ratio': ", + "Visibility": "", + "Data": [ + "12", + "CUI_Maintain_Aspect" + ], + "HelpText": "This feature allows the OEM to enable or disable the 'Maintain Aspect Ratio' feature.\nWhen the option is set to Yes, the feature will be enabled and CUI will show \nfor end user selection 'Maintain Aspect Ratio'. When the option is set to No,\nthe complete 'Maintain Aspect Ratio' feature will be disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Legacy Monitor Mode Limit: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Maximum X Resolution (Pixels): ", + "Visibility": "", + "Data": [ + "12", + "Legacy_Monitor_Max_X" + ], + "HelpText": "This feature allows the limiting of selectable display modes\nwhen a legacy monitor is detected. The maximum resolution is specified by a maximum number of horizontal active pixels.\nNote: A legacy monitor is defined as a monitor with no DDC available.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Maximum Y Resolution (Pixels): ", + "Visibility": "", + "Data": [ + "12", + "Legacy_Monitor_Max_Y" + ], + "HelpText": "This feature allows the limiting of selectable display modes when a legacy monitor is detected. The maximum resolution is specified by a maximum number of vertical active pixels.\nNote: A legacy monitor is defined as a monitor with no DDC available.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Maximum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "12", + "Legacy_Monitor_Max_RR" + ], + "HelpText": "This feature allows the limiting of selectable display modes when a legacy monitor is detected. The maximum refresh rate is specified in Hz.\nNote: A legacy monitor is defined as a monitor with no DDC available.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "4-3", + "PageName": "Power Conservation", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " PC Features Control Options: ", + "Visibility": "", + "Data": [ + "12", + "PC_Fields_Enable" + ], + "HelpText": "This feature determines the validity of the following PC Features Control Options.\n\n1. Intel Rapid Memory Power Management (RMPM)\n2. Intel Smart 2D Display Technology (S2DDT)\n3. DxgkDDI Backlight Control (DxgkDdiBLC) (Mobile only)\n4. Graphics Render Standby (RS)\n5. Intel Turbo Boost Technology\n6. Dynamic Frames Per Second (DFPS)\nNote: Enable and Save the changes to display all the PC Features Control Options", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Intel Rapid Memory Power Management (RMPM): ", + "Visibility": "", + "Data": [ + "12", + "PM_RMPM_Enable" + ], + "HelpText": "This feature determines whether Intel Rapid Memory Power Management (RMPM) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Intel Smart 2D Display Technology (S2DDT): ", + "Visibility": "", + "Data": [ + "12", + "PM_S2DDT_Enable" + ], + "HelpText": "This feature determines whether Intel Smart 2D Display Technology (S2DDT) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " DxgkDDI Brightness Control Method (Mobile only): ", + "Visibility": "", + "Data": [ + "12", + "PM_BLC_Enable" + ], + "HelpText": "This option determines whether the Vista, Win7, and future version DxgkDDI LFP Brightness Control method is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Graphics Render Standby (RS): ", + "Visibility": "", + "Data": [ + "12", + "PM_RS_Enable" + ], + "HelpText": "This feature determines whether Graphics Render Standby (RS)is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Intel Turbo Boost Technology: ", + "Visibility": "", + "Data": [ + "12", + "PM_Turbo_Enable" + ], + "HelpText": "This feature determines whether Intel Turbo Boost Technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dynamic Frames Per Second (DFPS): ", + "Visibility": "", + "Data": [ + "12", + "Dynamic_FPS_Enable" + ], + "HelpText": "This feature determines whether Dynamic Frames Per Second is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "4-3-1", + "PageName": "ADB Response Data (Mobile only)", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "44", + "ALS_Response_Data" + ], + "HelpText": "This feature defines values used to calibrate the Intel Automatic Display Brightness policy's response to account for specific hardware implementation details such as sensor placement and optics. Up to five points can be specified, where each point indicates a given ambient light illuminance to display luminance mapping specified as (<%BacklightAdjust>, ). Points should be listed in monotonically increasing order by ambient light illuminance (lux). A minimum of two points are required (min and max).", + "WidgetValues": [ + { + "ColumnName": "Backlight Adjust", + "SizeinBytes": "2" + }, + { + "ColumnName": "Lux", + "SizeinBytes": "2" + } + ] + } + ], + "NestedPages": [] + } + } + ] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5", + "PageName": "Integrated Display Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Label", + "WidgetName": "Integrated DP, HDMI, DVI, eDP, MIPI Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Integrated LFP Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP Panel Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Integrated DisplayPort/HDMI Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-1", + "PageName": "Integrated LFP Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Device 1(LFP1) Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Device 2(LFP2) Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-1-1", + "PageName": "Device 1(LFP1) Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Active Local Flat Panel Configuration (Save The Configuration After Selecting This Field): ", + "Visibility": "", + "Data": [ + "2", + "LFP_Device_Class" + ], + "HelpText": "This feature is for configuring LFP type. Save the configuration after selecting this field to see display related settings.", + "WidgetValues": [ + { + "Key": "No Local Flat Panel", + "Value": "0" + }, + { + "Key": "eDP(LFP Driven by Int-DisplayPort Encoder)", + "Value": "6150" + }, + { + "Key": "MIPI", + "Value": "5120" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Output Port: ", + "Visibility": "", + "Data": [ + "2", + "LFP_Port" + ], + "HelpText": "This feature, when enabled, will activate support for an eDP Driver also uses the same data for enabling eDP on the selected port.\nNote: Do not enable any other digital ports on the same Port as eDP.", + "WidgetValues": [ + { + "Key": "Embedded DisplayPort-A", + "Value": "10" + }, + { + "Key": "Embedded DisplayPort-B", + "Value": "7" + }, + { + "Key": "MIPI DSI-0", + "Value": "21" + }, + { + "Key": "MIPI DSI-1", + "Value": "23" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select AUX Channel: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150", + "Data": [ + "2", + "Int_LFP_AUX_Channel" + ], + "HelpText": "This feature specifies the AUX Channel for embedded-DisplayPort. This field is valid only if integrated eDP is selected for Device Type.", + "WidgetValues": [ + { + "Key": "N/A", + "Value": "0" + }, + { + "Key": "DisplayPort-A AUX Channel", + "Value": "64" + }, + { + "Key": "DisplayPort-B AUX Channel", + "Value": "16" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Panel Type: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150", + "Data": [ + "40", + "bmp_Panel_type" + ], + "HelpText": "Select the Local Flat Panel (LFP) which display driver will enable.\n\nIf panel type is selected as 0xFF, Graphics Software will populate panel index by comparing actual PNP ID Data from panel to that of PNP ID Data for each panel in VBT.\nThe panel index for which PNP ID Data matches with actual connected panel PNP ID Data is used by driver for all further references. EDID Read is assumed to be enabled if panel index is selected as 0xFF.\nPANEL #01: 640x480 LFP\nPANEL #02: 800x600 LFP\nPANEL #03: 1024x768 LFP\nPANEL #04: 1280x1024 LFP\nPANEL #05: 1400x1050 Reduced Blanking LFP\nPANEL #06: 1400x1050 Non-Reduced Blanking LFP\nPANEL #07: 1600x1200 LFP\nPANEL #08: 1280x768 LFP\nPANEL #09: 1680x1050 LFP\nPANEL #10: 1920x1200 LFP\nPANEL #11: 1440x900 LFP\nPANEL #12: 1600x900 LFP\nPANEL #13: 1024x768 LFP\nPANEL #14: 1280x800 LFP\nPANEL #15: 1920x6108 LFP\nPANEL #16: 2048x1536", + "WidgetValues": [ + { + "Key": "PANEL #01", + "Value": "0" + }, + { + "Key": "PANEL #02", + "Value": "1" + }, + { + "Key": "PANEL #03", + "Value": "2" + }, + { + "Key": "PANEL #04", + "Value": "3" + }, + { + "Key": "PANEL #05", + "Value": "4" + }, + { + "Key": "PANEL #06", + "Value": "5" + }, + { + "Key": "PANEL #07", + "Value": "6" + }, + { + "Key": "PANEL #08", + "Value": "7" + }, + { + "Key": "PANEL #09", + "Value": "8" + }, + { + "Key": "PANEL #10", + "Value": "9" + }, + { + "Key": "PANEL #11", + "Value": "10" + }, + { + "Key": "PANEL #12", + "Value": "11" + }, + { + "Key": "PANEL #13", + "Value": "12" + }, + { + "Key": "PANEL #14", + "Value": "13" + }, + { + "Key": "PANEL #15", + "Value": "14" + }, + { + "Key": "PANEL #16", + "Value": "15" + }, + { + "Key": "PANEL #FF", + "Value": "255" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Panel Type: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120", + "Data": [ + "40", + "bmp_Panel_type" + ], + "HelpText": "Select the Local Flat Panel (LFP) which display driver will enable.\n\nIf panel type is selected as 0xFF, Graphics Software will populate panel index by comparing actual PNP ID Data from panel to that of PNP ID Data for each panel in VBT.\nThe panel index for which PNP ID Data matches with actual connected panel PNP ID Data is used by driver for all further references. EDID Read is assumed to be enabled if panel index is selected as 0xFF.\nPANEL #01: 640x480 LFP\nPANEL #02: 800x600 LFP\nPANEL #03: 1024x768 LFP\nPANEL #04: 1280x1024 LFP\nPANEL #05: 1400x1050 Reduced Blanking LFP\nPANEL #06: 1400x1050 Non-Reduced Blanking LFP", + "WidgetValues": [ + { + "Key": "PANEL #01", + "Value": "0" + }, + { + "Key": "PANEL #02", + "Value": "1" + }, + { + "Key": "PANEL #03", + "Value": "2" + }, + { + "Key": "PANEL #04", + "Value": "3" + }, + { + "Key": "PANEL #05", + "Value": "4" + }, + { + "Key": "PANEL #06", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable VESA DSC feature: ", + "Visibility": "", + "Data": [ + "2", + "Int_LFP_Compression_Enable" + ], + "HelpText": "This feature when set to yes, will enable VESA DSC compression feature for LFP display.\nFor eDP displays, the field is not used and feature is controlled through panel DPCDs\nFor MIPI displays, the fields is used to enable the feature.\nNote: When enabled, DSC parameters must be configured properly in the DSC parameters page in VBT.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DDI Lane Reversal: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150", + "Data": [ + "2", + "LFP_Lane_Reversal" + ], + "HelpText": "This feature, when enabled, will set lane reversal bit for Selected Port.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select eDP Port Max Lane Count Supported: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150", + "Data": [ + "2", + "Int_LFP_EDP_DP_Port_Max_LaneCount" + ], + "HelpText": "This feature allows for the selection of the Port Max Lane Count (Port Width) for the EDP/DP link.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Vswing PreEmphasis Table Override: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150", + "Data": [ + "2", + "INT_LFP_Vswing_Override_Enable" + ], + "HelpText": "This feature, when enabled, will allow Graphics driver to use the Vswing and Pre-emphasis values from VBT.\nOEM's must not enable or disable this on their own and work with the Intel CE team to change any settings in this page.\nWhen this field is enabled, corresponding table must be populated in the VBT for PHY Vswing parameters too.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-1-2", + "PageName": "Device 2(LFP2) Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Active Local Flat Panel Configuration (Save The Configuration After Selecting This Field): ", + "Visibility": "", + "Data": [ + "2", + "LFP2_Device_Class" + ], + "HelpText": "This feature is for configuring LFP type. Save the configuration after selecting this field to see display related settings.", + "WidgetValues": [ + { + "Key": "No Local Flat Panel", + "Value": "0" + }, + { + "Key": "eDP(LFP Driven by Int-DisplayPort Encoder)", + "Value": "6150" + }, + { + "Key": "MIPI", + "Value": "5120" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Output Port: ", + "Visibility": "", + "Data": [ + "2", + "LFP2_Port" + ], + "HelpText": "This feature, when enabled, will activate support for an eDP Driver also uses the same data for enabling eDP on the selected port.\nNote: Do not enable any other digital ports on the same Port as eDP.", + "WidgetValues": [ + { + "Key": "Embedded DisplayPort-A", + "Value": "10" + }, + { + "Key": "Embedded DisplayPort-B", + "Value": "7" + }, + { + "Key": "MIPI DSI-0", + "Value": "21" + }, + { + "Key": "MIPI DSI-1", + "Value": "23" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select AUX Channel: ", + "Visibility": "Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "2", + "Int_LFP2_AUX_Channel" + ], + "HelpText": "This feature specifies the AUX Channel for embedded-DisplayPort. This field is valid only if integrated eDP is selected for Device Type.", + "WidgetValues": [ + { + "Key": "N/A", + "Value": "0" + }, + { + "Key": "DisplayPort-A AUX Channel", + "Value": "64" + }, + { + "Key": "DisplayPort-B AUX Channel", + "Value": "16" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Panel Type: ", + "Visibility": "Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "40", + "bmp_Panel2_type" + ], + "HelpText": "Default LFP parameter values:\nPANEL #01: 640x480 LFP\nPANEL #02: 800x600 LFP\nPANEL #03: 1024x768 LFP\nPANEL #04: 1280x1024 LFP\nPANEL #05: 1400x1050 Reduced Blanking LFP\nPANEL #06: 1400x1050 Non-Reduced Blanking LFP\nPANEL #07: 1600x1200 LFP\nPANEL #08: 1280x768 LFP\nPANEL #09: 1680x1050 LFP\nPANEL #10: 1920x1200 LFP\nPANEL #11: 1440x900 LFP\nPANEL #12: 1600x900 LFP\nPANEL #13: 1024x768 LFP\nPANEL #14: 1280x800 LFP\nPANEL #15: 1920x6108 LFP\nPANEL #16: 2048x1536", + "WidgetValues": [ + { + "Key": "PANEL #01", + "Value": "0" + }, + { + "Key": "PANEL #02", + "Value": "1" + }, + { + "Key": "PANEL #03", + "Value": "2" + }, + { + "Key": "PANEL #04", + "Value": "3" + }, + { + "Key": "PANEL #05", + "Value": "4" + }, + { + "Key": "PANEL #06", + "Value": "5" + }, + { + "Key": "PANEL #07", + "Value": "6" + }, + { + "Key": "PANEL #08", + "Value": "7" + }, + { + "Key": "PANEL #09", + "Value": "8" + }, + { + "Key": "PANEL #10", + "Value": "9" + }, + { + "Key": "PANEL #11", + "Value": "10" + }, + { + "Key": "PANEL #12", + "Value": "11" + }, + { + "Key": "PANEL #13", + "Value": "12" + }, + { + "Key": "PANEL #14", + "Value": "13" + }, + { + "Key": "PANEL #15", + "Value": "14" + }, + { + "Key": "PANEL #16", + "Value": "15" + }, + { + "Key": "PANEL #FF", + "Value": "255" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Panel Type: ", + "Visibility": "Block:2, Field:LFP2_Device_Class, Value:5120", + "Data": [ + "40", + "bmp_Panel2_type" + ], + "HelpText": "This feature selects the Local Flat Panel (LFP) the GOP and driver is to enable.\n\nDefault LFP parameter values:\nPANEL #01: 640x480 LFP\nPANEL #02: 800x600 LFP\nPANEL #03: 1024x768 LFP\nPANEL #04: 1280x1024 LFP\nPANEL #05: 1400x1050 Reduced Blanking LFP\nPANEL #06: 1400x1050 Non-Reduced Blanking LFP", + "WidgetValues": [ + { + "Key": "PANEL #01", + "Value": "0" + }, + { + "Key": "PANEL #02", + "Value": "1" + }, + { + "Key": "PANEL #03", + "Value": "2" + }, + { + "Key": "PANEL #04", + "Value": "3" + }, + { + "Key": "PANEL #05", + "Value": "4" + }, + { + "Key": "PANEL #06", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable VESA DSC feature: ", + "Visibility": "", + "Data": [ + "2", + "Int_LFP2_Compression_Enable" + ], + "HelpText": "This feature when set to yes, will enable VESA DSC compression feature for LFP display.\nFor eDP displays, the field is not used and feature is controlled through panel DPCDs\nFor MIPI displays, the fields is used to enable the feature.\nNote: When enabled, DSC parameters must be configured properly in the DSC parameters page in VBT.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DDI Lane Reversal: ", + "Visibility": "Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "2", + "LFP2_Lane_Reversal" + ], + "HelpText": "This feature, when enabled, will set lane reversal bit for Selected Port", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select eDP Port Max Lane Count Supported: ", + "Visibility": "Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "2", + "Int_LFP2_EDP_DP_Port_Max_LaneCount" + ], + "HelpText": "This feature allows for the selection of the Port Max Lane Count (Port Width) for the EDP/DP link.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Vswing PreEmphasis Table Override: ", + "Visibility": "Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "2", + "INT_LFP2_Vswing_Override_Enable" + ], + "HelpText": "This feature, when enabled, will allow Graphics driver to use the Vswing and Pre-emphasis values from VBT.\nOEM's must not enable or disable this on their own and work with the Intel CE team to change any settings in this page.\nWhen this field is enabled, corresponding table must be populated in the VBT for PHY Vswing parameters too.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2", + "PageName": "LFP Panel Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Panel #01", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Panel #02", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Panel #03", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Panel #04", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Panel #05", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Panel #06", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Panel #07", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Panel #08", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Panel #09", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Panel #10", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Panel #11", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Panel #12", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Panel #13", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Panel #14", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Panel #15", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Panel #16", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-1", + "PageName": "Panel #01", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "LabelHeading", + "WidgetName": "Common LFP Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryAsci", + "WidgetName": " LFP Panel Name: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Name_01" + ], + "HelpText": "This feature defines the LFP panel name, used by driver only. Panel name can be only of 13 characters maximum and rest of the characters will be truncated.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target X-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Width_01" + ], + "HelpText": "This value specifies the Target X-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target Y-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Height_01" + ], + "HelpText": "This value specifies the Target Y-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " DPS Panel Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Seamless DRRS Minimum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "42", + "Seamless_DRRS_Min_RR_01" + ], + "HelpText": "Using this field the minimum Refresh Rate to be used for Seamless DRRS feature can be entered in Hertz.\nNote: Graphics driver will use this field only when EDID support is disabled in VBT configuration.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " BackLight Technology Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " BackLight Technology: ", + "Visibility": "", + "Data": [ + "40", + "Blt_Control_01" + ], + "HelpText": "This feature allows OEM to select the Backlight Technology.", + "WidgetValues": [ + { + "Key": "LED Backlight", + "Value": "2" + }, + { + "Key": "CCFL Backlight", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Rotation: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Rotation_01" + ], + "HelpText": "This feature specifies the Panel Rotation of LFP panel used.", + "WidgetValues": [ + { + "Key": "0 degree", + "Value": "0" + }, + { + "Key": "180 degree", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Position: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Position_01" + ], + "HelpText": "This feature specifies the Panel Position of LFP panel used.", + "WidgetValues": [ + { + "Key": "Inside Shell", + "Value": "0" + }, + { + "Key": "Outside Shell", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual LFP Port Sync: ", + "Visibility": "", + "Data": [ + "42", + "EnablePortSync_Bit_01" + ], + "HelpText": "This feature will allow users to disable/enable Dual LFP Port Sync and it is applicable for DDI-A, DDI-B in case of eDP and DSI-0, DSI-1 in case of MIPI. \r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " GPU Dithering for Banding artifacts: ", + "Visibility": "", + "Data": [ + "42", + "EnableDithering_Bit_01" + ], + "HelpText": "This field can be used to enable dithering from the source side for reducing banding artifacts on the visual quality features like DPST.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP PnP ID Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Backlight Control Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Chromaticity Control", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "VESA DSC Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated MIPI DSI Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "MIPI Display Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated eDP Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Panel Power Sequencing Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Edp Max Port Link Rate (in 200 Khz): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Max_Port_Link_Rate_01" + ], + "HelpText": "This field specifies EDP Max Port Link Rate supported by the port in unit of 200KHz.\nDefault value would be \"0\", in which case Display Drivers should consider EDP Max Port Link Rate to be the Platform supported Max Link Rate.\nOnly when OEM's need to limit to particular Link Rate can enter the value as mentioned in below table.\n\nNote:\n1) OEM's need to enter the values mentioned from below table only.\n2) If value entered is not matching with any of the below values then Platform supported Max Link Rate should be considere as EDP Max Port Link Rate by the display drivers.\n3) In case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then we need to use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate)\n---------------------------------------------------------\n|\tLink Rate(Gbps)\t|\t Value to enter in text field\t|\n|\t \t\t|\t in terms of 200KHZ \t|\n---------------------------------------------------------\n|\t 1.62 \t\t|\t 8100 \t|\n|\t 2.16 \t\t|\t 10800 \t|\n|\t 2.43 \t\t|\t 12150 \t|\n|\t 2.7 \t\t|\t 13500 \t|\n|\t 3.24 \t\t|\t 16200 \t|\n|\t 3.78 \t\t|\t 18900 \t|\n|\t 4.32 \t\t|\t 21600 \t|\n|\t 5.4 \t\t|\t 27000 \t|\n|\t 6.48 \t\t|\t 32400 \t|\n|\t 6.75 \t\t|\t 33750 \t|\n|\t 8.1 \t\t|\t 40500 \t|\n", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Color Depth: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Panel_Color_Depth_01" + ], + "HelpText": "This feature specifies the color depth of eDP panel used.", + "WidgetValues": [ + { + "Key": "18-bit Color Depth", + "Value": "0" + }, + { + "Key": "24-bit Color Depth", + "Value": "1" + }, + { + "Key": "30-bit Color Depth", + "Value": "2" + }, + { + "Key": "36-bit Color Depth", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Select VSwing/Pre-Emphasis table : ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_VswingPreEmph_1" + ], + "HelpText": "This feature selects the VSwing Pre-Emphasis setting table to be used. For Tigerlake, based on the selection respective table will be used.\nTables for Tigerlake:\nLow Power VSwing Pre-Emphasis Setting Table:\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/200mV \t\t 200mV, 0.0db \t\t 200mV, 1.9db \t\t 200mV, 3.5db \t\t 200mV, 4.9db\nSwing \t\t Level-1/250mV \t\t 250mV, 0.0db \t\t 250mV, 1.6db \t\t 250mV, 2.9db \t\t N/A\n(mV) \t\t Level-2/300mV \t\t 300mV, 0.0db \t\t 300mV, 1.3db \t\t N/A \t\t N/A\n\t\t Level-3/350mV \t\t 350mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR3:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nDefault VSwing Pre-Emphasis Setting Table:\nFor HBR:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A", + "WidgetValues": [ + { + "Key": "Default VSwing/Pre-Emphasis Table", + "Value": "1" + }, + { + "Key": "Low Power VSwing/Pre-Emphasis Table", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " eDP Spread Spectrum Clock: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "40", + "Enable_SSC01" + ], + "HelpText": "This feature will allow users to disable/enable Spread Spectrum Clock for eDP.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "42", + "PixelOverlapCount_01" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using Edp Multi-SST(MSO) feature.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixel Overlap", + "Value": "2" + }, + { + "Key": "Three Pixel Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixel Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixel Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "PSR Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Apical Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-1-1", + "PageName": "eDP Panel Power Sequencing Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " T3 optimization: ", + "Visibility": "", + "Data": [ + "27", + "eDP_T3_Optimization_01" + ], + "HelpText": "This feature enables or disables T3 optimization.\nWhen enabled, VBIOS/GOP driver will poll for AUX soon after VDD enable until AUX passes or T3 time is reached\nWhen disabled, VBIOS/GOP driver will wait for T3 time before trying the first AUX transaction", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "LCDVCC to HPD high delay (T3): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Vcc_To_Hpd_Delay_01" + ], + "HelpText": "Using this field the delay from LCDVCC to HPD high can be specified in 100uS.\nValid Range: 0 to 200msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Valid video data to Backlight Enable delay (T8): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOn_To_BkltEnable_Delay_01" + ], + "HelpText": "Using this field the delay from Start of Valid video data from Source to Backlight Enable can be specified in 100uS.\nT8 is inclusive of T7.\nValid Range of T7: 0 to 50msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM-On To Backlight Enable delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_PwmOn_To_Bklt_Enable_Delay_01" + ], + "HelpText": "Using this field the delay from PWM-On to Backlight Enable can be specified in 100uS.\nDelay from PWM-On to Backlight Enable is included in delay from Valid video data to Backlight Enable (T8).\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Valid video data to Backlight Enable (T8).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to PWM-Off delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Bklt_Disable_To_PwmOff_Delay_01" + ], + "HelpText": "Using this field delay from Backlight Disable to PWM-Off can be specified in 100uS.\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to End of Valid video data (T9).\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to to End of Valid video data (T9).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to End of Valid video data delay (T9): ", + "Visibility": "", + "Data": [ + "27", + "eDP_BkltDisable_To_DataOff_Delay_01" + ], + "HelpText": "Using this field the delay from Backlight Disable to End of Valid video data can be specified in 100uS.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "End of Valid video data to Power-Off delay (T10): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOff_To_PowerOff_Delay_01" + ], + "HelpText": "Using this field delay from End of Valid video data from Source to Power-Off can be specified in 100uS.\nValid Range: 0 to 500 msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Power-off time (T12): ", + "Visibility": "", + "Data": [ + "27", + "eDP_PowerCycle_Delay_01" + ], + "HelpText": "Using this field Power-off time can be specified in 100uS.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-1-2", + "PageName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Is FastLinkTraining Feature Supported: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Supported_01" + ], + "HelpText": "This feature allows for the selection of the Fast Link Training feature is to be enabled or disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Data Rate: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Data_Rate_01" + ], + "HelpText": "This field specifies Data Rate to be used for Fast Link Training in unit of 200KHz for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.\n\nIn case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then driver would use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate).", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lane Count: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_LaneCount_01" + ], + "HelpText": "This feature allows for the selection of the Lane Count (Port Width) for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Pre-Emphasis: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_PreEmp_01" + ], + "HelpText": "This feature allows for the selection of the Pre-emphasis value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Voltage Swing: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_Vswing_01" + ], + "HelpText": "This feature allows for the selection of the Voltage Swing value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-1-3", + "PageName": "PSR Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Full Link enable: ", + "Visibility": "", + "Data": [ + "9", + "PSR_FullLink_Enable_01" + ], + "HelpText": "When panel is in PSR mode and 'Full Link Enable' is set to Yes, Link is kept in standby state.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Require AUX to wake up: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Require_AUX2Wakeup_01" + ], + "HelpText": "When panel is exiting PSR mode and 'Require AUX to wake up' is set to Yes, the AUX channel handshake(link training is required) will be used.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lines to wait before link standby: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Lines2Wait_B4LinkS3_01" + ], + "HelpText": "This field determines Lines to wait before link standby\n0 lines to wait (Default)\n1 lines to wait\n4 lines to wait\n8 lines to wait\nOthers Reserved", + "WidgetValues": [ + { + "Key": "0 lines to wait", + "Value": "0" + }, + { + "Key": "1 lines to wait", + "Value": "1" + }, + { + "Key": "4 lines to wait", + "Value": "2" + }, + { + "Key": "8 lines to wait", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Idle frames to wait: ", + "Visibility": "", + "Data": [ + "9", + "PSR_IdleFrames2Wait_01" + ], + "HelpText": "Idle frames to wait for PSR enable.\nAllowed values 0-15. Default value is 0.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Clock Recovery Time: ", + "Visibility": "", + "Data": [ + "9", + "PSR_TP1_WaitTime_01" + ], + "HelpText": "This field selects the link training TP1(Training Pattern1) time during PSR exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR1 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR1_TP_2_3_4_WaitTime_01" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR1 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR2 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR2_TP_2_3_4_WaitTime_01" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR2 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "50 usec", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-1-4", + "PageName": "Apical Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Apical Assertive Display IP: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Apical_Display_Ip_Enable_01" + ], + "HelpText": "This field enables/disables the Apical Assertive Display IP for this panel.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel OUI (IEEE OUI): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Oui_01" + ], + "HelpText": "This field specifies the Apical IP specific Panel OUI field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Base Address: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Base_Address_01" + ], + "HelpText": "This field specifies the Apical IP specific DPCD base address field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Irdidix Control 0: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Irdidix_Control0_01" + ], + "HelpText": "This field specifies the Apical IP specific DPCD Irdidix control 0 field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Option Select: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Option_Select_01" + ], + "HelpText": "This field specifies the Apical IP specific DPCD option select field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Backlight: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Backlight_01" + ], + "HelpText": "This field specifies the Apical IP specific backlight value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Ambient Light: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Ambient_Light_01" + ], + "HelpText": "This field specifies the Apical IP specific Ambient light value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Backlight scale: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Backlight_Scale_01" + ], + "HelpText": "This field specifies the Apical IP specific backlight scale field.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-1-5", + "PageName": "Power Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Power Saving Technology (DPST) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DPST_Enable_01" + ], + "HelpText": "This feature determines whether the Intel Display Power Savings Technology (DPST) is enabled or disabled.\nIntel DPST is a display power savings technology that changes the intensity of colors in order to conserve backlight power.\nNote: This technology is only active when the system is running in battery mode and the LFP is the only active display device.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Refresh Rate Switching (DRRS) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DRRS_Enable_01" + ], + "HelpText": "This feature determines whether Intel Display Refresh Rate Switching (DRRS) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Edge Luminance Profile (ELP) : ", + "Visibility": "", + "Data": [ + "44", + "ELP_Enable_01" + ], + "HelpText": "This feature determines whether the ELP feature is enabled or disabled.\nEdge Luminance Profile (ELP) is a panel technology which reduce luminance on the edge of screen to save panel power.\nNote:This technology cannot co-exist with DPST and OPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " OLED Power Saving Technology (OPST) : ", + "Visibility": "", + "Data": [ + "44", + "OPST_Enable_01" + ], + "HelpText": "This feature determines whether the OPST feature is enabled or disabled.\nOLED Power Saving Technology (OPST) is a panel technology which saves power by intelligent, adaptive dimming of midrange pixel values more aggressively than the extremes without compromising the viewability.\nNote: This technology cannot co-exist with ELP and DPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic Media Refresh Rate Switching Enable/Disable ", + "Visibility": "", + "Data": [ + "44", + "DMRRS_Enable_01" + ], + "HelpText": "This feature determines whether Dynamic media refresh rate switching is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Display Lace Support: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Enable_01" + ], + "HelpText": "This feature, when enabled, will set Display Lace Support otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Panel Self Refresh (PSR): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "PSR_Enable_01" + ], + "HelpText": "This feature determines whether Panel Self Refresh (PSR) feature is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Assertive Display Technology Enable/Disable: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "ADT_Enable_01" + ], + "HelpText": "This feature determines whether Assertive display technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Automatic Display Brightness (ADB) (Mobile only): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "ADB_Enable_01" + ], + "HelpText": "This feature determines whether Intel Automatic Display Brightness is to be enabled. Intel Automatic Display Brightness adjusts the brightness of the embedded Local Flat Panel (LFP) depending on the current ambient light environment.\nWhen enabled, the driver and VBIOS will control the backlight brightness of the LFP depending on the ambient environment if and only if the LFP is the only active display. When disabled, the driver will perform no action.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDP 4k/2k HOBL Feature: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "eDP_4k_2k_HOBL_feature_Enable_01" + ], + "HelpText": "This feature will allow users to disable/enable the edp 4k/2k HOBL(Hours Of Battery Life) feature by programming relevant registers specific for a platform.\r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display LACE Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Status_01" + ], + "HelpText": "This feature, when enabled, will set Default Display LACE Enabled status otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "DPST_Aggressiveness_Profile_01" + ], + "HelpText": "This feature allows for the selection of DPST Aggressiveness level for this Panel Type.\n1 (Maximum Quality with No DPST)\n2\n3\n4\n5\n6 (Maximum Battery)", + "WidgetValues": [ + { + "Key": "1 - Maximum Quality with No DPST", + "Value": "1" + }, + { + "Key": "2", + "Value": "2" + }, + { + "Key": "3", + "Value": "3" + }, + { + "Key": "4", + "Value": "4" + }, + { + "Key": "5", + "Value": "5" + }, + { + "Key": "6 - Maximum Battery", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LACE Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Aggressiveness_Profile_01" + ], + "HelpText": "This feature allows for the selection of LACE Aggressiveness level for this Panel Type.\nMinimum 0\nModerate 1\nHigh 2", + "WidgetValues": [ + { + "Key": "Minimum", + "Value": "0" + }, + { + "Key": "Moderate", + "Value": "1" + }, + { + "Key": "High", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "ELP Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "ELP_Aggressiveness_Profile_01" + ], + "HelpText": "This feature allows for the selection of ELP Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "OPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "OPST_Aggressiveness_Profile_01" + ], + "HelpText": "This feature allows for the selection of OPST Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display VRR Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "VRR_Status_01" + ], + "HelpText": "VRR (Variable Refresh Rate) is a feature that can continuously and seamlessly vary Refresh Rate on the fly, on displays that support Variable Refresh rate Technologies.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-1-6", + "PageName": "Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Pixel_CLK_01" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Active_01" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Active_01" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Blank_01" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Blank_01" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_FrontPorch_01" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_FrontPorch_01" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Sync_01" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Sync_01" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Image_Size_01" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Image_Size_01" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Common_Flag_01" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-1-7", + "PageName": "LFP PnP ID Table", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "42", + "LFP_Panel_PnP_ID_01" + ], + "HelpText": "This feature allows the 10 bytes of EDID Vendor/Product ID starting at offset 08h to be used as a PnP ID.\n\nTable Definition:\n\tWord: ID Manufacturer Name\n\tWord: ID Product Code\n\tDWord: ID Serial Number\n\tByte: Week of Manufacture\n\tByte: Year of Manufacture", + "WidgetValues": [ + { + "ColumnName": "PnP ID", + "SizeinBytes": "1" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-1-8", + "PageName": "Backlight Control Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Type: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Type_01" + ], + "HelpText": "This feature allows for the selection of the Backlight Inverter type that is to be used to control the backlight brightness of the LFP.\nWhen PWM is selected, the driver and VBIOS will control the backlight brightness via the integrated PWM solution for the applicable chipsets.\nWhen None/External is selected, the system BIOS will control the backlight brightness via the external solution.", + "WidgetValues": [ + { + "Key": "None/External", + "Value": "0" + }, + { + "Key": "PWM", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Source Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Source_Selection_01" + ], + "HelpText": "If panel supports 'Intel HDR AUX Interface', it will always be chosen by default. If not, value in 'PWM Source Selection' will be used", + "WidgetValues": [ + { + "Key": "PWM From Display Engine", + "Value": "2" + }, + { + "Key": "PWM From LCD Panel", + "Value": "3" + }, + { + "Key": "Panel Driver Interface", + "Value": "4" + }, + { + "Key": "VESA eDP AUX Interface", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Controller Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Controller_Selection_01" + ], + "HelpText": "This field allows to select the PWM Controller to be used for the selected Local Flat Panel.This field allows to select the PWM Controller to be used for the selected Local Flat Panel.If Two LFPs are connected then PWM0 and PWM1 must be selected accordingly.", + "WidgetValues": [ + { + "Key": "PWM0", + "Value": "0" + }, + { + "Key": "PWM1", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Polarity: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Polarity_01" + ], + "HelpText": "This feature allows the backlight inverter polarity to be specified.\nNormal means 0 value is minimum brightness.\nInverted means 0 value is maximum brightness.", + "WidgetValues": [ + { + "Key": "Normal", + "Value": "0" + }, + { + "Key": "Inverted", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Minimum Brightness: ", + "Visibility": "", + "Data": [ + "43", + "Post_Min_Brightness_01" + ], + "HelpText": "This feature allows defining the absolute minimum backlight brightness. The driver will never decrease the backlight less than this value. The value must be specified using normal polarity semantics. The value should range from 0 to 255 if the brightness precision bit is chosen to be 8, and it should range from 0 to 65535 if the precision bit is chosen to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "POST Backlight Intensity: ", + "Visibility": "", + "Data": [ + "43", + "Post_Brightness_01" + ], + "HelpText": "This feature is used to set default backlight brightness value of the panel at POST. The value should range from 0 to 255 if the bit precision is chosen to be 8 and it should range from 0 to 65535 if the brightness bit precision is chosent to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Brightness Precision Bits: ", + "Visibility": "", + "Data": [ + "43", + "BrightnessPrecisionBits_01" + ], + "HelpText": "This field represents the range of brightness in terms of bit precision.\n 8 = Brightness range of 0 to 255.\n 16 = Brightness range of 0 to 65535", + "WidgetValues": [ + { + "Key": "8", + "Value": "8" + }, + { + "Key": "16", + "Value": "16" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM Inverter Frequency (Hz): ", + "Visibility": "", + "Data": [ + "43", + "PWM_Frequency_01" + ], + "HelpText": "This feature allows for the definition of the frequency needed for PWM Inverter.\nNote: The frequency range (entered as a decimal number), for the integrated PWM is 200Hz - 40KHz.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Intel HDR DPCD Refresh Timeout (unit - 10 micro seconds): ", + "Visibility": "", + "Data": [ + "43", + "HdrDpcdRefreshTimeout_01" + ], + "HelpText": "This field allows to configure the refresh timeout of Intel HDR DPCDs for different TCON Vendors.\nNote:\n\tThe value is in units of 10 microseconds.\n\tThe range (entered as a decimal number), for the timeout is 0-65535", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-1-9", + "PageName": "Chromaticity Control", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Chromaticity Control Feature: ", + "Visibility": "", + "Data": [ + "46", + "Chromacity_Enable_01" + ], + "HelpText": "This bit enables Chromaticity feature.\nIf this bit is enabled, EDID values for chromaticity will be used, else feature is disabled.\nFeature will be supported for Panels that support EDID version 1.4 or higher.\nPlease refer to section 3.7 of EDID Specification 1.4.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override the EDID values: ", + "Visibility": "", + "Data": [ + "46", + "Override_EDID_Data_01" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override EDID values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_Green_bits (Bits 1:0 at 19h): ", + "Visibility": "", + "Data": [ + "46", + "Red_Green_01" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Red, Green Coordinates represented as Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1 Gy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_White_bits (Bits 1:0 at 1Ah): ", + "Visibility": "", + "Data": [ + "46", + "Blue_White_01" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Blue, White Coordinates represented as Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_x (Bits 9:2 at 1Bh): ", + "Visibility": "", + "Data": [ + "46", + "Red_x_01" + ], + "HelpText": "Bits 9:2 of red color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_y (Bits 9:2 at 1Ch): ", + "Visibility": "", + "Data": [ + "46", + "Red_y_01" + ], + "HelpText": "Bits 9:2 of red color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_x (Bits 9:2 at 1Dh): ", + "Visibility": "", + "Data": [ + "46", + "Green_x_01" + ], + "HelpText": "Bits 9:2 of Green color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_y (Bits 9:2 at 1Eh): ", + "Visibility": "", + "Data": [ + "46", + "Green_y_01" + ], + "HelpText": "Bits 9:2 of Green color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_x (Bits 9:2 at 1Fh): ", + "Visibility": "", + "Data": [ + "46", + "Blue_x_01" + ], + "HelpText": "Bits 9:2 of Blue color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_y (Bits 9:2 at 20h): ", + "Visibility": "", + "Data": [ + "46", + "Blue_y_01" + ], + "HelpText": "Bits 9:2 of Blue color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_x (Bits 9:2 at 21h): ", + "Visibility": "", + "Data": [ + "46", + "White_x_01" + ], + "HelpText": "Bits 9:2 of White color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_y (Bits 9:2 at 22h): ", + "Visibility": "", + "Data": [ + "46", + "White_y_01" + ], + "HelpText": "Bits 9:2 of White color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Luminance values ", + "Visibility": "", + "Data": [ + "46", + "Override_LUM_Data_01" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override luminance values following VBT values", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Minimum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MinLuminance_01" + ], + "HelpText": "Minimum luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum full frame luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxFullLuminance_01" + ], + "HelpText": "Maximum Full frame luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxLuminance_01" + ], + "HelpText": "Maximum luminance value(Relatively smaller portion of screen).\n2 byte value, encoded in IEEE 754 half-precision binary floating point format.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Gamma values: ", + "Visibility": "", + "Data": [ + "46", + "Override_Gamma_Data_01" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override gamma values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel gamma: ", + "Visibility": "", + "Data": [ + "46", + "Gamma_01" + ], + "HelpText": "Value shall define the gamma range, from 1.00 to 3.54, as follows:\nField Value = (Gamma (value in float) x 100) - 100\nField values range from 00h through FFh.\nFFh = No gamma information shall be provided", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-1-10", + "PageName": "VESA DSC Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Major Version: ", + "Visibility": "", + "Data": [ + "56", + "C1_Major_Dsc_Version" + ], + "HelpText": "VESA DSC Major revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Minor Version: ", + "Visibility": "", + "Data": [ + "56", + "C1_Minor_Dsc_Version" + ], + "HelpText": "VESA DSC Minor revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Block prediction supported: ", + "Visibility": "", + "Data": [ + "56", + "C1_Blk_Prediction_En" + ], + "HelpText": "Sink supports block prediction as per the VESA DSC Spec.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "RC Buffer Block size as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C1_RC_Block_Size" + ], + "HelpText": "RC buffer block size for a single RC buffer as defined by the VESA DSC spec.", + "WidgetValues": [ + { + "Key": "1 KB", + "Value": "0" + }, + { + "Key": "4 KB", + "Value": "1" + }, + { + "Key": "16 KB", + "Value": "2" + }, + { + "Key": "64 KB", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Number of RC buffer blocks as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C1_Dsc_RC_Buf_Size" + ], + "HelpText": "This field defines the number of RC buffers as per VESA DSC spec.\nThe number of RC buffers used by the software shall be (Value + 1) where Value is in range 0 to 127.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Slices per line supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C1_Dsc_Slices_Per_Line" + ], + "HelpText": "This field defines the slices per line supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 31-10\t\t Bit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tReserved\t\t 24\t 20\t 16\t 12\t 10\t 8\t 6\t 4\t 2\t 1\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower slices per line than maximum selected field. i.e. If it supports say 8 slices per line, it will also support 4/2/1 slices per line", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Line buffer depth as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C1_Line_Buffer_Depth" + ], + "HelpText": "Line buffer depth in bits as per VESA DSC spec.", + "WidgetValues": [ + { + "Key": "8 bits", + "Value": "0" + }, + { + "Key": "9 bits", + "Value": "1" + }, + { + "Key": "10 bits", + "Value": "2" + }, + { + "Key": "11 bits", + "Value": "3" + }, + { + "Key": "12 bits", + "Value": "4" + }, + { + "Key": "13 bits", + "Value": "5" + }, + { + "Key": "14 bits", + "Value": "6" + }, + { + "Key": "15 bits", + "Value": "7" + }, + { + "Key": "16 bits", + "Value": "8" + } + ] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Input compression BPC supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C1_Dsc_Bpc" + ], + "HelpText": "This field defines the compression input bpc supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 7-4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tRsvd\t 12 bpc\t 10bpc\t 8bpc\t Rsvd\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower bpc values than the maximum selected field. i.e. If it supports say 12bpc, it will also support 10 and 8bpc as well", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum supported compression BPP: ", + "Visibility": "", + "Data": [ + "56", + "C1_Dsc_Max_Bpp" + ], + "HelpText": "As of today, we are supporting 6/8/10/12 BPP for compression output.\nSelect the most appropriate BPP as supported by the sink.", + "WidgetValues": [ + { + "Key": "6 Bits per pixel", + "Value": "0" + }, + { + "Key": "8 Bits per pixel", + "Value": "1" + }, + { + "Key": "10 Bits per pixel", + "Value": "2" + }, + { + "Key": "12 Bits per pixel", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Slice height supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C1_Dsc_Slice_Height" + ], + "HelpText": "Slice height supported by the sink device for DSC slice.\nNote: Slice height must divide the picture height uniformly.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-1-11", + "PageName": "MIPI Display Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "MIPI DSI Controller Configuration Settings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Video/Command Mode: ", + "Visibility": "", + "Data": [ + "52", + "Video_Command_Mode_01" + ], + "HelpText": "This feature helps in selecting Video/Command Mode.", + "WidgetValues": [ + { + "Key": "Video Mode", + "Value": "0" + }, + { + "Key": "Command Mode", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Packet Sequence For Video Mode: ", + "Visibility": "", + "Data": [ + "52", + "Packet_Sequence_Video_Mode_01" + ], + "HelpText": "This feature helps in selecting packet sequence for Video Mode.\nNon-burst with sync pulse\nNon-burst with sync events\nBurst mode", + "WidgetValues": [ + { + "Key": "Non-burst with sync pulse", + "Value": "1" + }, + { + "Key": "Non-burst with sync events", + "Value": "2" + }, + { + "Key": "Burst Mode", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Required Burst Mode Rate (in Kbps): ", + "Visibility": "", + "Data": [ + "52", + "RequiredBurstModeRate_01" + ], + "HelpText": "This feature allows to enter Required Burst Mode Rate in Kilo bits per sec. This should be greater than Non-Burst Mode Rate\nThis value is valid only if packet sequence for video mode is Burst Mode.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Colour Format In Video Mode: ", + "Visibility": "", + "Data": [ + "52", + "Colour_Format_Video_Mode_01" + ], + "HelpText": "This feature helps in selecting supported colour format in Video Mode.", + "WidgetValues": [ + { + "Key": "RGB565", + "Value": "1" + }, + { + "Key": "RGB666", + "Value": "2" + }, + { + "Key": "RGB 666(Loosely Packed Format)", + "Value": "3" + }, + { + "Key": "RGB888", + "Value": "4" + }, + { + "Key": "RGB101010", + "Value": "5" + }, + { + "Key": "RGB121212", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual Link Support: ", + "Visibility": "", + "Data": [ + "52", + "Dual_Link_01" + ], + "HelpText": "This feature allows to select type of dual link.", + "WidgetValues": [ + { + "Key": "Dual Link Not Supported", + "Value": "0" + }, + { + "Key": "Dual Link Front Back Mode", + "Value": "1" + }, + { + "Key": "Dual Link Pixel Alternative Mode", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count(Z-Inversion): ", + "Visibility": "", + "Data": [ + "42", + "PixelOverlapCount_01" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using\nMIPI Dual Link Front-Back video mode.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixels Overlap", + "Value": "2" + }, + { + "Key": "Three Pixels Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixels Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixels Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + }, + { + "Key": "Nine Pixel Overlap", + "Value": "9" + }, + { + "Key": "Ten Pixels Overlap", + "Value": "10" + }, + { + "Key": "Eleven Pixels Overlap", + "Value": "11" + }, + { + "Key": "Twelve Pixel Overlap", + "Value": "12" + }, + { + "Key": "Thirteen Pixels Overlap", + "Value": "13" + }, + { + "Key": "Fourteen Pixels Overlap", + "Value": "14" + }, + { + "Key": "Fifteen Pixels Overlap", + "Value": "15" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " CABC Support: ", + "Visibility": "", + "Data": [ + "52", + "CABC_Support_01" + ], + "HelpText": "This feature helps in selecting CABC_Support.", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " CABC On/Off Commands: ", + "Visibility": "", + "Data": [ + "52", + "CabcCmdsPort_01" + ], + "HelpText": "Select the MIPI Port for sending CABC On/Off Commands in case of Dual link MIPI panels\nThis field is ignored in single link MIPI case", + "WidgetValues": [ + { + "Key": "MIPI DSI-0", + "Value": "0" + }, + { + "Key": "MIPI DSI-1", + "Value": "1" + }, + { + "Key": "Both MIPI DSI-0 and DSI-1", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel PWM/BkltController On/Off Commands: ", + "Visibility": "", + "Data": [ + "52", + "PanelPwmCmdsPort_01" + ], + "HelpText": "Select the MIPI Port for sending Panel PWM/BkltController On/Off Commands in case of Dual link MIPI panels\nThis field is ignored in single link MIPI case", + "WidgetValues": [ + { + "Key": "MIPI DSI-0", + "Value": "0" + }, + { + "Key": "MIPI DSI-1", + "Value": "1" + }, + { + "Key": "Both MIPI DSI-0 and DSI-1", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " RGB/BGR Panel Selection: ", + "Visibility": "", + "Data": [ + "52", + "RgbFlip_01" + ], + "HelpText": "Select if the panel is RGB or BGR", + "WidgetValues": [ + { + "Key": "RGB Panel", + "Value": "0" + }, + { + "Key": "BGR Panel", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Number Of Data Lanes: ", + "Visibility": "", + "Data": [ + "52", + "Number_Of_Lanes_01" + ], + "HelpText": "This feature allows to select number of data lanes going to use for MIPI DSI", + "WidgetValues": [ + { + "Key": "1", + "Value": "0" + }, + { + "Key": "2", + "Value": "1" + }, + { + "Key": "3", + "Value": "2" + }, + { + "Key": "4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Sending Bus Turn Around (BTA): ", + "Visibility": "", + "Data": [ + "52", + "Bta_Disable_01" + ], + "HelpText": "Enable or Disable sending Bus Turn Around to the Peripheral", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "0" + }, + { + "Key": "Disabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Escape Clock: ", + "Visibility": "", + "Data": [ + "52", + "EscapeClk_01" + ], + "HelpText": "This feature helps to select frequency of Escape Clk.", + "WidgetValues": [ + { + "Key": "20 MHz", + "Value": "0" + }, + { + "Key": "10 MHz", + "Value": "1" + }, + { + "Key": "5 MHz", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " EoT Packet Transmission: ", + "Visibility": "", + "Data": [ + "52", + "EoTpSupport_01" + ], + "HelpText": "This feature helps to either enable or disable EoT packet Transmission", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "0" + }, + { + "Key": "Disabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Clock Stop Feature: ", + "Visibility": "", + "Data": [ + "52", + "ClockStop_01" + ], + "HelpText": "To enable or disable clock stopping feature during BLLP timing in a MIPI DPI (video) mode", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " LP Clock During LPM: ", + "Visibility": "", + "Data": [ + "52", + "LpClockDuringLpm_01" + ], + "HelpText": "In continuous clock mode (Clock Stop Feature disabled), Clock lane will always be in HS mode.\nIf this feature is enabled, Clock lane also goes to LP state once per frame during the mandated data lane LPM\nin MIPI DSI DPI (video) mode", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Blanking During BLLP: ", + "Visibility": "", + "Data": [ + "52", + "BlankingDuringBllp_01" + ], + "HelpText": "This feature helps to send Blanking packets during BLLP regions in a MIPI DSI DPI (video) mode.", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkPrepare: ", + "Visibility": "", + "Data": [ + "52", + "TClkPrepare_01" + ], + "HelpText": "This feature allows to enter TClkPrepare in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkTrail: ", + "Visibility": "", + "Data": [ + "52", + "TClkTrail_01" + ], + "HelpText": "This feature allows to enter TClkTrail in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkPrepare + TClkZero: ", + "Visibility": "", + "Data": [ + "52", + "TClkPrepareTClkZero_01" + ], + "HelpText": "This feature allows to enter TClkPrepare + TClkZero in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsPrepare: ", + "Visibility": "", + "Data": [ + "52", + "THsPrepare_01" + ], + "HelpText": "This feature allows to enter THsPrepare in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsTrail: ", + "Visibility": "", + "Data": [ + "52", + "THsTrail_01" + ], + "HelpText": "This feature allows to enter THsTrail in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsPrepare + THsZero: ", + "Visibility": "", + "Data": [ + "52", + "THsPrepareTHsZero_01" + ], + "HelpText": "This feature allows to enter THsPrepare + THsZero in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "MIPI DSI Panel Power On/Off Sequence(delays)", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Up Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerUpDelay_01" + ], + "HelpText": "Delay to be given after panel power up in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Data Turn-On To Panel Backlight Enable Delay: ", + "Visibility": "", + "Data": [ + "52", + "DataTurnOnToPanelBacklightEnableDelay_01" + ], + "HelpText": "Delay to be given after MIPI DATA TURN ON and before backlight enabling in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Pwm-On To Backlight Enable Delay: ", + "Visibility": "", + "Data": [ + "52", + "Mipi_PwmOn_To_Bklt_Enable_Delay_01" + ], + "HelpText": "Delay to be given after PWM-On and before Backlight Enable in 100uS\nDelay from PWM-On to Backlight Enable is included in delay from Data Turn-On to Panel Backlight Enable.\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Data Turn-On to Panel Backlight Enable.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Backlight Disable To Pwm-Off Delay: ", + "Visibility": "", + "Data": [ + "52", + "Mipi_Bklt_Disable_To_PwmOff_Delay_01" + ], + "HelpText": "Delay to be given after Backlight Disable and before Pwm-Off in 100uS\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to Data Turn-Off.\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to Data Turn-Off.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Backlight Disable To Data Turn-Off Delay: ", + "Visibility": "", + "Data": [ + "52", + "BacklightOffToDataTurnOffDelay_01" + ], + "HelpText": "Delay to be given after Backlight Disable and before MIPI DATA TURN OFF in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Down Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerDownDelay_01" + ], + "HelpText": "Delay to be given before panel power down in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Cycle Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerCycleDelay_01" + ], + "HelpText": "Delay to be given before panel power up and after panel power down in 100uS", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-2", + "PageName": "Panel #02", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "LabelHeading", + "WidgetName": "Common LFP Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryAsci", + "WidgetName": " LFP Panel Name: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Name_02" + ], + "HelpText": "This feature defines the LFP panel name, used by driver only. Panel name can be only of 13 characters maximum and rest of the characters will be truncated.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target X-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Width_02" + ], + "HelpText": "This value specifies the Target X-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target Y-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Height_02" + ], + "HelpText": "This value specifies the Target Y-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " DPS Panel Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Seamless DRRS Minimum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "42", + "Seamless_DRRS_Min_RR_02" + ], + "HelpText": "Using this field the minimum Refresh Rate to be used for Seamless DRRS feature can be entered in Hertz.\nNote: Graphics driver will use this field only when EDID support is disabled in VBT configuration.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " BackLight Technology Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " BackLight Technology: ", + "Visibility": "", + "Data": [ + "40", + "Blt_Control_02" + ], + "HelpText": "This feature allows OEM to select the Backlight Technology.", + "WidgetValues": [ + { + "Key": "LED Backlight", + "Value": "2" + }, + { + "Key": "CCFL Backlight", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Rotation: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Rotation_02" + ], + "HelpText": "This feature specifies the Panel Rotation of LFP panel used.", + "WidgetValues": [ + { + "Key": "0 degree", + "Value": "0" + }, + { + "Key": "180 degree", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Position: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Position_02" + ], + "HelpText": "This feature specifies the Panel Position of LFP panel used.", + "WidgetValues": [ + { + "Key": "Inside Shell", + "Value": "0" + }, + { + "Key": "Outside Shell", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual LFP Port Sync: ", + "Visibility": "", + "Data": [ + "42", + "EnablePortSync_Bit_02" + ], + "HelpText": "This feature will allow users to disable/enable Dual LFP Port Sync and it is applicable for DDI-A, DDI-B in case of eDP and DSI-0, DSI-1 in case of MIPI. \r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " GPU Dithering for Banding artifacts: ", + "Visibility": "", + "Data": [ + "42", + "EnableDithering_Bit_02" + ], + "HelpText": "This field can be used to enable dithering from the source side for reducing banding artifacts on the visual quality features like DPST.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP PnP ID Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Backlight Control Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Chromaticity Control", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "VESA DSC Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated MIPI DSI Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "MIPI Display Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated eDP Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Panel Power Sequencing Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Edp Max Port Link Rate (in 200 Khz): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Max_Port_Link_Rate_02" + ], + "HelpText": "This field specifies EDP Max Port Link Rate supported by the port in unit of 200KHz.\nDefault value would be \"0\", in which case Display Drivers should consider EDP Max Port Link Rate to be the Platform supported Max Link Rate.\nOnly when OEM's need to limit to particular Link Rate can enter the value as mentioned in below table.\n\nNote:\n1) OEM's need to enter the values mentioned from below table only.\n2) If value entered is not matching with any of the below values then Platform supported Max Link Rate should be considere as EDP Max Port Link Rate by the display drivers.\n3) In case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then we need to use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate)\n---------------------------------------------------------\n|\tLink Rate(Gbps)\t|\t Value to enter in text field\t|\n|\t \t\t|\t in terms of 200KHZ \t|\n---------------------------------------------------------\n|\t 1.62 \t\t|\t 8100 \t|\n|\t 2.16 \t\t|\t 10800 \t|\n|\t 2.43 \t\t|\t 12150 \t|\n|\t 2.7 \t\t|\t 13500 \t|\n|\t 3.24 \t\t|\t 16200 \t|\n|\t 3.78 \t\t|\t 18900 \t|\n|\t 4.32 \t\t|\t 21600 \t|\n|\t 5.4 \t\t|\t 27000 \t|\n|\t 6.48 \t\t|\t 32400 \t|\n|\t 6.75 \t\t|\t 33750 \t|\n|\t 8.1 \t\t|\t 40500 \t|\n", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Color Depth: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Panel_Color_Depth_02" + ], + "HelpText": "This feature specifies the color depth of eDP panel used.", + "WidgetValues": [ + { + "Key": "18-bit Color Depth", + "Value": "0" + }, + { + "Key": "24-bit Color Depth", + "Value": "1" + }, + { + "Key": "30-bit Color Depth", + "Value": "2" + }, + { + "Key": "36-bit Color Depth", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Select VSwing/Pre-Emphasis table : ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_VswingPreEmph_2" + ], + "HelpText": "This feature selects the VSwing Pre-Emphasis setting table to be used. For Tigerlake, based on the selection respective table will be used.\nTables for Tigerlake:\nLow Power VSwing Pre-Emphasis Setting Table:\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/200mV \t\t 200mV, 0.0db \t\t 200mV, 1.9db \t\t 200mV, 3.5db \t\t 200mV, 4.9db\nSwing \t\t Level-1/250mV \t\t 250mV, 0.0db \t\t 250mV, 1.6db \t\t 250mV, 2.9db \t\t N/A\n(mV) \t\t Level-2/300mV \t\t 300mV, 0.0db \t\t 300mV, 1.3db \t\t N/A \t\t N/A\n\t\t Level-3/350mV \t\t 350mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR3:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nDefault VSwing Pre-Emphasis Setting Table:\nFor HBR:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A", + "WidgetValues": [ + { + "Key": "Default VSwing/Pre-Emphasis Table", + "Value": "1" + }, + { + "Key": "Low Power VSwing/Pre-Emphasis Table", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " eDP Spread Spectrum Clock: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "40", + "Enable_SSC02" + ], + "HelpText": "This feature will allow users to disable/enable Spread Spectrum Clock for eDP.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "42", + "PixelOverlapCount_02" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using Edp Multi-SST(MSO) feature.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixel Overlap", + "Value": "2" + }, + { + "Key": "Three Pixel Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixel Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixel Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "PSR Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Apical Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-2-1", + "PageName": "eDP Panel Power Sequencing Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " T3 optimization: ", + "Visibility": "", + "Data": [ + "27", + "eDP_T3_Optimization_02" + ], + "HelpText": "This feature enables or disables T3 optimization.\nWhen enabled, VBIOS/GOP driver will poll for AUX soon after VDD enable until AUX passes or T3 time is reached\nWhen disabled, VBIOS/GOP driver will wait for T3 time before trying the first AUX transaction", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "LCDVCC to HPD high delay (T3): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Vcc_To_Hpd_Delay_02" + ], + "HelpText": "Using this field the delay from LCDVCC to HPD high can be specified in 100uS.\nValid Range: 0 to 200msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Valid video data to Backlight Enable delay (T8): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOn_To_BkltEnable_Delay_02" + ], + "HelpText": "Using this field the delay from Start of Valid video data from Source to Backlight Enable can be specified in 100uS.\nT8 is inclusive of T7.\nValid Range of T7: 0 to 50msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM-On To Backlight Enable delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_PwmOn_To_Bklt_Enable_Delay_02" + ], + "HelpText": "Using this field the delay from PWM-On to Backlight Enable can be specified in 100uS.\nDelay from PWM-On to Backlight Enable is included in delay from Valid video data to Backlight Enable (T8).\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Valid video data to Backlight Enable (T8).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to PWM-Off delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Bklt_Disable_To_PwmOff_Delay_02" + ], + "HelpText": "Using this field delay from Backlight Disable to PWM-Off can be specified in 100uS.\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to End of Valid video data (T9).\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to to End of Valid video data (T9).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to End of Valid video data delay (T9): ", + "Visibility": "", + "Data": [ + "27", + "eDP_BkltDisable_To_DataOff_Delay_02" + ], + "HelpText": "Using this field the delay from Backlight Disable to End of Valid video data can be specified in 100uS.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "End of Valid video data to Power-Off delay (T10): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOff_To_PowerOff_Delay_02" + ], + "HelpText": "Using this field delay from End of Valid video data from Source to Power-Off can be specified in 100uS.\nValid Range: 0 to 500 msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Power-off time (T12): ", + "Visibility": "", + "Data": [ + "27", + "eDP_PowerCycle_Delay_02" + ], + "HelpText": "Using this field Power-off time can be specified in 100uS.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-2-2", + "PageName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Is FastLinkTraining Feature Supported: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Supported_02" + ], + "HelpText": "This feature allows for the selection of the Fast Link Training feature is to be enabled or disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Data Rate: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Data_Rate_02" + ], + "HelpText": "This field specifies Data Rate to be used for Fast Link Training in unit of 200KHz for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.\n\nIn case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then driver would use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate).", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lane Count: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_LaneCount_02" + ], + "HelpText": "This feature allows for the selection of the Lane Count (Port Width) for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Pre-Emphasis: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_PreEmp_02" + ], + "HelpText": "This feature allows for the selection of the Pre-emphasis value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Voltage Swing: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_Vswing_02" + ], + "HelpText": "This feature allows for the selection of the Voltage Swing value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-2-3", + "PageName": "PSR Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Full Link enable: ", + "Visibility": "", + "Data": [ + "9", + "PSR_FullLink_Enable_02" + ], + "HelpText": "When panel is in PSR mode and 'Full Link Enable' is set to Yes, Link is kept in standby state.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Require AUX to wake up: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Require_AUX2Wakeup_02" + ], + "HelpText": "When panel is exiting PSR mode and 'Require AUX to wake up' is set to Yes, the AUX channel handshake(link training is required) will be used.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lines to wait before link standby: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Lines2Wait_B4LinkS3_02" + ], + "HelpText": "This field determines Lines to wait before link standby\n0 lines to wait (Default)\n1 lines to wait\n4 lines to wait\n8 lines to wait\nOthers Reserved", + "WidgetValues": [ + { + "Key": "0 lines to wait", + "Value": "0" + }, + { + "Key": "1 lines to wait", + "Value": "1" + }, + { + "Key": "4 lines to wait", + "Value": "2" + }, + { + "Key": "8 lines to wait", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Idle frames to wait: ", + "Visibility": "", + "Data": [ + "9", + "PSR_IdleFrames2Wait_02" + ], + "HelpText": "Idle frames to wait for PSR enable.\nAllowed values 0-15. Default value is 0.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Clock Recovery Time: ", + "Visibility": "", + "Data": [ + "9", + "PSR_TP1_WaitTime_02" + ], + "HelpText": "This field selects the link training TP1(Training Pattern1) time during PSR exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR1 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR1_TP_2_3_4_WaitTime_02" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR1 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR2 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR2_TP_2_3_4_WaitTime_02" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR2 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "50 usec", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-2-4", + "PageName": "Apical Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Apical Assertive Display IP: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Apical_Display_Ip_Enable_02" + ], + "HelpText": "This field enables/disables the Apical Assertive Display IP for this panel.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel OUI (IEEE OUI): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Oui_02" + ], + "HelpText": "This field specifies the Apical IP specific Panel OUI field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Base Address: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Base_Address_02" + ], + "HelpText": "This field specifies the Apical IP specific DPCD base address field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Irdidix Control 0: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Irdidix_Control0_02" + ], + "HelpText": "This field specifies the Apical IP specific DPCD Irdidix control 0 field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Option Select: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Option_Select_02" + ], + "HelpText": "This field specifies the Apical IP specific DPCD option select field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Backlight: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Backlight_02" + ], + "HelpText": "This field specifies the Apical IP specific backlight value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Ambient Light: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Ambient_Light_02" + ], + "HelpText": "This field specifies the Apical IP specific Ambient light value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Backlight scale: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Backlight_Scale_02" + ], + "HelpText": "This field specifies the Apical IP specific backlight scale field.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-2-5", + "PageName": "Power Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Power Saving Technology (DPST) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DPST_Enable_02" + ], + "HelpText": "This feature determines whether the Intel Display Power Savings Technology (DPST) is enabled or disabled.\nIntel DPST is a display power savings technology that changes the intensity of colors in order to conserve backlight power.\nNote: This technology is only active when the system is running in battery mode and the LFP is the only active display device.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Refresh Rate Switching (DRRS) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DRRS_Enable_02" + ], + "HelpText": "This feature determines whether Intel Display Refresh Rate Switching (DRRS) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Edge Luminance Profile (ELP) : ", + "Visibility": "", + "Data": [ + "44", + "ELP_Enable_02" + ], + "HelpText": "This feature determines whether the ELP feature is enabled or disabled.\nEdge Luminance Profile (ELP) is a panel technology which reduce luminance on the edge of screen to save panel power.\nNote:This technology cannot co-exist with DPST and OPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " OLED Power Saving Technology (OPST) : ", + "Visibility": "", + "Data": [ + "44", + "OPST_Enable_02" + ], + "HelpText": "This feature determines whether the OPST feature is enabled or disabled.\nOLED Power Saving Technology (OPST) is a panel technology which saves power by intelligent, adaptive dimming of midrange pixel values more aggressively than the extremes without compromising the viewability.\nNote: This technology cannot co-exist with ELP and DPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic Media Refresh Rate Switching Enable/Disable ", + "Visibility": "", + "Data": [ + "44", + "DMRRS_Enable_02" + ], + "HelpText": "This feature determines whether Dynamic media refresh rate switching is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Display Lace Support: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Enable_02" + ], + "HelpText": "This feature, when enabled, will set Display Lace Support otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Panel Self Refresh (PSR): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "PSR_Enable_02" + ], + "HelpText": "This feature determines whether Panel Self Refresh (PSR) feature is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Assertive Display Technology Enable/Disable: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "ADT_Enable_02" + ], + "HelpText": "This feature determines whether Assertive display technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Automatic Display Brightness (ADB) (Mobile only): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "ADB_Enable_02" + ], + "HelpText": "This feature determines whether Intel Automatic Display Brightness is to be enabled. Intel Automatic Display Brightness adjusts the brightness of the embedded Local Flat Panel (LFP) depending on the current ambient light environment.\nWhen enabled, the driver and VBIOS will control the backlight brightness of the LFP depending on the ambient environment if and only if the LFP is the only active display. When disabled, the driver will perform no action.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDP 4k/2k HOBL Feature: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "eDP_4k_2k_HOBL_feature_Enable_02" + ], + "HelpText": "This feature will allow users to disable/enable the edp 4k/2k HOBL(Hours Of Battery Life) feature by programming relevant registers specific for a platform.\r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display LACE Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Status_02" + ], + "HelpText": "This feature, when enabled, will set Default Display LACE Enabled status otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "DPST_Aggressiveness_Profile_02" + ], + "HelpText": "This feature allows for the selection of DPST Aggressiveness level for this Panel Type.\n1 (Maximum Quality with No DPST)\n2\n3\n4\n5\n6 (Maximum Battery)", + "WidgetValues": [ + { + "Key": "1 - Maximum Quality with No DPST", + "Value": "1" + }, + { + "Key": "2", + "Value": "2" + }, + { + "Key": "3", + "Value": "3" + }, + { + "Key": "4", + "Value": "4" + }, + { + "Key": "5", + "Value": "5" + }, + { + "Key": "6 - Maximum Battery", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LACE Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Aggressiveness_Profile_02" + ], + "HelpText": "This feature allows for the selection of LACE Aggressiveness level for this Panel Type.\nMinimum 0\nModerate 1\nHigh 2", + "WidgetValues": [ + { + "Key": "Minimum", + "Value": "0" + }, + { + "Key": "Moderate", + "Value": "1" + }, + { + "Key": "High", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "ELP Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "ELP_Aggressiveness_Profile_02" + ], + "HelpText": "This feature allows for the selection of ELP Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "OPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "OPST_Aggressiveness_Profile_02" + ], + "HelpText": "This feature allows for the selection of OPST Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display VRR Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "VRR_Status_02" + ], + "HelpText": "VRR (Variable Refresh Rate) is a feature that can continuously and seamlessly vary Refresh Rate on the fly, on displays that support Variable Refresh rate Technologies.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-2-6", + "PageName": "Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Pixel_CLK_02" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Active_02" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Active_02" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Blank_02" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Blank_02" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_FrontPorch_02" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_FrontPorch_02" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Sync_02" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Sync_02" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Image_Size_02" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Image_Size_02" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Common_Flag_02" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-2-7", + "PageName": "LFP PnP ID Table", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "42", + "LFP_Panel_PnP_ID_02" + ], + "HelpText": "This feature allows the 10 bytes of EDID Vendor/Product ID starting at offset 08h to be used as a PnP ID.\n\nTable Definition:\n\tWord: ID Manufacturer Name\n\tWord: ID Product Code\n\tDWord: ID Serial Number\n\tByte: Week of Manufacture\n\tByte: Year of Manufacture", + "WidgetValues": [ + { + "ColumnName": "PnP ID", + "SizeinBytes": "1" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-2-8", + "PageName": "Backlight Control Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Type: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Type_02" + ], + "HelpText": "This feature allows for the selection of the Backlight Inverter type that is to be used to control the backlight brightness of the LFP.\nWhen PWM is selected, the driver and VBIOS will control the backlight brightness via the integrated PWM solution for the applicable chipsets.\nWhen None/External is selected, the system BIOS will control the backlight brightness via the external solution.", + "WidgetValues": [ + { + "Key": "None/External", + "Value": "0" + }, + { + "Key": "PWM", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Source Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Source_Selection_02" + ], + "HelpText": "If panel supports 'Intel HDR AUX Interface', it will always be chosen by default. If not, value in 'PWM Source Selection' will be used", + "WidgetValues": [ + { + "Key": "PWM From Display Engine", + "Value": "2" + }, + { + "Key": "PWM From LCD Panel", + "Value": "3" + }, + { + "Key": "Panel Driver Interface", + "Value": "4" + }, + { + "Key": "VESA eDP AUX Interface", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Controller Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Controller_Selection_02" + ], + "HelpText": "This field allows to select the PWM Controller to be used for the selected Local Flat Panel.This field allows to select the PWM Controller to be used for the selected Local Flat Panel.If Two LFPs are connected then PWM0 and PWM1 must be selected accordingly.", + "WidgetValues": [ + { + "Key": "PWM0", + "Value": "0" + }, + { + "Key": "PWM1", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Polarity: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Polarity_02" + ], + "HelpText": "This feature allows the backlight inverter polarity to be specified.\nNormal means 0 value is minimum brightness.\nInverted means 0 value is maximum brightness.", + "WidgetValues": [ + { + "Key": "Normal", + "Value": "0" + }, + { + "Key": "Inverted", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Minimum Brightness: ", + "Visibility": "", + "Data": [ + "43", + "Post_Min_Brightness_02" + ], + "HelpText": "This feature allows defining the absolute minimum backlight brightness. The driver will never decrease the backlight less than this value. The value must be specified using normal polarity semantics. The value should range from 0 to 255 if the brightness precision bit is chosen to be 8, and it should range from 0 to 65535 if the precision bit is chosen to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "POST Backlight Intensity: ", + "Visibility": "", + "Data": [ + "43", + "Post_Brightness_02" + ], + "HelpText": "This feature is used to set default backlight brightness value of the panel at POST. The value should range from 0 to 255 if the bit precision is chosen to be 8 and it should range from 0 to 65535 if the brightness bit precision is chosent to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Brightness Precision Bits: ", + "Visibility": "", + "Data": [ + "43", + "BrightnessPrecisionBits_02" + ], + "HelpText": "This field represents the range of brightness in terms of bit precision.\n 8 = Brightness range of 0 to 255.\n 16 = Brightness range of 0 to 65535", + "WidgetValues": [ + { + "Key": "8", + "Value": "8" + }, + { + "Key": "16", + "Value": "16" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM Inverter Frequency (Hz): ", + "Visibility": "", + "Data": [ + "43", + "PWM_Frequency_02" + ], + "HelpText": "This feature allows for the definition of the frequency needed for PWM Inverter.\nNote: The frequency range (entered as a decimal number), for the integrated PWM is 200Hz - 40KHz.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Intel HDR DPCD Refresh Timeout (unit - 10 micro seconds): ", + "Visibility": "", + "Data": [ + "43", + "HdrDpcdRefreshTimeout_02" + ], + "HelpText": "This field allows to configure the refresh timeout of Intel HDR DPCDs for different TCON Vendors.\nNote:\n\tThe value is in units of 10 microseconds.\n\tThe range (entered as a decimal number), for the timeout is 0-65535", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-2-9", + "PageName": "Chromaticity Control", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Chromaticity Control Feature: ", + "Visibility": "", + "Data": [ + "46", + "Chromacity_Enable_02" + ], + "HelpText": "This bit enables Chromaticity feature.\nIf this bit is enabled, EDID values for chromaticity will be used, else feature is disabled.\nFeature will be supported for Panels that support EDID version 1.4 or higher.\nPlease refer to section 3.7 of EDID Specification 1.4.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override the EDID values: ", + "Visibility": "", + "Data": [ + "46", + "Override_EDID_Data_02" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override EDID values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_Green_bits (Bits 1:0 at 19h): ", + "Visibility": "", + "Data": [ + "46", + "Red_Green_02" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Red, Green Coordinates represented as Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1 Gy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_White_bits (Bits 1:0 at 1Ah): ", + "Visibility": "", + "Data": [ + "46", + "Blue_White_02" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Blue, White Coordinates represented as Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_x (Bits 9:2 at 1Bh): ", + "Visibility": "", + "Data": [ + "46", + "Red_x_02" + ], + "HelpText": "Bits 9:2 of red color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_y (Bits 9:2 at 1Ch): ", + "Visibility": "", + "Data": [ + "46", + "Red_y_02" + ], + "HelpText": "Bits 9:2 of red color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_x (Bits 9:2 at 1Dh): ", + "Visibility": "", + "Data": [ + "46", + "Green_x_02" + ], + "HelpText": "Bits 9:2 of Green color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_y (Bits 9:2 at 1Eh): ", + "Visibility": "", + "Data": [ + "46", + "Green_y_02" + ], + "HelpText": "Bits 9:2 of Green color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_x (Bits 9:2 at 1Fh): ", + "Visibility": "", + "Data": [ + "46", + "Blue_x_02" + ], + "HelpText": "Bits 9:2 of Blue color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_y (Bits 9:2 at 20h): ", + "Visibility": "", + "Data": [ + "46", + "Blue_y_02" + ], + "HelpText": "Bits 9:2 of Blue color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_x (Bits 9:2 at 21h): ", + "Visibility": "", + "Data": [ + "46", + "White_x_02" + ], + "HelpText": "Bits 9:2 of White color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_y (Bits 9:2 at 22h): ", + "Visibility": "", + "Data": [ + "46", + "White_y_02" + ], + "HelpText": "Bits 9:2 of White color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Luminance values ", + "Visibility": "", + "Data": [ + "46", + "Override_LUM_Data_02" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override luminance values following VBT values", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Minimum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MinLuminance_02" + ], + "HelpText": "Minimum luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum full frame luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxFullLuminance_02" + ], + "HelpText": "Maximum Full frame luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxLuminance_02" + ], + "HelpText": "Maximum luminance value(Relatively smaller portion of screen).\n2 byte value, encoded in IEEE 754 half-precision binary floating point format.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Gamma values: ", + "Visibility": "", + "Data": [ + "46", + "Override_Gamma_Data_02" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override gamma values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel gamma: ", + "Visibility": "", + "Data": [ + "46", + "Gamma_02" + ], + "HelpText": "Value shall define the gamma range, from 1.00 to 3.54, as follows:\nField Value = (Gamma (value in float) x 100) - 100\nField values range from 00h through FFh.\nFFh = No gamma information shall be provided", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-2-10", + "PageName": "VESA DSC Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Major Version: ", + "Visibility": "", + "Data": [ + "56", + "C2_Major_Dsc_Version" + ], + "HelpText": "VESA DSC Major revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Minor Version: ", + "Visibility": "", + "Data": [ + "56", + "C2_Minor_Dsc_Version" + ], + "HelpText": "VESA DSC Minor revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Block prediction supported: ", + "Visibility": "", + "Data": [ + "56", + "C2_Blk_Prediction_En" + ], + "HelpText": "Sink supports block prediction as per the VESA DSC Spec.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "RC Buffer Block size as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C2_RC_Block_Size" + ], + "HelpText": "RC buffer block size for a single RC buffer as defined by the VESA DSC spec.", + "WidgetValues": [ + { + "Key": "1 KB", + "Value": "0" + }, + { + "Key": "4 KB", + "Value": "1" + }, + { + "Key": "16 KB", + "Value": "2" + }, + { + "Key": "64 KB", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Number of RC buffer blocks as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C2_Dsc_RC_Buf_Size" + ], + "HelpText": "This field defines the number of RC buffers as per VESA DSC spec.\nThe number of RC buffers used by the software shall be (Value + 1) where Value is in range 0 to 127.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Slices per line supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C2_Dsc_Slices_Per_Line" + ], + "HelpText": "This field defines the slices per line supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 31-10\t\t Bit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tReserved\t\t 24\t 20\t 16\t 12\t 10\t 8\t 6\t 4\t 2\t 1\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower slices per line than maximum selected field. i.e. If it supports say 8 slices per line, it will also support 4/2/1 slices per line", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Line buffer depth as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C2_Line_Buffer_Depth" + ], + "HelpText": "Line buffer depth in bits as per VESA DSC spec.", + "WidgetValues": [ + { + "Key": "8 bits", + "Value": "0" + }, + { + "Key": "9 bits", + "Value": "1" + }, + { + "Key": "10 bits", + "Value": "2" + }, + { + "Key": "11 bits", + "Value": "3" + }, + { + "Key": "12 bits", + "Value": "4" + }, + { + "Key": "13 bits", + "Value": "5" + }, + { + "Key": "14 bits", + "Value": "6" + }, + { + "Key": "15 bits", + "Value": "7" + }, + { + "Key": "16 bits", + "Value": "8" + } + ] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Input compression BPC supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C2_Dsc_Bpc" + ], + "HelpText": "This field defines the compression input bpc supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 7-4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tRsvd\t 12 bpc\t 10bpc\t 8bpc\t Rsvd\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower bpc values than the maximum selected field. i.e. If it supports say 12bpc, it will also support 10 and 8bpc as well", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum supported compression BPP: ", + "Visibility": "", + "Data": [ + "56", + "C2_Dsc_Max_Bpp" + ], + "HelpText": "As of today, we are supporting 6/8/10/12 BPP for compression output.\nSelect the most appropriate BPP as supported by the sink.", + "WidgetValues": [ + { + "Key": "6 Bits per pixel", + "Value": "0" + }, + { + "Key": "8 Bits per pixel", + "Value": "1" + }, + { + "Key": "10 Bits per pixel", + "Value": "2" + }, + { + "Key": "12 Bits per pixel", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Slice height supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C2_Dsc_Slice_Height" + ], + "HelpText": "Slice height supported by the sink device for DSC slice.\nNote: Slice height must divide the picture height uniformly.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-2-11", + "PageName": "MIPI Display Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "MIPI DSI Controller Configuration Settings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Video/Command Mode: ", + "Visibility": "", + "Data": [ + "52", + "Video_Command_Mode_02" + ], + "HelpText": "This feature helps in selecting Video/Command Mode.", + "WidgetValues": [ + { + "Key": "Video Mode", + "Value": "0" + }, + { + "Key": "Command Mode", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Packet Sequence For Video Mode: ", + "Visibility": "", + "Data": [ + "52", + "Packet_Sequence_Video_Mode_02" + ], + "HelpText": "This feature helps in selecting packet sequence for Video Mode.\nNon-burst with sync pulse\nNon-burst with sync events\nBurst mode", + "WidgetValues": [ + { + "Key": "Non-burst with sync pulse", + "Value": "1" + }, + { + "Key": "Non-burst with sync events", + "Value": "2" + }, + { + "Key": "Burst Mode", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Required Burst Mode Rate (in Kbps): ", + "Visibility": "", + "Data": [ + "52", + "RequiredBurstModeRate_02" + ], + "HelpText": "This feature allows to enter Required Burst Mode Rate in Kilo bits per sec. This should be greater than Non-Burst Mode Rate\nThis value is valid only if packet sequence for video mode is Burst Mode.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Colour Format In Video Mode: ", + "Visibility": "", + "Data": [ + "52", + "Colour_Format_Video_Mode_02" + ], + "HelpText": "This feature helps in selecting supported colour format in Video Mode.", + "WidgetValues": [ + { + "Key": "RGB565", + "Value": "1" + }, + { + "Key": "RGB666", + "Value": "2" + }, + { + "Key": "RGB 666(Loosely Packed Format)", + "Value": "3" + }, + { + "Key": "RGB888", + "Value": "4" + }, + { + "Key": "RGB101010", + "Value": "5" + }, + { + "Key": "RGB121212", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual Link Support: ", + "Visibility": "", + "Data": [ + "52", + "Dual_Link_02" + ], + "HelpText": "This feature allows to select type of dual link.", + "WidgetValues": [ + { + "Key": "Dual Link Not Supported", + "Value": "0" + }, + { + "Key": "Dual Link Front Back Mode", + "Value": "1" + }, + { + "Key": "Dual Link Pixel Alternative Mode", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count(Z-Inversion): ", + "Visibility": "", + "Data": [ + "42", + "PixelOverlapCount_02" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using\nMIPI Dual Link Front-Back video mode.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixels Overlap", + "Value": "2" + }, + { + "Key": "Three Pixels Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixels Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixels Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + }, + { + "Key": "Nine Pixel Overlap", + "Value": "9" + }, + { + "Key": "Ten Pixels Overlap", + "Value": "10" + }, + { + "Key": "Eleven Pixels Overlap", + "Value": "11" + }, + { + "Key": "Twelve Pixel Overlap", + "Value": "12" + }, + { + "Key": "Thirteen Pixels Overlap", + "Value": "13" + }, + { + "Key": "Fourteen Pixels Overlap", + "Value": "14" + }, + { + "Key": "Fifteen Pixels Overlap", + "Value": "15" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " CABC Support: ", + "Visibility": "", + "Data": [ + "52", + "CABC_Support_02" + ], + "HelpText": "This feature helps in selecting CABC_Support.", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " CABC On/Off Commands: ", + "Visibility": "", + "Data": [ + "52", + "CabcCmdsPort_02" + ], + "HelpText": "Select the MIPI Port for sending CABC On/Off Commands in case of Dual link MIPI panels\nThis field is ignored in single link MIPI case", + "WidgetValues": [ + { + "Key": "MIPI DSI-0", + "Value": "0" + }, + { + "Key": "MIPI DSI-1", + "Value": "1" + }, + { + "Key": "Both MIPI DSI-0 and DSI-1", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel PWM/BkltController On/Off Commands: ", + "Visibility": "", + "Data": [ + "52", + "PanelPwmCmdsPort_02" + ], + "HelpText": "Select the MIPI Port for sending Panel PWM/BkltController On/Off Commands in case of Dual link MIPI panels\nThis field is ignored in single link MIPI case", + "WidgetValues": [ + { + "Key": "MIPI DSI-0", + "Value": "0" + }, + { + "Key": "MIPI DSI-1", + "Value": "1" + }, + { + "Key": "Both MIPI DSI-0 and DSI-1", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " RGB/BGR Panel Selection: ", + "Visibility": "", + "Data": [ + "52", + "RgbFlip_02" + ], + "HelpText": "Select if the panel is RGB or BGR", + "WidgetValues": [ + { + "Key": "RGB Panel", + "Value": "0" + }, + { + "Key": "BGR Panel", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Number Of Data Lanes: ", + "Visibility": "", + "Data": [ + "52", + "Number_Of_Lanes_02" + ], + "HelpText": "This feature allows to select number of data lanes going to use for MIPI DSI", + "WidgetValues": [ + { + "Key": "1", + "Value": "0" + }, + { + "Key": "2", + "Value": "1" + }, + { + "Key": "3", + "Value": "2" + }, + { + "Key": "4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Sending Bus Turn Around (BTA): ", + "Visibility": "", + "Data": [ + "52", + "Bta_Disable_02" + ], + "HelpText": "Enable or Disable sending Bus Turn Around to the Peripheral", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "0" + }, + { + "Key": "Disabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Escape Clock: ", + "Visibility": "", + "Data": [ + "52", + "EscapeClk_02" + ], + "HelpText": "This feature helps to select frequency of Escape Clk.", + "WidgetValues": [ + { + "Key": "20 MHz", + "Value": "0" + }, + { + "Key": "10 MHz", + "Value": "1" + }, + { + "Key": "5 MHz", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " EoT Packet Transmission: ", + "Visibility": "", + "Data": [ + "52", + "EoTpSupport_02" + ], + "HelpText": "This feature helps to either enable or disable EoT packet Transmission", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "0" + }, + { + "Key": "Disabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Clock Stop Feature: ", + "Visibility": "", + "Data": [ + "52", + "ClockStop_02" + ], + "HelpText": "To enable or disable clock stopping feature during BLLP timing in a MIPI DPI (video) mode", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " LP Clock During LPM: ", + "Visibility": "", + "Data": [ + "52", + "LpClockDuringLpm_02" + ], + "HelpText": "In continuous clock mode (Clock Stop Feature disabled), Clock lane will always be in HS mode.\nIf this feature is enabled, Clock lane also goes to LP state once per frame during the mandated data lane LPM\nin MIPI DSI DPI (video) mode", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Blanking During BLLP: ", + "Visibility": "", + "Data": [ + "52", + "BlankingDuringBllp_02" + ], + "HelpText": "This feature helps to send Blanking packets during BLLP regions in a MIPI DSI DPI (video) mode.", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkPrepare: ", + "Visibility": "", + "Data": [ + "52", + "TClkPrepare_02" + ], + "HelpText": "This feature allows to enter TClkPrepare in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkTrail: ", + "Visibility": "", + "Data": [ + "52", + "TClkTrail_02" + ], + "HelpText": "This feature allows to enter TClkTrail in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkPrepare + TClkZero: ", + "Visibility": "", + "Data": [ + "52", + "TClkPrepareTClkZero_02" + ], + "HelpText": "This feature allows to enter TClkPrepare + TClkZero in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsPrepare: ", + "Visibility": "", + "Data": [ + "52", + "THsPrepare_02" + ], + "HelpText": "This feature allows to enter THsPrepare in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsTrail: ", + "Visibility": "", + "Data": [ + "52", + "THsTrail_02" + ], + "HelpText": "This feature allows to enter THsTrail in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsPrepare + THsZero: ", + "Visibility": "", + "Data": [ + "52", + "THsPrepareTHsZero_02" + ], + "HelpText": "This feature allows to enter THsPrepare + THsZero in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "MIPI DSI Panel Power On/Off Sequence(delays)", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Up Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerUpDelay_02" + ], + "HelpText": "Delay to be given after panel power up in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Data Turn-On To Panel Backlight Enable Delay: ", + "Visibility": "", + "Data": [ + "52", + "DataTurnOnToPanelBacklightEnableDelay_02" + ], + "HelpText": "Delay to be given after MIPI DATA TURN ON and before backlight enabling in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Pwm-On To Backlight Enable Delay: ", + "Visibility": "", + "Data": [ + "52", + "Mipi_PwmOn_To_Bklt_Enable_Delay_02" + ], + "HelpText": "Delay to be given after PWM-On and before Backlight Enable in 100uS\nDelay from PWM-On to Backlight Enable is included in delay from Data Turn-On to Panel Backlight Enable.\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Data Turn-On to Panel Backlight Enable.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Backlight Disable To Pwm-Off Delay: ", + "Visibility": "", + "Data": [ + "52", + "Mipi_Bklt_Disable_To_PwmOff_Delay_02" + ], + "HelpText": "Delay to be given after Backlight Disable and before Pwm-Off in 100uS\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to Data Turn-Off.\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to Data Turn-Off.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Backlight Disable To Data Turn-Off Delay: ", + "Visibility": "", + "Data": [ + "52", + "BacklightOffToDataTurnOffDelay_02" + ], + "HelpText": "Delay to be given after Backlight Disable and before MIPI DATA TURN OFF in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Down Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerDownDelay_02" + ], + "HelpText": "Delay to be given before panel power down in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Cycle Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerCycleDelay_02" + ], + "HelpText": "Delay to be given before panel power up and after panel power down in 100uS", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-3", + "PageName": "Panel #03", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "LabelHeading", + "WidgetName": "Common LFP Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryAsci", + "WidgetName": " LFP Panel Name: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Name_03" + ], + "HelpText": "This feature defines the LFP panel name, used by driver only. Panel name can be only of 13 characters maximum and rest of the characters will be truncated.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target X-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Width_03" + ], + "HelpText": "This value specifies the Target X-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target Y-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Height_03" + ], + "HelpText": "This value specifies the Target Y-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " DPS Panel Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Seamless DRRS Minimum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "42", + "Seamless_DRRS_Min_RR_03" + ], + "HelpText": "Using this field the minimum Refresh Rate to be used for Seamless DRRS feature can be entered in Hertz.\nNote: Graphics driver will use this field only when EDID support is disabled in VBT configuration.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " BackLight Technology Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " BackLight Technology: ", + "Visibility": "", + "Data": [ + "40", + "Blt_Control_03" + ], + "HelpText": "This feature allows OEM to select the Backlight Technology.", + "WidgetValues": [ + { + "Key": "LED Backlight", + "Value": "2" + }, + { + "Key": "CCFL Backlight", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Rotation: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Rotation_03" + ], + "HelpText": "This feature specifies the Panel Rotation of LFP panel used.", + "WidgetValues": [ + { + "Key": "0 degree", + "Value": "0" + }, + { + "Key": "180 degree", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Position: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Position_03" + ], + "HelpText": "This feature specifies the Panel Position of LFP panel used.", + "WidgetValues": [ + { + "Key": "Inside Shell", + "Value": "0" + }, + { + "Key": "Outside Shell", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual LFP Port Sync: ", + "Visibility": "", + "Data": [ + "42", + "EnablePortSync_Bit_03" + ], + "HelpText": "This feature will allow users to disable/enable Dual LFP Port Sync and it is applicable for DDI-A, DDI-B in case of eDP and DSI-0, DSI-1 in case of MIPI. \r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " GPU Dithering for Banding artifacts: ", + "Visibility": "", + "Data": [ + "42", + "EnableDithering_Bit_03" + ], + "HelpText": "This field can be used to enable dithering from the source side for reducing banding artifacts on the visual quality features like DPST.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP PnP ID Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Backlight Control Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Chromaticity Control", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "VESA DSC Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated MIPI DSI Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "MIPI Display Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated eDP Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Panel Power Sequencing Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Edp Max Port Link Rate (in 200 Khz): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Max_Port_Link_Rate_03" + ], + "HelpText": "This field specifies EDP Max Port Link Rate supported by the port in unit of 200KHz.\nDefault value would be \"0\", in which case Display Drivers should consider EDP Max Port Link Rate to be the Platform supported Max Link Rate.\nOnly when OEM's need to limit to particular Link Rate can enter the value as mentioned in below table.\n\nNote:\n1) OEM's need to enter the values mentioned from below table only.\n2) If value entered is not matching with any of the below values then Platform supported Max Link Rate should be considere as EDP Max Port Link Rate by the display drivers.\n3) In case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then we need to use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate)\n---------------------------------------------------------\n|\tLink Rate(Gbps)\t|\t Value to enter in text field\t|\n|\t \t\t|\t in terms of 200KHZ \t|\n---------------------------------------------------------\n|\t 1.62 \t\t|\t 8100 \t|\n|\t 2.16 \t\t|\t 10800 \t|\n|\t 2.43 \t\t|\t 12150 \t|\n|\t 2.7 \t\t|\t 13500 \t|\n|\t 3.24 \t\t|\t 16200 \t|\n|\t 3.78 \t\t|\t 18900 \t|\n|\t 4.32 \t\t|\t 21600 \t|\n|\t 5.4 \t\t|\t 27000 \t|\n|\t 6.48 \t\t|\t 32400 \t|\n|\t 6.75 \t\t|\t 33750 \t|\n|\t 8.1 \t\t|\t 40500 \t|\n", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Color Depth: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Panel_Color_Depth_03" + ], + "HelpText": "This feature specifies the color depth of eDP panel used.", + "WidgetValues": [ + { + "Key": "18-bit Color Depth", + "Value": "0" + }, + { + "Key": "24-bit Color Depth", + "Value": "1" + }, + { + "Key": "30-bit Color Depth", + "Value": "2" + }, + { + "Key": "36-bit Color Depth", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Select VSwing/Pre-Emphasis table : ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_VswingPreEmph_3" + ], + "HelpText": "This feature selects the VSwing Pre-Emphasis setting table to be used. For Tigerlake, based on the selection respective table will be used.\nTables for Tigerlake:\nLow Power VSwing Pre-Emphasis Setting Table:\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/200mV \t\t 200mV, 0.0db \t\t 200mV, 1.9db \t\t 200mV, 3.5db \t\t 200mV, 4.9db\nSwing \t\t Level-1/250mV \t\t 250mV, 0.0db \t\t 250mV, 1.6db \t\t 250mV, 2.9db \t\t N/A\n(mV) \t\t Level-2/300mV \t\t 300mV, 0.0db \t\t 300mV, 1.3db \t\t N/A \t\t N/A\n\t\t Level-3/350mV \t\t 350mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR3:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nDefault VSwing Pre-Emphasis Setting Table:\nFor HBR:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A", + "WidgetValues": [ + { + "Key": "Default VSwing/Pre-Emphasis Table", + "Value": "1" + }, + { + "Key": "Low Power VSwing/Pre-Emphasis Table", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " eDP Spread Spectrum Clock: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "40", + "Enable_SSC03" + ], + "HelpText": "This feature will allow users to disable/enable Spread Spectrum Clock for eDP.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "42", + "PixelOverlapCount_03" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using Edp Multi-SST(MSO) feature.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixel Overlap", + "Value": "2" + }, + { + "Key": "Three Pixel Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixel Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixel Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "PSR Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Apical Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-3-1", + "PageName": "eDP Panel Power Sequencing Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " T3 optimization: ", + "Visibility": "", + "Data": [ + "27", + "eDP_T3_Optimization_03" + ], + "HelpText": "This feature enables or disables T3 optimization.\nWhen enabled, VBIOS/GOP driver will poll for AUX soon after VDD enable until AUX passes or T3 time is reached\nWhen disabled, VBIOS/GOP driver will wait for T3 time before trying the first AUX transaction", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "LCDVCC to HPD high delay (T3): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Vcc_To_Hpd_Delay_03" + ], + "HelpText": "Using this field the delay from LCDVCC to HPD high can be specified in 100uS.\nValid Range: 0 to 200msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Valid video data to Backlight Enable delay (T8): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOn_To_BkltEnable_Delay_03" + ], + "HelpText": "Using this field the delay from Start of Valid video data from Source to Backlight Enable can be specified in 100uS.\nT8 is inclusive of T7.\nValid Range of T7: 0 to 50msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM-On To Backlight Enable delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_PwmOn_To_Bklt_Enable_Delay_03" + ], + "HelpText": "Using this field the delay from PWM-On to Backlight Enable can be specified in 100uS.\nDelay from PWM-On to Backlight Enable is included in delay from Valid video data to Backlight Enable (T8).\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Valid video data to Backlight Enable (T8).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to PWM-Off delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Bklt_Disable_To_PwmOff_Delay_03" + ], + "HelpText": "Using this field delay from Backlight Disable to PWM-Off can be specified in 100uS.\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to End of Valid video data (T9).\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to to End of Valid video data (T9).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to End of Valid video data delay (T9): ", + "Visibility": "", + "Data": [ + "27", + "eDP_BkltDisable_To_DataOff_Delay_03" + ], + "HelpText": "Using this field the delay from Backlight Disable to End of Valid video data can be specified in 100uS.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "End of Valid video data to Power-Off delay (T10): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOff_To_PowerOff_Delay_03" + ], + "HelpText": "Using this field delay from End of Valid video data from Source to Power-Off can be specified in 100uS.\nValid Range: 0 to 500 msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Power-off time (T12): ", + "Visibility": "", + "Data": [ + "27", + "eDP_PowerCycle_Delay_03" + ], + "HelpText": "Using this field Power-off time can be specified in 100uS.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-3-2", + "PageName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Is FastLinkTraining Feature Supported: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Supported_03" + ], + "HelpText": "This feature allows for the selection of the Fast Link Training feature is to be enabled or disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Data Rate: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Data_Rate_03" + ], + "HelpText": "This field specifies Data Rate to be used for Fast Link Training in unit of 200KHz for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.\n\nIn case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then driver would use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate).", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lane Count: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_LaneCount_03" + ], + "HelpText": "This feature allows for the selection of the Lane Count (Port Width) for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Pre-Emphasis: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_PreEmp_03" + ], + "HelpText": "This feature allows for the selection of the Pre-emphasis value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Voltage Swing: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_Vswing_03" + ], + "HelpText": "This feature allows for the selection of the Voltage Swing value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-3-3", + "PageName": "PSR Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Full Link enable: ", + "Visibility": "", + "Data": [ + "9", + "PSR_FullLink_Enable_03" + ], + "HelpText": "When panel is in PSR mode and 'Full Link Enable' is set to Yes, Link is kept in standby state.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Require AUX to wake up: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Require_AUX2Wakeup_03" + ], + "HelpText": "When panel is exiting PSR mode and 'Require AUX to wake up' is set to Yes, the AUX channel handshake(link training is required) will be used.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lines to wait before link standby: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Lines2Wait_B4LinkS3_03" + ], + "HelpText": "This field determines Lines to wait before link standby\n0 lines to wait (Default)\n1 lines to wait\n4 lines to wait\n8 lines to wait\nOthers Reserved", + "WidgetValues": [ + { + "Key": "0 lines to wait", + "Value": "0" + }, + { + "Key": "1 lines to wait", + "Value": "1" + }, + { + "Key": "4 lines to wait", + "Value": "2" + }, + { + "Key": "8 lines to wait", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Idle frames to wait: ", + "Visibility": "", + "Data": [ + "9", + "PSR_IdleFrames2Wait_03" + ], + "HelpText": "Idle frames to wait for PSR enable.\nAllowed values 0-15. Default value is 0.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Clock Recovery Time: ", + "Visibility": "", + "Data": [ + "9", + "PSR_TP1_WaitTime_03" + ], + "HelpText": "This field selects the link training TP1(Training Pattern1) time during PSR exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR1 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR1_TP_2_3_4_WaitTime_03" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR1 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR2 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR2_TP_2_3_4_WaitTime_03" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR2 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "50 usec", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-3-4", + "PageName": "Apical Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Apical Assertive Display IP: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Apical_Display_Ip_Enable_03" + ], + "HelpText": "This field enables/disables the Apical Assertive Display IP for this panel.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel OUI (IEEE OUI): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Oui_03" + ], + "HelpText": "This field specifies the Apical IP specific Panel OUI field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Base Address: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Base_Address_03" + ], + "HelpText": "This field specifies the Apical IP specific DPCD base address field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Irdidix Control 0: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Irdidix_Control0_03" + ], + "HelpText": "This field specifies the Apical IP specific DPCD Irdidix control 0 field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Option Select: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Option_Select_03" + ], + "HelpText": "This field specifies the Apical IP specific DPCD option select field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Backlight: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Backlight_03" + ], + "HelpText": "This field specifies the Apical IP specific backlight value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Ambient Light: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Ambient_Light_03" + ], + "HelpText": "This field specifies the Apical IP specific Ambient light value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Backlight scale: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Backlight_Scale_03" + ], + "HelpText": "This field specifies the Apical IP specific backlight scale field.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-3-5", + "PageName": "Power Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Power Saving Technology (DPST) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DPST_Enable_03" + ], + "HelpText": "This feature determines whether the Intel Display Power Savings Technology (DPST) is enabled or disabled.\nIntel DPST is a display power savings technology that changes the intensity of colors in order to conserve backlight power.\nNote: This technology is only active when the system is running in battery mode and the LFP is the only active display device.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Refresh Rate Switching (DRRS) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DRRS_Enable_03" + ], + "HelpText": "This feature determines whether Intel Display Refresh Rate Switching (DRRS) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Edge Luminance Profile (ELP) : ", + "Visibility": "", + "Data": [ + "44", + "ELP_Enable_03" + ], + "HelpText": "This feature determines whether the ELP feature is enabled or disabled.\nEdge Luminance Profile (ELP) is a panel technology which reduce luminance on the edge of screen to save panel power.\nNote:This technology cannot co-exist with DPST and OPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " OLED Power Saving Technology (OPST) : ", + "Visibility": "", + "Data": [ + "44", + "OPST_Enable_03" + ], + "HelpText": "This feature determines whether the OPST feature is enabled or disabled.\nOLED Power Saving Technology (OPST) is a panel technology which saves power by intelligent, adaptive dimming of midrange pixel values more aggressively than the extremes without compromising the viewability.\nNote: This technology cannot co-exist with ELP and DPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic Media Refresh Rate Switching Enable/Disable ", + "Visibility": "", + "Data": [ + "44", + "DMRRS_Enable_03" + ], + "HelpText": "This feature determines whether Dynamic media refresh rate switching is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Display Lace Support: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Enable_03" + ], + "HelpText": "This feature, when enabled, will set Display Lace Support otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Panel Self Refresh (PSR): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "PSR_Enable_03" + ], + "HelpText": "This feature determines whether Panel Self Refresh (PSR) feature is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Assertive Display Technology Enable/Disable: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "ADT_Enable_03" + ], + "HelpText": "This feature determines whether Assertive display technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Automatic Display Brightness (ADB) (Mobile only): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "ADB_Enable_03" + ], + "HelpText": "This feature determines whether Intel Automatic Display Brightness is to be enabled. Intel Automatic Display Brightness adjusts the brightness of the embedded Local Flat Panel (LFP) depending on the current ambient light environment.\nWhen enabled, the driver and VBIOS will control the backlight brightness of the LFP depending on the ambient environment if and only if the LFP is the only active display. When disabled, the driver will perform no action.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDP 4k/2k HOBL Feature: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "eDP_4k_2k_HOBL_feature_Enable_03" + ], + "HelpText": "This feature will allow users to disable/enable the edp 4k/2k HOBL(Hours Of Battery Life) feature by programming relevant registers specific for a platform.\r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display LACE Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Status_03" + ], + "HelpText": "This feature, when enabled, will set Default Display LACE Enabled status otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "DPST_Aggressiveness_Profile_03" + ], + "HelpText": "This feature allows for the selection of DPST Aggressiveness level for this Panel Type.\n1 (Maximum Quality with No DPST)\n2\n3\n4\n5\n6 (Maximum Battery)", + "WidgetValues": [ + { + "Key": "1 - Maximum Quality with No DPST", + "Value": "1" + }, + { + "Key": "2", + "Value": "2" + }, + { + "Key": "3", + "Value": "3" + }, + { + "Key": "4", + "Value": "4" + }, + { + "Key": "5", + "Value": "5" + }, + { + "Key": "6 - Maximum Battery", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LACE Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Aggressiveness_Profile_03" + ], + "HelpText": "This feature allows for the selection of LACE Aggressiveness level for this Panel Type.\nMinimum 0\nModerate 1\nHigh 2", + "WidgetValues": [ + { + "Key": "Minimum", + "Value": "0" + }, + { + "Key": "Moderate", + "Value": "1" + }, + { + "Key": "High", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "ELP Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "ELP_Aggressiveness_Profile_03" + ], + "HelpText": "This feature allows for the selection of ELP Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "OPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "OPST_Aggressiveness_Profile_03" + ], + "HelpText": "This feature allows for the selection of OPST Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display VRR Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "VRR_Status_03" + ], + "HelpText": "VRR (Variable Refresh Rate) is a feature that can continuously and seamlessly vary Refresh Rate on the fly, on displays that support Variable Refresh rate Technologies.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-3-6", + "PageName": "Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Pixel_CLK_03" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Active_03" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Active_03" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Blank_03" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Blank_03" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_FrontPorch_03" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_FrontPorch_03" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Sync_03" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Sync_03" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Image_Size_03" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Image_Size_03" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Common_Flag_03" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-3-7", + "PageName": "LFP PnP ID Table", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "42", + "LFP_Panel_PnP_ID_03" + ], + "HelpText": "This feature allows the 10 bytes of EDID Vendor/Product ID starting at offset 08h to be used as a PnP ID.\n\nTable Definition:\n\tWord: ID Manufacturer Name\n\tWord: ID Product Code\n\tDWord: ID Serial Number\n\tByte: Week of Manufacture\n\tByte: Year of Manufacture", + "WidgetValues": [ + { + "ColumnName": "PnP ID", + "SizeinBytes": "1" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-1-8", + "PageName": "Backlight Control Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Type: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Type_03" + ], + "HelpText": "This feature allows for the selection of the Backlight Inverter type that is to be used to control the backlight brightness of the LFP.\nWhen PWM is selected, the driver and VBIOS will control the backlight brightness via the integrated PWM solution for the applicable chipsets.\nWhen None/External is selected, the system BIOS will control the backlight brightness via the external solution.", + "WidgetValues": [ + { + "Key": "None/External", + "Value": "0" + }, + { + "Key": "PWM", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Source Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Source_Selection_03" + ], + "HelpText": "If panel supports 'Intel HDR AUX Interface', it will always be chosen by default. If not, value in 'PWM Source Selection' will be used", + "WidgetValues": [ + { + "Key": "PWM From Display Engine", + "Value": "2" + }, + { + "Key": "PWM From LCD Panel", + "Value": "3" + }, + { + "Key": "Panel Driver Interface", + "Value": "4" + }, + { + "Key": "VESA eDP AUX Interface", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Controller Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Controller_Selection_03" + ], + "HelpText": "This field allows to select the PWM Controller to be used for the selected Local Flat Panel.This field allows to select the PWM Controller to be used for the selected Local Flat Panel.If Two LFPs are connected then PWM0 and PWM1 must be selected accordingly.", + "WidgetValues": [ + { + "Key": "PWM0", + "Value": "0" + }, + { + "Key": "PWM1", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Polarity: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Polarity_03" + ], + "HelpText": "This feature allows the backlight inverter polarity to be specified.\nNormal means 0 value is minimum brightness.\nInverted means 0 value is maximum brightness.", + "WidgetValues": [ + { + "Key": "Normal", + "Value": "0" + }, + { + "Key": "Inverted", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Minimum Brightness: ", + "Visibility": "", + "Data": [ + "43", + "Post_Min_Brightness_03" + ], + "HelpText": "This feature allows defining the absolute minimum backlight brightness. The driver will never decrease the backlight less than this value. The value must be specified using normal polarity semantics. The value should range from 0 to 255 if the brightness precision bit is chosen to be 8, and it should range from 0 to 65535 if the precision bit is chosen to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "POST Backlight Intensity: ", + "Visibility": "", + "Data": [ + "43", + "Post_Brightness_03" + ], + "HelpText": "This feature is used to set default backlight brightness value of the panel at POST. The value should range from 0 to 255 if the bit precision is chosen to be 8 and it should range from 0 to 65535 if the brightness bit precision is chosent to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Brightness Precision Bits: ", + "Visibility": "", + "Data": [ + "43", + "BrightnessPrecisionBits_03" + ], + "HelpText": "This field represents the range of brightness in terms of bit precision.\n 8 = Brightness range of 0 to 255.\n 16 = Brightness range of 0 to 65535", + "WidgetValues": [ + { + "Key": "8", + "Value": "8" + }, + { + "Key": "16", + "Value": "16" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM Inverter Frequency (Hz): ", + "Visibility": "", + "Data": [ + "43", + "PWM_Frequency_03" + ], + "HelpText": "This feature allows for the definition of the frequency needed for PWM Inverter.\nNote: The frequency range (entered as a decimal number), for the integrated PWM is 200Hz - 40KHz.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Intel HDR DPCD Refresh Timeout (unit - 10 micro seconds): ", + "Visibility": "", + "Data": [ + "43", + "HdrDpcdRefreshTimeout_03" + ], + "HelpText": "This field allows to configure the refresh timeout of Intel HDR DPCDs for different TCON Vendors.\nNote:\n\tThe value is in units of 10 microseconds.\n\tThe range (entered as a decimal number), for the timeout is 0-65535", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-3-9", + "PageName": "Chromaticity Control", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Chromaticity Control Feature: ", + "Visibility": "", + "Data": [ + "46", + "Chromacity_Enable_03" + ], + "HelpText": "This bit enables Chromaticity feature.\nIf this bit is enabled, EDID values for chromaticity will be used, else feature is disabled.\nFeature will be supported for Panels that support EDID version 1.4 or higher.\nPlease refer to section 3.7 of EDID Specification 1.4.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override the EDID values: ", + "Visibility": "", + "Data": [ + "46", + "Override_EDID_Data_03" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override EDID values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_Green_bits (Bits 1:0 at 19h): ", + "Visibility": "", + "Data": [ + "46", + "Red_Green_03" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Red, Green Coordinates represented as Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1 Gy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_White_bits (Bits 1:0 at 1Ah): ", + "Visibility": "", + "Data": [ + "46", + "Blue_White_03" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Blue, White Coordinates represented as Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_x (Bits 9:2 at 1Bh): ", + "Visibility": "", + "Data": [ + "46", + "Red_x_03" + ], + "HelpText": "Bits 9:2 of red color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_y (Bits 9:2 at 1Ch): ", + "Visibility": "", + "Data": [ + "46", + "Red_y_03" + ], + "HelpText": "Bits 9:2 of red color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_x (Bits 9:2 at 1Dh): ", + "Visibility": "", + "Data": [ + "46", + "Green_x_03" + ], + "HelpText": "Bits 9:2 of Green color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_y (Bits 9:2 at 1Eh): ", + "Visibility": "", + "Data": [ + "46", + "Green_y_03" + ], + "HelpText": "Bits 9:2 of Green color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_x (Bits 9:2 at 1Fh): ", + "Visibility": "", + "Data": [ + "46", + "Blue_x_03" + ], + "HelpText": "Bits 9:2 of Blue color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_y (Bits 9:2 at 20h): ", + "Visibility": "", + "Data": [ + "46", + "Blue_y_03" + ], + "HelpText": "Bits 9:2 of Blue color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_x (Bits 9:2 at 21h): ", + "Visibility": "", + "Data": [ + "46", + "White_x_03" + ], + "HelpText": "Bits 9:2 of White color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_y (Bits 9:2 at 22h): ", + "Visibility": "", + "Data": [ + "46", + "White_y_03" + ], + "HelpText": "Bits 9:2 of White color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Luminance values ", + "Visibility": "", + "Data": [ + "46", + "Override_LUM_Data_03" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override luminance values following VBT values", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Minimum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MinLuminance_03" + ], + "HelpText": "Minimum luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum full frame luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxFullLuminance_03" + ], + "HelpText": "Maximum Full frame luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxLuminance_03" + ], + "HelpText": "Maximum luminance value(Relatively smaller portion of screen).\n2 byte value, encoded in IEEE 754 half-precision binary floating point format.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Gamma values: ", + "Visibility": "", + "Data": [ + "46", + "Override_Gamma_Data_03" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override gamma values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel gamma: ", + "Visibility": "", + "Data": [ + "46", + "Gamma_03" + ], + "HelpText": "Value shall define the gamma range, from 1.00 to 3.54, as follows:\nField Value = (Gamma (value in float) x 100) - 100\nField values range from 00h through FFh.\nFFh = No gamma information shall be provided", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-3-10", + "PageName": "VESA DSC Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Major Version: ", + "Visibility": "", + "Data": [ + "56", + "C3_Major_Dsc_Version" + ], + "HelpText": "VESA DSC Major revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Minor Version: ", + "Visibility": "", + "Data": [ + "56", + "C3_Minor_Dsc_Version" + ], + "HelpText": "VESA DSC Minor revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Block prediction supported: ", + "Visibility": "", + "Data": [ + "56", + "C3_Blk_Prediction_En" + ], + "HelpText": "Sink supports block prediction as per the VESA DSC Spec.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "RC Buffer Block size as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C3_RC_Block_Size" + ], + "HelpText": "RC buffer block size for a single RC buffer as defined by the VESA DSC spec.", + "WidgetValues": [ + { + "Key": "1 KB", + "Value": "0" + }, + { + "Key": "4 KB", + "Value": "1" + }, + { + "Key": "16 KB", + "Value": "2" + }, + { + "Key": "64 KB", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Number of RC buffer blocks as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C3_Dsc_RC_Buf_Size" + ], + "HelpText": "This field defines the number of RC buffers as per VESA DSC spec.\nThe number of RC buffers used by the software shall be (Value + 1) where Value is in range 0 to 127.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Slices per line supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C3_Dsc_Slices_Per_Line" + ], + "HelpText": "This field defines the slices per line supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 31-10\t\t Bit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tReserved\t\t 24\t 20\t 16\t 12\t 10\t 8\t 6\t 4\t 2\t 1\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower slices per line than maximum selected field. i.e. If it supports say 8 slices per line, it will also support 4/2/1 slices per line", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Line buffer depth as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C3_Line_Buffer_Depth" + ], + "HelpText": "Line buffer depth in bits as per VESA DSC spec.", + "WidgetValues": [ + { + "Key": "8 bits", + "Value": "0" + }, + { + "Key": "9 bits", + "Value": "1" + }, + { + "Key": "10 bits", + "Value": "2" + }, + { + "Key": "11 bits", + "Value": "3" + }, + { + "Key": "12 bits", + "Value": "4" + }, + { + "Key": "13 bits", + "Value": "5" + }, + { + "Key": "14 bits", + "Value": "6" + }, + { + "Key": "15 bits", + "Value": "7" + }, + { + "Key": "16 bits", + "Value": "8" + } + ] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Input compression BPC supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C3_Dsc_Bpc" + ], + "HelpText": "This field defines the compression input bpc supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 7-4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tRsvd\t 12 bpc\t 10bpc\t 8bpc\t Rsvd\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower bpc values than the maximum selected field. i.e. If it supports say 12bpc, it will also support 10 and 8bpc as well", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum supported compression BPP: ", + "Visibility": "", + "Data": [ + "56", + "C3_Dsc_Max_Bpp" + ], + "HelpText": "As of today, we are supporting 6/8/10/12 BPP for compression output.\nSelect the most appropriate BPP as supported by the sink.", + "WidgetValues": [ + { + "Key": "6 Bits per pixel", + "Value": "0" + }, + { + "Key": "8 Bits per pixel", + "Value": "1" + }, + { + "Key": "10 Bits per pixel", + "Value": "2" + }, + { + "Key": "12 Bits per pixel", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Slice height supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C3_Dsc_Slice_Height" + ], + "HelpText": "Slice height supported by the sink device for DSC slice.\nNote: Slice height must divide the picture height uniformly.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-3-11", + "PageName": "MIPI Display Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "MIPI DSI Controller Configuration Settings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Video/Command Mode: ", + "Visibility": "", + "Data": [ + "52", + "Video_Command_Mode_03" + ], + "HelpText": "This feature helps in selecting Video/Command Mode.", + "WidgetValues": [ + { + "Key": "Video Mode", + "Value": "0" + }, + { + "Key": "Command Mode", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Packet Sequence For Video Mode: ", + "Visibility": "", + "Data": [ + "52", + "Packet_Sequence_Video_Mode_03" + ], + "HelpText": "This feature helps in selecting packet sequence for Video Mode.\nNon-burst with sync pulse\nNon-burst with sync events\nBurst mode", + "WidgetValues": [ + { + "Key": "Non-burst with sync pulse", + "Value": "1" + }, + { + "Key": "Non-burst with sync events", + "Value": "2" + }, + { + "Key": "Burst Mode", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Required Burst Mode Rate (in Kbps): ", + "Visibility": "", + "Data": [ + "52", + "RequiredBurstModeRate_03" + ], + "HelpText": "This feature allows to enter Required Burst Mode Rate in Kilo bits per sec. This should be greater than Non-Burst Mode Rate\nThis value is valid only if packet sequence for video mode is Burst Mode.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Colour Format In Video Mode: ", + "Visibility": "", + "Data": [ + "52", + "Colour_Format_Video_Mode_03" + ], + "HelpText": "This feature helps in selecting supported colour format in Video Mode.", + "WidgetValues": [ + { + "Key": "RGB565", + "Value": "1" + }, + { + "Key": "RGB666", + "Value": "2" + }, + { + "Key": "RGB 666(Loosely Packed Format)", + "Value": "3" + }, + { + "Key": "RGB888", + "Value": "4" + }, + { + "Key": "RGB101010", + "Value": "5" + }, + { + "Key": "RGB121212", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual Link Support: ", + "Visibility": "", + "Data": [ + "52", + "Dual_Link_03" + ], + "HelpText": "This feature allows to select type of dual link.", + "WidgetValues": [ + { + "Key": "Dual Link Not Supported", + "Value": "0" + }, + { + "Key": "Dual Link Front Back Mode", + "Value": "1" + }, + { + "Key": "Dual Link Pixel Alternative Mode", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count(Z-Inversion): ", + "Visibility": "", + "Data": [ + "42", + "PixelOverlapCount_03" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using\nMIPI Dual Link Front-Back video mode.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixels Overlap", + "Value": "2" + }, + { + "Key": "Three Pixels Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixels Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixels Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + }, + { + "Key": "Nine Pixel Overlap", + "Value": "9" + }, + { + "Key": "Ten Pixels Overlap", + "Value": "10" + }, + { + "Key": "Eleven Pixels Overlap", + "Value": "11" + }, + { + "Key": "Twelve Pixel Overlap", + "Value": "12" + }, + { + "Key": "Thirteen Pixels Overlap", + "Value": "13" + }, + { + "Key": "Fourteen Pixels Overlap", + "Value": "14" + }, + { + "Key": "Fifteen Pixels Overlap", + "Value": "15" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " CABC Support: ", + "Visibility": "", + "Data": [ + "52", + "CABC_Support_03" + ], + "HelpText": "This feature helps in selecting CABC_Support.", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " CABC On/Off Commands: ", + "Visibility": "", + "Data": [ + "52", + "CabcCmdsPort_03" + ], + "HelpText": "Select the MIPI Port for sending CABC On/Off Commands in case of Dual link MIPI panels\nThis field is ignored in single link MIPI case", + "WidgetValues": [ + { + "Key": "MIPI DSI-0", + "Value": "0" + }, + { + "Key": "MIPI DSI-1", + "Value": "1" + }, + { + "Key": "Both MIPI DSI-0 and DSI-1", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel PWM/BkltController On/Off Commands: ", + "Visibility": "", + "Data": [ + "52", + "PanelPwmCmdsPort_03" + ], + "HelpText": "Select the MIPI Port for sending Panel PWM/BkltController On/Off Commands in case of Dual link MIPI panels\nThis field is ignored in single link MIPI case", + "WidgetValues": [ + { + "Key": "MIPI DSI-0", + "Value": "0" + }, + { + "Key": "MIPI DSI-1", + "Value": "1" + }, + { + "Key": "Both MIPI DSI-0 and DSI-1", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " RGB/BGR Panel Selection: ", + "Visibility": "", + "Data": [ + "52", + "RgbFlip_03" + ], + "HelpText": "Select if the panel is RGB or BGR", + "WidgetValues": [ + { + "Key": "RGB Panel", + "Value": "0" + }, + { + "Key": "BGR Panel", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Number Of Data Lanes: ", + "Visibility": "", + "Data": [ + "52", + "Number_Of_Lanes_03" + ], + "HelpText": "This feature allows to select number of data lanes going to use for MIPI DSI", + "WidgetValues": [ + { + "Key": "1", + "Value": "0" + }, + { + "Key": "2", + "Value": "1" + }, + { + "Key": "3", + "Value": "2" + }, + { + "Key": "4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Sending Bus Turn Around (BTA): ", + "Visibility": "", + "Data": [ + "52", + "Bta_Disable_03" + ], + "HelpText": "Enable or Disable sending Bus Turn Around to the Peripheral", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "0" + }, + { + "Key": "Disabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Escape Clock: ", + "Visibility": "", + "Data": [ + "52", + "EscapeClk_03" + ], + "HelpText": "This feature helps to select frequency of Escape Clk.", + "WidgetValues": [ + { + "Key": "20 MHz", + "Value": "0" + }, + { + "Key": "10 MHz", + "Value": "1" + }, + { + "Key": "5 MHz", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " EoT Packet Transmission: ", + "Visibility": "", + "Data": [ + "52", + "EoTpSupport_03" + ], + "HelpText": "This feature helps to either enable or disable EoT packet Transmission", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "0" + }, + { + "Key": "Disabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Clock Stop Feature: ", + "Visibility": "", + "Data": [ + "52", + "ClockStop_03" + ], + "HelpText": "To enable or disable clock stopping feature during BLLP timing in a MIPI DPI (video) mode", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " LP Clock During LPM: ", + "Visibility": "", + "Data": [ + "52", + "LpClockDuringLpm_03" + ], + "HelpText": "In continuous clock mode (Clock Stop Feature disabled), Clock lane will always be in HS mode.\nIf this feature is enabled, Clock lane also goes to LP state once per frame during the mandated data lane LPM\nin MIPI DSI DPI (video) mode", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Blanking During BLLP: ", + "Visibility": "", + "Data": [ + "52", + "BlankingDuringBllp_03" + ], + "HelpText": "This feature helps to send Blanking packets during BLLP regions in a MIPI DSI DPI (video) mode.", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkPrepare: ", + "Visibility": "", + "Data": [ + "52", + "TClkPrepare_03" + ], + "HelpText": "This feature allows to enter TClkPrepare in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkTrail: ", + "Visibility": "", + "Data": [ + "52", + "TClkTrail_03" + ], + "HelpText": "This feature allows to enter TClkTrail in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkPrepare + TClkZero: ", + "Visibility": "", + "Data": [ + "52", + "TClkPrepareTClkZero_03" + ], + "HelpText": "This feature allows to enter TClkPrepare + TClkZero in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsPrepare: ", + "Visibility": "", + "Data": [ + "52", + "THsPrepare_03" + ], + "HelpText": "This feature allows to enter THsPrepare in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsTrail: ", + "Visibility": "", + "Data": [ + "52", + "THsTrail_03" + ], + "HelpText": "This feature allows to enter THsTrail in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsPrepare + THsZero: ", + "Visibility": "", + "Data": [ + "52", + "THsPrepareTHsZero_03" + ], + "HelpText": "This feature allows to enter THsPrepare + THsZero in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "MIPI DSI Panel Power On/Off Sequence(delays)", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Up Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerUpDelay_03" + ], + "HelpText": "Delay to be given after panel power up in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Data Turn-On To Panel Backlight Enable Delay: ", + "Visibility": "", + "Data": [ + "52", + "DataTurnOnToPanelBacklightEnableDelay_03" + ], + "HelpText": "Delay to be given after MIPI DATA TURN ON and before backlight enabling in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Pwm-On To Backlight Enable Delay: ", + "Visibility": "", + "Data": [ + "52", + "Mipi_PwmOn_To_Bklt_Enable_Delay_03" + ], + "HelpText": "Delay to be given after PWM-On and before Backlight Enable in 100uS\nDelay from PWM-On to Backlight Enable is included in delay from Data Turn-On to Panel Backlight Enable.\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Data Turn-On to Panel Backlight Enable.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Backlight Disable To Pwm-Off Delay: ", + "Visibility": "", + "Data": [ + "52", + "Mipi_Bklt_Disable_To_PwmOff_Delay_03" + ], + "HelpText": "Delay to be given after Backlight Disable and before Pwm-Off in 100uS\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to Data Turn-Off.\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to Data Turn-Off.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Backlight Disable To Data Turn-Off Delay: ", + "Visibility": "", + "Data": [ + "52", + "BacklightOffToDataTurnOffDelay_03" + ], + "HelpText": "Delay to be given after Backlight Disable and before MIPI DATA TURN OFF in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Down Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerDownDelay_03" + ], + "HelpText": "Delay to be given before panel power down in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Cycle Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerCycleDelay_03" + ], + "HelpText": "Delay to be given before panel power up and after panel power down in 100uS", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-4", + "PageName": "Panel #04", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "LabelHeading", + "WidgetName": "Common LFP Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryAsci", + "WidgetName": " LFP Panel Name: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Name_04" + ], + "HelpText": "This feature defines the LFP panel name, used by driver only. Panel name can be only of 13 characters maximum and rest of the characters will be truncated.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target X-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Width_04" + ], + "HelpText": "This value specifies the Target X-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target Y-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Height_04" + ], + "HelpText": "This value specifies the Target Y-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " DPS Panel Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Seamless DRRS Minimum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "42", + "Seamless_DRRS_Min_RR_04" + ], + "HelpText": "Using this field the minimum Refresh Rate to be used for Seamless DRRS feature can be entered in Hertz.\nNote: Graphics driver will use this field only when EDID support is disabled in VBT configuration.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " BackLight Technology Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " BackLight Technology: ", + "Visibility": "", + "Data": [ + "40", + "Blt_Control_04" + ], + "HelpText": "This feature allows OEM to select the Backlight Technology.", + "WidgetValues": [ + { + "Key": "LED Backlight", + "Value": "2" + }, + { + "Key": "CCFL Backlight", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Rotation: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Rotation_04" + ], + "HelpText": "This feature specifies the Panel Rotation of LFP panel used.", + "WidgetValues": [ + { + "Key": "0 degree", + "Value": "0" + }, + { + "Key": "180 degree", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Position: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Position_04" + ], + "HelpText": "This feature specifies the Panel Position of LFP panel used.", + "WidgetValues": [ + { + "Key": "Inside Shell", + "Value": "0" + }, + { + "Key": "Outside Shell", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual LFP Port Sync: ", + "Visibility": "", + "Data": [ + "42", + "EnablePortSync_Bit_04" + ], + "HelpText": "This feature will allow users to disable/enable Dual LFP Port Sync and it is applicable for DDI-A, DDI-B in case of eDP and DSI-0, DSI-1 in case of MIPI. \r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " GPU Dithering for Banding artifacts: ", + "Visibility": "", + "Data": [ + "42", + "EnableDithering_Bit_04" + ], + "HelpText": "This field can be used to enable dithering from the source side for reducing banding artifacts on the visual quality features like DPST.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP PnP ID Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Backlight Control Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Chromaticity Control", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "VESA DSC Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated MIPI DSI Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "MIPI Display Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated eDP Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Panel Power Sequencing Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Edp Max Port Link Rate (in 200 Khz): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Max_Port_Link_Rate_04" + ], + "HelpText": "This field specifies EDP Max Port Link Rate supported by the port in unit of 200KHz.\nDefault value would be \"0\", in which case Display Drivers should consider EDP Max Port Link Rate to be the Platform supported Max Link Rate.\nOnly when OEM's need to limit to particular Link Rate can enter the value as mentioned in below table.\n\nNote:\n1) OEM's need to enter the values mentioned from below table only.\n2) If value entered is not matching with any of the below values then Platform supported Max Link Rate should be considere as EDP Max Port Link Rate by the display drivers.\n3) In case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then we need to use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate)\n---------------------------------------------------------\n|\tLink Rate(Gbps)\t|\t Value to enter in text field\t|\n|\t \t\t|\t in terms of 200KHZ \t|\n---------------------------------------------------------\n|\t 1.62 \t\t|\t 8100 \t|\n|\t 2.16 \t\t|\t 10800 \t|\n|\t 2.43 \t\t|\t 12150 \t|\n|\t 2.7 \t\t|\t 13500 \t|\n|\t 3.24 \t\t|\t 16200 \t|\n|\t 3.78 \t\t|\t 18900 \t|\n|\t 4.32 \t\t|\t 21600 \t|\n|\t 5.4 \t\t|\t 27000 \t|\n|\t 6.48 \t\t|\t 32400 \t|\n|\t 6.75 \t\t|\t 33750 \t|\n|\t 8.1 \t\t|\t 40500 \t|\n", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Color Depth: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Panel_Color_Depth_04" + ], + "HelpText": "This feature specifies the color depth of eDP panel used.", + "WidgetValues": [ + { + "Key": "18-bit Color Depth", + "Value": "0" + }, + { + "Key": "24-bit Color Depth", + "Value": "1" + }, + { + "Key": "30-bit Color Depth", + "Value": "2" + }, + { + "Key": "36-bit Color Depth", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Select VSwing/Pre-Emphasis table : ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_VswingPreEmph_4" + ], + "HelpText": "This feature selects the VSwing Pre-Emphasis setting table to be used. For Tigerlake, based on the selection respective table will be used.\nTables for Tigerlake:\nLow Power VSwing Pre-Emphasis Setting Table:\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/200mV \t\t 200mV, 0.0db \t\t 200mV, 1.9db \t\t 200mV, 3.5db \t\t 200mV, 4.9db\nSwing \t\t Level-1/250mV \t\t 250mV, 0.0db \t\t 250mV, 1.6db \t\t 250mV, 2.9db \t\t N/A\n(mV) \t\t Level-2/300mV \t\t 300mV, 0.0db \t\t 300mV, 1.3db \t\t N/A \t\t N/A\n\t\t Level-3/350mV \t\t 350mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR3:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nDefault VSwing Pre-Emphasis Setting Table:\nFor HBR:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A", + "WidgetValues": [ + { + "Key": "Default VSwing/Pre-Emphasis Table", + "Value": "1" + }, + { + "Key": "Low Power VSwing/Pre-Emphasis Table", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " eDP Spread Spectrum Clock: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "40", + "Enable_SSC04" + ], + "HelpText": "This feature will allow users to disable/enable Spread Spectrum Clock for eDP.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "42", + "PixelOverlapCount_04" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using Edp Multi-SST(MSO) feature.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixel Overlap", + "Value": "2" + }, + { + "Key": "Three Pixel Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixel Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixel Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "PSR Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Apical Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-4-1", + "PageName": "eDP Panel Power Sequencing Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " T3 optimization: ", + "Visibility": "", + "Data": [ + "27", + "eDP_T3_Optimization_04" + ], + "HelpText": "This feature enables or disables T3 optimization.\nWhen enabled, VBIOS/GOP driver will poll for AUX soon after VDD enable until AUX passes or T3 time is reached\nWhen disabled, VBIOS/GOP driver will wait for T3 time before trying the first AUX transaction", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "LCDVCC to HPD high delay (T3): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Vcc_To_Hpd_Delay_04" + ], + "HelpText": "Using this field the delay from LCDVCC to HPD high can be specified in 100uS.\nValid Range: 0 to 200msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Valid video data to Backlight Enable delay (T8): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOn_To_BkltEnable_Delay_04" + ], + "HelpText": "Using this field the delay from Start of Valid video data from Source to Backlight Enable can be specified in 100uS.\nT8 is inclusive of T7.\nValid Range of T7: 0 to 50msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM-On To Backlight Enable delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_PwmOn_To_Bklt_Enable_Delay_04" + ], + "HelpText": "Using this field the delay from PWM-On to Backlight Enable can be specified in 100uS.\nDelay from PWM-On to Backlight Enable is included in delay from Valid video data to Backlight Enable (T8).\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Valid video data to Backlight Enable (T8).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to PWM-Off delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Bklt_Disable_To_PwmOff_Delay_04" + ], + "HelpText": "Using this field delay from Backlight Disable to PWM-Off can be specified in 100uS.\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to End of Valid video data (T9).\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to to End of Valid video data (T9).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to End of Valid video data delay (T9): ", + "Visibility": "", + "Data": [ + "27", + "eDP_BkltDisable_To_DataOff_Delay_04" + ], + "HelpText": "Using this field the delay from Backlight Disable to End of Valid video data can be specified in 100uS.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "End of Valid video data to Power-Off delay (T10): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOff_To_PowerOff_Delay_04" + ], + "HelpText": "Using this field delay from End of Valid video data from Source to Power-Off can be specified in 100uS.\nValid Range: 0 to 500 msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Power-off time (T12): ", + "Visibility": "", + "Data": [ + "27", + "eDP_PowerCycle_Delay_04" + ], + "HelpText": "Using this field Power-off time can be specified in 100uS.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-4-2", + "PageName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Is FastLinkTraining Feature Supported: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Supported_04" + ], + "HelpText": "This feature allows for the selection of the Fast Link Training feature is to be enabled or disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Data Rate: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Data_Rate_04" + ], + "HelpText": "This field specifies Data Rate to be used for Fast Link Training in unit of 200KHz for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.\n\nIn case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then driver would use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate).", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lane Count: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_LaneCount_04" + ], + "HelpText": "This feature allows for the selection of the Lane Count (Port Width) for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Pre-Emphasis: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_PreEmp_04" + ], + "HelpText": "This feature allows for the selection of the Pre-emphasis value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Voltage Swing: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_Vswing_04" + ], + "HelpText": "This feature allows for the selection of the Voltage Swing value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-4-3", + "PageName": "PSR Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Full Link enable: ", + "Visibility": "", + "Data": [ + "9", + "PSR_FullLink_Enable_04" + ], + "HelpText": "When panel is in PSR mode and 'Full Link Enable' is set to Yes, Link is kept in standby state.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Require AUX to wake up: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Require_AUX2Wakeup_04" + ], + "HelpText": "When panel is exiting PSR mode and 'Require AUX to wake up' is set to Yes, the AUX channel handshake(link training is required) will be used.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lines to wait before link standby: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Lines2Wait_B4LinkS3_04" + ], + "HelpText": "This field determines Lines to wait before link standby\n0 lines to wait (Default)\n1 lines to wait\n4 lines to wait\n8 lines to wait\nOthers Reserved", + "WidgetValues": [ + { + "Key": "0 lines to wait", + "Value": "0" + }, + { + "Key": "1 lines to wait", + "Value": "1" + }, + { + "Key": "4 lines to wait", + "Value": "2" + }, + { + "Key": "8 lines to wait", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Idle frames to wait: ", + "Visibility": "", + "Data": [ + "9", + "PSR_IdleFrames2Wait_04" + ], + "HelpText": "Idle frames to wait for PSR enable.\nAllowed values 0-15. Default value is 0.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Clock Recovery Time: ", + "Visibility": "", + "Data": [ + "9", + "PSR_TP1_WaitTime_04" + ], + "HelpText": "This field selects the link training TP1(Training Pattern1) time during PSR exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR1 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR1_TP_2_3_4_WaitTime_04" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR1 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR2 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR2_TP_2_3_4_WaitTime_04" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR2 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "50 usec", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-4-4", + "PageName": "Apical Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Apical Assertive Display IP: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Apical_Display_Ip_Enable_04" + ], + "HelpText": "This field enables/disables the Apical Assertive Display IP for this panel.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel OUI (IEEE OUI): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Oui_04" + ], + "HelpText": "This field specifies the Apical IP specific Panel OUI field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Base Address: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Base_Address_04" + ], + "HelpText": "This field specifies the Apical IP specific DPCD base address field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Irdidix Control 0: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Irdidix_Control0_04" + ], + "HelpText": "This field specifies the Apical IP specific DPCD Irdidix control 0 field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Option Select: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Option_Select_04" + ], + "HelpText": "This field specifies the Apical IP specific DPCD option select field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Backlight: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Backlight_04" + ], + "HelpText": "This field specifies the Apical IP specific backlight value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Ambient Light: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Ambient_Light_04" + ], + "HelpText": "This field specifies the Apical IP specific Ambient light value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Backlight scale: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Backlight_Scale_04" + ], + "HelpText": "This field specifies the Apical IP specific backlight scale field.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-4-5", + "PageName": "Power Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Power Saving Technology (DPST) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DPST_Enable_04" + ], + "HelpText": "This feature determines whether the Intel Display Power Savings Technology (DPST) is enabled or disabled.\nIntel DPST is a display power savings technology that changes the intensity of colors in order to conserve backlight power.\nNote: This technology is only active when the system is running in battery mode and the LFP is the only active display device.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Refresh Rate Switching (DRRS) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DRRS_Enable_04" + ], + "HelpText": "This feature determines whether Intel Display Refresh Rate Switching (DRRS) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Edge Luminance Profile (ELP) : ", + "Visibility": "", + "Data": [ + "44", + "ELP_Enable_04" + ], + "HelpText": "This feature determines whether the ELP feature is enabled or disabled.\nEdge Luminance Profile (ELP) is a panel technology which reduce luminance on the edge of screen to save panel power.\nNote:This technology cannot co-exist with DPST and OPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " OLED Power Saving Technology (OPST) : ", + "Visibility": "", + "Data": [ + "44", + "OPST_Enable_04" + ], + "HelpText": "This feature determines whether the OPST feature is enabled or disabled.\nOLED Power Saving Technology (OPST) is a panel technology which saves power by intelligent, adaptive dimming of midrange pixel values more aggressively than the extremes without compromising the viewability.\nNote: This technology cannot co-exist with ELP and DPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic Media Refresh Rate Switching Enable/Disable ", + "Visibility": "", + "Data": [ + "44", + "DMRRS_Enable_04" + ], + "HelpText": "This feature determines whether Dynamic media refresh rate switching is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Display Lace Support: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Enable_04" + ], + "HelpText": "This feature, when enabled, will set Display Lace Support otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Panel Self Refresh (PSR): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "PSR_Enable_04" + ], + "HelpText": "This feature determines whether Panel Self Refresh (PSR) feature is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Assertive Display Technology Enable/Disable: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "ADT_Enable_04" + ], + "HelpText": "This feature determines whether Assertive display technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Automatic Display Brightness (ADB) (Mobile only): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "ADB_Enable_04" + ], + "HelpText": "This feature determines whether Intel Automatic Display Brightness is to be enabled. Intel Automatic Display Brightness adjusts the brightness of the embedded Local Flat Panel (LFP) depending on the current ambient light environment.\nWhen enabled, the driver and VBIOS will control the backlight brightness of the LFP depending on the ambient environment if and only if the LFP is the only active display. When disabled, the driver will perform no action.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDP 4k/2k HOBL Feature: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "eDP_4k_2k_HOBL_feature_Enable_04" + ], + "HelpText": "This feature will allow users to disable/enable the edp 4k/2k HOBL(Hours Of Battery Life) feature by programming relevant registers specific for a platform.\r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display LACE Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Status_04" + ], + "HelpText": "This feature, when enabled, will set Default Display LACE Enabled status otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "DPST_Aggressiveness_Profile_04" + ], + "HelpText": "This feature allows for the selection of DPST Aggressiveness level for this Panel Type.\n1 (Maximum Quality with No DPST)\n2\n3\n4\n5\n6 (Maximum Battery)", + "WidgetValues": [ + { + "Key": "1 - Maximum Quality with No DPST", + "Value": "1" + }, + { + "Key": "2", + "Value": "2" + }, + { + "Key": "3", + "Value": "3" + }, + { + "Key": "4", + "Value": "4" + }, + { + "Key": "5", + "Value": "5" + }, + { + "Key": "6 - Maximum Battery", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LACE Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Aggressiveness_Profile_04" + ], + "HelpText": "This feature allows for the selection of LACE Aggressiveness level for this Panel Type.\nMinimum 0\nModerate 1\nHigh 2", + "WidgetValues": [ + { + "Key": "Minimum", + "Value": "0" + }, + { + "Key": "Moderate", + "Value": "1" + }, + { + "Key": "High", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "ELP Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "ELP_Aggressiveness_Profile_04" + ], + "HelpText": "This feature allows for the selection of ELP Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "OPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "OPST_Aggressiveness_Profile_04" + ], + "HelpText": "This feature allows for the selection of OPST Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display VRR Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "VRR_Status_04" + ], + "HelpText": "VRR (Variable Refresh Rate) is a feature that can continuously and seamlessly vary Refresh Rate on the fly, on displays that support Variable Refresh rate Technologies.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-4-6", + "PageName": "Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Pixel_CLK_04" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Active_04" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Active_04" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Blank_04" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Blank_04" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_FrontPorch_04" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_FrontPorch_04" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Sync_04" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Sync_04" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Image_Size_04" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Image_Size_04" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Common_Flag_04" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-4-7", + "PageName": "LFP PnP ID Table", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "42", + "LFP_Panel_PnP_ID_04" + ], + "HelpText": "This feature allows the 10 bytes of EDID Vendor/Product ID starting at offset 08h to be used as a PnP ID.\n\nTable Definition:\n\tWord: ID Manufacturer Name\n\tWord: ID Product Code\n\tDWord: ID Serial Number\n\tByte: Week of Manufacture\n\tByte: Year of Manufacture", + "WidgetValues": [ + { + "ColumnName": "PnP ID", + "SizeinBytes": "1" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-4-8", + "PageName": "Backlight Control Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Type: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Type_04" + ], + "HelpText": "This feature allows for the selection of the Backlight Inverter type that is to be used to control the backlight brightness of the LFP.\nWhen PWM is selected, the driver and VBIOS will control the backlight brightness via the integrated PWM solution for the applicable chipsets.\nWhen None/External is selected, the system BIOS will control the backlight brightness via the external solution.", + "WidgetValues": [ + { + "Key": "None/External", + "Value": "0" + }, + { + "Key": "PWM", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Source Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Source_Selection_04" + ], + "HelpText": "If panel supports 'Intel HDR AUX Interface', it will always be chosen by default. If not, value in 'PWM Source Selection' will be used", + "WidgetValues": [ + { + "Key": "PWM From Display Engine", + "Value": "2" + }, + { + "Key": "PWM From LCD Panel", + "Value": "3" + }, + { + "Key": "Panel Driver Interface", + "Value": "4" + }, + { + "Key": "VESA eDP AUX Interface", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Controller Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Controller_Selection_04" + ], + "HelpText": "This field allows to select the PWM Controller to be used for the selected Local Flat Panel.This field allows to select the PWM Controller to be used for the selected Local Flat Panel.If Two LFPs are connected then PWM0 and PWM1 must be selected accordingly.", + "WidgetValues": [ + { + "Key": "PWM0", + "Value": "0" + }, + { + "Key": "PWM1", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Polarity: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Polarity_04" + ], + "HelpText": "This feature allows the backlight inverter polarity to be specified.\nNormal means 0 value is minimum brightness.\nInverted means 0 value is maximum brightness.", + "WidgetValues": [ + { + "Key": "Normal", + "Value": "0" + }, + { + "Key": "Inverted", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Minimum Brightness: ", + "Visibility": "", + "Data": [ + "43", + "Post_Min_Brightness_04" + ], + "HelpText": "This feature allows defining the absolute minimum backlight brightness. The driver will never decrease the backlight less than this value. The value must be specified using normal polarity semantics. The value should range from 0 to 255 if the brightness precision bit is chosen to be 8, and it should range from 0 to 65535 if the precision bit is chosen to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "POST Backlight Intensity: ", + "Visibility": "", + "Data": [ + "43", + "Post_Brightness_04" + ], + "HelpText": "This feature is used to set default backlight brightness value of the panel at POST. The value should range from 0 to 255 if the bit precision is chosen to be 8 and it should range from 0 to 65535 if the brightness bit precision is chosent to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Brightness Precision Bits: ", + "Visibility": "", + "Data": [ + "43", + "BrightnessPrecisionBits_04" + ], + "HelpText": "This field represents the range of brightness in terms of bit precision.\n 8 = Brightness range of 0 to 255.\n 16 = Brightness range of 0 to 65535", + "WidgetValues": [ + { + "Key": "8", + "Value": "8" + }, + { + "Key": "16", + "Value": "16" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM Inverter Frequency (Hz): ", + "Visibility": "", + "Data": [ + "43", + "PWM_Frequency_04" + ], + "HelpText": "This feature allows for the definition of the frequency needed for PWM Inverter.\nNote: The frequency range (entered as a decimal number), for the integrated PWM is 200Hz - 40KHz.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Intel HDR DPCD Refresh Timeout (unit - 10 micro seconds): ", + "Visibility": "", + "Data": [ + "43", + "HdrDpcdRefreshTimeout_04" + ], + "HelpText": "This field allows to configure the refresh timeout of Intel HDR DPCDs for different TCON Vendors.\nNote:\n\tThe value is in units of 10 microseconds.\n\tThe range (entered as a decimal number), for the timeout is 0-65535", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-4-9", + "PageName": "Chromaticity Control", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Chromaticity Control Feature: ", + "Visibility": "", + "Data": [ + "46", + "Chromacity_Enable_04" + ], + "HelpText": "This bit enables Chromaticity feature.\nIf this bit is enabled, EDID values for chromaticity will be used, else feature is disabled.\nFeature will be supported for Panels that support EDID version 1.4 or higher.\nPlease refer to section 3.7 of EDID Specification 1.4.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override the EDID values: ", + "Visibility": "", + "Data": [ + "46", + "Override_EDID_Data_04" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override EDID values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_Green_bits (Bits 1:0 at 19h): ", + "Visibility": "", + "Data": [ + "46", + "Red_Green_04" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Red, Green Coordinates represented as Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1 Gy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_White_bits (Bits 1:0 at 1Ah): ", + "Visibility": "", + "Data": [ + "46", + "Blue_White_04" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Blue, White Coordinates represented as Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_x (Bits 9:2 at 1Bh): ", + "Visibility": "", + "Data": [ + "46", + "Red_x_04" + ], + "HelpText": "Bits 9:2 of red color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_y (Bits 9:2 at 1Ch): ", + "Visibility": "", + "Data": [ + "46", + "Red_y_04" + ], + "HelpText": "Bits 9:2 of red color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_x (Bits 9:2 at 1Dh): ", + "Visibility": "", + "Data": [ + "46", + "Green_x_04" + ], + "HelpText": "Bits 9:2 of Green color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_y (Bits 9:2 at 1Eh): ", + "Visibility": "", + "Data": [ + "46", + "Green_y_04" + ], + "HelpText": "Bits 9:2 of Green color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_x (Bits 9:2 at 1Fh): ", + "Visibility": "", + "Data": [ + "46", + "Blue_x_04" + ], + "HelpText": "Bits 9:2 of Blue color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_y (Bits 9:2 at 20h): ", + "Visibility": "", + "Data": [ + "46", + "Blue_y_04" + ], + "HelpText": "Bits 9:2 of Blue color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_x (Bits 9:2 at 21h): ", + "Visibility": "", + "Data": [ + "46", + "White_x_04" + ], + "HelpText": "Bits 9:2 of White color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_y (Bits 9:2 at 22h): ", + "Visibility": "", + "Data": [ + "46", + "White_y_04" + ], + "HelpText": "Bits 9:2 of White color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Luminance values ", + "Visibility": "", + "Data": [ + "46", + "Override_LUM_Data_04" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override luminance values following VBT values", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Minimum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MinLuminance_04" + ], + "HelpText": "Minimum luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum full frame luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxFullLuminance_04" + ], + "HelpText": "Maximum Full frame luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxLuminance_04" + ], + "HelpText": "Maximum luminance value(Relatively smaller portion of screen).\n2 byte value, encoded in IEEE 754 half-precision binary floating point format.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Gamma values: ", + "Visibility": "", + "Data": [ + "46", + "Override_Gamma_Data_04" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override gamma values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel gamma: ", + "Visibility": "", + "Data": [ + "46", + "Gamma_04" + ], + "HelpText": "Value shall define the gamma range, from 1.00 to 3.54, as follows:\nField Value = (Gamma (value in float) x 100) - 100\nField values range from 00h through FFh.\nFFh = No gamma information shall be provided", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-4-10", + "PageName": "VESA DSC Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Major Version: ", + "Visibility": "", + "Data": [ + "56", + "C4_Major_Dsc_Version" + ], + "HelpText": "VESA DSC Major revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Minor Version: ", + "Visibility": "", + "Data": [ + "56", + "C4_Minor_Dsc_Version" + ], + "HelpText": "VESA DSC Minor revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Block prediction supported: ", + "Visibility": "", + "Data": [ + "56", + "C4_Blk_Prediction_En" + ], + "HelpText": "Sink supports block prediction as per the VESA DSC Spec.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "RC Buffer Block size as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C4_RC_Block_Size" + ], + "HelpText": "RC buffer block size for a single RC buffer as defined by the VESA DSC spec.", + "WidgetValues": [ + { + "Key": "1 KB", + "Value": "0" + }, + { + "Key": "4 KB", + "Value": "1" + }, + { + "Key": "16 KB", + "Value": "2" + }, + { + "Key": "64 KB", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Number of RC buffer blocks as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C4_Dsc_RC_Buf_Size" + ], + "HelpText": "This field defines the number of RC buffers as per VESA DSC spec.\nThe number of RC buffers used by the software shall be (Value + 1) where Value is in range 0 to 127.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Slices per line supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C4_Dsc_Slices_Per_Line" + ], + "HelpText": "This field defines the slices per line supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 31-10\t\t Bit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tReserved\t\t 24\t 20\t 16\t 12\t 10\t 8\t 6\t 4\t 2\t 1\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower slices per line than maximum selected field. i.e. If it supports say 8 slices per line, it will also support 4/2/1 slices per line", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Line buffer depth as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C4_Line_Buffer_Depth" + ], + "HelpText": "Line buffer depth in bits as per VESA DSC spec.", + "WidgetValues": [ + { + "Key": "8 bits", + "Value": "0" + }, + { + "Key": "9 bits", + "Value": "1" + }, + { + "Key": "10 bits", + "Value": "2" + }, + { + "Key": "11 bits", + "Value": "3" + }, + { + "Key": "12 bits", + "Value": "4" + }, + { + "Key": "13 bits", + "Value": "5" + }, + { + "Key": "14 bits", + "Value": "6" + }, + { + "Key": "15 bits", + "Value": "7" + }, + { + "Key": "16 bits", + "Value": "8" + } + ] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Input compression BPC supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C4_Dsc_Bpc" + ], + "HelpText": "This field defines the compression input bpc supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 7-4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tRsvd\t 12 bpc\t 10bpc\t 8bpc\t Rsvd\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower bpc values than the maximum selected field. i.e. If it supports say 12bpc, it will also support 10 and 8bpc as well", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum supported compression BPP: ", + "Visibility": "", + "Data": [ + "56", + "C4_Dsc_Max_Bpp" + ], + "HelpText": "As of today, we are supporting 6/8/10/12 BPP for compression output.\nSelect the most appropriate BPP as supported by the sink.", + "WidgetValues": [ + { + "Key": "6 Bits per pixel", + "Value": "0" + }, + { + "Key": "8 Bits per pixel", + "Value": "1" + }, + { + "Key": "10 Bits per pixel", + "Value": "2" + }, + { + "Key": "12 Bits per pixel", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Slice height supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C4_Dsc_Slice_Height" + ], + "HelpText": "Slice height supported by the sink device for DSC slice.\nNote: Slice height must divide the picture height uniformly.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-4-11", + "PageName": "MIPI Display Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "MIPI DSI Controller Configuration Settings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Video/Command Mode: ", + "Visibility": "", + "Data": [ + "52", + "Video_Command_Mode_04" + ], + "HelpText": "This feature helps in selecting Video/Command Mode.", + "WidgetValues": [ + { + "Key": "Video Mode", + "Value": "0" + }, + { + "Key": "Command Mode", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Packet Sequence For Video Mode: ", + "Visibility": "", + "Data": [ + "52", + "Packet_Sequence_Video_Mode_04" + ], + "HelpText": "This feature helps in selecting packet sequence for Video Mode.\nNon-burst with sync pulse\nNon-burst with sync events\nBurst mode", + "WidgetValues": [ + { + "Key": "Non-burst with sync pulse", + "Value": "1" + }, + { + "Key": "Non-burst with sync events", + "Value": "2" + }, + { + "Key": "Burst Mode", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Required Burst Mode Rate (in Kbps): ", + "Visibility": "", + "Data": [ + "52", + "RequiredBurstModeRate_04" + ], + "HelpText": "This feature allows to enter Required Burst Mode Rate in Kilo bits per sec. This should be greater than Non-Burst Mode Rate\nThis value is valid only if packet sequence for video mode is Burst Mode.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Colour Format In Video Mode: ", + "Visibility": "", + "Data": [ + "52", + "Colour_Format_Video_Mode_04" + ], + "HelpText": "This feature helps in selecting supported colour format in Video Mode.", + "WidgetValues": [ + { + "Key": "RGB565", + "Value": "1" + }, + { + "Key": "RGB666", + "Value": "2" + }, + { + "Key": "RGB 666(Loosely Packed Format)", + "Value": "3" + }, + { + "Key": "RGB888", + "Value": "4" + }, + { + "Key": "RGB101010", + "Value": "5" + }, + { + "Key": "RGB121212", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual Link Support: ", + "Visibility": "", + "Data": [ + "52", + "Dual_Link_04" + ], + "HelpText": "This feature allows to select type of dual link.", + "WidgetValues": [ + { + "Key": "Dual Link Not Supported", + "Value": "0" + }, + { + "Key": "Dual Link Front Back Mode", + "Value": "1" + }, + { + "Key": "Dual Link Pixel Alternative Mode", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count(Z-Inversion): ", + "Visibility": "", + "Data": [ + "42", + "PixelOverlapCount_04" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using\nMIPI Dual Link Front-Back video mode.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixels Overlap", + "Value": "2" + }, + { + "Key": "Three Pixels Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixels Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixels Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + }, + { + "Key": "Nine Pixel Overlap", + "Value": "9" + }, + { + "Key": "Ten Pixels Overlap", + "Value": "10" + }, + { + "Key": "Eleven Pixels Overlap", + "Value": "11" + }, + { + "Key": "Twelve Pixel Overlap", + "Value": "12" + }, + { + "Key": "Thirteen Pixels Overlap", + "Value": "13" + }, + { + "Key": "Fourteen Pixels Overlap", + "Value": "14" + }, + { + "Key": "Fifteen Pixels Overlap", + "Value": "15" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " CABC Support: ", + "Visibility": "", + "Data": [ + "52", + "CABC_Support_04" + ], + "HelpText": "This feature helps in selecting CABC_Support.", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " CABC On/Off Commands: ", + "Visibility": "", + "Data": [ + "52", + "CabcCmdsPort_04" + ], + "HelpText": "Select the MIPI Port for sending CABC On/Off Commands in case of Dual link MIPI panels\nThis field is ignored in single link MIPI case", + "WidgetValues": [ + { + "Key": "MIPI DSI-0", + "Value": "0" + }, + { + "Key": "MIPI DSI-1", + "Value": "1" + }, + { + "Key": "Both MIPI DSI-0 and DSI-1", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel PWM/BkltController On/Off Commands: ", + "Visibility": "", + "Data": [ + "52", + "PanelPwmCmdsPort_04" + ], + "HelpText": "Select the MIPI Port for sending Panel PWM/BkltController On/Off Commands in case of Dual link MIPI panels\nThis field is ignored in single link MIPI case", + "WidgetValues": [ + { + "Key": "MIPI DSI-0", + "Value": "0" + }, + { + "Key": "MIPI DSI-1", + "Value": "1" + }, + { + "Key": "Both MIPI DSI-0 and DSI-1", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " RGB/BGR Panel Selection: ", + "Visibility": "", + "Data": [ + "52", + "RgbFlip_04" + ], + "HelpText": "Select if the panel is RGB or BGR", + "WidgetValues": [ + { + "Key": "RGB Panel", + "Value": "0" + }, + { + "Key": "BGR Panel", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Number Of Data Lanes: ", + "Visibility": "", + "Data": [ + "52", + "Number_Of_Lanes_04" + ], + "HelpText": "This feature allows to select number of data lanes going to use for MIPI DSI", + "WidgetValues": [ + { + "Key": "1", + "Value": "0" + }, + { + "Key": "2", + "Value": "1" + }, + { + "Key": "3", + "Value": "2" + }, + { + "Key": "4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Sending Bus Turn Around (BTA): ", + "Visibility": "", + "Data": [ + "52", + "Bta_Disable_04" + ], + "HelpText": "Enable or Disable sending Bus Turn Around to the Peripheral", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "0" + }, + { + "Key": "Disabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Escape Clock: ", + "Visibility": "", + "Data": [ + "52", + "EscapeClk_04" + ], + "HelpText": "This feature helps to select frequency of Escape Clk.", + "WidgetValues": [ + { + "Key": "20 MHz", + "Value": "0" + }, + { + "Key": "10 MHz", + "Value": "1" + }, + { + "Key": "5 MHz", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " EoT Packet Transmission: ", + "Visibility": "", + "Data": [ + "52", + "EoTpSupport_04" + ], + "HelpText": "This feature helps to either enable or disable EoT packet Transmission", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "0" + }, + { + "Key": "Disabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Clock Stop Feature: ", + "Visibility": "", + "Data": [ + "52", + "ClockStop_04" + ], + "HelpText": "To enable or disable clock stopping feature during BLLP timing in a MIPI DPI (video) mode", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " LP Clock During LPM: ", + "Visibility": "", + "Data": [ + "52", + "LpClockDuringLpm_04" + ], + "HelpText": "In continuous clock mode (Clock Stop Feature disabled), Clock lane will always be in HS mode.\nIf this feature is enabled, Clock lane also goes to LP state once per frame during the mandated data lane LPM\nin MIPI DSI DPI (video) mode", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Blanking During BLLP: ", + "Visibility": "", + "Data": [ + "52", + "BlankingDuringBllp_04" + ], + "HelpText": "This feature helps to send Blanking packets during BLLP regions in a MIPI DSI DPI (video) mode.", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkPrepare: ", + "Visibility": "", + "Data": [ + "52", + "TClkPrepare_04" + ], + "HelpText": "This feature allows to enter TClkPrepare in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkTrail: ", + "Visibility": "", + "Data": [ + "52", + "TClkTrail_04" + ], + "HelpText": "This feature allows to enter TClkTrail in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkPrepare + TClkZero: ", + "Visibility": "", + "Data": [ + "52", + "TClkPrepareTClkZero_04" + ], + "HelpText": "This feature allows to enter TClkPrepare + TClkZero in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsPrepare: ", + "Visibility": "", + "Data": [ + "52", + "THsPrepare_04" + ], + "HelpText": "This feature allows to enter THsPrepare in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsTrail: ", + "Visibility": "", + "Data": [ + "52", + "THsTrail_04" + ], + "HelpText": "This feature allows to enter THsTrail in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsPrepare + THsZero: ", + "Visibility": "", + "Data": [ + "52", + "THsPrepareTHsZero_04" + ], + "HelpText": "This feature allows to enter THsPrepare + THsZero in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "MIPI DSI Panel Power On/Off Sequence(delays)", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Up Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerUpDelay_04" + ], + "HelpText": "Delay to be given after panel power up in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Data Turn-On To Panel Backlight Enable Delay: ", + "Visibility": "", + "Data": [ + "52", + "DataTurnOnToPanelBacklightEnableDelay_04" + ], + "HelpText": "Delay to be given after MIPI DATA TURN ON and before backlight enabling in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Pwm-On To Backlight Enable Delay: ", + "Visibility": "", + "Data": [ + "52", + "Mipi_PwmOn_To_Bklt_Enable_Delay_04" + ], + "HelpText": "Delay to be given after PWM-On and before Backlight Enable in 100uS\nDelay from PWM-On to Backlight Enable is included in delay from Data Turn-On to Panel Backlight Enable.\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Data Turn-On to Panel Backlight Enable.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Backlight Disable To Pwm-Off Delay: ", + "Visibility": "", + "Data": [ + "52", + "Mipi_Bklt_Disable_To_PwmOff_Delay_04" + ], + "HelpText": "Delay to be given after Backlight Disable and before Pwm-Off in 100uS\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to Data Turn-Off.\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to Data Turn-Off.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Backlight Disable To Data Turn-Off Delay: ", + "Visibility": "", + "Data": [ + "52", + "BacklightOffToDataTurnOffDelay_04" + ], + "HelpText": "Delay to be given after Backlight Disable and before MIPI DATA TURN OFF in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Down Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerDownDelay_04" + ], + "HelpText": "Delay to be given before panel power down in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Cycle Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerCycleDelay_04" + ], + "HelpText": "Delay to be given before panel power up and after panel power down in 100uS", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-5", + "PageName": "Panel #05", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "LabelHeading", + "WidgetName": "Common LFP Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryAsci", + "WidgetName": " LFP Panel Name: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Name_05" + ], + "HelpText": "This feature defines the LFP panel name, used by driver only. Panel name can be only of 13 characters maximum and rest of the characters will be truncated.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target X-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Width_05" + ], + "HelpText": "This value specifies the Target X-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target Y-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Height_05" + ], + "HelpText": "This value specifies the Target Y-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " DPS Panel Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Seamless DRRS Minimum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "42", + "Seamless_DRRS_Min_RR_05" + ], + "HelpText": "Using this field the minimum Refresh Rate to be used for Seamless DRRS feature can be entered in Hertz.\nNote: Graphics driver will use this field only when EDID support is disabled in VBT configuration.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " BackLight Technology Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " BackLight Technology: ", + "Visibility": "", + "Data": [ + "40", + "Blt_Control_05" + ], + "HelpText": "This feature allows OEM to select the Backlight Technology.", + "WidgetValues": [ + { + "Key": "LED Backlight", + "Value": "2" + }, + { + "Key": "CCFL Backlight", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Rotation: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Rotation_05" + ], + "HelpText": "This feature specifies the Panel Rotation of LFP panel used.", + "WidgetValues": [ + { + "Key": "0 degree", + "Value": "0" + }, + { + "Key": "180 degree", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Position: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Position_05" + ], + "HelpText": "This feature specifies the Panel Position of LFP panel used.", + "WidgetValues": [ + { + "Key": "Inside Shell", + "Value": "0" + }, + { + "Key": "Outside Shell", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual LFP Port Sync: ", + "Visibility": "", + "Data": [ + "42", + "EnablePortSync_Bit_05" + ], + "HelpText": "This feature will allow users to disable/enable Dual LFP Port Sync and it is applicable for DDI-A, DDI-B in case of eDP and DSI-0, DSI-1 in case of MIPI. \r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " GPU Dithering for Banding artifacts: ", + "Visibility": "", + "Data": [ + "42", + "EnableDithering_Bit_05" + ], + "HelpText": "This field can be used to enable dithering from the source side for reducing banding artifacts on the visual quality features like DPST.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP PnP ID Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Backlight Control Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Chromaticity Control", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "VESA DSC Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated MIPI DSI Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "MIPI Display Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated eDP Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Panel Power Sequencing Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Edp Max Port Link Rate (in 200 Khz): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Max_Port_Link_Rate_05" + ], + "HelpText": "This field specifies EDP Max Port Link Rate supported by the port in unit of 200KHz.\nDefault value would be \"0\", in which case Display Drivers should consider EDP Max Port Link Rate to be the Platform supported Max Link Rate.\nOnly when OEM's need to limit to particular Link Rate can enter the value as mentioned in below table.\n\nNote:\n1) OEM's need to enter the values mentioned from below table only.\n2) If value entered is not matching with any of the below values then Platform supported Max Link Rate should be considere as EDP Max Port Link Rate by the display drivers.\n3) In case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then we need to use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate)\n---------------------------------------------------------\n|\tLink Rate(Gbps)\t|\t Value to enter in text field\t|\n|\t \t\t|\t in terms of 200KHZ \t|\n---------------------------------------------------------\n|\t 1.62 \t\t|\t 8100 \t|\n|\t 2.16 \t\t|\t 10800 \t|\n|\t 2.43 \t\t|\t 12150 \t|\n|\t 2.7 \t\t|\t 13500 \t|\n|\t 3.24 \t\t|\t 16200 \t|\n|\t 3.78 \t\t|\t 18900 \t|\n|\t 4.32 \t\t|\t 21600 \t|\n|\t 5.4 \t\t|\t 27000 \t|\n|\t 6.48 \t\t|\t 32400 \t|\n|\t 6.75 \t\t|\t 33750 \t|\n|\t 8.1 \t\t|\t 40500 \t|\n", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Color Depth: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Panel_Color_Depth_05" + ], + "HelpText": "This feature specifies the color depth of eDP panel used.", + "WidgetValues": [ + { + "Key": "18-bit Color Depth", + "Value": "0" + }, + { + "Key": "24-bit Color Depth", + "Value": "1" + }, + { + "Key": "30-bit Color Depth", + "Value": "2" + }, + { + "Key": "36-bit Color Depth", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Select VSwing/Pre-Emphasis table : ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_VswingPreEmph_5" + ], + "HelpText": "This feature selects the VSwing Pre-Emphasis setting table to be used. For Tigerlake, based on the selection respective table will be used.\nTables for Tigerlake:\nLow Power VSwing Pre-Emphasis Setting Table:\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/200mV \t\t 200mV, 0.0db \t\t 200mV, 1.9db \t\t 200mV, 3.5db \t\t 200mV, 4.9db\nSwing \t\t Level-1/250mV \t\t 250mV, 0.0db \t\t 250mV, 1.6db \t\t 250mV, 2.9db \t\t N/A\n(mV) \t\t Level-2/300mV \t\t 300mV, 0.0db \t\t 300mV, 1.3db \t\t N/A \t\t N/A\n\t\t Level-3/350mV \t\t 350mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR3:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nDefault VSwing Pre-Emphasis Setting Table:\nFor HBR:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A", + "WidgetValues": [ + { + "Key": "Default VSwing/Pre-Emphasis Table", + "Value": "1" + }, + { + "Key": "Low Power VSwing/Pre-Emphasis Table", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " eDP Spread Spectrum Clock: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "40", + "Enable_SSC05" + ], + "HelpText": "This feature will allow users to disable/enable Spread Spectrum Clock for eDP.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "42", + "PixelOverlapCount_05" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using Edp Multi-SST(MSO) feature.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixel Overlap", + "Value": "2" + }, + { + "Key": "Three Pixel Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixel Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixel Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "PSR Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Apical Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-5-1", + "PageName": "eDP Panel Power Sequencing Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " T3 optimization: ", + "Visibility": "", + "Data": [ + "27", + "eDP_T3_Optimization_05" + ], + "HelpText": "This feature enables or disables T3 optimization.\nWhen enabled, VBIOS/GOP driver will poll for AUX soon after VDD enable until AUX passes or T3 time is reached\nWhen disabled, VBIOS/GOP driver will wait for T3 time before trying the first AUX transaction", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "LCDVCC to HPD high delay (T3): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Vcc_To_Hpd_Delay_05" + ], + "HelpText": "Using this field the delay from LCDVCC to HPD high can be specified in 100uS.\nValid Range: 0 to 200msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Valid video data to Backlight Enable delay (T8): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOn_To_BkltEnable_Delay_05" + ], + "HelpText": "Using this field the delay from Start of Valid video data from Source to Backlight Enable can be specified in 100uS.\nT8 is inclusive of T7.\nValid Range of T7: 0 to 50msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM-On To Backlight Enable delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_PwmOn_To_Bklt_Enable_Delay_05" + ], + "HelpText": "Using this field the delay from PWM-On to Backlight Enable can be specified in 100uS.\nDelay from PWM-On to Backlight Enable is included in delay from Valid video data to Backlight Enable (T8).\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Valid video data to Backlight Enable (T8).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to PWM-Off delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Bklt_Disable_To_PwmOff_Delay_05" + ], + "HelpText": "Using this field delay from Backlight Disable to PWM-Off can be specified in 100uS.\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to End of Valid video data (T9).\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to to End of Valid video data (T9).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to End of Valid video data delay (T9): ", + "Visibility": "", + "Data": [ + "27", + "eDP_BkltDisable_To_DataOff_Delay_05" + ], + "HelpText": "Using this field the delay from Backlight Disable to End of Valid video data can be specified in 100uS.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "End of Valid video data to Power-Off delay (T10): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOff_To_PowerOff_Delay_05" + ], + "HelpText": "Using this field delay from End of Valid video data from Source to Power-Off can be specified in 100uS.\nValid Range: 0 to 500 msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Power-off time (T12): ", + "Visibility": "", + "Data": [ + "27", + "eDP_PowerCycle_Delay_05" + ], + "HelpText": "Using this field Power-off time can be specified in 100uS.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-5-2", + "PageName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Is FastLinkTraining Feature Supported: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Supported_05" + ], + "HelpText": "This feature allows for the selection of the Fast Link Training feature is to be enabled or disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Data Rate: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Data_Rate_05" + ], + "HelpText": "This field specifies Data Rate to be used for Fast Link Training in unit of 200KHz for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.\n\nIn case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then driver would use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate).", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lane Count: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_LaneCount_05" + ], + "HelpText": "This feature allows for the selection of the Lane Count (Port Width) for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Pre-Emphasis: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_PreEmp_05" + ], + "HelpText": "This feature allows for the selection of the Pre-emphasis value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Voltage Swing: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_Vswing_05" + ], + "HelpText": "This feature allows for the selection of the Voltage Swing value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-5-3", + "PageName": "PSR Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Full Link enable: ", + "Visibility": "", + "Data": [ + "9", + "PSR_FullLink_Enable_05" + ], + "HelpText": "When panel is in PSR mode and 'Full Link Enable' is set to Yes, Link is kept in standby state.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Require AUX to wake up: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Require_AUX2Wakeup_05" + ], + "HelpText": "When panel is exiting PSR mode and 'Require AUX to wake up' is set to Yes, the AUX channel handshake(link training is required) will be used.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lines to wait before link standby: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Lines2Wait_B4LinkS3_05" + ], + "HelpText": "This field determines Lines to wait before link standby\n0 lines to wait (Default)\n1 lines to wait\n4 lines to wait\n8 lines to wait\nOthers Reserved", + "WidgetValues": [ + { + "Key": "0 lines to wait", + "Value": "0" + }, + { + "Key": "1 lines to wait", + "Value": "1" + }, + { + "Key": "4 lines to wait", + "Value": "2" + }, + { + "Key": "8 lines to wait", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Idle frames to wait: ", + "Visibility": "", + "Data": [ + "9", + "PSR_IdleFrames2Wait_05" + ], + "HelpText": "Idle frames to wait for PSR enable.\nAllowed values 0-15. Default value is 0.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Clock Recovery Time: ", + "Visibility": "", + "Data": [ + "9", + "PSR_TP1_WaitTime_05" + ], + "HelpText": "This field selects the link training TP1(Training Pattern1) time during PSR exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR1 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR1_TP_2_3_4_WaitTime_05" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR1 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR2 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR2_TP_2_3_4_WaitTime_05" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR2 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "50 usec", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-5-4", + "PageName": "Apical Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Apical Assertive Display IP: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Apical_Display_Ip_Enable_05" + ], + "HelpText": "This field enables/disables the Apical Assertive Display IP for this panel.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel OUI (IEEE OUI): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Oui_05" + ], + "HelpText": "This field specifies the Apical IP specific Panel OUI field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Base Address: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Base_Address_05" + ], + "HelpText": "This field specifies the Apical IP specific DPCD base address field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Irdidix Control 0: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Irdidix_Control0_05" + ], + "HelpText": "This field specifies the Apical IP specific DPCD Irdidix control 0 field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Option Select: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Option_Select_05" + ], + "HelpText": "This field specifies the Apical IP specific DPCD option select field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Backlight: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Backlight_05" + ], + "HelpText": "This field specifies the Apical IP specific backlight value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Ambient Light: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Ambient_Light_05" + ], + "HelpText": "This field specifies the Apical IP specific Ambient light value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Backlight scale: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Backlight_Scale_05" + ], + "HelpText": "This field specifies the Apical IP specific backlight scale field.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-5-5", + "PageName": "Power Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Power Saving Technology (DPST) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DPST_Enable_05" + ], + "HelpText": "This feature determines whether the Intel Display Power Savings Technology (DPST) is enabled or disabled.\nIntel DPST is a display power savings technology that changes the intensity of colors in order to conserve backlight power.\nNote: This technology is only active when the system is running in battery mode and the LFP is the only active display device.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Refresh Rate Switching (DRRS) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DRRS_Enable_05" + ], + "HelpText": "This feature determines whether Intel Display Refresh Rate Switching (DRRS) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Edge Luminance Profile (ELP) : ", + "Visibility": "", + "Data": [ + "44", + "ELP_Enable_05" + ], + "HelpText": "This feature determines whether the ELP feature is enabled or disabled.\nEdge Luminance Profile (ELP) is a panel technology which reduce luminance on the edge of screen to save panel power.\nNote:This technology cannot co-exist with DPST and OPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " OLED Power Saving Technology (OPST) : ", + "Visibility": "", + "Data": [ + "44", + "OPST_Enable_05" + ], + "HelpText": "This feature determines whether the OPST feature is enabled or disabled.\nOLED Power Saving Technology (OPST) is a panel technology which saves power by intelligent, adaptive dimming of midrange pixel values more aggressively than the extremes without compromising the viewability.\nNote: This technology cannot co-exist with ELP and DPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic Media Refresh Rate Switching Enable/Disable ", + "Visibility": "", + "Data": [ + "44", + "DMRRS_Enable_05" + ], + "HelpText": "This feature determines whether Dynamic media refresh rate switching is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Display Lace Support: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Enable_05" + ], + "HelpText": "This feature, when enabled, will set Display Lace Support otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Panel Self Refresh (PSR): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "PSR_Enable_05" + ], + "HelpText": "This feature determines whether Panel Self Refresh (PSR) feature is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Assertive Display Technology Enable/Disable: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "ADT_Enable_05" + ], + "HelpText": "This feature determines whether Assertive display technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Automatic Display Brightness (ADB) (Mobile only): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "ADB_Enable_05" + ], + "HelpText": "This feature determines whether Intel Automatic Display Brightness is to be enabled. Intel Automatic Display Brightness adjusts the brightness of the embedded Local Flat Panel (LFP) depending on the current ambient light environment.\nWhen enabled, the driver and VBIOS will control the backlight brightness of the LFP depending on the ambient environment if and only if the LFP is the only active display. When disabled, the driver will perform no action.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDP 4k/2k HOBL Feature: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "eDP_4k_2k_HOBL_feature_Enable_05" + ], + "HelpText": "This feature will allow users to disable/enable the edp 4k/2k HOBL(Hours Of Battery Life) feature by programming relevant registers specific for a platform.\r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display LACE Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Status_05" + ], + "HelpText": "This feature, when enabled, will set Default Display LACE Enabled status otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "DPST_Aggressiveness_Profile_05" + ], + "HelpText": "This feature allows for the selection of DPST Aggressiveness level for this Panel Type.\n1 (Maximum Quality with No DPST)\n2\n3\n4\n5\n6 (Maximum Battery)", + "WidgetValues": [ + { + "Key": "1 - Maximum Quality with No DPST", + "Value": "1" + }, + { + "Key": "2", + "Value": "2" + }, + { + "Key": "3", + "Value": "3" + }, + { + "Key": "4", + "Value": "4" + }, + { + "Key": "5", + "Value": "5" + }, + { + "Key": "6 - Maximum Battery", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LACE Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Aggressiveness_Profile_05" + ], + "HelpText": "This feature allows for the selection of LACE Aggressiveness level for this Panel Type.\nMinimum 0\nModerate 1\nHigh 2", + "WidgetValues": [ + { + "Key": "Minimum", + "Value": "0" + }, + { + "Key": "Moderate", + "Value": "1" + }, + { + "Key": "High", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "ELP Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "ELP_Aggressiveness_Profile_05" + ], + "HelpText": "This feature allows for the selection of ELP Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "OPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "OPST_Aggressiveness_Profile_05" + ], + "HelpText": "This feature allows for the selection of OPST Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display VRR Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "VRR_Status_05" + ], + "HelpText": "VRR (Variable Refresh Rate) is a feature that can continuously and seamlessly vary Refresh Rate on the fly, on displays that support Variable Refresh rate Technologies.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-5-6", + "PageName": "Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Pixel_CLK_05" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Active_05" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Active_05" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Blank_05" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Blank_05" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_FrontPorch_05" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_FrontPorch_05" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Sync_05" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Sync_05" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Image_Size_05" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Image_Size_05" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Common_Flag_05" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-5-7", + "PageName": "LFP PnP ID Table", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "42", + "LFP_Panel_PnP_ID_05" + ], + "HelpText": "This feature allows the 10 bytes of EDID Vendor/Product ID starting at offset 08h to be used as a PnP ID.\n\nTable Definition:\n\tWord: ID Manufacturer Name\n\tWord: ID Product Code\n\tDWord: ID Serial Number\n\tByte: Week of Manufacture\n\tByte: Year of Manufacture", + "WidgetValues": [ + { + "ColumnName": "PnP ID", + "SizeinBytes": "1" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-5-8", + "PageName": "Backlight Control Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Type: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Type_05" + ], + "HelpText": "This feature allows for the selection of the Backlight Inverter type that is to be used to control the backlight brightness of the LFP.\nWhen PWM is selected, the driver and VBIOS will control the backlight brightness via the integrated PWM solution for the applicable chipsets.\nWhen None/External is selected, the system BIOS will control the backlight brightness via the external solution.", + "WidgetValues": [ + { + "Key": "None/External", + "Value": "0" + }, + { + "Key": "PWM", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Source Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Source_Selection_05" + ], + "HelpText": "If panel supports 'Intel HDR AUX Interface', it will always be chosen by default. If not, value in 'PWM Source Selection' will be used", + "WidgetValues": [ + { + "Key": "PWM From Display Engine", + "Value": "2" + }, + { + "Key": "PWM From LCD Panel", + "Value": "3" + }, + { + "Key": "Panel Driver Interface", + "Value": "4" + }, + { + "Key": "VESA eDP AUX Interface", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Controller Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Controller_Selection_05" + ], + "HelpText": "This field allows to select the PWM Controller to be used for the selected Local Flat Panel.This field allows to select the PWM Controller to be used for the selected Local Flat Panel.If Two LFPs are connected then PWM0 and PWM1 must be selected accordingly.", + "WidgetValues": [ + { + "Key": "PWM0", + "Value": "0" + }, + { + "Key": "PWM1", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Polarity: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Polarity_05" + ], + "HelpText": "This feature allows the backlight inverter polarity to be specified.\nNormal means 0 value is minimum brightness.\nInverted means 0 value is maximum brightness.", + "WidgetValues": [ + { + "Key": "Normal", + "Value": "0" + }, + { + "Key": "Inverted", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Minimum Brightness: ", + "Visibility": "", + "Data": [ + "43", + "Post_Min_Brightness_05" + ], + "HelpText": "This feature allows defining the absolute minimum backlight brightness. The driver will never decrease the backlight less than this value. The value must be specified using normal polarity semantics. The value should range from 0 to 255 if the brightness precision bit is chosen to be 8, and it should range from 0 to 65535 if the precision bit is chosen to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "POST Backlight Intensity: ", + "Visibility": "", + "Data": [ + "43", + "Post_Brightness_05" + ], + "HelpText": "This feature is used to set default backlight brightness value of the panel at POST. The value should range from 0 to 255 if the bit precision is chosen to be 8 and it should range from 0 to 65535 if the brightness bit precision is chosent to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Brightness Precision Bits: ", + "Visibility": "", + "Data": [ + "43", + "BrightnessPrecisionBits_05" + ], + "HelpText": "This field represents the range of brightness in terms of bit precision.\n 8 = Brightness range of 0 to 255.\n 16 = Brightness range of 0 to 65535", + "WidgetValues": [ + { + "Key": "8", + "Value": "8" + }, + { + "Key": "16", + "Value": "16" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM Inverter Frequency (Hz): ", + "Visibility": "", + "Data": [ + "43", + "PWM_Frequency_05" + ], + "HelpText": "This feature allows for the definition of the frequency needed for PWM Inverter.\nNote: The frequency range (entered as a decimal number), for the integrated PWM is 200Hz - 40KHz.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Intel HDR DPCD Refresh Timeout (unit - 10 micro seconds): ", + "Visibility": "", + "Data": [ + "43", + "HdrDpcdRefreshTimeout_05" + ], + "HelpText": "This field allows to configure the refresh timeout of Intel HDR DPCDs for different TCON Vendors.\nNote:\n\tThe value is in units of 10 microseconds.\n\tThe range (entered as a decimal number), for the timeout is 0-65535", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-5-9", + "PageName": "Chromaticity Control", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Chromaticity Control Feature: ", + "Visibility": "", + "Data": [ + "46", + "Chromacity_Enable_05" + ], + "HelpText": "This bit enables Chromaticity feature.\nIf this bit is enabled, EDID values for chromaticity will be used, else feature is disabled.\nFeature will be supported for Panels that support EDID version 1.4 or higher.\nPlease refer to section 3.7 of EDID Specification 1.4.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override the EDID values: ", + "Visibility": "", + "Data": [ + "46", + "Override_EDID_Data_05" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override EDID values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_Green_bits (Bits 1:0 at 19h): ", + "Visibility": "", + "Data": [ + "46", + "Red_Green_05" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Red, Green Coordinates represented as Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1 Gy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_White_bits (Bits 1:0 at 1Ah): ", + "Visibility": "", + "Data": [ + "46", + "Blue_White_05" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Blue, White Coordinates represented as Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_x (Bits 9:2 at 1Bh): ", + "Visibility": "", + "Data": [ + "46", + "Red_x_05" + ], + "HelpText": "Bits 9:2 of red color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_y (Bits 9:2 at 1Ch): ", + "Visibility": "", + "Data": [ + "46", + "Red_y_05" + ], + "HelpText": "Bits 9:2 of red color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_x (Bits 9:2 at 1Dh): ", + "Visibility": "", + "Data": [ + "46", + "Green_x_05" + ], + "HelpText": "Bits 9:2 of Green color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_y (Bits 9:2 at 1Eh): ", + "Visibility": "", + "Data": [ + "46", + "Green_y_05" + ], + "HelpText": "Bits 9:2 of Green color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_x (Bits 9:2 at 1Fh): ", + "Visibility": "", + "Data": [ + "46", + "Blue_x_05" + ], + "HelpText": "Bits 9:2 of Blue color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_y (Bits 9:2 at 20h): ", + "Visibility": "", + "Data": [ + "46", + "Blue_y_05" + ], + "HelpText": "Bits 9:2 of Blue color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_x (Bits 9:2 at 21h): ", + "Visibility": "", + "Data": [ + "46", + "White_x_05" + ], + "HelpText": "Bits 9:2 of White color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_y (Bits 9:2 at 22h): ", + "Visibility": "", + "Data": [ + "46", + "White_y_05" + ], + "HelpText": "Bits 9:2 of White color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Luminance values ", + "Visibility": "", + "Data": [ + "46", + "Override_LUM_Data_05" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override luminance values following VBT values", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Minimum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MinLuminance_05" + ], + "HelpText": "Minimum luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum full frame luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxFullLuminance_05" + ], + "HelpText": "Maximum Full frame luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxLuminance_05" + ], + "HelpText": "Maximum luminance value(Relatively smaller portion of screen).\n2 byte value, encoded in IEEE 754 half-precision binary floating point format.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Gamma values: ", + "Visibility": "", + "Data": [ + "46", + "Override_Gamma_Data_05" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override gamma values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel gamma: ", + "Visibility": "", + "Data": [ + "46", + "Gamma_05" + ], + "HelpText": "Value shall define the gamma range, from 1.00 to 3.54, as follows:\nField Value = (Gamma (value in float) x 100) - 100\nField values range from 00h through FFh.\nFFh = No gamma information shall be provided", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-5-10", + "PageName": "VESA DSC Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Major Version: ", + "Visibility": "", + "Data": [ + "56", + "C5_Major_Dsc_Version" + ], + "HelpText": "VESA DSC Major revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Minor Version: ", + "Visibility": "", + "Data": [ + "56", + "C5_Minor_Dsc_Version" + ], + "HelpText": "VESA DSC Minor revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Block prediction supported: ", + "Visibility": "", + "Data": [ + "56", + "C5_Blk_Prediction_En" + ], + "HelpText": "Sink supports block prediction as per the VESA DSC Spec.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "RC Buffer Block size as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C5_RC_Block_Size" + ], + "HelpText": "RC buffer block size for a single RC buffer as defined by the VESA DSC spec.", + "WidgetValues": [ + { + "Key": "1 KB", + "Value": "0" + }, + { + "Key": "4 KB", + "Value": "1" + }, + { + "Key": "16 KB", + "Value": "2" + }, + { + "Key": "64 KB", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Number of RC buffer blocks as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C5_Dsc_RC_Buf_Size" + ], + "HelpText": "This field defines the number of RC buffers as per VESA DSC spec.\nThe number of RC buffers used by the software shall be (Value + 1) where Value is in range 0 to 127.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Slices per line supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C5_Dsc_Slices_Per_Line" + ], + "HelpText": "This field defines the slices per line supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 31-10\t\t Bit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tReserved\t\t 24\t 20\t 16\t 12\t 10\t 8\t 6\t 4\t 2\t 1\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower slices per line than maximum selected field. i.e. If it supports say 8 slices per line, it will also support 4/2/1 slices per line", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Line buffer depth as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C5_Line_Buffer_Depth" + ], + "HelpText": "Line buffer depth in bits as per VESA DSC spec.", + "WidgetValues": [ + { + "Key": "8 bits", + "Value": "0" + }, + { + "Key": "9 bits", + "Value": "1" + }, + { + "Key": "10 bits", + "Value": "2" + }, + { + "Key": "11 bits", + "Value": "3" + }, + { + "Key": "12 bits", + "Value": "4" + }, + { + "Key": "13 bits", + "Value": "5" + }, + { + "Key": "14 bits", + "Value": "6" + }, + { + "Key": "15 bits", + "Value": "7" + }, + { + "Key": "16 bits", + "Value": "8" + } + ] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Input compression BPC supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C5_Dsc_Bpc" + ], + "HelpText": "This field defines the compression input bpc supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 7-4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tRsvd\t 12 bpc\t 10bpc\t 8bpc\t Rsvd\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower bpc values than the maximum selected field. i.e. If it supports say 12bpc, it will also support 10 and 8bpc as well", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum supported compression BPP: ", + "Visibility": "", + "Data": [ + "56", + "C5_Dsc_Max_Bpp" + ], + "HelpText": "As of today, we are supporting 6/8/10/12 BPP for compression output.\nSelect the most appropriate BPP as supported by the sink.", + "WidgetValues": [ + { + "Key": "6 Bits per pixel", + "Value": "0" + }, + { + "Key": "8 Bits per pixel", + "Value": "1" + }, + { + "Key": "10 Bits per pixel", + "Value": "2" + }, + { + "Key": "12 Bits per pixel", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Slice height supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C5_Dsc_Slice_Height" + ], + "HelpText": "Slice height supported by the sink device for DSC slice.\nNote: Slice height must divide the picture height uniformly.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-5-11", + "PageName": "MIPI Display Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "MIPI DSI Controller Configuration Settings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Video/Command Mode: ", + "Visibility": "", + "Data": [ + "52", + "Video_Command_Mode_05" + ], + "HelpText": "This feature helps in selecting Video/Command Mode.", + "WidgetValues": [ + { + "Key": "Video Mode", + "Value": "0" + }, + { + "Key": "Command Mode", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Packet Sequence For Video Mode: ", + "Visibility": "", + "Data": [ + "52", + "Packet_Sequence_Video_Mode_05" + ], + "HelpText": "This feature helps in selecting packet sequence for Video Mode.\nNon-burst with sync pulse\nNon-burst with sync events\nBurst mode", + "WidgetValues": [ + { + "Key": "Non-burst with sync pulse", + "Value": "1" + }, + { + "Key": "Non-burst with sync events", + "Value": "2" + }, + { + "Key": "Burst Mode", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Required Burst Mode Rate (in Kbps): ", + "Visibility": "", + "Data": [ + "52", + "RequiredBurstModeRate_05" + ], + "HelpText": "This feature allows to enter Required Burst Mode Rate in Kilo bits per sec. This should be greater than Non-Burst Mode Rate\nThis value is valid only if packet sequence for video mode is Burst Mode.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Colour Format In Video Mode: ", + "Visibility": "", + "Data": [ + "52", + "Colour_Format_Video_Mode_05" + ], + "HelpText": "This feature helps in selecting supported colour format in Video Mode.", + "WidgetValues": [ + { + "Key": "RGB565", + "Value": "1" + }, + { + "Key": "RGB666", + "Value": "2" + }, + { + "Key": "RGB 666(Loosely Packed Format)", + "Value": "3" + }, + { + "Key": "RGB888", + "Value": "4" + }, + { + "Key": "RGB101010", + "Value": "5" + }, + { + "Key": "RGB121212", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual Link Support: ", + "Visibility": "", + "Data": [ + "52", + "Dual_Link_05" + ], + "HelpText": "This feature allows to select type of dual link.", + "WidgetValues": [ + { + "Key": "Dual Link Not Supported", + "Value": "0" + }, + { + "Key": "Dual Link Front Back Mode", + "Value": "1" + }, + { + "Key": "Dual Link Pixel Alternative Mode", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count(Z-Inversion): ", + "Visibility": "", + "Data": [ + "42", + "PixelOverlapCount_05" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using\nMIPI Dual Link Front-Back video mode.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixels Overlap", + "Value": "2" + }, + { + "Key": "Three Pixels Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixels Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixels Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + }, + { + "Key": "Nine Pixel Overlap", + "Value": "9" + }, + { + "Key": "Ten Pixels Overlap", + "Value": "10" + }, + { + "Key": "Eleven Pixels Overlap", + "Value": "11" + }, + { + "Key": "Twelve Pixel Overlap", + "Value": "12" + }, + { + "Key": "Thirteen Pixels Overlap", + "Value": "13" + }, + { + "Key": "Fourteen Pixels Overlap", + "Value": "14" + }, + { + "Key": "Fifteen Pixels Overlap", + "Value": "15" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " CABC Support: ", + "Visibility": "", + "Data": [ + "52", + "CABC_Support_05" + ], + "HelpText": "This feature helps in selecting CABC_Support.", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " CABC On/Off Commands: ", + "Visibility": "", + "Data": [ + "52", + "CabcCmdsPort_05" + ], + "HelpText": "Select the MIPI Port for sending CABC On/Off Commands in case of Dual link MIPI panels\nThis field is ignored in single link MIPI case", + "WidgetValues": [ + { + "Key": "MIPI DSI-0", + "Value": "0" + }, + { + "Key": "MIPI DSI-1", + "Value": "1" + }, + { + "Key": "Both MIPI DSI-0 and DSI-1", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel PWM/BkltController On/Off Commands: ", + "Visibility": "", + "Data": [ + "52", + "PanelPwmCmdsPort_05" + ], + "HelpText": "Select the MIPI Port for sending Panel PWM/BkltController On/Off Commands in case of Dual link MIPI panels\nThis field is ignored in single link MIPI case", + "WidgetValues": [ + { + "Key": "MIPI DSI-0", + "Value": "0" + }, + { + "Key": "MIPI DSI-1", + "Value": "1" + }, + { + "Key": "Both MIPI DSI-0 and DSI-1", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " RGB/BGR Panel Selection: ", + "Visibility": "", + "Data": [ + "52", + "RgbFlip_05" + ], + "HelpText": "Select if the panel is RGB or BGR", + "WidgetValues": [ + { + "Key": "RGB Panel", + "Value": "0" + }, + { + "Key": "BGR Panel", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Number Of Data Lanes: ", + "Visibility": "", + "Data": [ + "52", + "Number_Of_Lanes_05" + ], + "HelpText": "This feature allows to select number of data lanes going to use for MIPI DSI", + "WidgetValues": [ + { + "Key": "1", + "Value": "0" + }, + { + "Key": "2", + "Value": "1" + }, + { + "Key": "3", + "Value": "2" + }, + { + "Key": "4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Sending Bus Turn Around (BTA): ", + "Visibility": "", + "Data": [ + "52", + "Bta_Disable_05" + ], + "HelpText": "Enable or Disable sending Bus Turn Around to the Peripheral", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "0" + }, + { + "Key": "Disabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Escape Clock: ", + "Visibility": "", + "Data": [ + "52", + "EscapeClk_05" + ], + "HelpText": "This feature helps to select frequency of Escape Clk.", + "WidgetValues": [ + { + "Key": "20 MHz", + "Value": "0" + }, + { + "Key": "10 MHz", + "Value": "1" + }, + { + "Key": "5 MHz", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " EoT Packet Transmission: ", + "Visibility": "", + "Data": [ + "52", + "EoTpSupport_05" + ], + "HelpText": "This feature helps to either enable or disable EoT packet Transmission", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "0" + }, + { + "Key": "Disabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Clock Stop Feature: ", + "Visibility": "", + "Data": [ + "52", + "ClockStop_05" + ], + "HelpText": "To enable or disable clock stopping feature during BLLP timing in a MIPI DPI (video) mode", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " LP Clock During LPM: ", + "Visibility": "", + "Data": [ + "52", + "LpClockDuringLpm_05" + ], + "HelpText": "In continuous clock mode (Clock Stop Feature disabled), Clock lane will always be in HS mode.\nIf this feature is enabled, Clock lane also goes to LP state once per frame during the mandated data lane LPM\nin MIPI DSI DPI (video) mode", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Blanking During BLLP: ", + "Visibility": "", + "Data": [ + "52", + "BlankingDuringBllp_05" + ], + "HelpText": "This feature helps to send Blanking packets during BLLP regions in a MIPI DSI DPI (video) mode.", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkPrepare: ", + "Visibility": "", + "Data": [ + "52", + "TClkPrepare_05" + ], + "HelpText": "This feature allows to enter TClkPrepare in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkTrail: ", + "Visibility": "", + "Data": [ + "52", + "TClkTrail_05" + ], + "HelpText": "This feature allows to enter TClkTrail in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkPrepare + TClkZero: ", + "Visibility": "", + "Data": [ + "52", + "TClkPrepareTClkZero_05" + ], + "HelpText": "This feature allows to enter TClkPrepare + TClkZero in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsPrepare: ", + "Visibility": "", + "Data": [ + "52", + "THsPrepare_05" + ], + "HelpText": "This feature allows to enter THsPrepare in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsTrail: ", + "Visibility": "", + "Data": [ + "52", + "THsTrail_05" + ], + "HelpText": "This feature allows to enter THsTrail in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsPrepare + THsZero: ", + "Visibility": "", + "Data": [ + "52", + "THsPrepareTHsZero_05" + ], + "HelpText": "This feature allows to enter THsPrepare + THsZero in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "MIPI DSI Panel Power On/Off Sequence(delays)", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Up Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerUpDelay_05" + ], + "HelpText": "Delay to be given after panel power up in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Data Turn-On To Panel Backlight Enable Delay: ", + "Visibility": "", + "Data": [ + "52", + "DataTurnOnToPanelBacklightEnableDelay_05" + ], + "HelpText": "Delay to be given after MIPI DATA TURN ON and before backlight enabling in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Pwm-On To Backlight Enable Delay: ", + "Visibility": "", + "Data": [ + "52", + "Mipi_PwmOn_To_Bklt_Enable_Delay_05" + ], + "HelpText": "Delay to be given after PWM-On and before Backlight Enable in 100uS\nDelay from PWM-On to Backlight Enable is included in delay from Data Turn-On to Panel Backlight Enable.\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Data Turn-On to Panel Backlight Enable.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Backlight Disable To Pwm-Off Delay: ", + "Visibility": "", + "Data": [ + "52", + "Mipi_Bklt_Disable_To_PwmOff_Delay_05" + ], + "HelpText": "Delay to be given after Backlight Disable and before Pwm-Off in 100uS\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to Data Turn-Off.\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to Data Turn-Off.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Backlight Disable To Data Turn-Off Delay: ", + "Visibility": "", + "Data": [ + "52", + "BacklightOffToDataTurnOffDelay_05" + ], + "HelpText": "Delay to be given after Backlight Disable and before MIPI DATA TURN OFF in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Down Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerDownDelay_05" + ], + "HelpText": "Delay to be given before panel power down in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Cycle Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerCycleDelay_05" + ], + "HelpText": "Delay to be given before panel power up and after panel power down in 100uS", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-6", + "PageName": "Panel #06", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "LabelHeading", + "WidgetName": "Common LFP Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryAsci", + "WidgetName": " LFP Panel Name: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Name_06" + ], + "HelpText": "This feature defines the LFP panel name, used by driver only. Panel name can be only of 13 characters maximum and rest of the characters will be truncated.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target X-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Width_06" + ], + "HelpText": "This value specifies the Target X-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target Y-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Height_06" + ], + "HelpText": "This value specifies the Target Y-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " DPS Panel Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Seamless DRRS Minimum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "42", + "Seamless_DRRS_Min_RR_06" + ], + "HelpText": "Using this field the minimum Refresh Rate to be used for Seamless DRRS feature can be entered in Hertz.\nNote: Graphics driver will use this field only when EDID support is disabled in VBT configuration.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " BackLight Technology Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " BackLight Technology: ", + "Visibility": "", + "Data": [ + "40", + "Blt_Control_06" + ], + "HelpText": "This feature allows OEM to select the Backlight Technology.", + "WidgetValues": [ + { + "Key": "LED Backlight", + "Value": "2" + }, + { + "Key": "CCFL Backlight", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Rotation: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Rotation_06" + ], + "HelpText": "This feature specifies the Panel Rotation of LFP panel used.", + "WidgetValues": [ + { + "Key": "0 degree", + "Value": "0" + }, + { + "Key": "180 degree", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Position: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Position_06" + ], + "HelpText": "This feature specifies the Panel Position of LFP panel used.", + "WidgetValues": [ + { + "Key": "Inside Shell", + "Value": "0" + }, + { + "Key": "Outside Shell", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual LFP Port Sync: ", + "Visibility": "", + "Data": [ + "42", + "EnablePortSync_Bit_06" + ], + "HelpText": "This feature will allow users to disable/enable Dual LFP Port Sync and it is applicable for DDI-A, DDI-B in case of eDP and DSI-0, DSI-1 in case of MIPI. \r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " GPU Dithering for Banding artifacts: ", + "Visibility": "", + "Data": [ + "42", + "EnableDithering_Bit_06" + ], + "HelpText": "This field can be used to enable dithering from the source side for reducing banding artifacts on the visual quality features like DPST.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP PnP ID Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Backlight Control Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Chromaticity Control", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "VESA DSC Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated MIPI DSI Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "MIPI Display Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated eDP Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Panel Power Sequencing Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Edp Max Port Link Rate (in 200 Khz): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Max_Port_Link_Rate_06" + ], + "HelpText": "This field specifies EDP Max Port Link Rate supported by the port in unit of 200KHz.\nDefault value would be \"0\", in which case Display Drivers should consider EDP Max Port Link Rate to be the Platform supported Max Link Rate.\nOnly when OEM's need to limit to particular Link Rate can enter the value as mentioned in below table.\n\nNote:\n1) OEM's need to enter the values mentioned from below table only.\n2) If value entered is not matching with any of the below values then Platform supported Max Link Rate should be considere as EDP Max Port Link Rate by the display drivers.\n3) In case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then we need to use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate)\n---------------------------------------------------------\n|\tLink Rate(Gbps)\t|\t Value to enter in text field\t|\n|\t \t\t|\t in terms of 200KHZ \t|\n---------------------------------------------------------\n|\t 1.62 \t\t|\t 8100 \t|\n|\t 2.16 \t\t|\t 10800 \t|\n|\t 2.43 \t\t|\t 12150 \t|\n|\t 2.7 \t\t|\t 13500 \t|\n|\t 3.24 \t\t|\t 16200 \t|\n|\t 3.78 \t\t|\t 18900 \t|\n|\t 4.32 \t\t|\t 21600 \t|\n|\t 5.4 \t\t|\t 27000 \t|\n|\t 6.48 \t\t|\t 32400 \t|\n|\t 6.75 \t\t|\t 33750 \t|\n|\t 8.1 \t\t|\t 40500 \t|\n", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Color Depth: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Panel_Color_Depth_06" + ], + "HelpText": "This feature specifies the color depth of eDP panel used.", + "WidgetValues": [ + { + "Key": "18-bit Color Depth", + "Value": "0" + }, + { + "Key": "24-bit Color Depth", + "Value": "1" + }, + { + "Key": "30-bit Color Depth", + "Value": "2" + }, + { + "Key": "36-bit Color Depth", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Select VSwing/Pre-Emphasis table : ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_VswingPreEmph_6" + ], + "HelpText": "This feature selects the VSwing Pre-Emphasis setting table to be used. For Tigerlake, based on the selection respective table will be used.\nTables for Tigerlake:\nLow Power VSwing Pre-Emphasis Setting Table:\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/200mV \t\t 200mV, 0.0db \t\t 200mV, 1.9db \t\t 200mV, 3.5db \t\t 200mV, 4.9db\nSwing \t\t Level-1/250mV \t\t 250mV, 0.0db \t\t 250mV, 1.6db \t\t 250mV, 2.9db \t\t N/A\n(mV) \t\t Level-2/300mV \t\t 300mV, 0.0db \t\t 300mV, 1.3db \t\t N/A \t\t N/A\n\t\t Level-3/350mV \t\t 350mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR3:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nDefault VSwing Pre-Emphasis Setting Table:\nFor HBR:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A", + "WidgetValues": [ + { + "Key": "Default VSwing/Pre-Emphasis Table", + "Value": "1" + }, + { + "Key": "Low Power VSwing/Pre-Emphasis Table", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " eDP Spread Spectrum Clock: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "40", + "Enable_SSC06" + ], + "HelpText": "This feature will allow users to disable/enable Spread Spectrum Clock for eDP.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "42", + "PixelOverlapCount_06" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using Edp Multi-SST(MSO) feature.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixel Overlap", + "Value": "2" + }, + { + "Key": "Three Pixel Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixel Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixel Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "PSR Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Apical Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-6-1", + "PageName": "eDP Panel Power Sequencing Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " T3 optimization: ", + "Visibility": "", + "Data": [ + "27", + "eDP_T3_Optimization_06" + ], + "HelpText": "This feature enables or disables T3 optimization.\nWhen enabled, VBIOS/GOP driver will poll for AUX soon after VDD enable until AUX passes or T3 time is reached\nWhen disabled, VBIOS/GOP driver will wait for T3 time before trying the first AUX transaction", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "LCDVCC to HPD high delay (T3): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Vcc_To_Hpd_Delay_06" + ], + "HelpText": "Using this field the delay from LCDVCC to HPD high can be specified in 100uS.\nValid Range: 0 to 200msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Valid video data to Backlight Enable delay (T8): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOn_To_BkltEnable_Delay_06" + ], + "HelpText": "Using this field the delay from Start of Valid video data from Source to Backlight Enable can be specified in 100uS.\nT8 is inclusive of T7.\nValid Range of T7: 0 to 50msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM-On To Backlight Enable delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_PwmOn_To_Bklt_Enable_Delay_06" + ], + "HelpText": "Using this field the delay from PWM-On to Backlight Enable can be specified in 100uS.\nDelay from PWM-On to Backlight Enable is included in delay from Valid video data to Backlight Enable (T8).\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Valid video data to Backlight Enable (T8).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to PWM-Off delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Bklt_Disable_To_PwmOff_Delay_06" + ], + "HelpText": "Using this field delay from Backlight Disable to PWM-Off can be specified in 100uS.\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to End of Valid video data (T9).\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to to End of Valid video data (T9).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to End of Valid video data delay (T9): ", + "Visibility": "", + "Data": [ + "27", + "eDP_BkltDisable_To_DataOff_Delay_06" + ], + "HelpText": "Using this field the delay from Backlight Disable to End of Valid video data can be specified in 100uS.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "End of Valid video data to Power-Off delay (T10): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOff_To_PowerOff_Delay_06" + ], + "HelpText": "Using this field delay from End of Valid video data from Source to Power-Off can be specified in 100uS.\nValid Range: 0 to 500 msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Power-off time (T12): ", + "Visibility": "", + "Data": [ + "27", + "eDP_PowerCycle_Delay_06" + ], + "HelpText": "Using this field Power-off time can be specified in 100uS.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-6-2", + "PageName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Is FastLinkTraining Feature Supported: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Supported_06" + ], + "HelpText": "This feature allows for the selection of the Fast Link Training feature is to be enabled or disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Data Rate: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Data_Rate_06" + ], + "HelpText": "This field specifies Data Rate to be used for Fast Link Training in unit of 200KHz for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.\n\nIn case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then driver would use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate).", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lane Count: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_LaneCount_06" + ], + "HelpText": "This feature allows for the selection of the Lane Count (Port Width) for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Pre-Emphasis: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_PreEmp_06" + ], + "HelpText": "This feature allows for the selection of the Pre-emphasis value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Voltage Swing: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_Vswing_06" + ], + "HelpText": "This feature allows for the selection of the Voltage Swing value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-6-3", + "PageName": "PSR Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Full Link enable: ", + "Visibility": "", + "Data": [ + "9", + "PSR_FullLink_Enable_06" + ], + "HelpText": "When panel is in PSR mode and 'Full Link Enable' is set to Yes, Link is kept in standby state.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Require AUX to wake up: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Require_AUX2Wakeup_06" + ], + "HelpText": "When panel is exiting PSR mode and 'Require AUX to wake up' is set to Yes, the AUX channel handshake(link training is required) will be used.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lines to wait before link standby: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Lines2Wait_B4LinkS3_06" + ], + "HelpText": "This field determines Lines to wait before link standby\n0 lines to wait (Default)\n1 lines to wait\n4 lines to wait\n8 lines to wait\nOthers Reserved", + "WidgetValues": [ + { + "Key": "0 lines to wait", + "Value": "0" + }, + { + "Key": "1 lines to wait", + "Value": "1" + }, + { + "Key": "4 lines to wait", + "Value": "2" + }, + { + "Key": "8 lines to wait", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Idle frames to wait: ", + "Visibility": "", + "Data": [ + "9", + "PSR_IdleFrames2Wait_06" + ], + "HelpText": "Idle frames to wait for PSR enable.\nAllowed values 0-15. Default value is 0.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Clock Recovery Time: ", + "Visibility": "", + "Data": [ + "9", + "PSR_TP1_WaitTime_06" + ], + "HelpText": "This field selects the link training TP1(Training Pattern1) time during PSR exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR1 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR1_TP_2_3_4_WaitTime_06" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR1 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR2 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR2_TP_2_3_4_WaitTime_06" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR2 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "50 usec", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-6-4", + "PageName": "Apical Feature", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Apical Assertive Display IP: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Apical_Display_Ip_Enable_06" + ], + "HelpText": "This field enables/disables the Apical Assertive Display IP for this panel.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel OUI (IEEE OUI): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Oui_06" + ], + "HelpText": "This field specifies the Apical IP specific Panel OUI field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Base Address: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Base_Address_06" + ], + "HelpText": "This field specifies the Apical IP specific DPCD base address field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Irdidix Control 0: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Irdidix_Control0_06" + ], + "HelpText": "This field specifies the Apical IP specific DPCD Irdidix control 0 field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Option Select: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Option_Select_06" + ], + "HelpText": "This field specifies the Apical IP specific DPCD option select field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Backlight: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Backlight_06" + ], + "HelpText": "This field specifies the Apical IP specific backlight value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Ambient Light: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Ambient_Light_06" + ], + "HelpText": "This field specifies the Apical IP specific Ambient light value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Backlight scale: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Backlight_Scale_06" + ], + "HelpText": "This field specifies the Apical IP specific backlight scale field.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-6-5", + "PageName": "Power Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Power Saving Technology (DPST) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DPST_Enable_06" + ], + "HelpText": "This feature determines whether the Intel Display Power Savings Technology (DPST) is enabled or disabled.\nIntel DPST is a display power savings technology that changes the intensity of colors in order to conserve backlight power.\nNote: This technology is only active when the system is running in battery mode and the LFP is the only active display device.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Refresh Rate Switching (DRRS) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DRRS_Enable_06" + ], + "HelpText": "This feature determines whether Intel Display Refresh Rate Switching (DRRS) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Edge Luminance Profile (ELP) : ", + "Visibility": "", + "Data": [ + "44", + "ELP_Enable_06" + ], + "HelpText": "This feature determines whether the ELP feature is enabled or disabled.\nEdge Luminance Profile (ELP) is a panel technology which reduce luminance on the edge of screen to save panel power.\nNote:This technology cannot co-exist with DPST and OPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " OLED Power Saving Technology (OPST) : ", + "Visibility": "", + "Data": [ + "44", + "OPST_Enable_06" + ], + "HelpText": "This feature determines whether the OPST feature is enabled or disabled.\nOLED Power Saving Technology (OPST) is a panel technology which saves power by intelligent, adaptive dimming of midrange pixel values more aggressively than the extremes without compromising the viewability.\nNote: This technology cannot co-exist with ELP and DPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic Media Refresh Rate Switching Enable/Disable ", + "Visibility": "", + "Data": [ + "44", + "DMRRS_Enable_06" + ], + "HelpText": "This feature determines whether Dynamic media refresh rate switching is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Display Lace Support: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Enable_06" + ], + "HelpText": "This feature, when enabled, will set Display Lace Support otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Panel Self Refresh (PSR): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "PSR_Enable_06" + ], + "HelpText": "This feature determines whether Panel Self Refresh (PSR) feature is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Assertive Display Technology Enable/Disable: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "ADT_Enable_06" + ], + "HelpText": "This feature determines whether Assertive display technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Automatic Display Brightness (ADB) (Mobile only): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "ADB_Enable_06" + ], + "HelpText": "This feature determines whether Intel Automatic Display Brightness is to be enabled. Intel Automatic Display Brightness adjusts the brightness of the embedded Local Flat Panel (LFP) depending on the current ambient light environment.\nWhen enabled, the driver and VBIOS will control the backlight brightness of the LFP depending on the ambient environment if and only if the LFP is the only active display. When disabled, the driver will perform no action.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDP 4k/2k HOBL Feature: ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "44", + "eDP_4k_2k_HOBL_feature_Enable_06" + ], + "HelpText": "This feature will allow users to disable/enable the edp 4k/2k HOBL(Hours Of Battery Life) feature by programming relevant registers specific for a platform.\r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display LACE Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Status_06" + ], + "HelpText": "This feature, when enabled, will set Default Display LACE Enabled status otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "DPST_Aggressiveness_Profile_06" + ], + "HelpText": "This feature allows for the selection of DPST Aggressiveness level for this Panel Type.\n1 (Maximum Quality with No DPST)\n2\n3\n4\n5\n6 (Maximum Battery)", + "WidgetValues": [ + { + "Key": "1 - Maximum Quality with No DPST", + "Value": "1" + }, + { + "Key": "2", + "Value": "2" + }, + { + "Key": "3", + "Value": "3" + }, + { + "Key": "4", + "Value": "4" + }, + { + "Key": "5", + "Value": "5" + }, + { + "Key": "6 - Maximum Battery", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LACE Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Aggressiveness_Profile_06" + ], + "HelpText": "This feature allows for the selection of LACE Aggressiveness level for this Panel Type.\nMinimum 0\nModerate 1\nHigh 2", + "WidgetValues": [ + { + "Key": "Minimum", + "Value": "0" + }, + { + "Key": "Moderate", + "Value": "1" + }, + { + "Key": "High", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "ELP Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "ELP_Aggressiveness_Profile_06" + ], + "HelpText": "This feature allows for the selection of ELP Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "OPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "OPST_Aggressiveness_Profile_06" + ], + "HelpText": "This feature allows for the selection of OPST Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display VRR Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "VRR_Status_06" + ], + "HelpText": "VRR (Variable Refresh Rate) is a feature that can continuously and seamlessly vary Refresh Rate on the fly, on displays that support Variable Refresh rate Technologies.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-6-6", + "PageName": "Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Pixel_CLK_06" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Active_06" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Active_06" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Blank_06" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Blank_06" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_FrontPorch_06" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_FrontPorch_06" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Sync_06" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Sync_06" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Image_Size_06" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Image_Size_06" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Common_Flag_06" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-6-7", + "PageName": "LFP PnP ID Table", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "42", + "LFP_Panel_PnP_ID_06" + ], + "HelpText": "This feature allows the 10 bytes of EDID Vendor/Product ID starting at offset 08h to be used as a PnP ID.\n\nTable Definition:\n\tWord: ID Manufacturer Name\n\tWord: ID Product Code\n\tDWord: ID Serial Number\n\tByte: Week of Manufacture\n\tByte: Year of Manufacture", + "WidgetValues": [ + { + "ColumnName": "PnP ID", + "SizeinBytes": "1" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-6-8", + "PageName": "Backlight Control Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Type: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Type_06" + ], + "HelpText": "This feature allows for the selection of the Backlight Inverter type that is to be used to control the backlight brightness of the LFP.\nWhen PWM is selected, the driver and VBIOS will control the backlight brightness via the integrated PWM solution for the applicable chipsets.\nWhen None/External is selected, the system BIOS will control the backlight brightness via the external solution.", + "WidgetValues": [ + { + "Key": "None/External", + "Value": "0" + }, + { + "Key": "PWM", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Source Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Source_Selection_06" + ], + "HelpText": "If panel supports 'Intel HDR AUX Interface', it will always be chosen by default. If not, value in 'PWM Source Selection' will be used", + "WidgetValues": [ + { + "Key": "PWM From Display Engine", + "Value": "2" + }, + { + "Key": "PWM From LCD Panel", + "Value": "3" + }, + { + "Key": "Panel Driver Interface", + "Value": "4" + }, + { + "Key": "VESA eDP AUX Interface", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Controller Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Controller_Selection_06" + ], + "HelpText": "This field allows to select the PWM Controller to be used for the selected Local Flat Panel.This field allows to select the PWM Controller to be used for the selected Local Flat Panel.If Two LFPs are connected then PWM0 and PWM1 must be selected accordingly.", + "WidgetValues": [ + { + "Key": "PWM0", + "Value": "0" + }, + { + "Key": "PWM1", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Polarity: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Polarity_06" + ], + "HelpText": "This feature allows the backlight inverter polarity to be specified.\nNormal means 0 value is minimum brightness.\nInverted means 0 value is maximum brightness.", + "WidgetValues": [ + { + "Key": "Normal", + "Value": "0" + }, + { + "Key": "Inverted", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Minimum Brightness: ", + "Visibility": "", + "Data": [ + "43", + "Post_Min_Brightness_06" + ], + "HelpText": "This feature allows defining the absolute minimum backlight brightness. The driver will never decrease the backlight less than this value. The value must be specified using normal polarity semantics. The value should range from 0 to 255 if the brightness precision bit is chosen to be 8, and it should range from 0 to 65535 if the precision bit is chosen to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "POST Backlight Intensity: ", + "Visibility": "", + "Data": [ + "43", + "Post_Brightness_06" + ], + "HelpText": "This feature is used to set default backlight brightness value of the panel at POST. The value should range from 0 to 255 if the bit precision is chosen to be 8 and it should range from 0 to 65535 if the brightness bit precision is chosent to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Brightness Precision Bits: ", + "Visibility": "", + "Data": [ + "43", + "BrightnessPrecisionBits_06" + ], + "HelpText": "This field represents the range of brightness in terms of bit precision.\n 8 = Brightness range of 0 to 255.\n 16 = Brightness range of 0 to 65535", + "WidgetValues": [ + { + "Key": "8", + "Value": "8" + }, + { + "Key": "16", + "Value": "16" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM Inverter Frequency (Hz): ", + "Visibility": "", + "Data": [ + "43", + "PWM_Frequency_06" + ], + "HelpText": "This feature allows for the definition of the frequency needed for PWM Inverter.\nNote: The frequency range (entered as a decimal number), for the integrated PWM is 200Hz - 40KHz.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Intel HDR DPCD Refresh Timeout (unit - 10 micro seconds): ", + "Visibility": "", + "Data": [ + "43", + "HdrDpcdRefreshTimeout_06" + ], + "HelpText": "This field allows to configure the refresh timeout of Intel HDR DPCDs for different TCON Vendors.\nNote:\n\tThe value is in units of 10 microseconds.\n\tThe range (entered as a decimal number), for the timeout is 0-65535", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-6-9", + "PageName": "Chromaticity Control", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Chromaticity Control Feature: ", + "Visibility": "", + "Data": [ + "46", + "Chromacity_Enable_06" + ], + "HelpText": "This bit enables Chromaticity feature.\nIf this bit is enabled, EDID values for chromaticity will be used, else feature is disabled.\nFeature will be supported for Panels that support EDID version 1.4 or higher.\nPlease refer to section 3.7 of EDID Specification 1.4.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override the EDID values: ", + "Visibility": "", + "Data": [ + "46", + "Override_EDID_Data_06" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override EDID values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_Green_bits (Bits 1:0 at 19h): ", + "Visibility": "", + "Data": [ + "46", + "Red_Green_06" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Red, Green Coordinates represented as Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1 Gy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_White_bits (Bits 1:0 at 1Ah): ", + "Visibility": "", + "Data": [ + "46", + "Blue_White_06" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Blue, White Coordinates represented as Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_x (Bits 9:2 at 1Bh): ", + "Visibility": "", + "Data": [ + "46", + "Red_x_06" + ], + "HelpText": "Bits 9:2 of red color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_y (Bits 9:2 at 1Ch): ", + "Visibility": "", + "Data": [ + "46", + "Red_y_06" + ], + "HelpText": "Bits 9:2 of red color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_x (Bits 9:2 at 1Dh): ", + "Visibility": "", + "Data": [ + "46", + "Green_x_06" + ], + "HelpText": "Bits 9:2 of Green color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_y (Bits 9:2 at 1Eh): ", + "Visibility": "", + "Data": [ + "46", + "Green_y_06" + ], + "HelpText": "Bits 9:2 of Green color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_x (Bits 9:2 at 1Fh): ", + "Visibility": "", + "Data": [ + "46", + "Blue_x_06" + ], + "HelpText": "Bits 9:2 of Blue color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_y (Bits 9:2 at 20h): ", + "Visibility": "", + "Data": [ + "46", + "Blue_y_06" + ], + "HelpText": "Bits 9:2 of Blue color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_x (Bits 9:2 at 21h): ", + "Visibility": "", + "Data": [ + "46", + "White_x_06" + ], + "HelpText": "Bits 9:2 of White color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_y (Bits 9:2 at 22h): ", + "Visibility": "", + "Data": [ + "46", + "White_y_06" + ], + "HelpText": "Bits 9:2 of White color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Luminance values ", + "Visibility": "", + "Data": [ + "46", + "Override_LUM_Data_06" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override luminance values following VBT values", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Minimum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MinLuminance_06" + ], + "HelpText": "Minimum luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum full frame luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxFullLuminance_06" + ], + "HelpText": "Maximum Full frame luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxLuminance_06" + ], + "HelpText": "Maximum luminance value(Relatively smaller portion of screen).\n2 byte value, encoded in IEEE 754 half-precision binary floating point format.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Gamma values: ", + "Visibility": "", + "Data": [ + "46", + "Override_Gamma_Data_06" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override gamma values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel gamma: ", + "Visibility": "", + "Data": [ + "46", + "Gamma_06" + ], + "HelpText": "Value shall define the gamma range, from 1.00 to 3.54, as follows:\nField Value = (Gamma (value in float) x 100) - 100\nField values range from 00h through FFh.\nFFh = No gamma information shall be provided", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-6-10", + "PageName": "VESA DSC Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Major Version: ", + "Visibility": "", + "Data": [ + "56", + "C6_Major_Dsc_Version" + ], + "HelpText": "VESA DSC Major revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Minor Version: ", + "Visibility": "", + "Data": [ + "56", + "C6_Minor_Dsc_Version" + ], + "HelpText": "VESA DSC Minor revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Block prediction supported: ", + "Visibility": "", + "Data": [ + "56", + "C6_Blk_Prediction_En" + ], + "HelpText": "Sink supports block prediction as per the VESA DSC Spec.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "RC Buffer Block size as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C6_RC_Block_Size" + ], + "HelpText": "RC buffer block size for a single RC buffer as defined by the VESA DSC spec.", + "WidgetValues": [ + { + "Key": "1 KB", + "Value": "0" + }, + { + "Key": "4 KB", + "Value": "1" + }, + { + "Key": "16 KB", + "Value": "2" + }, + { + "Key": "64 KB", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Number of RC buffer blocks as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C6_Dsc_RC_Buf_Size" + ], + "HelpText": "This field defines the number of RC buffers as per VESA DSC spec.\nThe number of RC buffers used by the software shall be (Value + 1) where Value is in range 0 to 127.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Slices per line supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C6_Dsc_Slices_Per_Line" + ], + "HelpText": "This field defines the slices per line supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 31-10\t\t Bit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tReserved\t\t 24\t 20\t 16\t 12\t 10\t 8\t 6\t 4\t 2\t 1\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower slices per line than maximum selected field. i.e. If it supports say 8 slices per line, it will also support 4/2/1 slices per line", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Line buffer depth as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C6_Line_Buffer_Depth" + ], + "HelpText": "Line buffer depth in bits as per VESA DSC spec.", + "WidgetValues": [ + { + "Key": "8 bits", + "Value": "0" + }, + { + "Key": "9 bits", + "Value": "1" + }, + { + "Key": "10 bits", + "Value": "2" + }, + { + "Key": "11 bits", + "Value": "3" + }, + { + "Key": "12 bits", + "Value": "4" + }, + { + "Key": "13 bits", + "Value": "5" + }, + { + "Key": "14 bits", + "Value": "6" + }, + { + "Key": "15 bits", + "Value": "7" + }, + { + "Key": "16 bits", + "Value": "8" + } + ] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Input compression BPC supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C6_Dsc_Bpc" + ], + "HelpText": "This field defines the compression input bpc supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 7-4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tRsvd\t 12 bpc\t 10bpc\t 8bpc\t Rsvd\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower bpc values than the maximum selected field. i.e. If it supports say 12bpc, it will also support 10 and 8bpc as well", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum supported compression BPP: ", + "Visibility": "", + "Data": [ + "56", + "C6_Dsc_Max_Bpp" + ], + "HelpText": "As of today, we are supporting 6/8/10/12 BPP for compression output.\nSelect the most appropriate BPP as supported by the sink.", + "WidgetValues": [ + { + "Key": "6 Bits per pixel", + "Value": "0" + }, + { + "Key": "8 Bits per pixel", + "Value": "1" + }, + { + "Key": "10 Bits per pixel", + "Value": "2" + }, + { + "Key": "12 Bits per pixel", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Slice height supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C6_Dsc_Slice_Height" + ], + "HelpText": "Slice height supported by the sink device for DSC slice.\nNote: Slice height must divide the picture height uniformly.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-6-11", + "PageName": "MIPI Display Settings", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:5120 or Block:2, Field:LFP2_Device_Class, Value:5120", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "MIPI DSI Controller Configuration Settings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Video/Command Mode: ", + "Visibility": "", + "Data": [ + "52", + "Video_Command_Mode_06" + ], + "HelpText": "This feature helps in selecting Video/Command Mode.", + "WidgetValues": [ + { + "Key": "Video Mode", + "Value": "0" + }, + { + "Key": "Command Mode", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Packet Sequence For Video Mode: ", + "Visibility": "", + "Data": [ + "52", + "Packet_Sequence_Video_Mode_06" + ], + "HelpText": "This feature helps in selecting packet sequence for Video Mode.\nNon-burst with sync pulse\nNon-burst with sync events\nBurst mode", + "WidgetValues": [ + { + "Key": "Non-burst with sync pulse", + "Value": "1" + }, + { + "Key": "Non-burst with sync events", + "Value": "2" + }, + { + "Key": "Burst Mode", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Required Burst Mode Rate (in Kbps): ", + "Visibility": "", + "Data": [ + "52", + "RequiredBurstModeRate_06" + ], + "HelpText": "This feature allows to enter Required Burst Mode Rate in Kilo bits per sec. This should be greater than Non-Burst Mode Rate\nThis value is valid only if packet sequence for video mode is Burst Mode.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Colour Format In Video Mode: ", + "Visibility": "", + "Data": [ + "52", + "Colour_Format_Video_Mode_06" + ], + "HelpText": "This feature helps in selecting supported colour format in Video Mode.", + "WidgetValues": [ + { + "Key": "RGB565", + "Value": "1" + }, + { + "Key": "RGB666", + "Value": "2" + }, + { + "Key": "RGB 666(Loosely Packed Format)", + "Value": "3" + }, + { + "Key": "RGB888", + "Value": "4" + }, + { + "Key": "RGB101010", + "Value": "5" + }, + { + "Key": "RGB121212", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual Link Support: ", + "Visibility": "", + "Data": [ + "52", + "Dual_Link_06" + ], + "HelpText": "This feature allows to select type of dual link.", + "WidgetValues": [ + { + "Key": "Dual Link Not Supported", + "Value": "0" + }, + { + "Key": "Dual Link Front Back Mode", + "Value": "1" + }, + { + "Key": "Dual Link Pixel Alternative Mode", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count(Z-Inversion): ", + "Visibility": "", + "Data": [ + "42", + "PixelOverlapCount_06" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using\nMIPI Dual Link Front-Back video mode.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixels Overlap", + "Value": "2" + }, + { + "Key": "Three Pixels Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixels Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixels Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + }, + { + "Key": "Nine Pixel Overlap", + "Value": "9" + }, + { + "Key": "Ten Pixels Overlap", + "Value": "10" + }, + { + "Key": "Eleven Pixels Overlap", + "Value": "11" + }, + { + "Key": "Twelve Pixel Overlap", + "Value": "12" + }, + { + "Key": "Thirteen Pixels Overlap", + "Value": "13" + }, + { + "Key": "Fourteen Pixels Overlap", + "Value": "14" + }, + { + "Key": "Fifteen Pixels Overlap", + "Value": "15" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " CABC Support: ", + "Visibility": "", + "Data": [ + "52", + "CABC_Support_06" + ], + "HelpText": "This feature helps in selecting CABC_Support.", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " CABC On/Off Commands: ", + "Visibility": "", + "Data": [ + "52", + "CabcCmdsPort_06" + ], + "HelpText": "Select the MIPI Port for sending CABC On/Off Commands in case of Dual link MIPI panels\nThis field is ignored in single link MIPI case", + "WidgetValues": [ + { + "Key": "MIPI DSI-0", + "Value": "0" + }, + { + "Key": "MIPI DSI-1", + "Value": "1" + }, + { + "Key": "Both MIPI DSI-0 and DSI-1", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel PWM/BkltController On/Off Commands: ", + "Visibility": "", + "Data": [ + "52", + "PanelPwmCmdsPort_06" + ], + "HelpText": "Select the MIPI Port for sending Panel PWM/BkltController On/Off Commands in case of Dual link MIPI panels\nThis field is ignored in single link MIPI case", + "WidgetValues": [ + { + "Key": "MIPI DSI-0", + "Value": "0" + }, + { + "Key": "MIPI DSI-1", + "Value": "1" + }, + { + "Key": "Both MIPI DSI-0 and DSI-1", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " RGB/BGR Panel Selection: ", + "Visibility": "", + "Data": [ + "52", + "RgbFlip_06" + ], + "HelpText": "Select if the panel is RGB or BGR", + "WidgetValues": [ + { + "Key": "RGB Panel", + "Value": "0" + }, + { + "Key": "BGR Panel", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Number Of Data Lanes: ", + "Visibility": "", + "Data": [ + "52", + "Number_Of_Lanes_06" + ], + "HelpText": "This feature allows to select number of data lanes going to use for MIPI DSI", + "WidgetValues": [ + { + "Key": "1", + "Value": "0" + }, + { + "Key": "2", + "Value": "1" + }, + { + "Key": "3", + "Value": "2" + }, + { + "Key": "4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Sending Bus Turn Around (BTA): ", + "Visibility": "", + "Data": [ + "52", + "Bta_Disable_06" + ], + "HelpText": "Enable or Disable sending Bus Turn Around to the Peripheral", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "0" + }, + { + "Key": "Disabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Escape Clock: ", + "Visibility": "", + "Data": [ + "52", + "EscapeClk_06" + ], + "HelpText": "This feature helps to select frequency of Escape Clk.", + "WidgetValues": [ + { + "Key": "20 MHz", + "Value": "0" + }, + { + "Key": "10 MHz", + "Value": "1" + }, + { + "Key": "5 MHz", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " EoT Packet Transmission: ", + "Visibility": "", + "Data": [ + "52", + "EoTpSupport_06" + ], + "HelpText": "This feature helps to either enable or disable EoT packet Transmission", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "0" + }, + { + "Key": "Disabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Clock Stop Feature: ", + "Visibility": "", + "Data": [ + "52", + "ClockStop_06" + ], + "HelpText": "To enable or disable clock stopping feature during BLLP timing in a MIPI DPI (video) mode", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " LP Clock During LPM: ", + "Visibility": "", + "Data": [ + "52", + "LpClockDuringLpm_06" + ], + "HelpText": "In continuous clock mode (Clock Stop Feature disabled), Clock lane will always be in HS mode.\nIf this feature is enabled, Clock lane also goes to LP state once per frame during the mandated data lane LPM\nin MIPI DSI DPI (video) mode", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Blanking During BLLP: ", + "Visibility": "", + "Data": [ + "52", + "BlankingDuringBllp_06" + ], + "HelpText": "This feature helps to send Blanking packets during BLLP regions in a MIPI DSI DPI (video) mode.", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkPrepare: ", + "Visibility": "", + "Data": [ + "52", + "TClkPrepare_06" + ], + "HelpText": "This feature allows to enter TClkPrepare in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkTrail: ", + "Visibility": "", + "Data": [ + "52", + "TClkTrail_06" + ], + "HelpText": "This feature allows to enter TClkTrail in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " TClkPrepare + TClkZero: ", + "Visibility": "", + "Data": [ + "52", + "TClkPrepareTClkZero_06" + ], + "HelpText": "This feature allows to enter TClkPrepare + TClkZero in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsPrepare: ", + "Visibility": "", + "Data": [ + "52", + "THsPrepare_06" + ], + "HelpText": "This feature allows to enter THsPrepare in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsTrail: ", + "Visibility": "", + "Data": [ + "52", + "THsTrail_06" + ], + "HelpText": "This feature allows to enter THsTrail in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " THsPrepare + THsZero: ", + "Visibility": "", + "Data": [ + "52", + "THsPrepareTHsZero_06" + ], + "HelpText": "This feature allows to enter THsPrepare + THsZero in ns.", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "MIPI DSI Panel Power On/Off Sequence(delays)", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Up Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerUpDelay_06" + ], + "HelpText": "Delay to be given after panel power up in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Data Turn-On To Panel Backlight Enable Delay: ", + "Visibility": "", + "Data": [ + "52", + "DataTurnOnToPanelBacklightEnableDelay_06" + ], + "HelpText": "Delay to be given after MIPI DATA TURN ON and before backlight enabling in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Pwm-On To Backlight Enable Delay: ", + "Visibility": "", + "Data": [ + "52", + "Mipi_PwmOn_To_Bklt_Enable_Delay_06" + ], + "HelpText": "Delay to be given after PWM-On and before Backlight Enable in 100uS\nDelay from PWM-On to Backlight Enable is included in delay from Data Turn-On to Panel Backlight Enable.\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Data Turn-On to Panel Backlight Enable.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Backlight Disable To Pwm-Off Delay: ", + "Visibility": "", + "Data": [ + "52", + "Mipi_Bklt_Disable_To_PwmOff_Delay_06" + ], + "HelpText": "Delay to be given after Backlight Disable and before Pwm-Off in 100uS\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to Data Turn-Off.\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to Data Turn-Off.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Backlight Disable To Data Turn-Off Delay: ", + "Visibility": "", + "Data": [ + "52", + "BacklightOffToDataTurnOffDelay_06" + ], + "HelpText": "Delay to be given after Backlight Disable and before MIPI DATA TURN OFF in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Down Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerDownDelay_06" + ], + "HelpText": "Delay to be given before panel power down in 100uS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Power-Cycle Delay: ", + "Visibility": "", + "Data": [ + "52", + "PowerCycleDelay_06" + ], + "HelpText": "Delay to be given before panel power up and after panel power down in 100uS", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-7", + "PageName": "Panel #07", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "LabelHeading", + "WidgetName": "Common LFP Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryAsci", + "WidgetName": " LFP Panel Name: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Name_07" + ], + "HelpText": "This feature defines the LFP panel name, used by driver only. Panel name can be only of 13 characters maximum and rest of the characters will be truncated.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target X-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Width_07" + ], + "HelpText": "This value specifies the Target X-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target Y-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Height_07" + ], + "HelpText": "This value specifies the Target Y-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " DPS Panel Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Seamless DRRS Minimum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "42", + "Seamless_DRRS_Min_RR_07" + ], + "HelpText": "Using this field the minimum Refresh Rate to be used for Seamless DRRS feature can be entered in Hertz.\nNote: Graphics driver will use this field only when EDID support is disabled in VBT configuration.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " BackLight Technology Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " BackLight Technology: ", + "Visibility": "", + "Data": [ + "40", + "Blt_Control_07" + ], + "HelpText": "This feature allows OEM to select the Backlight Technology.", + "WidgetValues": [ + { + "Key": "LED Backlight", + "Value": "2" + }, + { + "Key": "CCFL Backlight", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Rotation: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Rotation_07" + ], + "HelpText": "This feature specifies the Panel Rotation of LFP panel used.", + "WidgetValues": [ + { + "Key": "0 degree", + "Value": "0" + }, + { + "Key": "180 degree", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Position: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Position_07" + ], + "HelpText": "This feature specifies the Panel Position of LFP panel used.", + "WidgetValues": [ + { + "Key": "Inside Shell", + "Value": "0" + }, + { + "Key": "Outside Shell", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual LFP Port Sync: ", + "Visibility": "", + "Data": [ + "42", + "EnablePortSync_Bit_07" + ], + "HelpText": "This feature will allow users to disable/enable Dual LFP Port Sync and it is applicable for DDI-A, DDI-B in case of eDP and DSI-0, DSI-1 in case of MIPI. \r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " GPU Dithering for Banding artifacts: ", + "Visibility": "", + "Data": [ + "42", + "EnableDithering_Bit_07" + ], + "HelpText": "This field can be used to enable dithering from the source side for reducing banding artifacts on the visual quality features like DPST.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP PnP ID Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Backlight Control Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Chromaticity Control", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "VESA DSC Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated eDP Settings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Edp Max Port Link Rate (in 200 Khz): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Max_Port_Link_Rate_07" + ], + "HelpText": "This field specifies EDP Max Port Link Rate supported by the port in unit of 200KHz.\nDefault value would be \"0\", in which case Display Drivers should consider EDP Max Port Link Rate to be the Platform supported Max Link Rate.\nOnly when OEM's need to limit to particular Link Rate can enter the value as mentioned in below table.\n\nNote:\n1) OEM's need to enter the values mentioned from below table only.\n2) If value entered is not matching with any of the below values then Platform supported Max Link Rate should be considere as EDP Max Port Link Rate by the display drivers.\n3) In case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then we need to use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate)\n---------------------------------------------------------\n|\tLink Rate(Gbps)\t|\t Value to enter in text field\t|\n|\t \t\t|\t in terms of 200KHZ \t|\n---------------------------------------------------------\n|\t 1.62 \t\t|\t 8100 \t|\n|\t 2.16 \t\t|\t 10800 \t|\n|\t 2.43 \t\t|\t 12150 \t|\n|\t 2.7 \t\t|\t 13500 \t|\n|\t 3.24 \t\t|\t 16200 \t|\n|\t 3.78 \t\t|\t 18900 \t|\n|\t 4.32 \t\t|\t 21600 \t|\n|\t 5.4 \t\t|\t 27000 \t|\n|\t 6.48 \t\t|\t 32400 \t|\n|\t 6.75 \t\t|\t 33750 \t|\n|\t 8.1 \t\t|\t 40500 \t|\n", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Color Depth: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Color_Depth_07" + ], + "HelpText": "This feature specifies the color depth of eDP panel used.", + "WidgetValues": [ + { + "Key": "18-bit Color Depth", + "Value": "0" + }, + { + "Key": "24-bit Color Depth", + "Value": "1" + }, + { + "Key": "30-bit Color Depth", + "Value": "2" + }, + { + "Key": "36-bit Color Depth", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Select VSwing/Pre-Emphasis table : ", + "Visibility": "", + "Data": [ + "27", + "eDP_VswingPreEmph_7" + ], + "HelpText": "This feature selects the VSwing Pre-Emphasis setting table to be used. For Tigerlake, based on the selection respective table will be used.\nTables for Tigerlake:\nLow Power VSwing Pre-Emphasis Setting Table:\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/200mV \t\t 200mV, 0.0db \t\t 200mV, 1.9db \t\t 200mV, 3.5db \t\t 200mV, 4.9db\nSwing \t\t Level-1/250mV \t\t 250mV, 0.0db \t\t 250mV, 1.6db \t\t 250mV, 2.9db \t\t N/A\n(mV) \t\t Level-2/300mV \t\t 300mV, 0.0db \t\t 300mV, 1.3db \t\t N/A \t\t N/A\n\t\t Level-3/350mV \t\t 350mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR3:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nDefault VSwing Pre-Emphasis Setting Table:\nFor HBR:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A", + "WidgetValues": [ + { + "Key": "Default VSwing/Pre-Emphasis Table", + "Value": "1" + }, + { + "Key": "Low Power VSwing/Pre-Emphasis Table", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " eDP Spread Spectrum Clock: ", + "Visibility": "", + "Data": [ + "40", + "Enable_SSC07" + ], + "HelpText": "This feature will allow users to disable/enable Spread Spectrum Clock for eDP.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count: ", + "Visibility": "", + "Data": [ + "42", + "PixelOverlapCount_07" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using Edp Multi-SST(MSO) feature.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixel Overlap", + "Value": "2" + }, + { + "Key": "Three Pixel Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixel Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixel Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "PSR Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Apical Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-7-1", + "PageName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " T3 optimization: ", + "Visibility": "", + "Data": [ + "27", + "eDP_T3_Optimization_07" + ], + "HelpText": "This feature enables or disables T3 optimization.\nWhen enabled, VBIOS/GOP driver will poll for AUX soon after VDD enable until AUX passes or T3 time is reached\nWhen disabled, VBIOS/GOP driver will wait for T3 time before trying the first AUX transaction", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "LCDVCC to HPD high delay (T3): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Vcc_To_Hpd_Delay_07" + ], + "HelpText": "Using this field the delay from LCDVCC to HPD high can be specified in 100uS.\nValid Range: 0 to 200msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Valid video data to Backlight Enable delay (T8): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOn_To_BkltEnable_Delay_07" + ], + "HelpText": "Using this field the delay from Start of Valid video data from Source to Backlight Enable can be specified in 100uS.\nT8 is inclusive of T7.\nValid Range of T7: 0 to 50msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM-On To Backlight Enable delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_PwmOn_To_Bklt_Enable_Delay_07" + ], + "HelpText": "Using this field the delay from PWM-On to Backlight Enable can be specified in 100uS.\nDelay from PWM-On to Backlight Enable is included in delay from Valid video data to Backlight Enable (T8).\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Valid video data to Backlight Enable (T8).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to PWM-Off delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Bklt_Disable_To_PwmOff_Delay_07" + ], + "HelpText": "Using this field delay from Backlight Disable to PWM-Off can be specified in 100uS.\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to End of Valid video data (T9).\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to to End of Valid video data (T9).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to End of Valid video data delay (T9): ", + "Visibility": "", + "Data": [ + "27", + "eDP_BkltDisable_To_DataOff_Delay_07" + ], + "HelpText": "Using this field the delay from Backlight Disable to End of Valid video data can be specified in 100uS.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "End of Valid video data to Power-Off delay (T10): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOff_To_PowerOff_Delay_07" + ], + "HelpText": "Using this field delay from End of Valid video data from Source to Power-Off can be specified in 100uS.\nValid Range: 0 to 500 msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Power-off time (T12): ", + "Visibility": "", + "Data": [ + "27", + "eDP_PowerCycle_Delay_07" + ], + "HelpText": "Using this field Power-off time can be specified in 100uS.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-7-2", + "PageName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Is FastLinkTraining Feature Supported: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Supported_07" + ], + "HelpText": "This feature allows for the selection of the Fast Link Training feature is to be enabled or disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Data Rate: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Data_Rate_07" + ], + "HelpText": "This field specifies Data Rate to be used for Fast Link Training in unit of 200KHz for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.\n\nIn case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then driver would use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate).", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lane Count: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_LaneCount_07" + ], + "HelpText": "This feature allows for the selection of the Lane Count (Port Width) for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Pre-Emphasis: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_PreEmp_07" + ], + "HelpText": "This feature allows for the selection of the Pre-emphasis value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Voltage Swing: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_Vswing_07" + ], + "HelpText": "This feature allows for the selection of the Voltage Swing value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-7-3", + "PageName": "PSR Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Full Link enable: ", + "Visibility": "", + "Data": [ + "9", + "PSR_FullLink_Enable_07" + ], + "HelpText": "When panel is in PSR mode and 'Full Link Enable' is set to Yes, Link is kept in standby state.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Require AUX to wake up: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Require_AUX2Wakeup_07" + ], + "HelpText": "When panel is exiting PSR mode and 'Require AUX to wake up' is set to Yes, the AUX channel handshake(link training is required) will be used.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lines to wait before link standby: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Lines2Wait_B4LinkS3_07" + ], + "HelpText": "This field determines Lines to wait before link standby\n0 lines to wait (Default)\n1 lines to wait\n4 lines to wait\n8 lines to wait\nOthers Reserved", + "WidgetValues": [ + { + "Key": "0 lines to wait", + "Value": "0" + }, + { + "Key": "1 lines to wait", + "Value": "1" + }, + { + "Key": "4 lines to wait", + "Value": "2" + }, + { + "Key": "8 lines to wait", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Idle frames to wait: ", + "Visibility": "", + "Data": [ + "9", + "PSR_IdleFrames2Wait_07" + ], + "HelpText": "Idle frames to wait for PSR enable.\nAllowed values 0-15. Default value is 0.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Clock Recovery Time: ", + "Visibility": "", + "Data": [ + "9", + "PSR_TP1_WaitTime_07" + ], + "HelpText": "This field selects the link training TP1(Training Pattern1) time during PSR exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR1 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR1_TP_2_3_4_WaitTime_07" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR1 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR2 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR2_TP_2_3_4_WaitTime_07" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR2 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "50 usec", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-7-4", + "PageName": "Apical Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Apical Assertive Display IP: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Apical_Display_Ip_Enable_07" + ], + "HelpText": "This field enables/disables the Apical Assertive Display IP for this panel.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel OUI (IEEE OUI): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Oui_07" + ], + "HelpText": "This field specifies the Apical IP specific Panel OUI field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Base Address: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Base_Address_07" + ], + "HelpText": "This field specifies the Apical IP specific DPCD base address field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Irdidix Control 0: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Irdidix_Control0_07" + ], + "HelpText": "This field specifies the Apical IP specific DPCD Irdidix control 0 field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Option Select: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Option_Select_07" + ], + "HelpText": "This field specifies the Apical IP specific DPCD option select field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Backlight: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Backlight_07" + ], + "HelpText": "This field specifies the Apical IP specific backlight value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Ambient Light: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Ambient_Light_07" + ], + "HelpText": "This field specifies the Apical IP specific Ambient light value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Backlight scale: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Backlight_Scale_07" + ], + "HelpText": "This field specifies the Apical IP specific backlight scale field.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-7-5", + "PageName": "Power Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Power Saving Technology (DPST) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DPST_Enable_07" + ], + "HelpText": "This feature determines whether the Intel Display Power Savings Technology (DPST) is enabled or disabled.\nIntel DPST is a display power savings technology that changes the intensity of colors in order to conserve backlight power.\nNote: This technology is only active when the system is running in battery mode and the LFP is the only active display device.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Refresh Rate Switching (DRRS) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DRRS_Enable_07" + ], + "HelpText": "This feature determines whether Intel Display Refresh Rate Switching (DRRS) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Edge Luminance Profile (ELP) : ", + "Visibility": "", + "Data": [ + "44", + "ELP_Enable_07" + ], + "HelpText": "This feature determines whether the ELP feature is enabled or disabled.\nEdge Luminance Profile (ELP) is a panel technology which reduce luminance on the edge of screen to save panel power.\nNote:This technology cannot co-exist with DPST and OPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " OLED Power Saving Technology (OPST) : ", + "Visibility": "", + "Data": [ + "44", + "OPST_Enable_07" + ], + "HelpText": "This feature determines whether the OPST feature is enabled or disabled.\nOLED Power Saving Technology (OPST) is a panel technology which saves power by intelligent, adaptive dimming of midrange pixel values more aggressively than the extremes without compromising the viewability.\nNote: This technology cannot co-exist with ELP and DPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic Media Refresh Rate Switching Enable/Disable ", + "Visibility": "", + "Data": [ + "44", + "DMRRS_Enable_07" + ], + "HelpText": "This feature determines whether Dynamic media refresh rate switching is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Display Lace Support: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Enable_07" + ], + "HelpText": "This feature, when enabled, will set Display Lace Support otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Panel Self Refresh (PSR): ", + "Visibility": "", + "Data": [ + "44", + "PSR_Enable_07" + ], + "HelpText": "This feature determines whether Panel Self Refresh (PSR) feature is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Assertive Display Technology Enable/Disable: ", + "Visibility": "", + "Data": [ + "44", + "ADT_Enable_07" + ], + "HelpText": "This feature determines whether Assertive display technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Automatic Display Brightness (ADB) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "ADB_Enable_07" + ], + "HelpText": "This feature determines whether Intel Automatic Display Brightness is to be enabled. Intel Automatic Display Brightness adjusts the brightness of the embedded Local Flat Panel (LFP) depending on the current ambient light environment.\nWhen enabled, the driver and VBIOS will control the backlight brightness of the LFP depending on the ambient environment if and only if the LFP is the only active display. When disabled, the driver will perform no action.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDP 4k/2k HOBL Feature: ", + "Visibility": "", + "Data": [ + "44", + "eDP_4k_2k_HOBL_feature_Enable_07" + ], + "HelpText": "This feature will allow users to disable/enable the edp 4k/2k HOBL(Hours Of Battery Life) feature by programming relevant registers specific for a platform.\r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display LACE Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Status_07" + ], + "HelpText": "This feature, when enabled, will set Default Display LACE Enabled status otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "DPST_Aggressiveness_Profile_07" + ], + "HelpText": "This feature allows for the selection of DPST Aggressiveness level for this Panel Type.\n1 (Maximum Quality with No DPST)\n2\n3\n4\n5\n6 (Maximum Battery)", + "WidgetValues": [ + { + "Key": "1 - Maximum Quality with No DPST", + "Value": "1" + }, + { + "Key": "2", + "Value": "2" + }, + { + "Key": "3", + "Value": "3" + }, + { + "Key": "4", + "Value": "4" + }, + { + "Key": "5", + "Value": "5" + }, + { + "Key": "6 - Maximum Battery", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LACE Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Aggressiveness_Profile_07" + ], + "HelpText": "This feature allows for the selection of LACE Aggressiveness level for this Panel Type.\nMinimum 0\nModerate 1\nHigh 2", + "WidgetValues": [ + { + "Key": "Minimum", + "Value": "0" + }, + { + "Key": "Moderate", + "Value": "1" + }, + { + "Key": "High", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "ELP Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "ELP_Aggressiveness_Profile_07" + ], + "HelpText": "This feature allows for the selection of ELP Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "OPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "OPST_Aggressiveness_Profile_07" + ], + "HelpText": "This feature allows for the selection of OPST Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display VRR Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "VRR_Status_07" + ], + "HelpText": "VRR (Variable Refresh Rate) is a feature that can continuously and seamlessly vary Refresh Rate on the fly, on displays that support Variable Refresh rate Technologies.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-7-6", + "PageName": "Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Pixel_CLK_07" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Active_07" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Active_07" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Blank_07" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Blank_07" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_FrontPorch_07" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_FrontPorch_07" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Sync_07" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Sync_07" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Image_Size_07" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Image_Size_07" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Common_Flag_07" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-7-7", + "PageName": "LFP PnP ID Table", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "42", + "LFP_Panel_PnP_ID_07" + ], + "HelpText": "This feature allows the 10 bytes of EDID Vendor/Product ID starting at offset 08h to be used as a PnP ID.\n\nTable Definition:\n\tWord: ID Manufacturer Name\n\tWord: ID Product Code\n\tDWord: ID Serial Number\n\tByte: Week of Manufacture\n\tByte: Year of Manufacture", + "WidgetValues": [ + { + "ColumnName": "PnP ID", + "SizeinBytes": "1" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-7-8", + "PageName": "Backlight Control Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Type: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Type_07" + ], + "HelpText": "This feature allows for the selection of the Backlight Inverter type that is to be used to control the backlight brightness of the LFP.\nWhen PWM is selected, the driver and VBIOS will control the backlight brightness via the integrated PWM solution for the applicable chipsets.\nWhen None/External is selected, the system BIOS will control the backlight brightness via the external solution.", + "WidgetValues": [ + { + "Key": "None/External", + "Value": "0" + }, + { + "Key": "PWM", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Source Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Source_Selection_07" + ], + "HelpText": "If panel supports 'Intel HDR AUX Interface', it will always be chosen by default. If not, value in 'PWM Source Selection' will be used", + "WidgetValues": [ + { + "Key": "PWM From Display Engine", + "Value": "2" + }, + { + "Key": "PWM From LCD Panel", + "Value": "3" + }, + { + "Key": "Panel Driver Interface", + "Value": "4" + }, + { + "Key": "VESA eDP AUX Interface", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Controller Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Controller_Selection_07" + ], + "HelpText": "This field allows to select the PWM Controller to be used for the selected Local Flat Panel.This field allows to select the PWM Controller to be used for the selected Local Flat Panel.If Two LFPs are connected then PWM0 and PWM1 must be selected accordingly.", + "WidgetValues": [ + { + "Key": "PWM0", + "Value": "0" + }, + { + "Key": "PWM1", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Polarity: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Polarity_07" + ], + "HelpText": "This feature allows the backlight inverter polarity to be specified.\nNormal means 0 value is minimum brightness.\nInverted means 0 value is maximum brightness.", + "WidgetValues": [ + { + "Key": "Normal", + "Value": "0" + }, + { + "Key": "Inverted", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Minimum Brightness: ", + "Visibility": "", + "Data": [ + "43", + "Post_Min_Brightness_07" + ], + "HelpText": "This feature allows defining the absolute minimum backlight brightness. The driver will never decrease the backlight less than this value. The value must be specified using normal polarity semantics. The value should range from 0 to 255 if the brightness precision bit is chosen to be 8, and it should range from 0 to 65535 if the precision bit is chosen to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "POST Backlight Intensity: ", + "Visibility": "", + "Data": [ + "43", + "Post_Brightness_07" + ], + "HelpText": "This feature is used to set default backlight brightness value of the panel at POST. The value should range from 0 to 255 if the bit precision is chosen to be 8 and it should range from 0 to 65535 if the brightness bit precision is chosent to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Brightness Precision Bits: ", + "Visibility": "", + "Data": [ + "43", + "BrightnessPrecisionBits_07" + ], + "HelpText": "This field represents the range of brightness in terms of bit precision.\n 8 = Brightness range of 0 to 255.\n 16 = Brightness range of 0 to 65535", + "WidgetValues": [ + { + "Key": "8", + "Value": "8" + }, + { + "Key": "16", + "Value": "16" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM Inverter Frequency (Hz): ", + "Visibility": "", + "Data": [ + "43", + "PWM_Frequency_07" + ], + "HelpText": "This feature allows for the definition of the frequency needed for PWM Inverter.\nNote: The frequency range (entered as a decimal number), for the integrated PWM is 200Hz - 40KHz.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Intel HDR DPCD Refresh Timeout (unit - 10 micro seconds): ", + "Visibility": "", + "Data": [ + "43", + "HdrDpcdRefreshTimeout_07" + ], + "HelpText": "This field allows to configure the refresh timeout of Intel HDR DPCDs for different TCON Vendors.\nNote:\n\tThe value is in units of 10 microseconds.\n\tThe range (entered as a decimal number), for the timeout is 0-65535", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-7-9", + "PageName": "Chromaticity Control", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Chromaticity Control Feature: ", + "Visibility": "", + "Data": [ + "46", + "Chromacity_Enable_07" + ], + "HelpText": "This bit enables Chromaticity feature.\nIf this bit is enabled, EDID values for chromaticity will be used, else feature is disabled.\nFeature will be supported for Panels that support EDID version 1.4 or higher.\nPlease refer to section 3.7 of EDID Specification 1.4.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override the EDID values: ", + "Visibility": "", + "Data": [ + "46", + "Override_EDID_Data_07" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override EDID values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_Green_bits (Bits 1:0 at 19h): ", + "Visibility": "", + "Data": [ + "46", + "Red_Green_07" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Red, Green Coordinates represented as Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1 Gy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_White_bits (Bits 1:0 at 1Ah): ", + "Visibility": "", + "Data": [ + "46", + "Blue_White_07" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Blue, White Coordinates represented as Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_x (Bits 9:2 at 1Bh): ", + "Visibility": "", + "Data": [ + "46", + "Red_x_07" + ], + "HelpText": "Bits 9:2 of red color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_y (Bits 9:2 at 1Ch): ", + "Visibility": "", + "Data": [ + "46", + "Red_y_07" + ], + "HelpText": "Bits 9:2 of red color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_x (Bits 9:2 at 1Dh): ", + "Visibility": "", + "Data": [ + "46", + "Green_x_07" + ], + "HelpText": "Bits 9:2 of Green color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_y (Bits 9:2 at 1Eh): ", + "Visibility": "", + "Data": [ + "46", + "Green_y_07" + ], + "HelpText": "Bits 9:2 of Green color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_x (Bits 9:2 at 1Fh): ", + "Visibility": "", + "Data": [ + "46", + "Blue_x_07" + ], + "HelpText": "Bits 9:2 of Blue color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_y (Bits 9:2 at 20h): ", + "Visibility": "", + "Data": [ + "46", + "Blue_y_07" + ], + "HelpText": "Bits 9:2 of Blue color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_x (Bits 9:2 at 21h): ", + "Visibility": "", + "Data": [ + "46", + "White_x_07" + ], + "HelpText": "Bits 9:2 of White color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_y (Bits 9:2 at 22h): ", + "Visibility": "", + "Data": [ + "46", + "White_y_07" + ], + "HelpText": "Bits 9:2 of White color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Luminance values ", + "Visibility": "", + "Data": [ + "46", + "Override_LUM_Data_07" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override luminance values following VBT values", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Minimum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MinLuminance_07" + ], + "HelpText": "Minimum luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum full frame luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxFullLuminance_07" + ], + "HelpText": "Maximum Full frame luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxLuminance_07" + ], + "HelpText": "Maximum luminance value(Relatively smaller portion of screen).\n2 byte value, encoded in IEEE 754 half-precision binary floating point format.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Gamma values: ", + "Visibility": "", + "Data": [ + "46", + "Override_Gamma_Data_07" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override gamma values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel gamma: ", + "Visibility": "", + "Data": [ + "46", + "Gamma_07" + ], + "HelpText": "Value shall define the gamma range, from 1.00 to 3.54, as follows:\nField Value = (Gamma (value in float) x 100) - 100\nField values range from 00h through FFh.\nFFh = No gamma information shall be provided", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-7-10", + "PageName": "VESA DSC Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Major Version: ", + "Visibility": "", + "Data": [ + "56", + "C7_Major_Dsc_Version" + ], + "HelpText": "VESA DSC Major revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Minor Version: ", + "Visibility": "", + "Data": [ + "56", + "C7_Minor_Dsc_Version" + ], + "HelpText": "VESA DSC Minor revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Block prediction supported: ", + "Visibility": "", + "Data": [ + "56", + "C7_Blk_Prediction_En" + ], + "HelpText": "Sink supports block prediction as per the VESA DSC Spec.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "RC Buffer Block size as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C7_RC_Block_Size" + ], + "HelpText": "RC buffer block size for a single RC buffer as defined by the VESA DSC spec.", + "WidgetValues": [ + { + "Key": "1 KB", + "Value": "0" + }, + { + "Key": "4 KB", + "Value": "1" + }, + { + "Key": "16 KB", + "Value": "2" + }, + { + "Key": "64 KB", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Number of RC buffer blocks as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C7_Dsc_RC_Buf_Size" + ], + "HelpText": "This field defines the number of RC buffers as per VESA DSC spec.\nThe number of RC buffers used by the software shall be (Value + 1) where Value is in range 0 to 127.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Slices per line supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C7_Dsc_Slices_Per_Line" + ], + "HelpText": "This field defines the slices per line supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 31-10\t\t Bit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tReserved\t\t 24\t 20\t 16\t 12\t 10\t 8\t 6\t 4\t 2\t 1\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower slices per line than maximum selected field. i.e. If it supports say 8 slices per line, it will also support 4/2/1 slices per line", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Line buffer depth as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C7_Line_Buffer_Depth" + ], + "HelpText": "Line buffer depth in bits as per VESA DSC spec.", + "WidgetValues": [ + { + "Key": "8 bits", + "Value": "0" + }, + { + "Key": "9 bits", + "Value": "1" + }, + { + "Key": "10 bits", + "Value": "2" + }, + { + "Key": "11 bits", + "Value": "3" + }, + { + "Key": "12 bits", + "Value": "4" + }, + { + "Key": "13 bits", + "Value": "5" + }, + { + "Key": "14 bits", + "Value": "6" + }, + { + "Key": "15 bits", + "Value": "7" + }, + { + "Key": "16 bits", + "Value": "8" + } + ] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Input compression BPC supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C7_Dsc_Bpc" + ], + "HelpText": "This field defines the compression input bpc supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 7-4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tRsvd\t 12 bpc\t 10bpc\t 8bpc\t Rsvd\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower bpc values than the maximum selected field. i.e. If it supports say 12bpc, it will also support 10 and 8bpc as well", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum supported compression BPP: ", + "Visibility": "", + "Data": [ + "56", + "C7_Dsc_Max_Bpp" + ], + "HelpText": "As of today, we are supporting 6/8/10/12 BPP for compression output.\nSelect the most appropriate BPP as supported by the sink.", + "WidgetValues": [ + { + "Key": "6 Bits per pixel", + "Value": "0" + }, + { + "Key": "8 Bits per pixel", + "Value": "1" + }, + { + "Key": "10 Bits per pixel", + "Value": "2" + }, + { + "Key": "12 Bits per pixel", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Slice height supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C7_Dsc_Slice_Height" + ], + "HelpText": "Slice height supported by the sink device for DSC slice.\nNote: Slice height must divide the picture height uniformly.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-8", + "PageName": "Panel #08", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "LabelHeading", + "WidgetName": "Common LFP Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryAsci", + "WidgetName": " LFP Panel Name: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Name_08" + ], + "HelpText": "This feature defines the LFP panel name, used by driver only. Panel name can be only of 13 characters maximum and rest of the characters will be truncated.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target X-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Width_08" + ], + "HelpText": "This value specifies the Target X-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target Y-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Height_08" + ], + "HelpText": "This value specifies the Target Y-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " DPS Panel Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Seamless DRRS Minimum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "42", + "Seamless_DRRS_Min_RR_08" + ], + "HelpText": "Using this field the minimum Refresh Rate to be used for Seamless DRRS feature can be entered in Hertz.\nNote: Graphics driver will use this field only when EDID support is disabled in VBT configuration.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " BackLight Technology Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " BackLight Technology: ", + "Visibility": "", + "Data": [ + "40", + "Blt_Control_08" + ], + "HelpText": "This feature allows OEM to select the Backlight Technology.", + "WidgetValues": [ + { + "Key": "LED Backlight", + "Value": "2" + }, + { + "Key": "CCFL Backlight", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Rotation: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Rotation_08" + ], + "HelpText": "This feature specifies the Panel Rotation of LFP panel used.", + "WidgetValues": [ + { + "Key": "0 degree", + "Value": "0" + }, + { + "Key": "180 degree", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Position: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Position_08" + ], + "HelpText": "This feature specifies the Panel Position of LFP panel used.", + "WidgetValues": [ + { + "Key": "Inside Shell", + "Value": "0" + }, + { + "Key": "Outside Shell", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual LFP Port Sync: ", + "Visibility": "", + "Data": [ + "42", + "EnablePortSync_Bit_08" + ], + "HelpText": "This feature will allow users to disable/enable Dual LFP Port Sync and it is applicable for DDI-A, DDI-B in case of eDP and DSI-0, DSI-1 in case of MIPI. \r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " GPU Dithering for Banding artifacts: ", + "Visibility": "", + "Data": [ + "42", + "EnableDithering_Bit_08" + ], + "HelpText": "This field can be used to enable dithering from the source side for reducing banding artifacts on the visual quality features like DPST.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP PnP ID Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Backlight Control Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Chromaticity Control", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "VESA DSC Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated eDP Settings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Edp Max Port Link Rate (in 200 Khz): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Max_Port_Link_Rate_08" + ], + "HelpText": "This field specifies EDP Max Port Link Rate supported by the port in unit of 200KHz.\nDefault value would be \"0\", in which case Display Drivers should consider EDP Max Port Link Rate to be the Platform supported Max Link Rate.\nOnly when OEM's need to limit to particular Link Rate can enter the value as mentioned in below table.\n\nNote:\n1) OEM's need to enter the values mentioned from below table only.\n2) If value entered is not matching with any of the below values then Platform supported Max Link Rate should be considere as EDP Max Port Link Rate by the display drivers.\n3) In case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then we need to use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate)\n---------------------------------------------------------\n|\tLink Rate(Gbps)\t|\t Value to enter in text field\t|\n|\t \t\t|\t in terms of 200KHZ \t|\n---------------------------------------------------------\n|\t 1.62 \t\t|\t 8100 \t|\n|\t 2.16 \t\t|\t 10800 \t|\n|\t 2.43 \t\t|\t 12150 \t|\n|\t 2.7 \t\t|\t 13500 \t|\n|\t 3.24 \t\t|\t 16200 \t|\n|\t 3.78 \t\t|\t 18900 \t|\n|\t 4.32 \t\t|\t 21600 \t|\n|\t 5.4 \t\t|\t 27000 \t|\n|\t 6.48 \t\t|\t 32400 \t|\n|\t 6.75 \t\t|\t 33750 \t|\n|\t 8.1 \t\t|\t 40500 \t|\n", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Color Depth: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Color_Depth_08" + ], + "HelpText": "This feature specifies the color depth of eDP panel used.", + "WidgetValues": [ + { + "Key": "18-bit Color Depth", + "Value": "0" + }, + { + "Key": "24-bit Color Depth", + "Value": "1" + }, + { + "Key": "30-bit Color Depth", + "Value": "2" + }, + { + "Key": "36-bit Color Depth", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Select VSwing/Pre-Emphasis table : ", + "Visibility": "", + "Data": [ + "27", + "eDP_VswingPreEmph_8" + ], + "HelpText": "This feature selects the VSwing Pre-Emphasis setting table to be used. For Tigerlake, based on the selection respective table will be used.\nTables for Tigerlake:\nLow Power VSwing Pre-Emphasis Setting Table:\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/200mV \t\t 200mV, 0.0db \t\t 200mV, 1.9db \t\t 200mV, 3.5db \t\t 200mV, 4.9db\nSwing \t\t Level-1/250mV \t\t 250mV, 0.0db \t\t 250mV, 1.6db \t\t 250mV, 2.9db \t\t N/A\n(mV) \t\t Level-2/300mV \t\t 300mV, 0.0db \t\t 300mV, 1.3db \t\t N/A \t\t N/A\n\t\t Level-3/350mV \t\t 350mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR3:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nDefault VSwing Pre-Emphasis Setting Table:\nFor HBR:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A", + "WidgetValues": [ + { + "Key": "Default VSwing/Pre-Emphasis Table", + "Value": "1" + }, + { + "Key": "Low Power VSwing/Pre-Emphasis Table", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " eDP Spread Spectrum Clock: ", + "Visibility": "", + "Data": [ + "40", + "Enable_SSC08" + ], + "HelpText": "This feature will allow users to disable/enable Spread Spectrum Clock for eDP.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count: ", + "Visibility": "", + "Data": [ + "42", + "PixelOverlapCount_08" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using Edp Multi-SST(MSO) feature.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixel Overlap", + "Value": "2" + }, + { + "Key": "Three Pixel Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixel Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixel Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "PSR Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Apical Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-8-1", + "PageName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " T3 optimization: ", + "Visibility": "", + "Data": [ + "27", + "eDP_T3_Optimization_08" + ], + "HelpText": "This feature enables or disables T3 optimization.\nWhen enabled, VBIOS/GOP driver will poll for AUX soon after VDD enable until AUX passes or T3 time is reached\nWhen disabled, VBIOS/GOP driver will wait for T3 time before trying the first AUX transaction", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "LCDVCC to HPD high delay (T3): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Vcc_To_Hpd_Delay_08" + ], + "HelpText": "Using this field the delay from LCDVCC to HPD high can be specified in 100uS.\nValid Range: 0 to 200msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Valid video data to Backlight Enable delay (T8): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOn_To_BkltEnable_Delay_08" + ], + "HelpText": "Using this field the delay from Start of Valid video data from Source to Backlight Enable can be specified in 100uS.\nT8 is inclusive of T7.\nValid Range of T7: 0 to 50msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM-On To Backlight Enable delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_PwmOn_To_Bklt_Enable_Delay_08" + ], + "HelpText": "Using this field the delay from PWM-On to Backlight Enable can be specified in 100uS.\nDelay from PWM-On to Backlight Enable is included in delay from Valid video data to Backlight Enable (T8).\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Valid video data to Backlight Enable (T8).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to PWM-Off delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Bklt_Disable_To_PwmOff_Delay_08" + ], + "HelpText": "Using this field delay from Backlight Disable to PWM-Off can be specified in 100uS.\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to End of Valid video data (T9).\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to to End of Valid video data (T9).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to End of Valid video data delay (T9): ", + "Visibility": "", + "Data": [ + "27", + "eDP_BkltDisable_To_DataOff_Delay_08" + ], + "HelpText": "Using this field the delay from Backlight Disable to End of Valid video data can be specified in 100uS.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "End of Valid video data to Power-Off delay (T10): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOff_To_PowerOff_Delay_08" + ], + "HelpText": "Using this field delay from End of Valid video data from Source to Power-Off can be specified in 100uS.\nValid Range: 0 to 500 msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Power-off time (T12): ", + "Visibility": "", + "Data": [ + "27", + "eDP_PowerCycle_Delay_08" + ], + "HelpText": "Using this field Power-off time can be specified in 100uS.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-8-2", + "PageName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Is FastLinkTraining Feature Supported: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Supported_08" + ], + "HelpText": "This feature allows for the selection of the Fast Link Training feature is to be enabled or disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Data Rate: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Data_Rate_08" + ], + "HelpText": "This field specifies Data Rate to be used for Fast Link Training in unit of 200KHz for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.\n\nIn case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then driver would use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate).", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lane Count: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_LaneCount_08" + ], + "HelpText": "This feature allows for the selection of the Lane Count (Port Width) for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Pre-Emphasis: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_PreEmp_08" + ], + "HelpText": "This feature allows for the selection of the Pre-emphasis value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Voltage Swing: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_Vswing_08" + ], + "HelpText": "This feature allows for the selection of the Voltage Swing value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-8-3", + "PageName": "PSR Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Full Link enable: ", + "Visibility": "", + "Data": [ + "9", + "PSR_FullLink_Enable_08" + ], + "HelpText": "When panel is in PSR mode and 'Full Link Enable' is set to Yes, Link is kept in standby state.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Require AUX to wake up: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Require_AUX2Wakeup_08" + ], + "HelpText": "When panel is exiting PSR mode and 'Require AUX to wake up' is set to Yes, the AUX channel handshake(link training is required) will be used.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lines to wait before link standby: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Lines2Wait_B4LinkS3_08" + ], + "HelpText": "This field determines Lines to wait before link standby\n0 lines to wait (Default)\n1 lines to wait\n4 lines to wait\n8 lines to wait\nOthers Reserved", + "WidgetValues": [ + { + "Key": "0 lines to wait", + "Value": "0" + }, + { + "Key": "1 lines to wait", + "Value": "1" + }, + { + "Key": "4 lines to wait", + "Value": "2" + }, + { + "Key": "8 lines to wait", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Idle frames to wait: ", + "Visibility": "", + "Data": [ + "9", + "PSR_IdleFrames2Wait_08" + ], + "HelpText": "Idle frames to wait for PSR enable.\nAllowed values 0-15. Default value is 0.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Clock Recovery Time: ", + "Visibility": "", + "Data": [ + "9", + "PSR_TP1_WaitTime_08" + ], + "HelpText": "This field selects the link training TP1(Training Pattern1) time during PSR exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR1 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR1_TP_2_3_4_WaitTime_08" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR1 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR2 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR2_TP_2_3_4_WaitTime_08" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR2 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "50 usec", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-8-4", + "PageName": "Apical Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Apical Assertive Display IP: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Apical_Display_Ip_Enable_08" + ], + "HelpText": "This field enables/disables the Apical Assertive Display IP for this panel.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel OUI (IEEE OUI): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Oui_08" + ], + "HelpText": "This field specifies the Apical IP specific Panel OUI field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Base Address: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Base_Address_08" + ], + "HelpText": "This field specifies the Apical IP specific DPCD base address field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Irdidix Control 0: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Irdidix_Control0_08" + ], + "HelpText": "This field specifies the Apical IP specific DPCD Irdidix control 0 field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Option Select: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Option_Select_08" + ], + "HelpText": "This field specifies the Apical IP specific DPCD option select field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Backlight: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Backlight_08" + ], + "HelpText": "This field specifies the Apical IP specific backlight value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Ambient Light: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Ambient_Light_08" + ], + "HelpText": "This field specifies the Apical IP specific Ambient light value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Backlight scale: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Backlight_Scale_08" + ], + "HelpText": "This field specifies the Apical IP specific backlight scale field.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-8-5", + "PageName": "Power Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inte Display Power Saving Technology (DPST) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DPST_Enable_08" + ], + "HelpText": "This feature determines whether the Intel Display Power Savings Technology (DPST) is enabled or disabled.\nIntel DPST is a display power savings technology that changes the intensity of colors in order to conserve backlight power.\nNote: This technology is only active when the system is running in battery mode and the LFP is the only active display device.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Refresh Rate Switching (DRRS) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DRRS_Enable_08" + ], + "HelpText": "This feature determines whether Intel Display Refresh Rate Switching (DRRS) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Edge Luminance Profile (ELP) : ", + "Visibility": "", + "Data": [ + "44", + "ELP_Enable_08" + ], + "HelpText": "This feature determines whether the ELP feature is enabled or disabled.\nEdge Luminance Profile (ELP) is a panel technology which reduce luminance on the edge of screen to save panel power.\nNote:This technology cannot co-exist with DPST and OPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " OLED Power Saving Technology (OPST) : ", + "Visibility": "", + "Data": [ + "44", + "OPST_Enable_08" + ], + "HelpText": "This feature determines whether the OPST feature is enabled or disabled.\nOLED Power Saving Technology (OPST) is a panel technology which saves power by intelligent, adaptive dimming of midrange pixel values more aggressively than the extremes without compromising the viewability.\nNote: This technology cannot co-exist with ELP and DPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic Media Refresh Rate Switching Enable/Disable ", + "Visibility": "", + "Data": [ + "44", + "DMRRS_Enable_08" + ], + "HelpText": "This feature determines whether Dynamic media refresh rate switching is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Display Lace Support: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Enable_08" + ], + "HelpText": "This feature, when enabled, will set Display Lace Support otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Panel Self Refresh (PSR): ", + "Visibility": "", + "Data": [ + "44", + "PSR_Enable_08" + ], + "HelpText": "This feature determines whether Panel Self Refresh (PSR) feature is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Assertive Display Technology Enable/Disable: ", + "Visibility": "", + "Data": [ + "44", + "ADT_Enable_08" + ], + "HelpText": "This feature determines whether Assertive display technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Automatic Display Brightness (ADB) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "ADB_Enable_08" + ], + "HelpText": "This feature determines whether Intel Automatic Display Brightness is to be enabled. Intel Automatic Display Brightness adjusts the brightness of the embedded Local Flat Panel (LFP) depending on the current ambient light environment.\nWhen enabled, the driver and VBIOS will control the backlight brightness of the LFP depending on the ambient environment if and only if the LFP is the only active display. When disabled, the driver will perform no action.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDP 4k/2k HOBL Feature: ", + "Visibility": "", + "Data": [ + "44", + "eDP_4k_2k_HOBL_feature_Enable_08" + ], + "HelpText": "This feature will allow users to disable/enable the edp 4k/2k HOBL(Hours Of Battery Life) feature by programming relevant registers specific for a platform.\r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display LACE Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Status_08" + ], + "HelpText": "This feature, when enabled, will set Default Display LACE Enabled status otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "DPST_Aggressiveness_Profile_08" + ], + "HelpText": "This feature allows for the selection of DPST Aggressiveness level for this Panel Type.\n1 (Maximum Quality with No DPST)\n2\n3\n4\n5\n6 (Maximum Battery)", + "WidgetValues": [ + { + "Key": "1 - Maximum Quality with No DPST", + "Value": "1" + }, + { + "Key": "2", + "Value": "2" + }, + { + "Key": "3", + "Value": "3" + }, + { + "Key": "4", + "Value": "4" + }, + { + "Key": "5", + "Value": "5" + }, + { + "Key": "6 - Maximum Battery", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LACE Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Aggressiveness_Profile_08" + ], + "HelpText": "This feature allows for the selection of LACE Aggressiveness level for this Panel Type.\nMinimum 0\nModerate 1\nHigh 2", + "WidgetValues": [ + { + "Key": "Minimum", + "Value": "0" + }, + { + "Key": "Moderate", + "Value": "1" + }, + { + "Key": "High", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "ELP Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "ELP_Aggressiveness_Profile_08" + ], + "HelpText": "This feature allows for the selection of ELP Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "OPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "OPST_Aggressiveness_Profile_08" + ], + "HelpText": "This feature allows for the selection of OPST Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display VRR Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "VRR_Status_08" + ], + "HelpText": "VRR (Variable Refresh Rate) is a feature that can continuously and seamlessly vary Refresh Rate on the fly, on displays that support Variable Refresh rate Technologies.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-8-6", + "PageName": "Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Pixel_CLK_08" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Active_08" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Active_08" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Blank_08" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Blank_08" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_FrontPorch_08" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_FrontPorch_08" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Sync_08" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Sync_08" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Image_Size_08" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Image_Size_08" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Common_Flag_08" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-8-7", + "PageName": "LFP PnP ID Table", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "42", + "LFP_Panel_PnP_ID_08" + ], + "HelpText": "This feature allows the 10 bytes of EDID Vendor/Product ID starting at offset 08h to be used as a PnP ID.\n\nTable Definition:\n\tWord: ID Manufacturer Name\n\tWord: ID Product Code\n\tDWord: ID Serial Number\n\tByte: Week of Manufacture\n\tByte: Year of Manufacture", + "WidgetValues": [ + { + "ColumnName": "PnP ID", + "SizeinBytes": "1" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-8-8", + "PageName": "Backlight Control Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Type: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Type_08" + ], + "HelpText": "This feature allows for the selection of the Backlight Inverter type that is to be used to control the backlight brightness of the LFP.\nWhen PWM is selected, the driver and VBIOS will control the backlight brightness via the integrated PWM solution for the applicable chipsets.\nWhen None/External is selected, the system BIOS will control the backlight brightness via the external solution.", + "WidgetValues": [ + { + "Key": "None/External", + "Value": "0" + }, + { + "Key": "PWM", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Source Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Source_Selection_08" + ], + "HelpText": "If panel supports 'Intel HDR AUX Interface', it will always be chosen by default. If not, value in 'PWM Source Selection' will be used", + "WidgetValues": [ + { + "Key": "PWM From Display Engine", + "Value": "2" + }, + { + "Key": "PWM From LCD Panel", + "Value": "3" + }, + { + "Key": "Panel Driver Interface", + "Value": "4" + }, + { + "Key": "VESA eDP AUX Interface", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Controller Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Controller_Selection_08" + ], + "HelpText": "This field allows to select the PWM Controller to be used for the selected Local Flat Panel.This field allows to select the PWM Controller to be used for the selected Local Flat Panel.If Two LFPs are connected then PWM0 and PWM1 must be selected accordingly.", + "WidgetValues": [ + { + "Key": "PWM0", + "Value": "0" + }, + { + "Key": "PWM1", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Polarity: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Polarity_08" + ], + "HelpText": "This feature allows the backlight inverter polarity to be specified.\nNormal means 0 value is minimum brightness.\nInverted means 0 value is maximum brightness.", + "WidgetValues": [ + { + "Key": "Normal", + "Value": "0" + }, + { + "Key": "Inverted", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Minimum Brightness: ", + "Visibility": "", + "Data": [ + "43", + "Post_Min_Brightness_08" + ], + "HelpText": "This feature allows defining the absolute minimum backlight brightness. The driver will never decrease the backlight less than this value. The value must be specified using normal polarity semantics. The value should range from 0 to 255 if the brightness precision bit is chosen to be 8, and it should range from 0 to 65535 if the precision bit is chosen to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "POST Backlight Intensity: ", + "Visibility": "", + "Data": [ + "43", + "Post_Brightness_08" + ], + "HelpText": "This feature is used to set default backlight brightness value of the panel at POST. The value should range from 0 to 255 if the bit precision is chosen to be 8 and it should range from 0 to 65535 if the brightness bit precision is chosent to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Brightness Precision Bits: ", + "Visibility": "", + "Data": [ + "43", + "BrightnessPrecisionBits_08" + ], + "HelpText": "This field represents the range of brightness in terms of bit precision.\n 8 = Brightness range of 0 to 255.\n 16 = Brightness range of 0 to 65535", + "WidgetValues": [ + { + "Key": "8", + "Value": "8" + }, + { + "Key": "16", + "Value": "16" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM Inverter Frequency (Hz): ", + "Visibility": "", + "Data": [ + "43", + "PWM_Frequency_08" + ], + "HelpText": "This feature allows for the definition of the frequency needed for PWM Inverter.\nNote: The frequency range (entered as a decimal number), for the integrated PWM is 200Hz - 40KHz.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Intel HDR DPCD Refresh Timeout (unit - 10 micro seconds): ", + "Visibility": "", + "Data": [ + "43", + "HdrDpcdRefreshTimeout_08" + ], + "HelpText": "This field allows to configure the refresh timeout of Intel HDR DPCDs for different TCON Vendors.\nNote:\n\tThe value is in units of 10 microseconds.\n\tThe range (entered as a decimal number), for the timeout is 0-65535", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-8-9", + "PageName": "Chromaticity Control", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Chromaticity Control Feature: ", + "Visibility": "", + "Data": [ + "46", + "Chromacity_Enable_08" + ], + "HelpText": "This bit enables Chromaticity feature.\nIf this bit is enabled, EDID values for chromaticity will be used, else feature is disabled.\nFeature will be supported for Panels that support EDID version 1.4 or higher.\nPlease refer to section 3.7 of EDID Specification 1.4.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override the EDID values: ", + "Visibility": "", + "Data": [ + "46", + "Override_EDID_Data_08" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override EDID values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_Green_bits (Bits 1:0 at 19h): ", + "Visibility": "", + "Data": [ + "46", + "Red_Green_08" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Red, Green Coordinates represented as Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1 Gy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_White_bits (Bits 1:0 at 1Ah): ", + "Visibility": "", + "Data": [ + "46", + "Blue_White_08" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Blue, White Coordinates represented as Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_x (Bits 9:2 at 1Bh): ", + "Visibility": "", + "Data": [ + "46", + "Red_x_08" + ], + "HelpText": "Bits 9:2 of red color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_y (Bits 9:2 at 1Ch): ", + "Visibility": "", + "Data": [ + "46", + "Red_y_08" + ], + "HelpText": "Bits 9:2 of red color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_x (Bits 9:2 at 1Dh): ", + "Visibility": "", + "Data": [ + "46", + "Green_x_08" + ], + "HelpText": "Bits 9:2 of Green color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_y (Bits 9:2 at 1Eh): ", + "Visibility": "", + "Data": [ + "46", + "Green_y_08" + ], + "HelpText": "Bits 9:2 of Green color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_x (Bits 9:2 at 1Fh): ", + "Visibility": "", + "Data": [ + "46", + "Blue_x_08" + ], + "HelpText": "Bits 9:2 of Blue color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_y (Bits 9:2 at 20h): ", + "Visibility": "", + "Data": [ + "46", + "Blue_y_08" + ], + "HelpText": "Bits 9:2 of Blue color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_x (Bits 9:2 at 21h): ", + "Visibility": "", + "Data": [ + "46", + "White_x_08" + ], + "HelpText": "Bits 9:2 of White color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_y (Bits 9:2 at 22h): ", + "Visibility": "", + "Data": [ + "46", + "White_y_08" + ], + "HelpText": "Bits 9:2 of White color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Luminance values ", + "Visibility": "", + "Data": [ + "46", + "Override_LUM_Data_08" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override luminance values following VBT values", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Minimum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MinLuminance_08" + ], + "HelpText": "Minimum luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum full frame luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxFullLuminance_08" + ], + "HelpText": "Maximum Full frame luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxLuminance_08" + ], + "HelpText": "Maximum luminance value(Relatively smaller portion of screen).\n2 byte value, encoded in IEEE 754 half-precision binary floating point format.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Gamma values: ", + "Visibility": "", + "Data": [ + "46", + "Override_Gamma_Data_08" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override gamma values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel gamma: ", + "Visibility": "", + "Data": [ + "46", + "Gamma_08" + ], + "HelpText": "Value shall define the gamma range, from 1.00 to 3.54, as follows:\nField Value = (Gamma (value in float) x 100) - 100\nField values range from 00h through FFh.\nFFh = No gamma information shall be provided", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-8-10", + "PageName": "VESA DSC Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Major Version: ", + "Visibility": "", + "Data": [ + "56", + "C8_Major_Dsc_Version" + ], + "HelpText": "VESA DSC Major revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Minor Version: ", + "Visibility": "", + "Data": [ + "56", + "C8_Minor_Dsc_Version" + ], + "HelpText": "VESA DSC Minor revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Block prediction supported: ", + "Visibility": "", + "Data": [ + "56", + "C8_Blk_Prediction_En" + ], + "HelpText": "Sink supports block prediction as per the VESA DSC Spec.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "RC Buffer Block size as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C8_RC_Block_Size" + ], + "HelpText": "RC buffer block size for a single RC buffer as defined by the VESA DSC spec.", + "WidgetValues": [ + { + "Key": "1 KB", + "Value": "0" + }, + { + "Key": "4 KB", + "Value": "1" + }, + { + "Key": "16 KB", + "Value": "2" + }, + { + "Key": "64 KB", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Number of RC buffer blocks as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C8_Dsc_RC_Buf_Size" + ], + "HelpText": "This field defines the number of RC buffers as per VESA DSC spec.\nThe number of RC buffers used by the software shall be (Value + 1) where Value is in range 0 to 127.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Slices per line supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C8_Dsc_Slices_Per_Line" + ], + "HelpText": "This field defines the slices per line supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 31-10\t\t Bit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tReserved\t\t 24\t 20\t 16\t 12\t 10\t 8\t 6\t 4\t 2\t 1\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower slices per line than maximum selected field. i.e. If it supports say 8 slices per line, it will also support 4/2/1 slices per line", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Line buffer depth as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C8_Line_Buffer_Depth" + ], + "HelpText": "Line buffer depth in bits as per VESA DSC spec.", + "WidgetValues": [ + { + "Key": "8 bits", + "Value": "0" + }, + { + "Key": "9 bits", + "Value": "1" + }, + { + "Key": "10 bits", + "Value": "2" + }, + { + "Key": "11 bits", + "Value": "3" + }, + { + "Key": "12 bits", + "Value": "4" + }, + { + "Key": "13 bits", + "Value": "5" + }, + { + "Key": "14 bits", + "Value": "6" + }, + { + "Key": "15 bits", + "Value": "7" + }, + { + "Key": "16 bits", + "Value": "8" + } + ] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Input compression BPC supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C8_Dsc_Bpc" + ], + "HelpText": "This field defines the compression input bpc supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 7-4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tRsvd\t 12 bpc\t 10bpc\t 8bpc\t Rsvd\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower bpc values than the maximum selected field. i.e. If it supports say 12bpc, it will also support 10 and 8bpc as well", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum supported compression BPP: ", + "Visibility": "", + "Data": [ + "56", + "C8_Dsc_Max_Bpp" + ], + "HelpText": "As of today, we are supporting 6/8/10/12 BPP for compression output.\nSelect the most appropriate BPP as supported by the sink.", + "WidgetValues": [ + { + "Key": "6 Bits per pixel", + "Value": "0" + }, + { + "Key": "8 Bits per pixel", + "Value": "1" + }, + { + "Key": "10 Bits per pixel", + "Value": "2" + }, + { + "Key": "12 Bits per pixel", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Slice height supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C8_Dsc_Slice_Height" + ], + "HelpText": "Slice height supported by the sink device for DSC slice.\nNote: Slice height must divide the picture height uniformly.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-9", + "PageName": "Panel #09", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "LabelHeading", + "WidgetName": "Common LFP Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryAsci", + "WidgetName": " LFP Panel Name: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Name_09" + ], + "HelpText": "This feature defines the LFP panel name, used by driver only. Panel name can be only of 13 characters maximum and rest of the characters will be truncated.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target X-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Width_09" + ], + "HelpText": "This value specifies the Target X-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target Y-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Height_09" + ], + "HelpText": "This value specifies the Target Y-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " DPS Panel Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Seamless DRRS Minimum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "42", + "Seamless_DRRS_Min_RR_09" + ], + "HelpText": "Using this field the minimum Refresh Rate to be used for Seamless DRRS feature can be entered in Hertz.\nNote: Graphics driver will use this field only when EDID support is disabled in VBT configuration.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " BackLight Technology Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " BackLight Technology: ", + "Visibility": "", + "Data": [ + "40", + "Blt_Control_09" + ], + "HelpText": "This feature allows OEM to select the Backlight Technology.", + "WidgetValues": [ + { + "Key": "LED Backlight", + "Value": "2" + }, + { + "Key": "CCFL Backlight", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Rotation: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Rotation_09" + ], + "HelpText": "This feature specifies the Panel Rotation of LFP panel used.", + "WidgetValues": [ + { + "Key": "0 degree", + "Value": "0" + }, + { + "Key": "180 degree", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Position: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Position_09" + ], + "HelpText": "This feature specifies the Panel Position of LFP panel used.", + "WidgetValues": [ + { + "Key": "Inside Shell", + "Value": "0" + }, + { + "Key": "Outside Shell", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual LFP Port Sync: ", + "Visibility": "", + "Data": [ + "42", + "EnablePortSync_Bit_09" + ], + "HelpText": "This feature will allow users to disable/enable Dual LFP Port Sync and it is applicable for DDI-A, DDI-B in case of eDP and DSI-0, DSI-1 in case of MIPI. \r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " GPU Dithering for Banding artifacts: ", + "Visibility": "", + "Data": [ + "42", + "EnableDithering_Bit_09" + ], + "HelpText": "This field can be used to enable dithering from the source side for reducing banding artifacts on the visual quality features like DPST.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP PnP ID Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Backlight Control Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Chromaticity Control", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "VESA DSC Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated eDP Settings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Edp Max Port Link Rate (in 200 Khz): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Max_Port_Link_Rate_09" + ], + "HelpText": "This field specifies EDP Max Port Link Rate supported by the port in unit of 200KHz.\nDefault value would be \"0\", in which case Display Drivers should consider EDP Max Port Link Rate to be the Platform supported Max Link Rate.\nOnly when OEM's need to limit to particular Link Rate can enter the value as mentioned in below table.\n\nNote:\n1) OEM's need to enter the values mentioned from below table only.\n2) If value entered is not matching with any of the below values then Platform supported Max Link Rate should be considere as EDP Max Port Link Rate by the display drivers.\n3) In case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then we need to use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate)\n---------------------------------------------------------\n|\tLink Rate(Gbps)\t|\t Value to enter in text field\t|\n|\t \t\t|\t in terms of 200KHZ \t|\n---------------------------------------------------------\n|\t 1.62 \t\t|\t 8100 \t|\n|\t 2.16 \t\t|\t 10800 \t|\n|\t 2.43 \t\t|\t 12150 \t|\n|\t 2.7 \t\t|\t 13500 \t|\n|\t 3.24 \t\t|\t 16200 \t|\n|\t 3.78 \t\t|\t 18900 \t|\n|\t 4.32 \t\t|\t 21600 \t|\n|\t 5.4 \t\t|\t 27000 \t|\n|\t 6.48 \t\t|\t 32400 \t|\n|\t 6.75 \t\t|\t 33750 \t|\n|\t 8.1 \t\t|\t 40500 \t|\n", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Color Depth: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Color_Depth_09" + ], + "HelpText": "This feature specifies the color depth of eDP panel used.", + "WidgetValues": [ + { + "Key": "18-bit Color Depth", + "Value": "0" + }, + { + "Key": "24-bit Color Depth", + "Value": "1" + }, + { + "Key": "30-bit Color Depth", + "Value": "2" + }, + { + "Key": "36-bit Color Depth", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Select VSwing/Pre-Emphasis table : ", + "Visibility": "", + "Data": [ + "27", + "eDP_VswingPreEmph_9" + ], + "HelpText": "This feature selects the VSwing Pre-Emphasis setting table to be used. For Tigerlake, based on the selection respective table will be used.\nTables for Tigerlake:\nLow Power VSwing Pre-Emphasis Setting Table:\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/200mV \t\t 200mV, 0.0db \t\t 200mV, 1.9db \t\t 200mV, 3.5db \t\t 200mV, 4.9db\nSwing \t\t Level-1/250mV \t\t 250mV, 0.0db \t\t 250mV, 1.6db \t\t 250mV, 2.9db \t\t N/A\n(mV) \t\t Level-2/300mV \t\t 300mV, 0.0db \t\t 300mV, 1.3db \t\t N/A \t\t N/A\n\t\t Level-3/350mV \t\t 350mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR3:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nDefault VSwing Pre-Emphasis Setting Table:\nFor HBR:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A", + "WidgetValues": [ + { + "Key": "Default VSwing/Pre-Emphasis Table", + "Value": "1" + }, + { + "Key": "Low Power VSwing/Pre-Emphasis Table", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " eDP Spread Spectrum Clock: ", + "Visibility": "", + "Data": [ + "40", + "Enable_SSC09" + ], + "HelpText": "This feature will allow users to disable/enable Spread Spectrum Clock for eDP.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count: ", + "Visibility": "", + "Data": [ + "42", + "PixelOverlapCount_09" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using Edp Multi-SST(MSO) feature.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixel Overlap", + "Value": "2" + }, + { + "Key": "Three Pixel Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixel Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixel Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "PSR Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Apical Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-9-1", + "PageName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " T3 optimization: ", + "Visibility": "", + "Data": [ + "27", + "eDP_T3_Optimization_09" + ], + "HelpText": "This feature enables or disables T3 optimization.\nWhen enabled, VBIOS/GOP driver will poll for AUX soon after VDD enable until AUX passes or T3 time is reached\nWhen disabled, VBIOS/GOP driver will wait for T3 time before trying the first AUX transaction", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "LCDVCC to HPD high delay (T3): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Vcc_To_Hpd_Delay_09" + ], + "HelpText": "Using this field the delay from LCDVCC to HPD high can be specified in 100uS.\nValid Range: 0 to 200msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Valid video data to Backlight Enable delay (T8): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOn_To_BkltEnable_Delay_09" + ], + "HelpText": "Using this field the delay from Start of Valid video data from Source to Backlight Enable can be specified in 100uS.\nT8 is inclusive of T7.\nValid Range of T7: 0 to 50msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM-On To Backlight Enable delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_PwmOn_To_Bklt_Enable_Delay_09" + ], + "HelpText": "Using this field the delay from PWM-On to Backlight Enable can be specified in 100uS.\nDelay from PWM-On to Backlight Enable is included in delay from Valid video data to Backlight Enable (T8).\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Valid video data to Backlight Enable (T8).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to PWM-Off delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Bklt_Disable_To_PwmOff_Delay_09" + ], + "HelpText": "Using this field delay from Backlight Disable to PWM-Off can be specified in 100uS.\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to End of Valid video data (T9).\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to to End of Valid video data (T9).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to End of Valid video data delay (T9): ", + "Visibility": "", + "Data": [ + "27", + "eDP_BkltDisable_To_DataOff_Delay_09" + ], + "HelpText": "Using this field the delay from Backlight Disable to End of Valid video data can be specified in 100uS.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "End of Valid video data to Power-Off delay (T10): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOff_To_PowerOff_Delay_09" + ], + "HelpText": "Using this field delay from End of Valid video data from Source to Power-Off can be specified in 100uS.\nValid Range: 0 to 500 msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Power-off time (T12): ", + "Visibility": "", + "Data": [ + "27", + "eDP_PowerCycle_Delay_09" + ], + "HelpText": "Using this field Power-off time can be specified in 100uS.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-9-2", + "PageName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Is FastLinkTraining Feature Supported: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Supported_09" + ], + "HelpText": "This feature allows for the selection of the Fast Link Training feature is to be enabled or disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Data Rate: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Data_Rate_09" + ], + "HelpText": "This field specifies Data Rate to be used for Fast Link Training in unit of 200KHz for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.\n\nIn case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then driver would use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate).", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lane Count: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_LaneCount_09" + ], + "HelpText": "This feature allows for the selection of the Lane Count (Port Width) for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Pre-Emphasis: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_PreEmp_09" + ], + "HelpText": "This feature allows for the selection of the Pre-emphasis value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Voltage Swing: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_Vswing_09" + ], + "HelpText": "This feature allows for the selection of the Voltage Swing value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-9-3", + "PageName": "PSR Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Full Link enable: ", + "Visibility": "", + "Data": [ + "9", + "PSR_FullLink_Enable_09" + ], + "HelpText": "When panel is in PSR mode and 'Full Link Enable' is set to Yes, Link is kept in standby state.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Require AUX to wake up: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Require_AUX2Wakeup_09" + ], + "HelpText": "When panel is exiting PSR mode and 'Require AUX to wake up' is set to Yes, the AUX channel handshake(link training is required) will be used.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lines to wait before link standby: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Lines2Wait_B4LinkS3_09" + ], + "HelpText": "This field determines Lines to wait before link standby\n0 lines to wait (Default)\n1 lines to wait\n4 lines to wait\n8 lines to wait\nOthers Reserved", + "WidgetValues": [ + { + "Key": "0 lines to wait", + "Value": "0" + }, + { + "Key": "1 lines to wait", + "Value": "1" + }, + { + "Key": "4 lines to wait", + "Value": "2" + }, + { + "Key": "8 lines to wait", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Idle frames to wait: ", + "Visibility": "", + "Data": [ + "9", + "PSR_IdleFrames2Wait_09" + ], + "HelpText": "Idle frames to wait for PSR enable.\nAllowed values 0-15. Default value is 0.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Clock Recovery Time: ", + "Visibility": "", + "Data": [ + "9", + "PSR_TP1_WaitTime_09" + ], + "HelpText": "This field selects the link training TP1(Training Pattern1) time during PSR exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR1 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR1_TP_2_3_4_WaitTime_09" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR1 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR2 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR2_TP_2_3_4_WaitTime_09" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR2 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "50 usec", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-9-4", + "PageName": "Apical Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Apical Assertive Display IP: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Apical_Display_Ip_Enable_09" + ], + "HelpText": "This field enables/disables the Apical Assertive Display IP for this panel.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel OUI (IEEE OUI): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Oui_09" + ], + "HelpText": "This field specifies the Apical IP specific Panel OUI field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Base Address: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Base_Address_09" + ], + "HelpText": "This field specifies the Apical IP specific DPCD base address field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Irdidix Control 0: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Irdidix_Control0_09" + ], + "HelpText": "This field specifies the Apical IP specific DPCD Irdidix control 0 field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Option Select: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Option_Select_09" + ], + "HelpText": "This field specifies the Apical IP specific DPCD option select field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Backlight: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Backlight_09" + ], + "HelpText": "This field specifies the Apical IP specific backlight value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Ambient Light: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Ambient_Light_09" + ], + "HelpText": "This field specifies the Apical IP specific Ambient light value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Backlight scale: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Backlight_Scale_09" + ], + "HelpText": "This field specifies the Apical IP specific backlight scale field.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-9-5", + "PageName": "Power Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Power Saving Technology (DPST) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DPST_Enable_09" + ], + "HelpText": "This feature determines whether the Intel Display Power Savings Technology (DPST) is enabled or disabled.\nIntel DPST is a display power savings technology that changes the intensity of colors in order to conserve backlight power.\nNote: This technology is only active when the system is running in battery mode and the LFP is the only active display device.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Refresh Rate Switching (DRRS) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DRRS_Enable_09" + ], + "HelpText": "This feature determines whether Intel Display Refresh Rate Switching (DRRS) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Edge Luminance Profile (ELP) : ", + "Visibility": "", + "Data": [ + "44", + "ELP_Enable_09" + ], + "HelpText": "This feature determines whether the ELP feature is enabled or disabled.\nEdge Luminance Profile (ELP) is a panel technology which reduce luminance on the edge of screen to save panel power.\nNote:This technology cannot co-exist with DPST and OPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " OLED Power Saving Technology (OPST) : ", + "Visibility": "", + "Data": [ + "44", + "OPST_Enable_09" + ], + "HelpText": "This feature determines whether the OPST feature is enabled or disabled.\nOLED Power Saving Technology (OPST) is a panel technology which saves power by intelligent, adaptive dimming of midrange pixel values more aggressively than the extremes without compromising the viewability.\nNote: This technology cannot co-exist with ELP and DPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic Media Refresh Rate Switching Enable/Disable ", + "Visibility": "", + "Data": [ + "44", + "DMRRS_Enable_09" + ], + "HelpText": "This feature determines whether Dynamic media refresh rate switching is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Display Lace Support: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Enable_09" + ], + "HelpText": "This feature, when enabled, will set Display Lace Support otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Panel Self Refresh (PSR): ", + "Visibility": "", + "Data": [ + "44", + "PSR_Enable_09" + ], + "HelpText": "This feature determines whether Panel Self Refresh (PSR) feature is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Assertive Display Technology Enable/Disable: ", + "Visibility": "", + "Data": [ + "44", + "ADT_Enable_09" + ], + "HelpText": "This feature determines whether Assertive display technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Automatic Display Brightness (ADB) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "ADB_Enable_09" + ], + "HelpText": "This feature determines whether Intel Automatic Display Brightness is to be enabled. Intel Automatic Display Brightness adjusts the brightness of the embedded Local Flat Panel (LFP) depending on the current ambient light environment.\nWhen enabled, the driver and VBIOS will control the backlight brightness of the LFP depending on the ambient environment if and only if the LFP is the only active display. When disabled, the driver will perform no action.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDP 4k/2k HOBL Feature: ", + "Visibility": "", + "Data": [ + "44", + "eDP_4k_2k_HOBL_feature_Enable_09" + ], + "HelpText": "This feature will allow users to disable/enable the edp 4k/2k HOBL(Hours Of Battery Life) feature by programming relevant registers specific for a platform.\r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display LACE Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Status_09" + ], + "HelpText": "This feature, when enabled, will set Default Display LACE Enabled status otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "DPST_Aggressiveness_Profile_09" + ], + "HelpText": "This feature allows for the selection of DPST Aggressiveness level for this Panel Type.\n1 (Maximum Quality with No DPST)\n2\n3\n4\n5\n6 (Maximum Battery)", + "WidgetValues": [ + { + "Key": "1 - Maximum Quality with No DPST", + "Value": "1" + }, + { + "Key": "2", + "Value": "2" + }, + { + "Key": "3", + "Value": "3" + }, + { + "Key": "4", + "Value": "4" + }, + { + "Key": "5", + "Value": "5" + }, + { + "Key": "6 - Maximum Battery", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LACE Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Aggressiveness_Profile_09" + ], + "HelpText": "This feature allows for the selection of LACE Aggressiveness level for this Panel Type.\nMinimum 0\nModerate 1\nHigh 2", + "WidgetValues": [ + { + "Key": "Minimum", + "Value": "0" + }, + { + "Key": "Moderate", + "Value": "1" + }, + { + "Key": "High", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "ELP Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "ELP_Aggressiveness_Profile_09" + ], + "HelpText": "This feature allows for the selection of ELP Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "OPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "OPST_Aggressiveness_Profile_09" + ], + "HelpText": "This feature allows for the selection of OPST Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display VRR Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "VRR_Status_09" + ], + "HelpText": "VRR (Variable Refresh Rate) is a feature that can continuously and seamlessly vary Refresh Rate on the fly, on displays that support Variable Refresh rate Technologies.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-9-6", + "PageName": "Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Pixel_CLK_09" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Active_09" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Active_09" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Blank_09" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Blank_09" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_FrontPorch_09" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_FrontPorch_09" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Sync_09" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Sync_09" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Image_Size_09" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Image_Size_09" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Common_Flag_09" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-9-7", + "PageName": "LFP PnP ID Table", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "42", + "LFP_Panel_PnP_ID_09" + ], + "HelpText": "This feature allows the 10 bytes of EDID Vendor/Product ID starting at offset 08h to be used as a PnP ID.\n\nTable Definition:\n\tWord: ID Manufacturer Name\n\tWord: ID Product Code\n\tDWord: ID Serial Number\n\tByte: Week of Manufacture\n\tByte: Year of Manufacture", + "WidgetValues": [ + { + "ColumnName": "PnP ID", + "SizeinBytes": "1" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-9-8", + "PageName": "Backlight Control Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Type: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Type_09" + ], + "HelpText": "This feature allows for the selection of the Backlight Inverter type that is to be used to control the backlight brightness of the LFP.\nWhen PWM is selected, the driver and VBIOS will control the backlight brightness via the integrated PWM solution for the applicable chipsets.\nWhen None/External is selected, the system BIOS will control the backlight brightness via the external solution.", + "WidgetValues": [ + { + "Key": "None/External", + "Value": "0" + }, + { + "Key": "PWM", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Source Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Source_Selection_09" + ], + "HelpText": "If panel supports 'Intel HDR AUX Interface', it will always be chosen by default. If not, value in 'PWM Source Selection' will be used", + "WidgetValues": [ + { + "Key": "PWM From Display Engine", + "Value": "2" + }, + { + "Key": "PWM From LCD Panel", + "Value": "3" + }, + { + "Key": "Panel Driver Interface", + "Value": "4" + }, + { + "Key": "VESA eDP AUX Interface", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Controller Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Controller_Selection_09" + ], + "HelpText": "This field allows to select the PWM Controller to be used for the selected Local Flat Panel.This field allows to select the PWM Controller to be used for the selected Local Flat Panel.If Two LFPs are connected then PWM0 and PWM1 must be selected accordingly.", + "WidgetValues": [ + { + "Key": "PWM0", + "Value": "0" + }, + { + "Key": "PWM1", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Polarity: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Polarity_09" + ], + "HelpText": "This feature allows the backlight inverter polarity to be specified.\nNormal means 0 value is minimum brightness.\nInverted means 0 value is maximum brightness.", + "WidgetValues": [ + { + "Key": "Normal", + "Value": "0" + }, + { + "Key": "Inverted", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Minimum Brightness: ", + "Visibility": "", + "Data": [ + "43", + "Post_Min_Brightness_09" + ], + "HelpText": "This feature allows defining the absolute minimum backlight brightness. The driver will never decrease the backlight less than this value. The value must be specified using normal polarity semantics. The value should range from 0 to 255 if the brightness precision bit is chosen to be 8, and it should range from 0 to 65535 if the precision bit is chosen to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "POST Backlight Intensity: ", + "Visibility": "", + "Data": [ + "43", + "Post_Brightness_09" + ], + "HelpText": "This feature is used to set default backlight brightness value of the panel at POST. The value should range from 0 to 255 if the bit precision is chosen to be 8 and it should range from 0 to 65535 if the brightness bit precision is chosent to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Brightness Precision Bits: ", + "Visibility": "", + "Data": [ + "43", + "BrightnessPrecisionBits_09" + ], + "HelpText": "This field represents the range of brightness in terms of bit precision.\n 8 = Brightness range of 0 to 255.\n 16 = Brightness range of 0 to 65535", + "WidgetValues": [ + { + "Key": "8", + "Value": "8" + }, + { + "Key": "16", + "Value": "16" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM Inverter Frequency (Hz): ", + "Visibility": "", + "Data": [ + "43", + "PWM_Frequency_09" + ], + "HelpText": "This feature allows for the definition of the frequency needed for PWM Inverter.\nNote: The frequency range (entered as a decimal number), for the integrated PWM is 200Hz - 40KHz.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Intel HDR DPCD Refresh Timeout (unit - 10 micro seconds): ", + "Visibility": "", + "Data": [ + "43", + "HdrDpcdRefreshTimeout_09" + ], + "HelpText": "This field allows to configure the refresh timeout of Intel HDR DPCDs for different TCON Vendors.\nNote:\n\tThe value is in units of 10 microseconds.\n\tThe range (entered as a decimal number), for the timeout is 0-65535", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-9-9", + "PageName": "Chromaticity Control", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Chromaticity Control Feature: ", + "Visibility": "", + "Data": [ + "46", + "Chromacity_Enable_09" + ], + "HelpText": "This bit enables Chromaticity feature.\nIf this bit is enabled, EDID values for chromaticity will be used, else feature is disabled.\nFeature will be supported for Panels that support EDID version 1.4 or higher.\nPlease refer to section 3.7 of EDID Specification 1.4.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override the EDID values: ", + "Visibility": "", + "Data": [ + "46", + "Override_EDID_Data_09" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override EDID values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_Green_bits (Bits 1:0 at 19h): ", + "Visibility": "", + "Data": [ + "46", + "Red_Green_09" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Red, Green Coordinates represented as Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1 Gy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_White_bits (Bits 1:0 at 1Ah): ", + "Visibility": "", + "Data": [ + "46", + "Blue_White_09" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Blue, White Coordinates represented as Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_x (Bits 9:2 at 1Bh): ", + "Visibility": "", + "Data": [ + "46", + "Red_x_09" + ], + "HelpText": "Bits 9:2 of red color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_y (Bits 9:2 at 1Ch): ", + "Visibility": "", + "Data": [ + "46", + "Red_y_09" + ], + "HelpText": "Bits 9:2 of red color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_x (Bits 9:2 at 1Dh): ", + "Visibility": "", + "Data": [ + "46", + "Green_x_09" + ], + "HelpText": "Bits 9:2 of Green color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_y (Bits 9:2 at 1Eh): ", + "Visibility": "", + "Data": [ + "46", + "Green_y_09" + ], + "HelpText": "Bits 9:2 of Green color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_x (Bits 9:2 at 1Fh): ", + "Visibility": "", + "Data": [ + "46", + "Blue_x_09" + ], + "HelpText": "Bits 9:2 of Blue color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_y (Bits 9:2 at 20h): ", + "Visibility": "", + "Data": [ + "46", + "Blue_y_09" + ], + "HelpText": "Bits 9:2 of Blue color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_x (Bits 9:2 at 21h): ", + "Visibility": "", + "Data": [ + "46", + "White_x_09" + ], + "HelpText": "Bits 9:2 of White color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_y (Bits 9:2 at 22h): ", + "Visibility": "", + "Data": [ + "46", + "White_y_09" + ], + "HelpText": "Bits 9:2 of White color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Luminance values ", + "Visibility": "", + "Data": [ + "46", + "Override_LUM_Data_09" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override luminance values following VBT values", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Minimum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MinLuminance_09" + ], + "HelpText": "Minimum luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum full frame luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxFullLuminance_09" + ], + "HelpText": "Maximum Full frame luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxLuminance_09" + ], + "HelpText": "Maximum luminance value(Relatively smaller portion of screen).\n2 byte value, encoded in IEEE 754 half-precision binary floating point format.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Gamma values: ", + "Visibility": "", + "Data": [ + "46", + "Override_Gamma_Data_09" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override gamma values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel gamma: ", + "Visibility": "", + "Data": [ + "46", + "Gamma_09" + ], + "HelpText": "Value shall define the gamma range, from 1.00 to 3.54, as follows:\nField Value = (Gamma (value in float) x 100) - 100\nField values range from 00h through FFh.\nFFh = No gamma information shall be provided", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-9-10", + "PageName": "VESA DSC Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Major Version: ", + "Visibility": "", + "Data": [ + "56", + "C9_Major_Dsc_Version" + ], + "HelpText": "VESA DSC Major revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Minor Version: ", + "Visibility": "", + "Data": [ + "56", + "C9_Minor_Dsc_Version" + ], + "HelpText": "VESA DSC Minor revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Block prediction supported: ", + "Visibility": "", + "Data": [ + "56", + "C9_Blk_Prediction_En" + ], + "HelpText": "Sink supports block prediction as per the VESA DSC Spec.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "RC Buffer Block size as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C9_RC_Block_Size" + ], + "HelpText": "RC buffer block size for a single RC buffer as defined by the VESA DSC spec.", + "WidgetValues": [ + { + "Key": "1 KB", + "Value": "0" + }, + { + "Key": "4 KB", + "Value": "1" + }, + { + "Key": "16 KB", + "Value": "2" + }, + { + "Key": "64 KB", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Number of RC buffer blocks as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C9_Dsc_RC_Buf_Size" + ], + "HelpText": "This field defines the number of RC buffers as per VESA DSC spec.\nThe number of RC buffers used by the software shall be (Value + 1) where Value is in range 0 to 127.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Slices per line supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C9_Dsc_Slices_Per_Line" + ], + "HelpText": "This field defines the slices per line supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 31-10\t\t Bit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tReserved\t\t 24\t 20\t 16\t 12\t 10\t 8\t 6\t 4\t 2\t 1\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower slices per line than maximum selected field. i.e. If it supports say 8 slices per line, it will also support 4/2/1 slices per line", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Line buffer depth as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C9_Line_Buffer_Depth" + ], + "HelpText": "Line buffer depth in bits as per VESA DSC spec.", + "WidgetValues": [ + { + "Key": "8 bits", + "Value": "0" + }, + { + "Key": "9 bits", + "Value": "1" + }, + { + "Key": "10 bits", + "Value": "2" + }, + { + "Key": "11 bits", + "Value": "3" + }, + { + "Key": "12 bits", + "Value": "4" + }, + { + "Key": "13 bits", + "Value": "5" + }, + { + "Key": "14 bits", + "Value": "6" + }, + { + "Key": "15 bits", + "Value": "7" + }, + { + "Key": "16 bits", + "Value": "8" + } + ] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Input compression BPC supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C9_Dsc_Bpc" + ], + "HelpText": "This field defines the compression input bpc supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 7-4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tRsvd\t 12 bpc\t 10bpc\t 8bpc\t Rsvd\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower bpc values than the maximum selected field. i.e. If it supports say 12bpc, it will also support 10 and 8bpc as well", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum supported compression BPP: ", + "Visibility": "", + "Data": [ + "56", + "C9_Dsc_Max_Bpp" + ], + "HelpText": "As of today, we are supporting 6/8/10/12 BPP for compression output.\nSelect the most appropriate BPP as supported by the sink.", + "WidgetValues": [ + { + "Key": "6 Bits per pixel", + "Value": "0" + }, + { + "Key": "8 Bits per pixel", + "Value": "1" + }, + { + "Key": "10 Bits per pixel", + "Value": "2" + }, + { + "Key": "12 Bits per pixel", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Slice height supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C9_Dsc_Slice_Height" + ], + "HelpText": "Slice height supported by the sink device for DSC slice.\nNote: Slice height must divide the picture height uniformly.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-10", + "PageName": "Panel #10", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "LabelHeading", + "WidgetName": "Common LFP Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryAsci", + "WidgetName": " LFP Panel Name: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Name_10" + ], + "HelpText": "This feature defines the LFP panel name, used by driver only. Panel name can be only of 13 characters maximum and rest of the characters will be truncated.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target X-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Width_10" + ], + "HelpText": "This value specifies the Target X-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target Y-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Height_10" + ], + "HelpText": "This value specifies the Target Y-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " DPS Panel Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Seamless DRRS Minimum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "42", + "Seamless_DRRS_Min_RR_10" + ], + "HelpText": "Using this field the minimum Refresh Rate to be used for Seamless DRRS feature can be entered in Hertz.\nNote: Graphics driver will use this field only when EDID support is disabled in VBT configuration.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " BackLight Technology Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " BackLight Technology: ", + "Visibility": "", + "Data": [ + "40", + "Blt_Control_10" + ], + "HelpText": "This feature allows OEM to select the Backlight Technology.", + "WidgetValues": [ + { + "Key": "LED Backlight", + "Value": "2" + }, + { + "Key": "CCFL Backlight", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Rotation: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Rotation_10" + ], + "HelpText": "This feature specifies the Panel Rotation of LFP panel used.", + "WidgetValues": [ + { + "Key": "0 degree", + "Value": "0" + }, + { + "Key": "180 degree", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Position: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Position_10" + ], + "HelpText": "This feature specifies the Panel Position of LFP panel used.", + "WidgetValues": [ + { + "Key": "Inside Shell", + "Value": "0" + }, + { + "Key": "Outside Shell", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual LFP Port Sync: ", + "Visibility": "", + "Data": [ + "42", + "EnablePortSync_Bit_10" + ], + "HelpText": "This feature will allow users to disable/enable Dual LFP Port Sync and it is applicable for DDI-A, DDI-B in case of eDP and DSI-0, DSI-1 in case of MIPI. \r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " GPU Dithering for Banding artifacts: ", + "Visibility": "", + "Data": [ + "42", + "EnableDithering_Bit_10" + ], + "HelpText": "This field can be used to enable dithering from the source side for reducing banding artifacts on the visual quality features like DPST.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP PnP ID Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Backlight Control Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Chromaticity Control", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "VESA DSC Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated eDP Settings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Edp Max Port Link Rate (in 200 Khz): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Max_Port_Link_Rate_10" + ], + "HelpText": "This field specifies EDP Max Port Link Rate supported by the port in unit of 200KHz.\nDefault value would be \"0\", in which case Display Drivers should consider EDP Max Port Link Rate to be the Platform supported Max Link Rate.\nOnly when OEM's need to limit to particular Link Rate can enter the value as mentioned in below table.\n\nNote:\n1) OEM's need to enter the values mentioned from below table only.\n2) If value entered is not matching with any of the below values then Platform supported Max Link Rate should be considere as EDP Max Port Link Rate by the display drivers.\n3) In case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then we need to use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate)\n---------------------------------------------------------\n|\tLink Rate(Gbps)\t|\t Value to enter in text field\t|\n|\t \t\t|\t in terms of 200KHZ \t|\n---------------------------------------------------------\n|\t 1.62 \t\t|\t 8100 \t|\n|\t 2.16 \t\t|\t 10800 \t|\n|\t 2.43 \t\t|\t 12150 \t|\n|\t 2.7 \t\t|\t 13500 \t|\n|\t 3.24 \t\t|\t 16200 \t|\n|\t 3.78 \t\t|\t 18900 \t|\n|\t 4.32 \t\t|\t 21600 \t|\n|\t 5.4 \t\t|\t 27000 \t|\n|\t 6.48 \t\t|\t 32400 \t|\n|\t 6.75 \t\t|\t 33750 \t|\n|\t 8.1 \t\t|\t 40500 \t|\n", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Color Depth: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Color_Depth_10" + ], + "HelpText": "This feature specifies the color depth of eDP panel used.", + "WidgetValues": [ + { + "Key": "18-bit Color Depth", + "Value": "0" + }, + { + "Key": "24-bit Color Depth", + "Value": "1" + }, + { + "Key": "30-bit Color Depth", + "Value": "2" + }, + { + "Key": "36-bit Color Depth", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Select VSwing/Pre-Emphasis table : ", + "Visibility": "", + "Data": [ + "27", + "eDP_VswingPreEmph_10" + ], + "HelpText": "This feature selects the VSwing Pre-Emphasis setting table to be used. For Tigerlake, based on the selection respective table will be used.\nTables for Tigerlake:\nLow Power VSwing Pre-Emphasis Setting Table:\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/200mV \t\t 200mV, 0.0db \t\t 200mV, 1.9db \t\t 200mV, 3.5db \t\t 200mV, 4.9db\nSwing \t\t Level-1/250mV \t\t 250mV, 0.0db \t\t 250mV, 1.6db \t\t 250mV, 2.9db \t\t N/A\n(mV) \t\t Level-2/300mV \t\t 300mV, 0.0db \t\t 300mV, 1.3db \t\t N/A \t\t N/A\n\t\t Level-3/350mV \t\t 350mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR3:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nDefault VSwing Pre-Emphasis Setting Table:\nFor HBR:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A", + "WidgetValues": [ + { + "Key": "Default VSwing/Pre-Emphasis Table", + "Value": "1" + }, + { + "Key": "Low Power VSwing/Pre-Emphasis Table", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " eDP Spread Spectrum Clock: ", + "Visibility": "", + "Data": [ + "40", + "Enable_SSC10" + ], + "HelpText": "This feature will allow users to disable/enable Spread Spectrum Clock for eDP.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count: ", + "Visibility": "", + "Data": [ + "42", + "PixelOverlapCount_10" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using Edp Multi-SST(MSO) feature.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixel Overlap", + "Value": "2" + }, + { + "Key": "Three Pixel Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixel Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixel Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "PSR Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Apical Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-10-1", + "PageName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " T3 optimization: ", + "Visibility": "", + "Data": [ + "27", + "eDP_T3_Optimization_10" + ], + "HelpText": "This feature enables or disables T3 optimization.\nWhen enabled, VBIOS/GOP driver will poll for AUX soon after VDD enable until AUX passes or T3 time is reached\nWhen disabled, VBIOS/GOP driver will wait for T3 time before trying the first AUX transaction", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "LCDVCC to HPD high delay (T3): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Vcc_To_Hpd_Delay_10" + ], + "HelpText": "Using this field the delay from LCDVCC to HPD high can be specified in 100uS.\nValid Range: 0 to 200msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Valid video data to Backlight Enable delay (T8): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOn_To_BkltEnable_Delay_10" + ], + "HelpText": "Using this field the delay from Start of Valid video data from Source to Backlight Enable can be specified in 100uS.\nT8 is inclusive of T7.\nValid Range of T7: 0 to 50msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM-On To Backlight Enable delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_PwmOn_To_Bklt_Enable_Delay_10" + ], + "HelpText": "Using this field the delay from PWM-On to Backlight Enable can be specified in 100uS.\nDelay from PWM-On to Backlight Enable is included in delay from Valid video data to Backlight Enable (T8).\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Valid video data to Backlight Enable (T8).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to PWM-Off delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Bklt_Disable_To_PwmOff_Delay_10" + ], + "HelpText": "Using this field delay from Backlight Disable to PWM-Off can be specified in 100uS.\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to End of Valid video data (T9).\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to to End of Valid video data (T9).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to End of Valid video data delay (T9): ", + "Visibility": "", + "Data": [ + "27", + "eDP_BkltDisable_To_DataOff_Delay_10" + ], + "HelpText": "Using this field the delay from Backlight Disable to End of Valid video data can be specified in 100uS.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "End of Valid video data to Power-Off delay (T10): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOff_To_PowerOff_Delay_10" + ], + "HelpText": "Using this field delay from End of Valid video data from Source to Power-Off can be specified in 100uS.\nValid Range: 0 to 500 msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Power-off time (T12): ", + "Visibility": "", + "Data": [ + "27", + "eDP_PowerCycle_Delay_10" + ], + "HelpText": "Using this field Power-off time can be specified in 100uS.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-10-2", + "PageName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Is FastLinkTraining Feature Supported: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Supported_10" + ], + "HelpText": "This feature allows for the selection of the Fast Link Training feature is to be enabled or disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Data Rate: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Data_Rate_10" + ], + "HelpText": "This field specifies Data Rate to be used for Fast Link Training in unit of 200KHz for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.\n\nIn case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then driver would use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate).", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lane Count: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_LaneCount_10" + ], + "HelpText": "This feature allows for the selection of the Lane Count (Port Width) for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Pre-Emphasis: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_PreEmp_10" + ], + "HelpText": "This feature allows for the selection of the Pre-emphasis value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Voltage Swing: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_Vswing_10" + ], + "HelpText": "This feature allows for the selection of the Voltage Swing value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-10-3", + "PageName": "PSR Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Full Link enable: ", + "Visibility": "", + "Data": [ + "9", + "PSR_FullLink_Enable_10" + ], + "HelpText": "When panel is in PSR mode and 'Full Link Enable' is set to Yes, Link is kept in standby state.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Require AUX to wake up: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Require_AUX2Wakeup_10" + ], + "HelpText": "When panel is exiting PSR mode and 'Require AUX to wake up' is set to Yes, the AUX channel handshake(link training is required) will be used.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lines to wait before link standby: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Lines2Wait_B4LinkS3_10" + ], + "HelpText": "This field determines Lines to wait before link standby\n0 lines to wait (Default)\n1 lines to wait\n4 lines to wait\n8 lines to wait\nOthers Reserved", + "WidgetValues": [ + { + "Key": "0 lines to wait", + "Value": "0" + }, + { + "Key": "1 lines to wait", + "Value": "1" + }, + { + "Key": "4 lines to wait", + "Value": "2" + }, + { + "Key": "8 lines to wait", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Idle frames to wait: ", + "Visibility": "", + "Data": [ + "9", + "PSR_IdleFrames2Wait_10" + ], + "HelpText": "Idle frames to wait for PSR enable.\nAllowed values 0-15. Default value is 0.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Clock Recovery Time: ", + "Visibility": "", + "Data": [ + "9", + "PSR_TP1_WaitTime_10" + ], + "HelpText": "This field selects the link training TP1(Training Pattern1) time during PSR exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR1 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR1_TP_2_3_4_WaitTime_10" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR1 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR2 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR2_TP_2_3_4_WaitTime_10" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR2 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "50 usec", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-10-4", + "PageName": "Apical Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Apical Assertive Display IP: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Apical_Display_Ip_Enable_10" + ], + "HelpText": "This field enables/disables the Apical Assertive Display IP for this panel.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel OUI (IEEE OUI): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Oui_10" + ], + "HelpText": "This field specifies the Apical IP specific Panel OUI field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Base Address: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Base_Address_10" + ], + "HelpText": "This field specifies the Apical IP specific DPCD base address field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Irdidix Control 0: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Irdidix_Control0_10" + ], + "HelpText": "This field specifies the Apical IP specific DPCD Irdidix control 0 field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Option Select: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Option_Select_10" + ], + "HelpText": "This field specifies the Apical IP specific DPCD option select field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Backlight: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Backlight_10" + ], + "HelpText": "This field specifies the Apical IP specific backlight value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Ambient Light: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Ambient_Light_10" + ], + "HelpText": "This field specifies the Apical IP specific Ambient light value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Backlight scale: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Backlight_Scale_10" + ], + "HelpText": "This field specifies the Apical IP specific backlight scale field.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-10-5", + "PageName": "Power Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Power Saving Technology (DPST) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DPST_Enable_10" + ], + "HelpText": "This feature determines whether the Intel Display Power Savings Technology (DPST) is enabled or disabled.\nIntel DPST is a display power savings technology that changes the intensity of colors in order to conserve backlight power.\nNote: This technology is only active when the system is running in battery mode and the LFP is the only active display device.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Refresh Rate Switching (DRRS) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DRRS_Enable_10" + ], + "HelpText": "This feature determines whether Intel Display Refresh Rate Switching (DRRS) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Edge Luminance Profile (ELP) : ", + "Visibility": "", + "Data": [ + "44", + "ELP_Enable_10" + ], + "HelpText": "This feature determines whether the ELP feature is enabled or disabled.\nEdge Luminance Profile (ELP) is a panel technology which reduce luminance on the edge of screen to save panel power.\nNote:This technology cannot co-exist with DPST and OPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " OLED Power Saving Technology (OPST) : ", + "Visibility": "", + "Data": [ + "44", + "OPST_Enable_10" + ], + "HelpText": "This feature determines whether the OPST feature is enabled or disabled.\nOLED Power Saving Technology (OPST) is a panel technology which saves power by intelligent, adaptive dimming of midrange pixel values more aggressively than the extremes without compromising the viewability.\nNote: This technology cannot co-exist with ELP and DPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic Media Refresh Rate Switching Enable/Disable ", + "Visibility": "", + "Data": [ + "44", + "DMRRS_Enable_10" + ], + "HelpText": "This feature determines whether Dynamic media refresh rate switching is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Display Lace Support: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Enable_10" + ], + "HelpText": "This feature, when enabled, will set Display Lace Support otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Panel Self Refresh (PSR): ", + "Visibility": "", + "Data": [ + "44", + "PSR_Enable_10" + ], + "HelpText": "This feature determines whether Panel Self Refresh (PSR) feature is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Assertive Display Technology Enable/Disable: ", + "Visibility": "", + "Data": [ + "44", + "ADT_Enable_10" + ], + "HelpText": "This feature determines whether Assertive display technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Automatic Display Brightness (ADB) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "ADB_Enable_10" + ], + "HelpText": "This feature determines whether Intel Automatic Display Brightness is to be enabled. Intel Automatic Display Brightness adjusts the brightness of the embedded Local Flat Panel (LFP) depending on the current ambient light environment.\nWhen enabled, the driver and VBIOS will control the backlight brightness of the LFP depending on the ambient environment if and only if the LFP is the only active display. When disabled, the driver will perform no action.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDP 4k/2k HOBL Feature: ", + "Visibility": "", + "Data": [ + "44", + "eDP_4k_2k_HOBL_feature_Enable_10" + ], + "HelpText": "This feature will allow users to disable/enable the edp 4k/2k HOBL(Hours Of Battery Life) feature by programming relevant registers specific for a platform.\r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display LACE Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Status_10" + ], + "HelpText": "This feature, when enabled, will set Default Display LACE Enabled status otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "DPST_Aggressiveness_Profile_10" + ], + "HelpText": "This feature allows for the selection of DPST Aggressiveness level for this Panel Type.\n1 (Maximum Quality with No DPST)\n2\n3\n4\n5\n6 (Maximum Battery)", + "WidgetValues": [ + { + "Key": "1 - Maximum Quality with No DPST", + "Value": "1" + }, + { + "Key": "2", + "Value": "2" + }, + { + "Key": "3", + "Value": "3" + }, + { + "Key": "4", + "Value": "4" + }, + { + "Key": "5", + "Value": "5" + }, + { + "Key": "6 - Maximum Battery", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LACE Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Aggressiveness_Profile_10" + ], + "HelpText": "This feature allows for the selection of LACE Aggressiveness level for this Panel Type.\nMinimum 0\nModerate 1\nHigh 2", + "WidgetValues": [ + { + "Key": "Minimum", + "Value": "0" + }, + { + "Key": "Moderate", + "Value": "1" + }, + { + "Key": "High", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "ELP Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "ELP_Aggressiveness_Profile_10" + ], + "HelpText": "This feature allows for the selection of ELP Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "OPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "OPST_Aggressiveness_Profile_10" + ], + "HelpText": "This feature allows for the selection of OPST Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display VRR Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "VRR_Status_10" + ], + "HelpText": "VRR (Variable Refresh Rate) is a feature that can continuously and seamlessly vary Refresh Rate on the fly, on displays that support Variable Refresh rate Technologies.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-10-6", + "PageName": "Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Pixel_CLK_10" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Active_10" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Active_10" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Blank_10" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Blank_10" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_FrontPorch_10" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_FrontPorch_10" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Sync_10" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Sync_10" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Image_Size_10" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Image_Size_10" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Common_Flag_10" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-10-7", + "PageName": "LFP PnP ID Table", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "42", + "LFP_Panel_PnP_ID_10" + ], + "HelpText": "This feature allows the 10 bytes of EDID Vendor/Product ID starting at offset 08h to be used as a PnP ID.\n\nTable Definition:\n\tWord: ID Manufacturer Name\n\tWord: ID Product Code\n\tDWord: ID Serial Number\n\tByte: Week of Manufacture\n\tByte: Year of Manufacture", + "WidgetValues": [ + { + "ColumnName": "PnP ID", + "SizeinBytes": "1" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-10-8", + "PageName": "Backlight Control Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Type: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Type_10" + ], + "HelpText": "This feature allows for the selection of the Backlight Inverter type that is to be used to control the backlight brightness of the LFP.\nWhen PWM is selected, the driver and VBIOS will control the backlight brightness via the integrated PWM solution for the applicable chipsets.\nWhen None/External is selected, the system BIOS will control the backlight brightness via the external solution.", + "WidgetValues": [ + { + "Key": "None/External", + "Value": "0" + }, + { + "Key": "PWM", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Source Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Source_Selection_10" + ], + "HelpText": "If panel supports 'Intel HDR AUX Interface', it will always be chosen by default. If not, value in 'PWM Source Selection' will be used", + "WidgetValues": [ + { + "Key": "PWM From Display Engine", + "Value": "2" + }, + { + "Key": "PWM From LCD Panel", + "Value": "3" + }, + { + "Key": "Panel Driver Interface", + "Value": "4" + }, + { + "Key": "VESA eDP AUX Interface", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Controller Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Controller_Selection_10" + ], + "HelpText": "This field allows to select the PWM Controller to be used for the selected Local Flat Panel.This field allows to select the PWM Controller to be used for the selected Local Flat Panel.If Two LFPs are connected then PWM0 and PWM1 must be selected accordingly.", + "WidgetValues": [ + { + "Key": "PWM0", + "Value": "0" + }, + { + "Key": "PWM1", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Polarity: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Polarity_10" + ], + "HelpText": "This feature allows the backlight inverter polarity to be specified.\nNormal means 0 value is minimum brightness.\nInverted means 0 value is maximum brightness.", + "WidgetValues": [ + { + "Key": "Normal", + "Value": "0" + }, + { + "Key": "Inverted", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Minimum Brightness: ", + "Visibility": "", + "Data": [ + "43", + "Post_Min_Brightness_10" + ], + "HelpText": "This feature allows defining the absolute minimum backlight brightness. The driver will never decrease the backlight less than this value. The value must be specified using normal polarity semantics. The value should range from 0 to 255 if the brightness precision bit is chosen to be 8, and it should range from 0 to 65535 if the precision bit is chosen to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "POST Backlight Intensity: ", + "Visibility": "", + "Data": [ + "43", + "Post_Brightness_10" + ], + "HelpText": "This feature is used to set default backlight brightness value of the panel at POST. The value should range from 0 to 255 if the bit precision is chosen to be 8 and it should range from 0 to 65535 if the brightness bit precision is chosent to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Brightness Precision Bits: ", + "Visibility": "", + "Data": [ + "43", + "BrightnessPrecisionBits_10" + ], + "HelpText": "This field represents the range of brightness in terms of bit precision.\n 8 = Brightness range of 0 to 255.\n 16 = Brightness range of 0 to 65535", + "WidgetValues": [ + { + "Key": "8", + "Value": "8" + }, + { + "Key": "16", + "Value": "16" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM Inverter Frequency (Hz): ", + "Visibility": "", + "Data": [ + "43", + "PWM_Frequency_10" + ], + "HelpText": "This feature allows for the definition of the frequency needed for PWM Inverter.\nNote: The frequency range (entered as a decimal number), for the integrated PWM is 200Hz - 40KHz.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Intel HDR DPCD Refresh Timeout (unit - 10 micro seconds): ", + "Visibility": "", + "Data": [ + "43", + "HdrDpcdRefreshTimeout_10" + ], + "HelpText": "This field allows to configure the refresh timeout of Intel HDR DPCDs for different TCON Vendors.\nNote:\n\tThe value is in units of 10 microseconds.\n\tThe range (entered as a decimal number), for the timeout is 0-65535", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-10-9", + "PageName": "Chromaticity Control", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Chromaticity Control Feature: ", + "Visibility": "", + "Data": [ + "46", + "Chromacity_Enable_10" + ], + "HelpText": "This bit enables Chromaticity feature.\nIf this bit is enabled, EDID values for chromaticity will be used, else feature is disabled.\nFeature will be supported for Panels that support EDID version 1.4 or higher.\nPlease refer to section 3.7 of EDID Specification 1.4.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override the EDID values: ", + "Visibility": "", + "Data": [ + "46", + "Override_EDID_Data_10" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override EDID values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_Green_bits (Bits 1:0 at 19h): ", + "Visibility": "", + "Data": [ + "46", + "Red_Green_10" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Red, Green Coordinates represented as Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1 Gy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_White_bits (Bits 1:0 at 1Ah): ", + "Visibility": "", + "Data": [ + "46", + "Blue_White_10" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Blue, White Coordinates represented as Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_x (Bits 9:2 at 1Bh): ", + "Visibility": "", + "Data": [ + "46", + "Red_x_10" + ], + "HelpText": "Bits 9:2 of red color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_y (Bits 9:2 at 1Ch): ", + "Visibility": "", + "Data": [ + "46", + "Red_y_10" + ], + "HelpText": "Bits 9:2 of red color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_x (Bits 9:2 at 1Dh): ", + "Visibility": "", + "Data": [ + "46", + "Green_x_10" + ], + "HelpText": "Bits 9:2 of Green color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_y (Bits 9:2 at 1Eh): ", + "Visibility": "", + "Data": [ + "46", + "Green_y_10" + ], + "HelpText": "Bits 9:2 of Green color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_x (Bits 9:2 at 1Fh): ", + "Visibility": "", + "Data": [ + "46", + "Blue_x_10" + ], + "HelpText": "Bits 9:2 of Blue color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_y (Bits 9:2 at 20h): ", + "Visibility": "", + "Data": [ + "46", + "Blue_y_10" + ], + "HelpText": "Bits 9:2 of Blue color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_x (Bits 9:2 at 21h): ", + "Visibility": "", + "Data": [ + "46", + "White_x_10" + ], + "HelpText": "Bits 9:2 of White color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_y (Bits 9:2 at 22h): ", + "Visibility": "", + "Data": [ + "46", + "White_y_10" + ], + "HelpText": "Bits 9:2 of White color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Luminance values ", + "Visibility": "", + "Data": [ + "46", + "Override_LUM_Data_10" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override luminance values following VBT values", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Minimum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MinLuminance_10" + ], + "HelpText": "Minimum luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum full frame luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxFullLuminance_10" + ], + "HelpText": "Maximum Full frame luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxLuminance_10" + ], + "HelpText": "Maximum luminance value(Relatively smaller portion of screen).\n2 byte value, encoded in IEEE 754 half-precision binary floating point format.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Gamma values: ", + "Visibility": "", + "Data": [ + "46", + "Override_Gamma_Data_10" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override gamma values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel gamma: ", + "Visibility": "", + "Data": [ + "46", + "Gamma_10" + ], + "HelpText": "Value shall define the gamma range, from 1.00 to 3.54, as follows:\nField Value = (Gamma (value in float) x 100) - 100\nField values range from 00h through FFh.\nFFh = No gamma information shall be provided", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-10-10", + "PageName": "VESA DSC Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Major Version: ", + "Visibility": "", + "Data": [ + "56", + "C10_Major_Dsc_Version" + ], + "HelpText": "VESA DSC Major revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Minor Version: ", + "Visibility": "", + "Data": [ + "56", + "C10_Minor_Dsc_Version" + ], + "HelpText": "VESA DSC Minor revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Block prediction supported: ", + "Visibility": "", + "Data": [ + "56", + "C10_Blk_Prediction_En" + ], + "HelpText": "Sink supports block prediction as per the VESA DSC Spec.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "RC Buffer Block size as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C10_RC_Block_Size" + ], + "HelpText": "RC buffer block size for a single RC buffer as defined by the VESA DSC spec.", + "WidgetValues": [ + { + "Key": "1 KB", + "Value": "0" + }, + { + "Key": "4 KB", + "Value": "1" + }, + { + "Key": "16 KB", + "Value": "2" + }, + { + "Key": "64 KB", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Number of RC buffer blocks as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C10_Dsc_RC_Buf_Size" + ], + "HelpText": "This field defines the number of RC buffers as per VESA DSC spec.\nThe number of RC buffers used by the software shall be (Value + 1) where Value is in range 0 to 127.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Slices per line supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C10_Dsc_Slices_Per_Line" + ], + "HelpText": "This field defines the slices per line supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 31-10\t\t Bit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tReserved\t\t 24\t 20\t 16\t 12\t 10\t 8\t 6\t 4\t 2\t 1\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower slices per line than maximum selected field. i.e. If it supports say 8 slices per line, it will also support 4/2/1 slices per line", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Line buffer depth as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C10_Line_Buffer_Depth" + ], + "HelpText": "Line buffer depth in bits as per VESA DSC spec.", + "WidgetValues": [ + { + "Key": "8 bits", + "Value": "0" + }, + { + "Key": "9 bits", + "Value": "1" + }, + { + "Key": "10 bits", + "Value": "2" + }, + { + "Key": "11 bits", + "Value": "3" + }, + { + "Key": "12 bits", + "Value": "4" + }, + { + "Key": "13 bits", + "Value": "5" + }, + { + "Key": "14 bits", + "Value": "6" + }, + { + "Key": "15 bits", + "Value": "7" + }, + { + "Key": "16 bits", + "Value": "8" + } + ] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Input compression BPC supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C10_Dsc_Bpc" + ], + "HelpText": "This field defines the compression input bpc supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 7-4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tRsvd\t 12 bpc\t 10bpc\t 8bpc\t Rsvd\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower bpc values than the maximum selected field. i.e. If it supports say 12bpc, it will also support 10 and 8bpc as well", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum supported compression BPP: ", + "Visibility": "", + "Data": [ + "56", + "C10_Dsc_Max_Bpp" + ], + "HelpText": "As of today, we are supporting 6/8/10/12 BPP for compression output.\nSelect the most appropriate BPP as supported by the sink.", + "WidgetValues": [ + { + "Key": "6 Bits per pixel", + "Value": "0" + }, + { + "Key": "8 Bits per pixel", + "Value": "1" + }, + { + "Key": "10 Bits per pixel", + "Value": "2" + }, + { + "Key": "12 Bits per pixel", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Slice height supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C10_Dsc_Slice_Height" + ], + "HelpText": "Slice height supported by the sink device for DSC slice.\nNote: Slice height must divide the picture height uniformly.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-11", + "PageName": "Panel #11", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "LabelHeading", + "WidgetName": "Common LFP Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryAsci", + "WidgetName": " LFP Panel Name: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Name_11" + ], + "HelpText": "This feature defines the LFP panel name, used by driver only. Panel name can be only of 13 characters maximum and rest of the characters will be truncated.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target X-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Width_11" + ], + "HelpText": "This value specifies the Target X-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target Y-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Height_11" + ], + "HelpText": "This value specifies the Target Y-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " DPS Panel Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Seamless DRRS Minimum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "42", + "Seamless_DRRS_Min_RR_11" + ], + "HelpText": "Using this field the minimum Refresh Rate to be used for Seamless DRRS feature can be entered in Hertz.\nNote: Graphics driver will use this field only when EDID support is disabled in VBT configuration.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " BackLight Technology Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " BackLight Technology: ", + "Visibility": "", + "Data": [ + "40", + "Blt_Control_11" + ], + "HelpText": "This feature allows OEM to select the Backlight Technology.", + "WidgetValues": [ + { + "Key": "LED Backlight", + "Value": "2" + }, + { + "Key": "CCFL Backlight", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Rotation: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Rotation_11" + ], + "HelpText": "This feature specifies the Panel Rotation of LFP panel used.", + "WidgetValues": [ + { + "Key": "0 degree", + "Value": "0" + }, + { + "Key": "180 degree", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Position: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Position_11" + ], + "HelpText": "This feature specifies the Panel Position of LFP panel used.", + "WidgetValues": [ + { + "Key": "Inside Shell", + "Value": "0" + }, + { + "Key": "Outside Shell", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual LFP Port Sync: ", + "Visibility": "", + "Data": [ + "42", + "EnablePortSync_Bit_11" + ], + "HelpText": "This feature will allow users to disable/enable Dual LFP Port Sync and it is applicable for DDI-A, DDI-B in case of eDP and DSI-0, DSI-1 in case of MIPI. \r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " GPU Dithering for Banding artifacts: ", + "Visibility": "", + "Data": [ + "42", + "EnableDithering_Bit_11" + ], + "HelpText": "This field can be used to enable dithering from the source side for reducing banding artifacts on the visual quality features like DPST.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP PnP ID Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Backlight Control Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Chromaticity Control", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "VESA DSC Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated eDP Settings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Edp Max Port Link Rate (in 200 Khz): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Max_Port_Link_Rate_11" + ], + "HelpText": "This field specifies EDP Max Port Link Rate supported by the port in unit of 200KHz.\nDefault value would be \"0\", in which case Display Drivers should consider EDP Max Port Link Rate to be the Platform supported Max Link Rate.\nOnly when OEM's need to limit to particular Link Rate can enter the value as mentioned in below table.\n\nNote:\n1) OEM's need to enter the values mentioned from below table only.\n2) If value entered is not matching with any of the below values then Platform supported Max Link Rate should be considere as EDP Max Port Link Rate by the display drivers.\n3) In case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then we need to use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate)\n---------------------------------------------------------\n|\tLink Rate(Gbps)\t|\t Value to enter in text field\t|\n|\t \t\t|\t in terms of 200KHZ \t|\n---------------------------------------------------------\n|\t 1.62 \t\t|\t 8100 \t|\n|\t 2.16 \t\t|\t 10800 \t|\n|\t 2.43 \t\t|\t 12150 \t|\n|\t 2.7 \t\t|\t 13500 \t|\n|\t 3.24 \t\t|\t 16200 \t|\n|\t 3.78 \t\t|\t 18900 \t|\n|\t 4.32 \t\t|\t 21600 \t|\n|\t 5.4 \t\t|\t 27000 \t|\n|\t 6.48 \t\t|\t 32400 \t|\n|\t 6.75 \t\t|\t 33750 \t|\n|\t 8.1 \t\t|\t 40500 \t|\n", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Color Depth: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Color_Depth_11" + ], + "HelpText": "This feature specifies the color depth of eDP panel used.", + "WidgetValues": [ + { + "Key": "18-bit Color Depth", + "Value": "0" + }, + { + "Key": "24-bit Color Depth", + "Value": "1" + }, + { + "Key": "30-bit Color Depth", + "Value": "2" + }, + { + "Key": "36-bit Color Depth", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Select VSwing/Pre-Emphasis table : ", + "Visibility": "", + "Data": [ + "27", + "eDP_VswingPreEmph_11" + ], + "HelpText": "This feature selects the VSwing Pre-Emphasis setting table to be used. For Tigerlake, based on the selection respective table will be used.\nTables for Tigerlake:\nLow Power VSwing Pre-Emphasis Setting Table:\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/200mV \t\t 200mV, 0.0db \t\t 200mV, 1.9db \t\t 200mV, 3.5db \t\t 200mV, 4.9db\nSwing \t\t Level-1/250mV \t\t 250mV, 0.0db \t\t 250mV, 1.6db \t\t 250mV, 2.9db \t\t N/A\n(mV) \t\t Level-2/300mV \t\t 300mV, 0.0db \t\t 300mV, 1.3db \t\t N/A \t\t N/A\n\t\t Level-3/350mV \t\t 350mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR3:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nDefault VSwing Pre-Emphasis Setting Table:\nFor HBR:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A", + "WidgetValues": [ + { + "Key": "Default VSwing/Pre-Emphasis Table", + "Value": "1" + }, + { + "Key": "Low Power VSwing/Pre-Emphasis Table", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " eDP Spread Spectrum Clock: ", + "Visibility": "", + "Data": [ + "40", + "Enable_SSC11" + ], + "HelpText": "This feature will allow users to disable/enable Spread Spectrum Clock for eDP.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count: ", + "Visibility": "", + "Data": [ + "42", + "PixelOverlapCount_11" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using Edp Multi-SST(MSO) feature.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixel Overlap", + "Value": "2" + }, + { + "Key": "Three Pixel Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixel Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixel Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "PSR Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Apical Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-11-1", + "PageName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " T3 optimization: ", + "Visibility": "", + "Data": [ + "27", + "eDP_T3_Optimization_11" + ], + "HelpText": "This feature enables or disables T3 optimization.\nWhen enabled, VBIOS/GOP driver will poll for AUX soon after VDD enable until AUX passes or T3 time is reached\nWhen disabled, VBIOS/GOP driver will wait for T3 time before trying the first AUX transaction", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "LCDVCC to HPD high delay (T3): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Vcc_To_Hpd_Delay_11" + ], + "HelpText": "Using this field the delay from LCDVCC to HPD high can be specified in 100uS.\nValid Range: 0 to 200msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Valid video data to Backlight Enable delay (T8): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOn_To_BkltEnable_Delay_11" + ], + "HelpText": "Using this field the delay from Start of Valid video data from Source to Backlight Enable can be specified in 100uS.\nT8 is inclusive of T7.\nValid Range of T7: 0 to 50msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM-On To Backlight Enable delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_PwmOn_To_Bklt_Enable_Delay_11" + ], + "HelpText": "Using this field the delay from PWM-On to Backlight Enable can be specified in 100uS.\nDelay from PWM-On to Backlight Enable is included in delay from Valid video data to Backlight Enable (T8).\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Valid video data to Backlight Enable (T8).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to PWM-Off delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Bklt_Disable_To_PwmOff_Delay_11" + ], + "HelpText": "Using this field delay from Backlight Disable to PWM-Off can be specified in 100uS.\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to End of Valid video data (T9).\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to to End of Valid video data (T9).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to End of Valid video data delay (T9): ", + "Visibility": "", + "Data": [ + "27", + "eDP_BkltDisable_To_DataOff_Delay_11" + ], + "HelpText": "Using this field the delay from Backlight Disable to End of Valid video data can be specified in 100uS.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "End of Valid video data to Power-Off delay (T10): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOff_To_PowerOff_Delay_11" + ], + "HelpText": "Using this field delay from End of Valid video data from Source to Power-Off can be specified in 100uS.\nValid Range: 0 to 500 msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Power-off time (T12): ", + "Visibility": "", + "Data": [ + "27", + "eDP_PowerCycle_Delay_11" + ], + "HelpText": "Using this field Power-off time can be specified in 100uS.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-11-2", + "PageName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Is FastLinkTraining Feature Supported: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Supported_11" + ], + "HelpText": "This feature allows for the selection of the Fast Link Training feature is to be enabled or disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Data Rate: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Data_Rate_11" + ], + "HelpText": "This field specifies Data Rate to be used for Fast Link Training in unit of 200KHz for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.\n\nIn case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then driver would use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate).", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lane Count: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_LaneCount_11" + ], + "HelpText": "This feature allows for the selection of the Lane Count (Port Width) for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Pre-Emphasis: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_PreEmp_11" + ], + "HelpText": "This feature allows for the selection of the Pre-emphasis value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Voltage Swing: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_Vswing_11" + ], + "HelpText": "This feature allows for the selection of the Voltage Swing value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-11-3", + "PageName": "PSR Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Full Link enable: ", + "Visibility": "", + "Data": [ + "9", + "PSR_FullLink_Enable_11" + ], + "HelpText": "When panel is in PSR mode and 'Full Link Enable' is set to Yes, Link is kept in standby state.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Require AUX to wake up: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Require_AUX2Wakeup_11" + ], + "HelpText": "When panel is exiting PSR mode and 'Require AUX to wake up' is set to Yes, the AUX channel handshake(link training is required) will be used.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lines to wait before link standby: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Lines2Wait_B4LinkS3_11" + ], + "HelpText": "This field determines Lines to wait before link standby\n0 lines to wait (Default)\n1 lines to wait\n4 lines to wait\n8 lines to wait\nOthers Reserved", + "WidgetValues": [ + { + "Key": "0 lines to wait", + "Value": "0" + }, + { + "Key": "1 lines to wait", + "Value": "1" + }, + { + "Key": "4 lines to wait", + "Value": "2" + }, + { + "Key": "8 lines to wait", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Idle frames to wait: ", + "Visibility": "", + "Data": [ + "9", + "PSR_IdleFrames2Wait_11" + ], + "HelpText": "Idle frames to wait for PSR enable.\nAllowed values 0-15. Default value is 0.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Clock Recovery Time: ", + "Visibility": "", + "Data": [ + "9", + "PSR_TP1_WaitTime_11" + ], + "HelpText": "This field selects the link training TP1(Training Pattern1) time during PSR exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR1 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR1_TP_2_3_4_WaitTime_11" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR1 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR2 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR2_TP_2_3_4_WaitTime_11" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR2 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "50 usec", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-11-4", + "PageName": "Apical Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Apical Assertive Display IP: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Apical_Display_Ip_Enable_11" + ], + "HelpText": "This field enables/disables the Apical Assertive Display IP for this panel.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel OUI (IEEE OUI): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Oui_11" + ], + "HelpText": "This field specifies the Apical IP specific Panel OUI field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Base Address: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Base_Address_11" + ], + "HelpText": "This field specifies the Apical IP specific DPCD base address field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Irdidix Control 0: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Irdidix_Control0_11" + ], + "HelpText": "This field specifies the Apical IP specific DPCD Irdidix control 0 field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Option Select: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Option_Select_11" + ], + "HelpText": "This field specifies the Apical IP specific DPCD option select field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Backlight: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Backlight_11" + ], + "HelpText": "This field specifies the Apical IP specific backlight value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Ambient Light: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Ambient_Light_11" + ], + "HelpText": "This field specifies the Apical IP specific Ambient light value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Backlight scale: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Backlight_Scale_11" + ], + "HelpText": "This field specifies the Apical IP specific backlight scale field.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-11-5", + "PageName": "Power Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Power Saving Technology (DPST) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DPST_Enable_11" + ], + "HelpText": "This feature determines whether the Intel Display Power Savings Technology (DPST) is enabled or disabled.\nIntel DPST is a display power savings technology that changes the intensity of colors in order to conserve backlight power.\nNote: This technology is only active when the system is running in battery mode and the LFP is the only active display device.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Refresh Rate Switching (DRRS) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DRRS_Enable_11" + ], + "HelpText": "This feature determines whether Intel Display Refresh Rate Switching (DRRS) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Edge Luminance Profile (ELP) : ", + "Visibility": "", + "Data": [ + "44", + "ELP_Enable_11" + ], + "HelpText": "This feature determines whether the ELP feature is enabled or disabled.\nEdge Luminance Profile (ELP) is a panel technology which reduce luminance on the edge of screen to save panel power.\nNote:This technology cannot co-exist with DPST and OPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " OLED Power Saving Technology (OPST) : ", + "Visibility": "", + "Data": [ + "44", + "OPST_Enable_11" + ], + "HelpText": "This feature determines whether the OPST feature is enabled or disabled.\nOLED Power Saving Technology (OPST) is a panel technology which saves power by intelligent, adaptive dimming of midrange pixel values more aggressively than the extremes without compromising the viewability.\nNote: This technology cannot co-exist with ELP and DPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic Media Refresh Rate Switching Enable/Disable ", + "Visibility": "", + "Data": [ + "44", + "DMRRS_Enable_11" + ], + "HelpText": "This feature determines whether Dynamic media refresh rate switching is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Display Lace Support: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Enable_11" + ], + "HelpText": "This feature, when enabled, will set Display Lace Support otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Panel Self Refresh (PSR): ", + "Visibility": "", + "Data": [ + "44", + "PSR_Enable_11" + ], + "HelpText": "This feature determines whether Panel Self Refresh (PSR) feature is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Assertive Display Technology Enable/Disable: ", + "Visibility": "", + "Data": [ + "44", + "ADT_Enable_11" + ], + "HelpText": "This feature determines whether Assertive display technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Automatic Display Brightness (ADB) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "ADB_Enable_11" + ], + "HelpText": "This feature determines whether Intel Automatic Display Brightness is to be enabled. Intel Automatic Display Brightness adjusts the brightness of the embedded Local Flat Panel (LFP) depending on the current ambient light environment.\nWhen enabled, the driver and VBIOS will control the backlight brightness of the LFP depending on the ambient environment if and only if the LFP is the only active display. When disabled, the driver will perform no action.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDP 4k/2k HOBL Feature: ", + "Visibility": "", + "Data": [ + "44", + "eDP_4k_2k_HOBL_feature_Enable_11" + ], + "HelpText": "This feature will allow users to disable/enable the edp 4k/2k HOBL(Hours Of Battery Life) feature by programming relevant registers specific for a platform.\r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display LACE Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Status_11" + ], + "HelpText": "This feature, when enabled, will set Default Display LACE Enabled status otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "DPST_Aggressiveness_Profile_11" + ], + "HelpText": "This feature allows for the selection of DPST Aggressiveness level for this Panel Type.\n1 (Maximum Quality with No DPST)\n2\n3\n4\n5\n6 (Maximum Battery)", + "WidgetValues": [ + { + "Key": "1 - Maximum Quality with No DPST", + "Value": "1" + }, + { + "Key": "2", + "Value": "2" + }, + { + "Key": "3", + "Value": "3" + }, + { + "Key": "4", + "Value": "4" + }, + { + "Key": "5", + "Value": "5" + }, + { + "Key": "6 - Maximum Battery", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LACE Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Aggressiveness_Profile_11" + ], + "HelpText": "This feature allows for the selection of LACE Aggressiveness level for this Panel Type.\nMinimum 0\nModerate 1\nHigh 2", + "WidgetValues": [ + { + "Key": "Minimum", + "Value": "0" + }, + { + "Key": "Moderate", + "Value": "1" + }, + { + "Key": "High", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "ELP Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "ELP_Aggressiveness_Profile_11" + ], + "HelpText": "This feature allows for the selection of ELP Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "OPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "OPST_Aggressiveness_Profile_11" + ], + "HelpText": "This feature allows for the selection of OPST Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display VRR Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "VRR_Status_11" + ], + "HelpText": "VRR (Variable Refresh Rate) is a feature that can continuously and seamlessly vary Refresh Rate on the fly, on displays that support Variable Refresh rate Technologies.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-11-6", + "PageName": "Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Pixel_CLK_11" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Active_11" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Active_11" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Blank_11" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Blank_11" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_FrontPorch_11" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_FrontPorch_11" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Sync_11" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Sync_11" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Image_Size_11" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Image_Size_11" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Common_Flag_11" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-11-7", + "PageName": "LFP PnP ID Table", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "42", + "LFP_Panel_PnP_ID_11" + ], + "HelpText": "This feature allows the 10 bytes of EDID Vendor/Product ID starting at offset 08h to be used as a PnP ID.\n\nTable Definition:\n\tWord: ID Manufacturer Name\n\tWord: ID Product Code\n\tDWord: ID Serial Number\n\tByte: Week of Manufacture\n\tByte: Year of Manufacture", + "WidgetValues": [ + { + "ColumnName": "PnP ID", + "SizeinBytes": "1" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-11-8", + "PageName": "Backlight Control Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Type: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Type_11" + ], + "HelpText": "This feature allows for the selection of the Backlight Inverter type that is to be used to control the backlight brightness of the LFP.\nWhen PWM is selected, the driver and VBIOS will control the backlight brightness via the integrated PWM solution for the applicable chipsets.\nWhen None/External is selected, the system BIOS will control the backlight brightness via the external solution.", + "WidgetValues": [ + { + "Key": "None/External", + "Value": "0" + }, + { + "Key": "PWM", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Source Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Source_Selection_11" + ], + "HelpText": "If panel supports 'Intel HDR AUX Interface', it will always be chosen by default. If not, value in 'PWM Source Selection' will be used", + "WidgetValues": [ + { + "Key": "PWM From Display Engine", + "Value": "2" + }, + { + "Key": "PWM From LCD Panel", + "Value": "3" + }, + { + "Key": "Panel Driver Interface", + "Value": "4" + }, + { + "Key": "VESA eDP AUX Interface", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Controller Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Controller_Selection_11" + ], + "HelpText": "This field allows to select the PWM Controller to be used for the selected Local Flat Panel.This field allows to select the PWM Controller to be used for the selected Local Flat Panel.If Two LFPs are connected then PWM0 and PWM1 must be selected accordingly.", + "WidgetValues": [ + { + "Key": "PWM0", + "Value": "0" + }, + { + "Key": "PWM1", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Polarity: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Polarity_11" + ], + "HelpText": "This feature allows the backlight inverter polarity to be specified.\nNormal means 0 value is minimum brightness.\nInverted means 0 value is maximum brightness.", + "WidgetValues": [ + { + "Key": "Normal", + "Value": "0" + }, + { + "Key": "Inverted", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Minimum Brightness: ", + "Visibility": "", + "Data": [ + "43", + "Post_Min_Brightness_11" + ], + "HelpText": "This feature allows defining the absolute minimum backlight brightness. The driver will never decrease the backlight less than this value. The value must be specified using normal polarity semantics. The value should range from 0 to 255 if the brightness precision bit is chosen to be 8, and it should range from 0 to 65535 if the precision bit is chosen to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "POST Backlight Intensity: ", + "Visibility": "", + "Data": [ + "43", + "Post_Brightness_11" + ], + "HelpText": "This feature is used to set default backlight brightness value of the panel at POST. The value should range from 0 to 255 if the bit precision is chosen to be 8 and it should range from 0 to 65535 if the brightness bit precision is chosent to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Brightness Precision Bits: ", + "Visibility": "", + "Data": [ + "43", + "BrightnessPrecisionBits_11" + ], + "HelpText": "This field represents the range of brightness in terms of bit precision.\n 8 = Brightness range of 0 to 255.\n 16 = Brightness range of 0 to 65535", + "WidgetValues": [ + { + "Key": "8", + "Value": "8" + }, + { + "Key": "16", + "Value": "16" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM Inverter Frequency (Hz): ", + "Visibility": "", + "Data": [ + "43", + "PWM_Frequency_11" + ], + "HelpText": "This feature allows for the definition of the frequency needed for PWM Inverter.\nNote: The frequency range (entered as a decimal number), for the integrated PWM is 200Hz - 40KHz.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Intel HDR DPCD Refresh Timeout (unit - 10 micro seconds): ", + "Visibility": "", + "Data": [ + "43", + "HdrDpcdRefreshTimeout_11" + ], + "HelpText": "This field allows to configure the refresh timeout of Intel HDR DPCDs for different TCON Vendors.\nNote:\n\tThe value is in units of 10 microseconds.\n\tThe range (entered as a decimal number), for the timeout is 0-65535", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-11-9", + "PageName": "Chromaticity Control", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Chromaticity Control Feature: ", + "Visibility": "", + "Data": [ + "46", + "Chromacity_Enable_11" + ], + "HelpText": "This bit enables Chromaticity feature.\nIf this bit is enabled, EDID values for chromaticity will be used, else feature is disabled.\nFeature will be supported for Panels that support EDID version 1.4 or higher.\nPlease refer to section 3.7 of EDID Specification 1.4.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override the EDID values: ", + "Visibility": "", + "Data": [ + "46", + "Override_EDID_Data_11" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override EDID values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_Green_bits (Bits 1:0 at 19h): ", + "Visibility": "", + "Data": [ + "46", + "Red_Green_11" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Red, Green Coordinates represented as Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1 Gy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_White_bits (Bits 1:0 at 1Ah): ", + "Visibility": "", + "Data": [ + "46", + "Blue_White_11" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Blue, White Coordinates represented as Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_x (Bits 9:2 at 1Bh): ", + "Visibility": "", + "Data": [ + "46", + "Red_x_11" + ], + "HelpText": "Bits 9:2 of red color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_y (Bits 9:2 at 1Ch): ", + "Visibility": "", + "Data": [ + "46", + "Red_y_11" + ], + "HelpText": "Bits 9:2 of red color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_x (Bits 9:2 at 1Dh): ", + "Visibility": "", + "Data": [ + "46", + "Green_x_11" + ], + "HelpText": "Bits 9:2 of Green color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_y (Bits 9:2 at 1Eh): ", + "Visibility": "", + "Data": [ + "46", + "Green_y_11" + ], + "HelpText": "Bits 9:2 of Green color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_x (Bits 9:2 at 1Fh): ", + "Visibility": "", + "Data": [ + "46", + "Blue_x_11" + ], + "HelpText": "Bits 9:2 of Blue color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_y (Bits 9:2 at 20h): ", + "Visibility": "", + "Data": [ + "46", + "Blue_y_11" + ], + "HelpText": "Bits 9:2 of Blue color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_x (Bits 9:2 at 21h): ", + "Visibility": "", + "Data": [ + "46", + "White_x_11" + ], + "HelpText": "Bits 9:2 of White color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_y (Bits 9:2 at 22h): ", + "Visibility": "", + "Data": [ + "46", + "White_y_11" + ], + "HelpText": "Bits 9:2 of White color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Luminance values ", + "Visibility": "", + "Data": [ + "46", + "Override_LUM_Data_11" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override luminance values following VBT values", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Minimum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MinLuminance_11" + ], + "HelpText": "Minimum luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum full frame luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxFullLuminance_11" + ], + "HelpText": "Maximum Full frame luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxLuminance_11" + ], + "HelpText": "Maximum luminance value(Relatively smaller portion of screen).\n2 byte value, encoded in IEEE 754 half-precision binary floating point format.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Gamma values: ", + "Visibility": "", + "Data": [ + "46", + "Override_Gamma_Data_11" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override gamma values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel gamma: ", + "Visibility": "", + "Data": [ + "46", + "Gamma_11" + ], + "HelpText": "Value shall define the gamma range, from 1.00 to 3.54, as follows:\nField Value = (Gamma (value in float) x 100) - 100\nField values range from 00h through FFh.\nFFh = No gamma information shall be provided", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-11-10", + "PageName": "VESA DSC Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Major Version: ", + "Visibility": "", + "Data": [ + "56", + "C11_Major_Dsc_Version" + ], + "HelpText": "VESA DSC Major revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Minor Version: ", + "Visibility": "", + "Data": [ + "56", + "C11_Minor_Dsc_Version" + ], + "HelpText": "VESA DSC Minor revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Block prediction supported: ", + "Visibility": "", + "Data": [ + "56", + "C11_Blk_Prediction_En" + ], + "HelpText": "Sink supports block prediction as per the VESA DSC Spec.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "RC Buffer Block size as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C11_RC_Block_Size" + ], + "HelpText": "RC buffer block size for a single RC buffer as defined by the VESA DSC spec.", + "WidgetValues": [ + { + "Key": "1 KB", + "Value": "0" + }, + { + "Key": "4 KB", + "Value": "1" + }, + { + "Key": "16 KB", + "Value": "2" + }, + { + "Key": "64 KB", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Number of RC buffer blocks as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C11_Dsc_RC_Buf_Size" + ], + "HelpText": "This field defines the number of RC buffers as per VESA DSC spec.\nThe number of RC buffers used by the software shall be (Value + 1) where Value is in range 0 to 127.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Slices per line supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C11_Dsc_Slices_Per_Line" + ], + "HelpText": "This field defines the slices per line supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 31-10\t\t Bit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tReserved\t\t 24\t 20\t 16\t 12\t 10\t 8\t 6\t 4\t 2\t 1\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower slices per line than maximum selected field. i.e. If it supports say 8 slices per line, it will also support 4/2/1 slices per line", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Line buffer depth as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C11_Line_Buffer_Depth" + ], + "HelpText": "Line buffer depth in bits as per VESA DSC spec.", + "WidgetValues": [ + { + "Key": "8 bits", + "Value": "0" + }, + { + "Key": "9 bits", + "Value": "1" + }, + { + "Key": "10 bits", + "Value": "2" + }, + { + "Key": "11 bits", + "Value": "3" + }, + { + "Key": "12 bits", + "Value": "4" + }, + { + "Key": "13 bits", + "Value": "5" + }, + { + "Key": "14 bits", + "Value": "6" + }, + { + "Key": "15 bits", + "Value": "7" + }, + { + "Key": "16 bits", + "Value": "8" + } + ] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Input compression BPC supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C11_Dsc_Bpc" + ], + "HelpText": "This field defines the compression input bpc supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 7-4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tRsvd\t 12 bpc\t 10bpc\t 8bpc\t Rsvd\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower bpc values than the maximum selected field. i.e. If it supports say 12bpc, it will also support 10 and 8bpc as well", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum supported compression BPP: ", + "Visibility": "", + "Data": [ + "56", + "C11_Dsc_Max_Bpp" + ], + "HelpText": "As of today, we are supporting 6/8/10/12 BPP for compression output.\nSelect the most appropriate BPP as supported by the sink.", + "WidgetValues": [ + { + "Key": "6 Bits per pixel", + "Value": "0" + }, + { + "Key": "8 Bits per pixel", + "Value": "1" + }, + { + "Key": "10 Bits per pixel", + "Value": "2" + }, + { + "Key": "12 Bits per pixel", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Slice height supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C11_Dsc_Slice_Height" + ], + "HelpText": "Slice height supported by the sink device for DSC slice.\nNote: Slice height must divide the picture height uniformly.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-12", + "PageName": "Panel #12", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "LabelHeading", + "WidgetName": "Common LFP Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryAsci", + "WidgetName": " LFP Panel Name: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Name_12" + ], + "HelpText": "This feature defines the LFP panel name, used by driver only. Panel name can be only of 13 characters maximum and rest of the characters will be truncated.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target X-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Width_12" + ], + "HelpText": "This value specifies the Target X-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target Y-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Height_12" + ], + "HelpText": "This value specifies the Target Y-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " DPS Panel Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Seamless DRRS Minimum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "42", + "Seamless_DRRS_Min_RR_12" + ], + "HelpText": "Using this field the minimum Refresh Rate to be used for Seamless DRRS feature can be entered in Hertz.\nNote: Graphics driver will use this field only when EDID support is disabled in VBT configuration.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " BackLight Technology Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " BackLight Technology: ", + "Visibility": "", + "Data": [ + "40", + "Blt_Control_12" + ], + "HelpText": "This feature allows OEM to select the Backlight Technology.", + "WidgetValues": [ + { + "Key": "LED Backlight", + "Value": "2" + }, + { + "Key": "CCFL Backlight", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Rotation: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Rotation_12" + ], + "HelpText": "This feature specifies the Panel Rotation of LFP panel used.", + "WidgetValues": [ + { + "Key": "0 degree", + "Value": "0" + }, + { + "Key": "180 degree", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Position: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Position_12" + ], + "HelpText": "This feature specifies the Panel Position of LFP panel used.", + "WidgetValues": [ + { + "Key": "Inside Shell", + "Value": "0" + }, + { + "Key": "Outside Shell", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual LFP Port Sync: ", + "Visibility": "", + "Data": [ + "42", + "EnablePortSync_Bit_12" + ], + "HelpText": "This feature will allow users to disable/enable Dual LFP Port Sync and it is applicable for DDI-A, DDI-B in case of eDP and DSI-0, DSI-1 in case of MIPI. \r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " GPU Dithering for Banding artifacts: ", + "Visibility": "", + "Data": [ + "42", + "EnableDithering_Bit_12" + ], + "HelpText": "This field can be used to enable dithering from the source side for reducing banding artifacts on the visual quality features like DPST.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP PnP ID Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Backlight Control Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Chromaticity Control", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "VESA DSC Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated eDP Settings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Edp Max Port Link Rate (in 200 Khz): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Max_Port_Link_Rate_12" + ], + "HelpText": "This field specifies EDP Max Port Link Rate supported by the port in unit of 200KHz.\nDefault value would be \"0\", in which case Display Drivers should consider EDP Max Port Link Rate to be the Platform supported Max Link Rate.\nOnly when OEM's need to limit to particular Link Rate can enter the value as mentioned in below table.\n\nNote:\n1) OEM's need to enter the values mentioned from below table only.\n2) If value entered is not matching with any of the below values then Platform supported Max Link Rate should be considere as EDP Max Port Link Rate by the display drivers.\n3) In case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then we need to use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate)\n---------------------------------------------------------\n|\tLink Rate(Gbps)\t|\t Value to enter in text field\t|\n|\t \t\t|\t in terms of 200KHZ \t|\n---------------------------------------------------------\n|\t 1.62 \t\t|\t 8100 \t|\n|\t 2.16 \t\t|\t 10800 \t|\n|\t 2.43 \t\t|\t 12150 \t|\n|\t 2.7 \t\t|\t 13500 \t|\n|\t 3.24 \t\t|\t 16200 \t|\n|\t 3.78 \t\t|\t 18900 \t|\n|\t 4.32 \t\t|\t 21600 \t|\n|\t 5.4 \t\t|\t 27000 \t|\n|\t 6.48 \t\t|\t 32400 \t|\n|\t 6.75 \t\t|\t 33750 \t|\n|\t 8.1 \t\t|\t 40500 \t|\n", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Color Depth: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Color_Depth_12" + ], + "HelpText": "This feature specifies the color depth of eDP panel used.", + "WidgetValues": [ + { + "Key": "18-bit Color Depth", + "Value": "0" + }, + { + "Key": "24-bit Color Depth", + "Value": "1" + }, + { + "Key": "30-bit Color Depth", + "Value": "2" + }, + { + "Key": "36-bit Color Depth", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Select VSwing/Pre-Emphasis table : ", + "Visibility": "", + "Data": [ + "27", + "eDP_VswingPreEmph_12" + ], + "HelpText": "This feature selects the VSwing Pre-Emphasis setting table to be used. For Tigerlake, based on the selection respective table will be used.\nTables for Tigerlake:\nLow Power VSwing Pre-Emphasis Setting Table:\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/200mV \t\t 200mV, 0.0db \t\t 200mV, 1.9db \t\t 200mV, 3.5db \t\t 200mV, 4.9db\nSwing \t\t Level-1/250mV \t\t 250mV, 0.0db \t\t 250mV, 1.6db \t\t 250mV, 2.9db \t\t N/A\n(mV) \t\t Level-2/300mV \t\t 300mV, 0.0db \t\t 300mV, 1.3db \t\t N/A \t\t N/A\n\t\t Level-3/350mV \t\t 350mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR3:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nDefault VSwing Pre-Emphasis Setting Table:\nFor HBR:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A", + "WidgetValues": [ + { + "Key": "Default VSwing/Pre-Emphasis Table", + "Value": "1" + }, + { + "Key": "Low Power VSwing/Pre-Emphasis Table", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " eDP Spread Spectrum Clock: ", + "Visibility": "", + "Data": [ + "40", + "Enable_SSC12" + ], + "HelpText": "This feature will allow users to disable/enable Spread Spectrum Clock for eDP.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count: ", + "Visibility": "", + "Data": [ + "42", + "PixelOverlapCount_12" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using Edp Multi-SST(MSO) feature.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixel Overlap", + "Value": "2" + }, + { + "Key": "Three Pixel Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixel Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixel Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "PSR Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Apical Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-12-1", + "PageName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " T3 optimization: ", + "Visibility": "", + "Data": [ + "27", + "eDP_T3_Optimization_12" + ], + "HelpText": "This feature enables or disables T3 optimization.\nWhen enabled, VBIOS/GOP driver will poll for AUX soon after VDD enable until AUX passes or T3 time is reached\nWhen disabled, VBIOS/GOP driver will wait for T3 time before trying the first AUX transaction", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "LCDVCC to HPD high delay (T3): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Vcc_To_Hpd_Delay_12" + ], + "HelpText": "Using this field the delay from LCDVCC to HPD high can be specified in 100uS.\nValid Range: 0 to 200msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Valid video data to Backlight Enable delay (T8): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOn_To_BkltEnable_Delay_12" + ], + "HelpText": "Using this field the delay from Start of Valid video data from Source to Backlight Enable can be specified in 100uS.\nT8 is inclusive of T7.\nValid Range of T7: 0 to 50msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM-On To Backlight Enable delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_PwmOn_To_Bklt_Enable_Delay_12" + ], + "HelpText": "Using this field the delay from PWM-On to Backlight Enable can be specified in 100uS.\nDelay from PWM-On to Backlight Enable is included in delay from Valid video data to Backlight Enable (T8).\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Valid video data to Backlight Enable (T8).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to PWM-Off delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Bklt_Disable_To_PwmOff_Delay_12" + ], + "HelpText": "Using this field delay from Backlight Disable to PWM-Off can be specified in 100uS.\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to End of Valid video data (T9).\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to to End of Valid video data (T9).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to End of Valid video data delay (T9): ", + "Visibility": "", + "Data": [ + "27", + "eDP_BkltDisable_To_DataOff_Delay_12" + ], + "HelpText": "Using this field the delay from Backlight Disable to End of Valid video data can be specified in 100uS.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "End of Valid video data to Power-Off delay (T10): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOff_To_PowerOff_Delay_12" + ], + "HelpText": "Using this field delay from End of Valid video data from Source to Power-Off can be specified in 100uS.\nValid Range: 0 to 500 msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Power-off time (T12): ", + "Visibility": "", + "Data": [ + "27", + "eDP_PowerCycle_Delay_12" + ], + "HelpText": "Using this field Power-off time can be specified in 100uS.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-12-2", + "PageName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Is FastLinkTraining Feature Supported: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Supported_12" + ], + "HelpText": "This feature allows for the selection of the Fast Link Training feature is to be enabled or disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Data Rate: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Data_Rate_12" + ], + "HelpText": "This field specifies Data Rate to be used for Fast Link Training in unit of 200KHz for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.\n\nIn case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then driver would use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate).", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lane Count: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_LaneCount_12" + ], + "HelpText": "This feature allows for the selection of the Lane Count (Port Width) for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Pre-Emphasis: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_PreEmp_12" + ], + "HelpText": "This feature allows for the selection of the Pre-emphasis value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Voltage Swing: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_Vswing_12" + ], + "HelpText": "This feature allows for the selection of the Voltage Swing value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-12-3", + "PageName": "PSR Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Full Link enable: ", + "Visibility": "", + "Data": [ + "9", + "PSR_FullLink_Enable_12" + ], + "HelpText": "When panel is in PSR mode and 'Full Link Enable' is set to Yes, Link is kept in standby state.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Require AUX to wake up: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Require_AUX2Wakeup_12" + ], + "HelpText": "When panel is exiting PSR mode and 'Require AUX to wake up' is set to Yes, the AUX channel handshake(link training is required) will be used.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lines to wait before link standby: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Lines2Wait_B4LinkS3_12" + ], + "HelpText": "This field determines Lines to wait before link standby\n0 lines to wait (Default)\n1 lines to wait\n4 lines to wait\n8 lines to wait\nOthers Reserved", + "WidgetValues": [ + { + "Key": "0 lines to wait", + "Value": "0" + }, + { + "Key": "1 lines to wait", + "Value": "1" + }, + { + "Key": "4 lines to wait", + "Value": "2" + }, + { + "Key": "8 lines to wait", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Idle frames to wait: ", + "Visibility": "", + "Data": [ + "9", + "PSR_IdleFrames2Wait_12" + ], + "HelpText": "Idle frames to wait for PSR enable.\nAllowed values 0-15. Default value is 0.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Clock Recovery Time: ", + "Visibility": "", + "Data": [ + "9", + "PSR_TP1_WaitTime_12" + ], + "HelpText": "This field selects the link training TP1(Training Pattern1) time during PSR exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR1 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR1_TP_2_3_4_WaitTime_12" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR1 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR2 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR2_TP_2_3_4_WaitTime_12" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR2 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "50 usec", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-12-4", + "PageName": "Apical Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Apical Assertive Display IP: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Apical_Display_Ip_Enable_12" + ], + "HelpText": "This field enables/disables the Apical Assertive Display IP for this panel.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel OUI (IEEE OUI): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Oui_12" + ], + "HelpText": "This field specifies the Apical IP specific Panel OUI field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Base Address: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Base_Address_12" + ], + "HelpText": "This field specifies the Apical IP specific DPCD base address field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Irdidix Control 0: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Irdidix_Control0_12" + ], + "HelpText": "This field specifies the Apical IP specific DPCD Irdidix control 0 field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Option Select: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Option_Select_12" + ], + "HelpText": "This field specifies the Apical IP specific DPCD option select field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Backlight: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Backlight_12" + ], + "HelpText": "This field specifies the Apical IP specific backlight value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Ambient Light: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Ambient_Light_12" + ], + "HelpText": "This field specifies the Apical IP specific Ambient light value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Backlight scale: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Backlight_Scale_12" + ], + "HelpText": "This field specifies the Apical IP specific backlight scale field.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-12-5", + "PageName": "Power Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Power Saving Technology (DPST) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DPST_Enable_12" + ], + "HelpText": "This feature determines whether the Intel Display Power Savings Technology (DPST) is enabled or disabled.\nIntel DPST is a display power savings technology that changes the intensity of colors in order to conserve backlight power.\nNote: This technology is only active when the system is running in battery mode and the LFP is the only active display device.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Refresh Rate Switching (DRRS) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DRRS_Enable_12" + ], + "HelpText": "This feature determines whether Intel Display Refresh Rate Switching (DRRS) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Edge Luminance Profile (ELP) : ", + "Visibility": "", + "Data": [ + "44", + "ELP_Enable_12" + ], + "HelpText": "This feature determines whether the ELP feature is enabled or disabled.\nEdge Luminance Profile (ELP) is a panel technology which reduce luminance on the edge of screen to save panel power.\nNote:This technology cannot co-exist with DPST and OPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " OLED Power Saving Technology (OPST) : ", + "Visibility": "", + "Data": [ + "44", + "OPST_Enable_12" + ], + "HelpText": "This feature determines whether the OPST feature is enabled or disabled.\nOLED Power Saving Technology (OPST) is a panel technology which saves power by intelligent, adaptive dimming of midrange pixel values more aggressively than the extremes without compromising the viewability.\nNote: This technology cannot co-exist with ELP and DPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic Media Refresh Rate Switching Enable/Disable ", + "Visibility": "", + "Data": [ + "44", + "DMRRS_Enable_12" + ], + "HelpText": "This feature determines whether Dynamic media refresh rate switching is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Display Lace Support: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Enable_12" + ], + "HelpText": "This feature, when enabled, will set Display Lace Support otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Panel Self Refresh (PSR): ", + "Visibility": "", + "Data": [ + "44", + "PSR_Enable_12" + ], + "HelpText": "This feature determines whether Panel Self Refresh (PSR) feature is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Assertive Display Technology Enable/Disable: ", + "Visibility": "", + "Data": [ + "44", + "ADT_Enable_12" + ], + "HelpText": "This feature determines whether Assertive display technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Automatic Display Brightness (ADB) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "ADB_Enable_12" + ], + "HelpText": "This feature determines whether Intel Automatic Display Brightness is to be enabled. Intel Automatic Display Brightness adjusts the brightness of the embedded Local Flat Panel (LFP) depending on the current ambient light environment.\nWhen enabled, the driver and VBIOS will control the backlight brightness of the LFP depending on the ambient environment if and only if the LFP is the only active display. When disabled, the driver will perform no action.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDP 4k/2k HOBL Feature: ", + "Visibility": "", + "Data": [ + "44", + "eDP_4k_2k_HOBL_feature_Enable_12" + ], + "HelpText": "This feature will allow users to disable/enable the edp 4k/2k HOBL(Hours Of Battery Life) feature by programming relevant registers specific for a platform.\r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display LACE Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Status_12" + ], + "HelpText": "This feature, when enabled, will set Default Display LACE Enabled status otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "DPST_Aggressiveness_Profile_12" + ], + "HelpText": "This feature allows for the selection of DPST Aggressiveness level for this Panel Type.\n1 (Maximum Quality with No DPST)\n2\n3\n4\n5\n6 (Maximum Battery)", + "WidgetValues": [ + { + "Key": "1 - Maximum Quality with No DPST", + "Value": "1" + }, + { + "Key": "2", + "Value": "2" + }, + { + "Key": "3", + "Value": "3" + }, + { + "Key": "4", + "Value": "4" + }, + { + "Key": "5", + "Value": "5" + }, + { + "Key": "6 - Maximum Battery", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LACE Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Aggressiveness_Profile_12" + ], + "HelpText": "This feature allows for the selection of LACE Aggressiveness level for this Panel Type.\nMinimum 0\nModerate 1\nHigh 2", + "WidgetValues": [ + { + "Key": "Minimum", + "Value": "0" + }, + { + "Key": "Moderate", + "Value": "1" + }, + { + "Key": "High", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "ELP Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "ELP_Aggressiveness_Profile_12" + ], + "HelpText": "This feature allows for the selection of ELP Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "OPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "OPST_Aggressiveness_Profile_12" + ], + "HelpText": "This feature allows for the selection of OPST Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display VRR Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "VRR_Status_12" + ], + "HelpText": "VRR (Variable Refresh Rate) is a feature that can continuously and seamlessly vary Refresh Rate on the fly, on displays that support Variable Refresh rate Technologies.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-12-6", + "PageName": "Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Pixel_CLK_12" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Active_12" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Active_12" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Blank_12" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Blank_12" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_FrontPorch_12" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_FrontPorch_12" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Sync_12" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Sync_12" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Image_Size_12" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Image_Size_12" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Common_Flag_12" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-12-7", + "PageName": "LFP PnP ID Table", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "42", + "LFP_Panel_PnP_ID_12" + ], + "HelpText": "This feature allows the 10 bytes of EDID Vendor/Product ID starting at offset 08h to be used as a PnP ID.\n\nTable Definition:\n\tWord: ID Manufacturer Name\n\tWord: ID Product Code\n\tDWord: ID Serial Number\n\tByte: Week of Manufacture\n\tByte: Year of Manufacture", + "WidgetValues": [ + { + "ColumnName": "PnP ID", + "SizeinBytes": "1" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-12-8", + "PageName": "Backlight Control Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Type: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Type_12" + ], + "HelpText": "This feature allows for the selection of the Backlight Inverter type that is to be used to control the backlight brightness of the LFP.\nWhen PWM is selected, the driver and VBIOS will control the backlight brightness via the integrated PWM solution for the applicable chipsets.\nWhen None/External is selected, the system BIOS will control the backlight brightness via the external solution.", + "WidgetValues": [ + { + "Key": "None/External", + "Value": "0" + }, + { + "Key": "PWM", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Source Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Source_Selection_12" + ], + "HelpText": "If panel supports 'Intel HDR AUX Interface', it will always be chosen by default. If not, value in 'PWM Source Selection' will be used", + "WidgetValues": [ + { + "Key": "PWM From Display Engine", + "Value": "2" + }, + { + "Key": "PWM From LCD Panel", + "Value": "3" + }, + { + "Key": "Panel Driver Interface", + "Value": "4" + }, + { + "Key": "VESA eDP AUX Interface", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Controller Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Controller_Selection_12" + ], + "HelpText": "This field allows to select the PWM Controller to be used for the selected Local Flat Panel.This field allows to select the PWM Controller to be used for the selected Local Flat Panel.If Two LFPs are connected then PWM0 and PWM1 must be selected accordingly.", + "WidgetValues": [ + { + "Key": "PWM0", + "Value": "0" + }, + { + "Key": "PWM1", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Polarity: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Polarity_12" + ], + "HelpText": "This feature allows the backlight inverter polarity to be specified.\nNormal means 0 value is minimum brightness.\nInverted means 0 value is maximum brightness.", + "WidgetValues": [ + { + "Key": "Normal", + "Value": "0" + }, + { + "Key": "Inverted", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Minimum Brightness: ", + "Visibility": "", + "Data": [ + "43", + "Post_Min_Brightness_12" + ], + "HelpText": "This feature allows defining the absolute minimum backlight brightness. The driver will never decrease the backlight less than this value. The value must be specified using normal polarity semantics. The value should range from 0 to 255 if the brightness precision bit is chosen to be 8, and it should range from 0 to 65535 if the precision bit is chosen to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "POST Backlight Intensity: ", + "Visibility": "", + "Data": [ + "43", + "Post_Brightness_12" + ], + "HelpText": "This feature is used to set default backlight brightness value of the panel at POST. The value should range from 0 to 255 if the bit precision is chosen to be 8 and it should range from 0 to 65535 if the brightness bit precision is chosent to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Brightness Precision Bits: ", + "Visibility": "", + "Data": [ + "43", + "BrightnessPrecisionBits_12" + ], + "HelpText": "This field represents the range of brightness in terms of bit precision.\n 8 = Brightness range of 0 to 255.\n 16 = Brightness range of 0 to 65535", + "WidgetValues": [ + { + "Key": "8", + "Value": "8" + }, + { + "Key": "16", + "Value": "16" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM Inverter Frequency (Hz): ", + "Visibility": "", + "Data": [ + "43", + "PWM_Frequency_12" + ], + "HelpText": "This feature allows for the definition of the frequency needed for PWM Inverter.\nNote: The frequency range (entered as a decimal number), for the integrated PWM is 200Hz - 40KHz.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Intel HDR DPCD Refresh Timeout (unit - 10 micro seconds): ", + "Visibility": "", + "Data": [ + "43", + "HdrDpcdRefreshTimeout_12" + ], + "HelpText": "This field allows to configure the refresh timeout of Intel HDR DPCDs for different TCON Vendors.\nNote:\n\tThe value is in units of 10 microseconds.\n\tThe range (entered as a decimal number), for the timeout is 0-65535", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-12-9", + "PageName": "Chromaticity Control", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Chromaticity Control Feature: ", + "Visibility": "", + "Data": [ + "46", + "Chromacity_Enable_12" + ], + "HelpText": "This bit enables Chromaticity feature.\nIf this bit is enabled, EDID values for chromaticity will be used, else feature is disabled.\nFeature will be supported for Panels that support EDID version 1.4 or higher.\nPlease refer to section 3.7 of EDID Specification 1.4.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override the EDID values: ", + "Visibility": "", + "Data": [ + "46", + "Override_EDID_Data_12" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override EDID values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_Green_bits (Bits 1:0 at 19h): ", + "Visibility": "", + "Data": [ + "46", + "Red_Green_12" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Red, Green Coordinates represented as Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1 Gy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_White_bits (Bits 1:0 at 1Ah): ", + "Visibility": "", + "Data": [ + "46", + "Blue_White_12" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Blue, White Coordinates represented as Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_x (Bits 9:2 at 1Bh): ", + "Visibility": "", + "Data": [ + "46", + "Red_x_12" + ], + "HelpText": "Bits 9:2 of red color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_y (Bits 9:2 at 1Ch): ", + "Visibility": "", + "Data": [ + "46", + "Red_y_12" + ], + "HelpText": "Bits 9:2 of red color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_x (Bits 9:2 at 1Dh): ", + "Visibility": "", + "Data": [ + "46", + "Green_x_12" + ], + "HelpText": "Bits 9:2 of Green color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_y (Bits 9:2 at 1Eh): ", + "Visibility": "", + "Data": [ + "46", + "Green_y_12" + ], + "HelpText": "Bits 9:2 of Green color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_x (Bits 9:2 at 1Fh): ", + "Visibility": "", + "Data": [ + "46", + "Blue_x_12" + ], + "HelpText": "Bits 9:2 of Blue color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_y (Bits 9:2 at 20h): ", + "Visibility": "", + "Data": [ + "46", + "Blue_y_12" + ], + "HelpText": "Bits 9:2 of Blue color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_x (Bits 9:2 at 21h): ", + "Visibility": "", + "Data": [ + "46", + "White_x_12" + ], + "HelpText": "Bits 9:2 of White color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_y (Bits 9:2 at 22h): ", + "Visibility": "", + "Data": [ + "46", + "White_y_12" + ], + "HelpText": "Bits 9:2 of White color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Luminance values ", + "Visibility": "", + "Data": [ + "46", + "Override_LUM_Data_12" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override luminance values following VBT values", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Minimum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MinLuminance_12" + ], + "HelpText": "Minimum luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum full frame luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxFullLuminance_12" + ], + "HelpText": "Maximum Full frame luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxLuminance_12" + ], + "HelpText": "Maximum luminance value(Relatively smaller portion of screen).\n2 byte value, encoded in IEEE 754 half-precision binary floating point format.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Gamma values: ", + "Visibility": "", + "Data": [ + "46", + "Override_Gamma_Data_12" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override gamma values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel gamma: ", + "Visibility": "", + "Data": [ + "46", + "Gamma_12" + ], + "HelpText": "Value shall define the gamma range, from 1.00 to 3.54, as follows:\nField Value = (Gamma (value in float) x 100) - 100\nField values range from 00h through FFh.\nFFh = No gamma information shall be provided", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-12-10", + "PageName": "VESA DSC Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Major Version: ", + "Visibility": "", + "Data": [ + "56", + "C12_Major_Dsc_Version" + ], + "HelpText": "VESA DSC Major revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Minor Version: ", + "Visibility": "", + "Data": [ + "56", + "C12_Minor_Dsc_Version" + ], + "HelpText": "VESA DSC Minor revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Block prediction supported: ", + "Visibility": "", + "Data": [ + "56", + "C12_Blk_Prediction_En" + ], + "HelpText": "Sink supports block prediction as per the VESA DSC Spec.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "RC Buffer Block size as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C12_RC_Block_Size" + ], + "HelpText": "RC buffer block size for a single RC buffer as defined by the VESA DSC spec.", + "WidgetValues": [ + { + "Key": "1 KB", + "Value": "0" + }, + { + "Key": "4 KB", + "Value": "1" + }, + { + "Key": "16 KB", + "Value": "2" + }, + { + "Key": "64 KB", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Number of RC buffer blocks as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C12_Dsc_RC_Buf_Size" + ], + "HelpText": "This field defines the number of RC buffers as per VESA DSC spec.\nThe number of RC buffers used by the software shall be (Value + 1) where Value is in range 0 to 127.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Slices per line supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C12_Dsc_Slices_Per_Line" + ], + "HelpText": "This field defines the slices per line supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 31-10\t\t Bit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tReserved\t\t 24\t 20\t 16\t 12\t 10\t 8\t 6\t 4\t 2\t 1\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower slices per line than maximum selected field. i.e. If it supports say 8 slices per line, it will also support 4/2/1 slices per line", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Line buffer depth as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C12_Line_Buffer_Depth" + ], + "HelpText": "Line buffer depth in bits as per VESA DSC spec.", + "WidgetValues": [ + { + "Key": "8 bits", + "Value": "0" + }, + { + "Key": "9 bits", + "Value": "1" + }, + { + "Key": "10 bits", + "Value": "2" + }, + { + "Key": "11 bits", + "Value": "3" + }, + { + "Key": "12 bits", + "Value": "4" + }, + { + "Key": "13 bits", + "Value": "5" + }, + { + "Key": "14 bits", + "Value": "6" + }, + { + "Key": "15 bits", + "Value": "7" + }, + { + "Key": "16 bits", + "Value": "8" + } + ] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Input compression BPC supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C12_Dsc_Bpc" + ], + "HelpText": "This field defines the compression input bpc supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 7-4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tRsvd\t 12 bpc\t 10bpc\t 8bpc\t Rsvd\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower bpc values than the maximum selected field. i.e. If it supports say 12bpc, it will also support 10 and 8bpc as well", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum supported compression BPP: ", + "Visibility": "", + "Data": [ + "56", + "C12_Dsc_Max_Bpp" + ], + "HelpText": "As of today, we are supporting 6/8/10/12 BPP for compression output.\nSelect the most appropriate BPP as supported by the sink.", + "WidgetValues": [ + { + "Key": "6 Bits per pixel", + "Value": "0" + }, + { + "Key": "8 Bits per pixel", + "Value": "1" + }, + { + "Key": "10 Bits per pixel", + "Value": "2" + }, + { + "Key": "12 Bits per pixel", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Slice height supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C12_Dsc_Slice_Height" + ], + "HelpText": "Slice height supported by the sink device for DSC slice.\nNote: Slice height must divide the picture height uniformly.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-13", + "PageName": "Panel #13", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "LabelHeading", + "WidgetName": "Common LFP Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryAsci", + "WidgetName": " LFP Panel Name: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Name_13" + ], + "HelpText": "This feature defines the LFP panel name, used by driver only. Panel name can be only of 13 characters maximum and rest of the characters will be truncated.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target X-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Width_13" + ], + "HelpText": "This value specifies the Target X-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target Y-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Height_13" + ], + "HelpText": "This value specifies the Target Y-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " DPS Panel Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Seamless DRRS Minimum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "42", + "Seamless_DRRS_Min_RR_13" + ], + "HelpText": "Using this field the minimum Refresh Rate to be used for Seamless DRRS feature can be entered in Hertz.\nNote: Graphics driver will use this field only when EDID support is disabled in VBT configuration.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " BackLight Technology Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " BackLight Technology: ", + "Visibility": "", + "Data": [ + "40", + "Blt_Control_13" + ], + "HelpText": "This feature allows OEM to select the Backlight Technology.", + "WidgetValues": [ + { + "Key": "LED Backlight", + "Value": "2" + }, + { + "Key": "CCFL Backlight", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Rotation: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Rotation_13" + ], + "HelpText": "This feature specifies the Panel Rotation of LFP panel used.", + "WidgetValues": [ + { + "Key": "0 degree", + "Value": "0" + }, + { + "Key": "180 degree", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Position: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Position_13" + ], + "HelpText": "This feature specifies the Panel Position of LFP panel used.", + "WidgetValues": [ + { + "Key": "Inside Shell", + "Value": "0" + }, + { + "Key": "Outside Shell", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual LFP Port Sync: ", + "Visibility": "", + "Data": [ + "42", + "EnablePortSync_Bit_13" + ], + "HelpText": "This feature will allow users to disable/enable Dual LFP Port Sync and it is applicable for DDI-A, DDI-B in case of eDP and DSI-0, DSI-1 in case of MIPI. \r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " GPU Dithering for Banding artifacts: ", + "Visibility": "", + "Data": [ + "42", + "EnableDithering_Bit_13" + ], + "HelpText": "This field can be used to enable dithering from the source side for reducing banding artifacts on the visual quality features like DPST.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP PnP ID Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Backlight Control Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Chromaticity Control", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "VESA DSC Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated eDP Settings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Edp Max Port Link Rate (in 200 Khz): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Max_Port_Link_Rate_13" + ], + "HelpText": "This field specifies EDP Max Port Link Rate supported by the port in unit of 200KHz.\nDefault value would be \"0\", in which case Display Drivers should consider EDP Max Port Link Rate to be the Platform supported Max Link Rate.\nOnly when OEM's need to limit to particular Link Rate can enter the value as mentioned in below table.\n\nNote:\n1) OEM's need to enter the values mentioned from below table only.\n2) If value entered is not matching with any of the below values then Platform supported Max Link Rate should be considere as EDP Max Port Link Rate by the display drivers.\n3) In case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then we need to use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate)\n---------------------------------------------------------\n|\tLink Rate(Gbps)\t|\t Value to enter in text field\t|\n|\t \t\t|\t in terms of 200KHZ \t|\n---------------------------------------------------------\n|\t 1.62 \t\t|\t 8100 \t|\n|\t 2.16 \t\t|\t 10800 \t|\n|\t 2.43 \t\t|\t 12150 \t|\n|\t 2.7 \t\t|\t 13500 \t|\n|\t 3.24 \t\t|\t 16200 \t|\n|\t 3.78 \t\t|\t 18900 \t|\n|\t 4.32 \t\t|\t 21600 \t|\n|\t 5.4 \t\t|\t 27000 \t|\n|\t 6.48 \t\t|\t 32400 \t|\n|\t 6.75 \t\t|\t 33750 \t|\n|\t 8.1 \t\t|\t 40500 \t|\n", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Color Depth: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Color_Depth_13" + ], + "HelpText": "This feature specifies the color depth of eDP panel used.", + "WidgetValues": [ + { + "Key": "18-bit Color Depth", + "Value": "0" + }, + { + "Key": "24-bit Color Depth", + "Value": "1" + }, + { + "Key": "30-bit Color Depth", + "Value": "2" + }, + { + "Key": "36-bit Color Depth", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Select VSwing/Pre-Emphasis table : ", + "Visibility": "", + "Data": [ + "27", + "eDP_VswingPreEmph_13" + ], + "HelpText": "This feature selects the VSwing Pre-Emphasis setting table to be used. For Tigerlake, based on the selection respective table will be used.\nTables for Tigerlake:\nLow Power VSwing Pre-Emphasis Setting Table:\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/200mV \t\t 200mV, 0.0db \t\t 200mV, 1.9db \t\t 200mV, 3.5db \t\t 200mV, 4.9db\nSwing \t\t Level-1/250mV \t\t 250mV, 0.0db \t\t 250mV, 1.6db \t\t 250mV, 2.9db \t\t N/A\n(mV) \t\t Level-2/300mV \t\t 300mV, 0.0db \t\t 300mV, 1.3db \t\t N/A \t\t N/A\n\t\t Level-3/350mV \t\t 350mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR3:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nDefault VSwing Pre-Emphasis Setting Table:\nFor HBR:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A", + "WidgetValues": [ + { + "Key": "Default VSwing/Pre-Emphasis Table", + "Value": "1" + }, + { + "Key": "Low Power VSwing/Pre-Emphasis Table", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " eDP Spread Spectrum Clock: ", + "Visibility": "", + "Data": [ + "40", + "Enable_SSC13" + ], + "HelpText": "This feature will allow users to disable/enable Spread Spectrum Clock for eDP.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count: ", + "Visibility": "", + "Data": [ + "42", + "PixelOverlapCount_13" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using Edp Multi-SST(MSO) feature.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixel Overlap", + "Value": "2" + }, + { + "Key": "Three Pixel Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixel Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixel Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "PSR Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Apical Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-13-1", + "PageName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " T3 optimization: ", + "Visibility": "", + "Data": [ + "27", + "eDP_T3_Optimization_13" + ], + "HelpText": "This feature enables or disables T3 optimization.\nWhen enabled, VBIOS/GOP driver will poll for AUX soon after VDD enable until AUX passes or T3 time is reached\nWhen disabled, VBIOS/GOP driver will wait for T3 time before trying the first AUX transaction", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "LCDVCC to HPD high delay (T3): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Vcc_To_Hpd_Delay_13" + ], + "HelpText": "Using this field the delay from LCDVCC to HPD high can be specified in 100uS.\nValid Range: 0 to 200msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Valid video data to Backlight Enable delay (T8): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOn_To_BkltEnable_Delay_13" + ], + "HelpText": "Using this field the delay from Start of Valid video data from Source to Backlight Enable can be specified in 100uS.\nT8 is inclusive of T7.\nValid Range of T7: 0 to 50msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM-On To Backlight Enable delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_PwmOn_To_Bklt_Enable_Delay_13" + ], + "HelpText": "Using this field the delay from PWM-On to Backlight Enable can be specified in 100uS.\nDelay from PWM-On to Backlight Enable is included in delay from Valid video data to Backlight Enable (T8).\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Valid video data to Backlight Enable (T8).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to PWM-Off delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Bklt_Disable_To_PwmOff_Delay_13" + ], + "HelpText": "Using this field delay from Backlight Disable to PWM-Off can be specified in 100uS.\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to End of Valid video data (T9).\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to to End of Valid video data (T9).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to End of Valid video data delay (T9): ", + "Visibility": "", + "Data": [ + "27", + "eDP_BkltDisable_To_DataOff_Delay_13" + ], + "HelpText": "Using this field the delay from Backlight Disable to End of Valid video data can be specified in 100uS.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "End of Valid video data to Power-Off delay (T10): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOff_To_PowerOff_Delay_13" + ], + "HelpText": "Using this field delay from End of Valid video data from Source to Power-Off can be specified in 100uS.\nValid Range: 0 to 500 msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Power-off time (T12): ", + "Visibility": "", + "Data": [ + "27", + "eDP_PowerCycle_Delay_13" + ], + "HelpText": "Using this field Power-off time can be specified in 100uS.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-13-2", + "PageName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Is FastLinkTraining Feature Supported: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Supported_13" + ], + "HelpText": "This feature allows for the selection of the Fast Link Training feature is to be enabled or disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Data Rate: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Data_Rate_13" + ], + "HelpText": "This field specifies Data Rate to be used for Fast Link Training in unit of 200KHz for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.\n\nIn case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then driver would use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate).", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lane Count: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_LaneCount_13" + ], + "HelpText": "This feature allows for the selection of the Lane Count (Port Width) for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Pre-Emphasis: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_PreEmp_13" + ], + "HelpText": "This feature allows for the selection of the Pre-emphasis value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Voltage Swing: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_Vswing_13" + ], + "HelpText": "This feature allows for the selection of the Voltage Swing value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-13-3", + "PageName": "PSR Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Full Link enable: ", + "Visibility": "", + "Data": [ + "9", + "PSR_FullLink_Enable_13" + ], + "HelpText": "When panel is in PSR mode and 'Full Link Enable' is set to Yes, Link is kept in standby state.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Require AUX to wake up: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Require_AUX2Wakeup_13" + ], + "HelpText": "When panel is exiting PSR mode and 'Require AUX to wake up' is set to Yes, the AUX channel handshake(link training is required) will be used.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lines to wait before link standby: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Lines2Wait_B4LinkS3_13" + ], + "HelpText": "This field determines Lines to wait before link standby\n0 lines to wait (Default)\n1 lines to wait\n4 lines to wait\n8 lines to wait\nOthers Reserved", + "WidgetValues": [ + { + "Key": "0 lines to wait", + "Value": "0" + }, + { + "Key": "1 lines to wait", + "Value": "1" + }, + { + "Key": "4 lines to wait", + "Value": "2" + }, + { + "Key": "8 lines to wait", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Idle frames to wait: ", + "Visibility": "", + "Data": [ + "9", + "PSR_IdleFrames2Wait_13" + ], + "HelpText": "Idle frames to wait for PSR enable.\nAllowed values 0-15. Default value is 0.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Clock Recovery Time: ", + "Visibility": "", + "Data": [ + "9", + "PSR_TP1_WaitTime_13" + ], + "HelpText": "This field selects the link training TP1(Training Pattern1) time during PSR exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR1 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR1_TP_2_3_4_WaitTime_13" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR1 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR2 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR2_TP_2_3_4_WaitTime_13" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR2 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "50 usec", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-13-4", + "PageName": "Apical Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Apical Assertive Display IP: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Apical_Display_Ip_Enable_13" + ], + "HelpText": "This field enables/disables the Apical Assertive Display IP for this panel.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel OUI (IEEE OUI): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Oui_13" + ], + "HelpText": "This field specifies the Apical IP specific Panel OUI field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Base Address: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Base_Address_13" + ], + "HelpText": "This field specifies the Apical IP specific DPCD base address field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Irdidix Control 0: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Irdidix_Control0_13" + ], + "HelpText": "This field specifies the Apical IP specific DPCD Irdidix control 0 field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Option Select: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Option_Select_13" + ], + "HelpText": "This field specifies the Apical IP specific DPCD option select field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Backlight: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Backlight_13" + ], + "HelpText": "This field specifies the Apical IP specific backlight value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Ambient Light: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Ambient_Light_13" + ], + "HelpText": "This field specifies the Apical IP specific Ambient light value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Backlight scale: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Backlight_Scale_13" + ], + "HelpText": "This field specifies the Apical IP specific backlight scale field.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-13-5", + "PageName": "Power Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Power Saving Technology (DPST) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DPST_Enable_13" + ], + "HelpText": "This feature determines whether the Intel Display Power Savings Technology (DPST) is enabled or disabled.\nIntel DPST is a display power savings technology that changes the intensity of colors in order to conserve backlight power.\nNote: This technology is only active when the system is running in battery mode and the LFP is the only active display device.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Refresh Rate Switching (DRRS) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DRRS_Enable_13" + ], + "HelpText": "This feature determines whether Intel Display Refresh Rate Switching (DRRS) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Edge Luminance Profile (ELP) : ", + "Visibility": "", + "Data": [ + "44", + "ELP_Enable_13" + ], + "HelpText": "This feature determines whether the ELP feature is enabled or disabled.\nEdge Luminance Profile (ELP) is a panel technology which reduce luminance on the edge of screen to save panel power.\nNote:This technology cannot co-exist with DPST and OPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " OLED Power Saving Technology (OPST) : ", + "Visibility": "", + "Data": [ + "44", + "OPST_Enable_13" + ], + "HelpText": "This feature determines whether the OPST feature is enabled or disabled.\nOLED Power Saving Technology (OPST) is a panel technology which saves power by intelligent, adaptive dimming of midrange pixel values more aggressively than the extremes without compromising the viewability.\nNote: This technology cannot co-exist with ELP and DPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic Media Refresh Rate Switching Enable/Disable ", + "Visibility": "", + "Data": [ + "44", + "DMRRS_Enable_13" + ], + "HelpText": "This feature determines whether Dynamic media refresh rate switching is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Display Lace Support: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Enable_13" + ], + "HelpText": "This feature, when enabled, will set Display Lace Support otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Panel Self Refresh (PSR): ", + "Visibility": "", + "Data": [ + "44", + "PSR_Enable_13" + ], + "HelpText": "This feature determines whether Panel Self Refresh (PSR) feature is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Assertive Display Technology Enable/Disable: ", + "Visibility": "", + "Data": [ + "44", + "ADT_Enable_13" + ], + "HelpText": "This feature determines whether Assertive display technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Automatic Display Brightness (ADB) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "ADB_Enable_13" + ], + "HelpText": "This feature determines whether Intel Automatic Display Brightness is to be enabled. Intel Automatic Display Brightness adjusts the brightness of the embedded Local Flat Panel (LFP) depending on the current ambient light environment.\nWhen enabled, the driver and VBIOS will control the backlight brightness of the LFP depending on the ambient environment if and only if the LFP is the only active display. When disabled, the driver will perform no action.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDP 4k/2k HOBL Feature: ", + "Visibility": "", + "Data": [ + "44", + "eDP_4k_2k_HOBL_feature_Enable_13" + ], + "HelpText": "This feature will allow users to disable/enable the edp 4k/2k HOBL(Hours Of Battery Life) feature by programming relevant registers specific for a platform.\r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display LACE Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Status_13" + ], + "HelpText": "This feature, when enabled, will set Default Display LACE Enabled status otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "DPST_Aggressiveness_Profile_13" + ], + "HelpText": "This feature allows for the selection of DPST Aggressiveness level for this Panel Type.\n1 (Maximum Quality with No DPST)\n2\n3\n4\n5\n6 (Maximum Battery)", + "WidgetValues": [ + { + "Key": "1 - Maximum Quality with No DPST", + "Value": "1" + }, + { + "Key": "2", + "Value": "2" + }, + { + "Key": "3", + "Value": "3" + }, + { + "Key": "4", + "Value": "4" + }, + { + "Key": "5", + "Value": "5" + }, + { + "Key": "6 - Maximum Battery", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LACE Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Aggressiveness_Profile_13" + ], + "HelpText": "This feature allows for the selection of LACE Aggressiveness level for this Panel Type.\nMinimum 0\nModerate 1\nHigh 2", + "WidgetValues": [ + { + "Key": "Minimum", + "Value": "0" + }, + { + "Key": "Moderate", + "Value": "1" + }, + { + "Key": "High", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "ELP Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "ELP_Aggressiveness_Profile_13" + ], + "HelpText": "This feature allows for the selection of ELP Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "OPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "OPST_Aggressiveness_Profile_13" + ], + "HelpText": "This feature allows for the selection of OPST Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display VRR Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "VRR_Status_13" + ], + "HelpText": "VRR (Variable Refresh Rate) is a feature that can continuously and seamlessly vary Refresh Rate on the fly, on displays that support Variable Refresh rate Technologies.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-13-6", + "PageName": "Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Pixel_CLK_13" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Active_13" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Active_13" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Blank_13" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Blank_13" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_FrontPorch_13" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_FrontPorch_13" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Sync_13" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Sync_13" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Image_Size_13" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Image_Size_13" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Common_Flag_13" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-13-7", + "PageName": "LFP PnP ID Table", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "42", + "LFP_Panel_PnP_ID_13" + ], + "HelpText": "This feature allows the 10 bytes of EDID Vendor/Product ID starting at offset 08h to be used as a PnP ID.\n\nTable Definition:\n\tWord: ID Manufacturer Name\n\tWord: ID Product Code\n\tDWord: ID Serial Number\n\tByte: Week of Manufacture\n\tByte: Year of Manufacture", + "WidgetValues": [ + { + "ColumnName": "PnP ID", + "SizeinBytes": "1" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-13-8", + "PageName": "Backlight Control Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Type: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Type_13" + ], + "HelpText": "This feature allows for the selection of the Backlight Inverter type that is to be used to control the backlight brightness of the LFP.\nWhen PWM is selected, the driver and VBIOS will control the backlight brightness via the integrated PWM solution for the applicable chipsets.\nWhen None/External is selected, the system BIOS will control the backlight brightness via the external solution.", + "WidgetValues": [ + { + "Key": "None/External", + "Value": "0" + }, + { + "Key": "PWM", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Source Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Source_Selection_13" + ], + "HelpText": "If panel supports 'Intel HDR AUX Interface', it will always be chosen by default. If not, value in 'PWM Source Selection' will be used", + "WidgetValues": [ + { + "Key": "PWM From Display Engine", + "Value": "2" + }, + { + "Key": "PWM From LCD Panel", + "Value": "3" + }, + { + "Key": "Panel Driver Interface", + "Value": "4" + }, + { + "Key": "VESA eDP AUX Interface", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Controller Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Controller_Selection_13" + ], + "HelpText": "This field allows to select the PWM Controller to be used for the selected Local Flat Panel.This field allows to select the PWM Controller to be used for the selected Local Flat Panel.If Two LFPs are connected then PWM0 and PWM1 must be selected accordingly.", + "WidgetValues": [ + { + "Key": "PWM0", + "Value": "0" + }, + { + "Key": "PWM1", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Polarity: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Polarity_13" + ], + "HelpText": "This feature allows the backlight inverter polarity to be specified.\nNormal means 0 value is minimum brightness.\nInverted means 0 value is maximum brightness.", + "WidgetValues": [ + { + "Key": "Normal", + "Value": "0" + }, + { + "Key": "Inverted", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Minimum Brightness: ", + "Visibility": "", + "Data": [ + "43", + "Post_Min_Brightness_13" + ], + "HelpText": "This feature allows defining the absolute minimum backlight brightness. The driver will never decrease the backlight less than this value. The value must be specified using normal polarity semantics. The value should range from 0 to 255 if the brightness precision bit is chosen to be 8, and it should range from 0 to 65535 if the precision bit is chosen to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "POST Backlight Intensity: ", + "Visibility": "", + "Data": [ + "43", + "Post_Brightness_13" + ], + "HelpText": "This feature is used to set default backlight brightness value of the panel at POST. The value should range from 0 to 255 if the bit precision is chosen to be 8 and it should range from 0 to 65535 if the brightness bit precision is chosent to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Brightness Precision Bits: ", + "Visibility": "", + "Data": [ + "43", + "BrightnessPrecisionBits_13" + ], + "HelpText": "This field represents the range of brightness in terms of bit precision.\n 8 = Brightness range of 0 to 255.\n 16 = Brightness range of 0 to 65535", + "WidgetValues": [ + { + "Key": "8", + "Value": "8" + }, + { + "Key": "16", + "Value": "16" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM Inverter Frequency (Hz): ", + "Visibility": "", + "Data": [ + "43", + "PWM_Frequency_13" + ], + "HelpText": "This feature allows for the definition of the frequency needed for PWM Inverter.\nNote: The frequency range (entered as a decimal number), for the integrated PWM is 200Hz - 40KHz.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Intel HDR DPCD Refresh Timeout (unit - 10 micro seconds): ", + "Visibility": "", + "Data": [ + "43", + "HdrDpcdRefreshTimeout_13" + ], + "HelpText": "This field allows to configure the refresh timeout of Intel HDR DPCDs for different TCON Vendors.\nNote:\n\tThe value is in units of 10 microseconds.\n\tThe range (entered as a decimal number), for the timeout is 0-65535", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-13-9", + "PageName": "Chromaticity Control", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Chromaticity Control Feature: ", + "Visibility": "", + "Data": [ + "46", + "Chromacity_Enable_13" + ], + "HelpText": "This bit enables Chromaticity feature.\nIf this bit is enabled, EDID values for chromaticity will be used, else feature is disabled.\nFeature will be supported for Panels that support EDID version 1.4 or higher.\nPlease refer to section 3.7 of EDID Specification 1.4.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override the EDID values: ", + "Visibility": "", + "Data": [ + "46", + "Override_EDID_Data_13" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override EDID values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_Green_bits (Bits 1:0 at 19h): ", + "Visibility": "", + "Data": [ + "46", + "Red_Green_13" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Red, Green Coordinates represented as Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1 Gy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_White_bits (Bits 1:0 at 1Ah): ", + "Visibility": "", + "Data": [ + "46", + "Blue_White_13" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Blue, White Coordinates represented as Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_x (Bits 9:2 at 1Bh): ", + "Visibility": "", + "Data": [ + "46", + "Red_x_13" + ], + "HelpText": "Bits 9:2 of red color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_y (Bits 9:2 at 1Ch): ", + "Visibility": "", + "Data": [ + "46", + "Red_y_13" + ], + "HelpText": "Bits 9:2 of red color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_x (Bits 9:2 at 1Dh): ", + "Visibility": "", + "Data": [ + "46", + "Green_x_13" + ], + "HelpText": "Bits 9:2 of Green color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_y (Bits 9:2 at 1Eh): ", + "Visibility": "", + "Data": [ + "46", + "Green_y_13" + ], + "HelpText": "Bits 9:2 of Green color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_x (Bits 9:2 at 1Fh): ", + "Visibility": "", + "Data": [ + "46", + "Blue_x_13" + ], + "HelpText": "Bits 9:2 of Blue color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_y (Bits 9:2 at 20h): ", + "Visibility": "", + "Data": [ + "46", + "Blue_y_13" + ], + "HelpText": "Bits 9:2 of Blue color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_x (Bits 9:2 at 21h): ", + "Visibility": "", + "Data": [ + "46", + "White_x_13" + ], + "HelpText": "Bits 9:2 of White color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_y (Bits 9:2 at 22h): ", + "Visibility": "", + "Data": [ + "46", + "White_y_13" + ], + "HelpText": "Bits 9:2 of White color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Luminance values ", + "Visibility": "", + "Data": [ + "46", + "Override_LUM_Data_13" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override luminance values following VBT values", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Minimum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MinLuminance_13" + ], + "HelpText": "Minimum luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum full frame luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxFullLuminance_13" + ], + "HelpText": "Maximum Full frame luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxLuminance_13" + ], + "HelpText": "Maximum luminance value(Relatively smaller portion of screen).\n2 byte value, encoded in IEEE 754 half-precision binary floating point format.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Gamma values: ", + "Visibility": "", + "Data": [ + "46", + "Override_Gamma_Data_13" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override gamma values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel gamma: ", + "Visibility": "", + "Data": [ + "46", + "Gamma_13" + ], + "HelpText": "Value shall define the gamma range, from 1.00 to 3.54, as follows:\nField Value = (Gamma (value in float) x 100) - 100\nField values range from 00h through FFh.\nFFh = No gamma information shall be provided", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-13-10", + "PageName": "VESA DSC Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Major Version: ", + "Visibility": "", + "Data": [ + "56", + "C13_Major_Dsc_Version" + ], + "HelpText": "VESA DSC Major revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Minor Version: ", + "Visibility": "", + "Data": [ + "56", + "C13_Minor_Dsc_Version" + ], + "HelpText": "VESA DSC Minor revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Block prediction supported: ", + "Visibility": "", + "Data": [ + "56", + "C13_Blk_Prediction_En" + ], + "HelpText": "Sink supports block prediction as per the VESA DSC Spec.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "RC Buffer Block size as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C13_RC_Block_Size" + ], + "HelpText": "RC buffer block size for a single RC buffer as defined by the VESA DSC spec.", + "WidgetValues": [ + { + "Key": "1 KB", + "Value": "0" + }, + { + "Key": "4 KB", + "Value": "1" + }, + { + "Key": "16 KB", + "Value": "2" + }, + { + "Key": "64 KB", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Number of RC buffer blocks as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C13_Dsc_RC_Buf_Size" + ], + "HelpText": "This field defines the number of RC buffers as per VESA DSC spec.\nThe number of RC buffers used by the software shall be (Value + 1) where Value is in range 0 to 127.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Slices per line supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C13_Dsc_Slices_Per_Line" + ], + "HelpText": "This field defines the slices per line supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 31-10\t\t Bit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tReserved\t\t 24\t 20\t 16\t 12\t 10\t 8\t 6\t 4\t 2\t 1\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower slices per line than maximum selected field. i.e. If it supports say 8 slices per line, it will also support 4/2/1 slices per line", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Line buffer depth as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C13_Line_Buffer_Depth" + ], + "HelpText": "Line buffer depth in bits as per VESA DSC spec.", + "WidgetValues": [ + { + "Key": "8 bits", + "Value": "0" + }, + { + "Key": "9 bits", + "Value": "1" + }, + { + "Key": "10 bits", + "Value": "2" + }, + { + "Key": "11 bits", + "Value": "3" + }, + { + "Key": "12 bits", + "Value": "4" + }, + { + "Key": "13 bits", + "Value": "5" + }, + { + "Key": "14 bits", + "Value": "6" + }, + { + "Key": "15 bits", + "Value": "7" + }, + { + "Key": "16 bits", + "Value": "8" + } + ] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Input compression BPC supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C13_Dsc_Bpc" + ], + "HelpText": "This field defines the compression input bpc supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 7-4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tRsvd\t 12 bpc\t 10bpc\t 8bpc\t Rsvd\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower bpc values than the maximum selected field. i.e. If it supports say 12bpc, it will also support 10 and 8bpc as well", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum supported compression BPP: ", + "Visibility": "", + "Data": [ + "56", + "C13_Dsc_Max_Bpp" + ], + "HelpText": "As of today, we are supporting 6/8/10/12 BPP for compression output.\nSelect the most appropriate BPP as supported by the sink.", + "WidgetValues": [ + { + "Key": "6 Bits per pixel", + "Value": "0" + }, + { + "Key": "8 Bits per pixel", + "Value": "1" + }, + { + "Key": "10 Bits per pixel", + "Value": "2" + }, + { + "Key": "12 Bits per pixel", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Slice height supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C13_Dsc_Slice_Height" + ], + "HelpText": "Slice height supported by the sink device for DSC slice.\nNote: Slice height must divide the picture height uniformly.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-14", + "PageName": "Panel #14", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "LabelHeading", + "WidgetName": "Common LFP Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryAsci", + "WidgetName": " LFP Panel Name: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Name_14" + ], + "HelpText": "This feature defines the LFP panel name, used by driver only. Panel name can be only of 13 characters maximum and rest of the characters will be truncated.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target X-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Width_14" + ], + "HelpText": "This value specifies the Target X-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target Y-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Height_14" + ], + "HelpText": "This value specifies the Target Y-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " DPS Panel Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Seamless DRRS Minimum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "42", + "Seamless_DRRS_Min_RR_14" + ], + "HelpText": "Using this field the minimum Refresh Rate to be used for Seamless DRRS feature can be entered in Hertz.\nNote: Graphics driver will use this field only when EDID support is disabled in VBT configuration.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " BackLight Technology Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " BackLight Technology: ", + "Visibility": "", + "Data": [ + "40", + "Blt_Control_14" + ], + "HelpText": "This feature allows OEM to select the Backlight Technology.", + "WidgetValues": [ + { + "Key": "LED Backlight", + "Value": "2" + }, + { + "Key": "CCFL Backlight", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Rotation: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Rotation_14" + ], + "HelpText": "This feature specifies the Panel Rotation of LFP panel used.", + "WidgetValues": [ + { + "Key": "0 degree", + "Value": "0" + }, + { + "Key": "180 degree", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Position: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Position_14" + ], + "HelpText": "This feature specifies the Panel Position of LFP panel used.", + "WidgetValues": [ + { + "Key": "Inside Shell", + "Value": "0" + }, + { + "Key": "Outside Shell", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual LFP Port Sync: ", + "Visibility": "", + "Data": [ + "42", + "EnablePortSync_Bit_14" + ], + "HelpText": "This feature will allow users to disable/enable Dual LFP Port Sync and it is applicable for DDI-A, DDI-B in case of eDP and DSI-0, DSI-1 in case of MIPI. \r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " GPU Dithering for Banding artifacts: ", + "Visibility": "", + "Data": [ + "42", + "EnableDithering_Bit_14" + ], + "HelpText": "This field can be used to enable dithering from the source side for reducing banding artifacts on the visual quality features like DPST.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP PnP ID Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Backlight Control Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Chromaticity Control", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "VESA DSC Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated eDP Settings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Edp Max Port Link Rate (in 200 Khz): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Max_Port_Link_Rate_14" + ], + "HelpText": "This field specifies EDP Max Port Link Rate supported by the port in unit of 200KHz.\nDefault value would be \"0\", in which case Display Drivers should consider EDP Max Port Link Rate to be the Platform supported Max Link Rate.\nOnly when OEM's need to limit to particular Link Rate can enter the value as mentioned in below table.\n\nNote:\n1) OEM's need to enter the values mentioned from below table only.\n2) If value entered is not matching with any of the below values then Platform supported Max Link Rate should be considere as EDP Max Port Link Rate by the display drivers.\n3) In case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then we need to use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate)\n---------------------------------------------------------\n|\tLink Rate(Gbps)\t|\t Value to enter in text field\t|\n|\t \t\t|\t in terms of 200KHZ \t|\n---------------------------------------------------------\n|\t 1.62 \t\t|\t 8100 \t|\n|\t 2.16 \t\t|\t 10800 \t|\n|\t 2.43 \t\t|\t 12150 \t|\n|\t 2.7 \t\t|\t 13500 \t|\n|\t 3.24 \t\t|\t 16200 \t|\n|\t 3.78 \t\t|\t 18900 \t|\n|\t 4.32 \t\t|\t 21600 \t|\n|\t 5.4 \t\t|\t 27000 \t|\n|\t 6.48 \t\t|\t 32400 \t|\n|\t 6.75 \t\t|\t 33750 \t|\n|\t 8.1 \t\t|\t 40500 \t|\n", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Color Depth: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Color_Depth_14" + ], + "HelpText": "This feature specifies the color depth of eDP panel used.", + "WidgetValues": [ + { + "Key": "18-bit Color Depth", + "Value": "0" + }, + { + "Key": "24-bit Color Depth", + "Value": "1" + }, + { + "Key": "30-bit Color Depth", + "Value": "2" + }, + { + "Key": "36-bit Color Depth", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Select VSwing/Pre-Emphasis table : ", + "Visibility": "", + "Data": [ + "27", + "eDP_VswingPreEmph_14" + ], + "HelpText": "This feature selects the VSwing Pre-Emphasis setting table to be used. For Tigerlake, based on the selection respective table will be used.\nTables for Tigerlake:\nLow Power VSwing Pre-Emphasis Setting Table:\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/200mV \t\t 200mV, 0.0db \t\t 200mV, 1.9db \t\t 200mV, 3.5db \t\t 200mV, 4.9db\nSwing \t\t Level-1/250mV \t\t 250mV, 0.0db \t\t 250mV, 1.6db \t\t 250mV, 2.9db \t\t N/A\n(mV) \t\t Level-2/300mV \t\t 300mV, 0.0db \t\t 300mV, 1.3db \t\t N/A \t\t N/A\n\t\t Level-3/350mV \t\t 350mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR3:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nDefault VSwing Pre-Emphasis Setting Table:\nFor HBR:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A", + "WidgetValues": [ + { + "Key": "Default VSwing/Pre-Emphasis Table", + "Value": "1" + }, + { + "Key": "Low Power VSwing/Pre-Emphasis Table", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " eDP Spread Spectrum Clock: ", + "Visibility": "", + "Data": [ + "40", + "Enable_SSC14" + ], + "HelpText": "This feature will allow users to disable/enable Spread Spectrum Clock for eDP.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count: ", + "Visibility": "", + "Data": [ + "42", + "PixelOverlapCount_14" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using Edp Multi-SST(MSO) feature.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixel Overlap", + "Value": "2" + }, + { + "Key": "Three Pixel Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixel Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixel Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "PSR Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Apical Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-14-1", + "PageName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " T3 optimization: ", + "Visibility": "", + "Data": [ + "27", + "eDP_T3_Optimization_14" + ], + "HelpText": "This feature enables or disables T3 optimization.\nWhen enabled, VBIOS/GOP driver will poll for AUX soon after VDD enable until AUX passes or T3 time is reached\nWhen disabled, VBIOS/GOP driver will wait for T3 time before trying the first AUX transaction", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "LCDVCC to HPD high delay (T3): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Vcc_To_Hpd_Delay_14" + ], + "HelpText": "Using this field the delay from LCDVCC to HPD high can be specified in 100uS.\nValid Range: 0 to 200msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Valid video data to Backlight Enable delay (T8): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOn_To_BkltEnable_Delay_14" + ], + "HelpText": "Using this field the delay from Start of Valid video data from Source to Backlight Enable can be specified in 100uS.\nT8 is inclusive of T7.\nValid Range of T7: 0 to 50msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM-On To Backlight Enable delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_PwmOn_To_Bklt_Enable_Delay_14" + ], + "HelpText": "Using this field the delay from PWM-On to Backlight Enable can be specified in 100uS.\nDelay from PWM-On to Backlight Enable is included in delay from Valid video data to Backlight Enable (T8).\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Valid video data to Backlight Enable (T8).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to PWM-Off delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Bklt_Disable_To_PwmOff_Delay_14" + ], + "HelpText": "Using this field delay from Backlight Disable to PWM-Off can be specified in 100uS.\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to End of Valid video data (T9).\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to to End of Valid video data (T9).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to End of Valid video data delay (T9): ", + "Visibility": "", + "Data": [ + "27", + "eDP_BkltDisable_To_DataOff_Delay_14" + ], + "HelpText": "Using this field the delay from Backlight Disable to End of Valid video data can be specified in 100uS.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "End of Valid video data to Power-Off delay (T10): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOff_To_PowerOff_Delay_14" + ], + "HelpText": "Using this field delay from End of Valid video data from Source to Power-Off can be specified in 100uS.\nValid Range: 0 to 500 msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Power-off time (T12): ", + "Visibility": "", + "Data": [ + "27", + "eDP_PowerCycle_Delay_14" + ], + "HelpText": "Using this field Power-off time can be specified in 100uS.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-14-2", + "PageName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Is FastLinkTraining Feature Supported: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Supported_14" + ], + "HelpText": "This feature allows for the selection of the Fast Link Training feature is to be enabled or disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Data Rate: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Data_Rate_14" + ], + "HelpText": "This field specifies Data Rate to be used for Fast Link Training in unit of 200KHz for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.\n\nIn case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then driver would use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate).", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lane Count: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_LaneCount_14" + ], + "HelpText": "This feature allows for the selection of the Lane Count (Port Width) for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Pre-Emphasis: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_PreEmp_14" + ], + "HelpText": "This feature allows for the selection of the Pre-emphasis value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Voltage Swing: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_Vswing_14" + ], + "HelpText": "This feature allows for the selection of the Voltage Swing value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-14-3", + "PageName": "PSR Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Full Link enable: ", + "Visibility": "", + "Data": [ + "9", + "PSR_FullLink_Enable_14" + ], + "HelpText": "When panel is in PSR mode and 'Full Link Enable' is set to Yes, Link is kept in standby state.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Require AUX to wake up: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Require_AUX2Wakeup_14" + ], + "HelpText": "When panel is exiting PSR mode and 'Require AUX to wake up' is set to Yes, the AUX channel handshake(link training is required) will be used.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lines to wait before link standby: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Lines2Wait_B4LinkS3_14" + ], + "HelpText": "This field determines Lines to wait before link standby\n0 lines to wait (Default)\n1 lines to wait\n4 lines to wait\n8 lines to wait\nOthers Reserved", + "WidgetValues": [ + { + "Key": "0 lines to wait", + "Value": "0" + }, + { + "Key": "1 lines to wait", + "Value": "1" + }, + { + "Key": "4 lines to wait", + "Value": "2" + }, + { + "Key": "8 lines to wait", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Idle frames to wait: ", + "Visibility": "", + "Data": [ + "9", + "PSR_IdleFrames2Wait_14" + ], + "HelpText": "Idle frames to wait for PSR enable.\nAllowed values 0-15. Default value is 0.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Clock Recovery Time: ", + "Visibility": "", + "Data": [ + "9", + "PSR_TP1_WaitTime_14" + ], + "HelpText": "This field selects the link training TP1(Training Pattern1) time during PSR exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR1 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR1_TP_2_3_4_WaitTime_14" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR1 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR2 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR2_TP_2_3_4_WaitTime_14" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR2 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "50 usec", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-14-4", + "PageName": "Apical Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Apical Assertive Display IP: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Apical_Display_Ip_Enable_14" + ], + "HelpText": "This field enables/disables the Apical Assertive Display IP for this panel.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel OUI (IEEE OUI): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Oui_14" + ], + "HelpText": "This field specifies the Apical IP specific Panel OUI field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Base Address: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Base_Address_14" + ], + "HelpText": "This field specifies the Apical IP specific DPCD base address field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Irdidix Control 0: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Irdidix_Control0_14" + ], + "HelpText": "This field specifies the Apical IP specific DPCD Irdidix control 0 field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Option Select: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Option_Select_14" + ], + "HelpText": "This field specifies the Apical IP specific DPCD option select field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Backlight: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Backlight_14" + ], + "HelpText": "This field specifies the Apical IP specific backlight value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Ambient Light: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Ambient_Light_14" + ], + "HelpText": "This field specifies the Apical IP specific Ambient light value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Backlight scale: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Backlight_Scale_14" + ], + "HelpText": "This field specifies the Apical IP specific backlight scale field.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-14-5", + "PageName": "Power Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Power Saving Technology (DPST) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DPST_Enable_14" + ], + "HelpText": "This feature determines whether the Intel Display Power Savings Technology (DPST) is enabled or disabled.\nIntel DPST is a display power savings technology that changes the intensity of colors in order to conserve backlight power.\nNote: This technology is only active when the system is running in battery mode and the LFP is the only active display device.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Refresh Rate Switching (DRRS) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DRRS_Enable_14" + ], + "HelpText": "This feature determines whether Intel Display Refresh Rate Switching (DRRS) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Edge Luminance Profile (ELP) : ", + "Visibility": "", + "Data": [ + "44", + "ELP_Enable_14" + ], + "HelpText": "This feature determines whether the ELP feature is enabled or disabled.\nEdge Luminance Profile (ELP) is a panel technology which reduce luminance on the edge of screen to save panel power.\nNote:This technology cannot co-exist with DPST and OPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " OLED Power Saving Technology (OPST) : ", + "Visibility": "", + "Data": [ + "44", + "OPST_Enable_14" + ], + "HelpText": "This feature determines whether the OPST feature is enabled or disabled.\nOLED Power Saving Technology (OPST) is a panel technology which saves power by intelligent, adaptive dimming of midrange pixel values more aggressively than the extremes without compromising the viewability.\nNote: This technology cannot co-exist with ELP and DPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic Media Refresh Rate Switching Enable/Disable ", + "Visibility": "", + "Data": [ + "44", + "DMRRS_Enable_14" + ], + "HelpText": "This feature determines whether Dynamic media refresh rate switching is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Display Lace Support: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Enable_14" + ], + "HelpText": "This feature, when enabled, will set Display Lace Support otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Panel Self Refresh (PSR): ", + "Visibility": "", + "Data": [ + "44", + "PSR_Enable_14" + ], + "HelpText": "This feature determines whether Panel Self Refresh (PSR) feature is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Assertive Display Technology Enable/Disable: ", + "Visibility": "", + "Data": [ + "44", + "ADT_Enable_14" + ], + "HelpText": "This feature determines whether Assertive display technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Automatic Display Brightness (ADB) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "ADB_Enable_14" + ], + "HelpText": "This feature determines whether Intel Automatic Display Brightness is to be enabled. Intel Automatic Display Brightness adjusts the brightness of the embedded Local Flat Panel (LFP) depending on the current ambient light environment.\nWhen enabled, the driver and VBIOS will control the backlight brightness of the LFP depending on the ambient environment if and only if the LFP is the only active display. When disabled, the driver will perform no action.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDP 4k/2k HOBL Feature: ", + "Visibility": "", + "Data": [ + "44", + "eDP_4k_2k_HOBL_feature_Enable_14" + ], + "HelpText": "This feature will allow users to disable/enable the edp 4k/2k HOBL(Hours Of Battery Life) feature by programming relevant registers specific for a platform.\r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display LACE Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Status_14" + ], + "HelpText": "This feature, when enabled, will set Default Display LACE Enabled status otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "DPST_Aggressiveness_Profile_14" + ], + "HelpText": "This feature allows for the selection of DPST Aggressiveness level for this Panel Type.\n1 (Maximum Quality with No DPST)\n2\n3\n4\n5\n6 (Maximum Battery)", + "WidgetValues": [ + { + "Key": "1 - Maximum Quality with No DPST", + "Value": "1" + }, + { + "Key": "2", + "Value": "2" + }, + { + "Key": "3", + "Value": "3" + }, + { + "Key": "4", + "Value": "4" + }, + { + "Key": "5", + "Value": "5" + }, + { + "Key": "6 - Maximum Battery", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LACE Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Aggressiveness_Profile_14" + ], + "HelpText": "This feature allows for the selection of LACE Aggressiveness level for this Panel Type.\nMinimum 0\nModerate 1\nHigh 2", + "WidgetValues": [ + { + "Key": "Minimum", + "Value": "0" + }, + { + "Key": "Moderate", + "Value": "1" + }, + { + "Key": "High", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "ELP Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "ELP_Aggressiveness_Profile_14" + ], + "HelpText": "This feature allows for the selection of ELP Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "OPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "OPST_Aggressiveness_Profile_14" + ], + "HelpText": "This feature allows for the selection of OPST Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display VRR Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "VRR_Status_14" + ], + "HelpText": "VRR (Variable Refresh Rate) is a feature that can continuously and seamlessly vary Refresh Rate on the fly, on displays that support Variable Refresh rate Technologies.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-14-6", + "PageName": "Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Pixel_CLK_14" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Active_14" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Active_14" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Blank_14" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Blank_14" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_FrontPorch_14" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_FrontPorch_14" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Sync_14" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Sync_14" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Image_Size_14" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Image_Size_14" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Common_Flag_14" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-14-7", + "PageName": "LFP PnP ID Table", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "42", + "LFP_Panel_PnP_ID_14" + ], + "HelpText": "This feature allows the 10 bytes of EDID Vendor/Product ID starting at offset 08h to be used as a PnP ID.\n\nTable Definition:\n\tWord: ID Manufacturer Name\n\tWord: ID Product Code\n\tDWord: ID Serial Number\n\tByte: Week of Manufacture\n\tByte: Year of Manufacture", + "WidgetValues": [ + { + "ColumnName": "PnP ID", + "SizeinBytes": "1" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-14-8", + "PageName": "Backlight Control Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Type: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Type_14" + ], + "HelpText": "This feature allows for the selection of the Backlight Inverter type that is to be used to control the backlight brightness of the LFP.\nWhen PWM is selected, the driver and VBIOS will control the backlight brightness via the integrated PWM solution for the applicable chipsets.\nWhen None/External is selected, the system BIOS will control the backlight brightness via the external solution.", + "WidgetValues": [ + { + "Key": "None/External", + "Value": "0" + }, + { + "Key": "PWM", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Source Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Source_Selection_14" + ], + "HelpText": "If panel supports 'Intel HDR AUX Interface', it will always be chosen by default. If not, value in 'PWM Source Selection' will be used", + "WidgetValues": [ + { + "Key": "PWM From Display Engine", + "Value": "2" + }, + { + "Key": "PWM From LCD Panel", + "Value": "3" + }, + { + "Key": "Panel Driver Interface", + "Value": "4" + }, + { + "Key": "VESA eDP AUX Interface", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Controller Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Controller_Selection_14" + ], + "HelpText": "This field allows to select the PWM Controller to be used for the selected Local Flat Panel.This field allows to select the PWM Controller to be used for the selected Local Flat Panel.If Two LFPs are connected then PWM0 and PWM1 must be selected accordingly.", + "WidgetValues": [ + { + "Key": "PWM0", + "Value": "0" + }, + { + "Key": "PWM1", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Polarity: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Polarity_14" + ], + "HelpText": "This feature allows the backlight inverter polarity to be specified.\nNormal means 0 value is minimum brightness.\nInverted means 0 value is maximum brightness.", + "WidgetValues": [ + { + "Key": "Normal", + "Value": "0" + }, + { + "Key": "Inverted", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Minimum Brightness: ", + "Visibility": "", + "Data": [ + "43", + "Post_Min_Brightness_14" + ], + "HelpText": "This feature allows defining the absolute minimum backlight brightness. The driver will never decrease the backlight less than this value. The value must be specified using normal polarity semantics. The value should range from 0 to 255 if the brightness precision bit is chosen to be 8, and it should range from 0 to 65535 if the precision bit is chosen to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "POST Backlight Intensity: ", + "Visibility": "", + "Data": [ + "43", + "Post_Brightness_14" + ], + "HelpText": "This feature is used to set default backlight brightness value of the panel at POST. The value should range from 0 to 255 if the bit precision is chosen to be 8 and it should range from 0 to 65535 if the brightness bit precision is chosent to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Brightness Precision Bits: ", + "Visibility": "", + "Data": [ + "43", + "BrightnessPrecisionBits_14" + ], + "HelpText": "This field represents the range of brightness in terms of bit precision.\n 8 = Brightness range of 0 to 255.\n 16 = Brightness range of 0 to 65535", + "WidgetValues": [ + { + "Key": "8", + "Value": "8" + }, + { + "Key": "16", + "Value": "16" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM Inverter Frequency (Hz): ", + "Visibility": "", + "Data": [ + "43", + "PWM_Frequency_14" + ], + "HelpText": "This feature allows for the definition of the frequency needed for PWM Inverter.\nNote: The frequency range (entered as a decimal number), for the integrated PWM is 200Hz - 40KHz.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Intel HDR DPCD Refresh Timeout (unit - 10 micro seconds): ", + "Visibility": "", + "Data": [ + "43", + "HdrDpcdRefreshTimeout_14" + ], + "HelpText": "This field allows to configure the refresh timeout of Intel HDR DPCDs for different TCON Vendors.\nNote:\n\tThe value is in units of 10 microseconds.\n\tThe range (entered as a decimal number), for the timeout is 0-65535", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-14-9", + "PageName": "Chromaticity Control", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Chromaticity Control Feature: ", + "Visibility": "", + "Data": [ + "46", + "Chromacity_Enable_14" + ], + "HelpText": "This bit enables Chromaticity feature.\nIf this bit is enabled, EDID values for chromaticity will be used, else feature is disabled.\nFeature will be supported for Panels that support EDID version 1.4 or higher.\nPlease refer to section 3.7 of EDID Specification 1.4.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override the EDID values: ", + "Visibility": "", + "Data": [ + "46", + "Override_EDID_Data_14" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override EDID values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_Green_bits (Bits 1:0 at 19h): ", + "Visibility": "", + "Data": [ + "46", + "Red_Green_14" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Red, Green Coordinates represented as Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1 Gy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_White_bits (Bits 1:0 at 1Ah): ", + "Visibility": "", + "Data": [ + "46", + "Blue_White_14" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Blue, White Coordinates represented as Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_x (Bits 9:2 at 1Bh): ", + "Visibility": "", + "Data": [ + "46", + "Red_x_14" + ], + "HelpText": "Bits 9:2 of red color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_y (Bits 9:2 at 1Ch): ", + "Visibility": "", + "Data": [ + "46", + "Red_y_14" + ], + "HelpText": "Bits 9:2 of red color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_x (Bits 9:2 at 1Dh): ", + "Visibility": "", + "Data": [ + "46", + "Green_x_14" + ], + "HelpText": "Bits 9:2 of Green color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_y (Bits 9:2 at 1Eh): ", + "Visibility": "", + "Data": [ + "46", + "Green_y_14" + ], + "HelpText": "Bits 9:2 of Green color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_x (Bits 9:2 at 1Fh): ", + "Visibility": "", + "Data": [ + "46", + "Blue_x_14" + ], + "HelpText": "Bits 9:2 of Blue color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_y (Bits 9:2 at 20h): ", + "Visibility": "", + "Data": [ + "46", + "Blue_y_14" + ], + "HelpText": "Bits 9:2 of Blue color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_x (Bits 9:2 at 21h): ", + "Visibility": "", + "Data": [ + "46", + "White_x_14" + ], + "HelpText": "Bits 9:2 of White color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_y (Bits 9:2 at 22h): ", + "Visibility": "", + "Data": [ + "46", + "White_y_14" + ], + "HelpText": "Bits 9:2 of White color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Luminance values ", + "Visibility": "", + "Data": [ + "46", + "Override_LUM_Data_14" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override luminance values following VBT values", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Minimum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MinLuminance_14" + ], + "HelpText": "Minimum luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum full frame luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxFullLuminance_14" + ], + "HelpText": "Maximum Full frame luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxLuminance_14" + ], + "HelpText": "Maximum luminance value(Relatively smaller portion of screen).\n2 byte value, encoded in IEEE 754 half-precision binary floating point format.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Gamma values: ", + "Visibility": "", + "Data": [ + "46", + "Override_Gamma_Data_14" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override gamma values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel gamma: ", + "Visibility": "", + "Data": [ + "46", + "Gamma_14" + ], + "HelpText": "Value shall define the gamma range, from 1.00 to 3.54, as follows:\nField Value = (Gamma (value in float) x 100) - 100\nField values range from 00h through FFh.\nFFh = No gamma information shall be provided", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-14-10", + "PageName": "VESA DSC Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Major Version: ", + "Visibility": "", + "Data": [ + "56", + "C14_Major_Dsc_Version" + ], + "HelpText": "VESA DSC Major revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Minor Version: ", + "Visibility": "", + "Data": [ + "56", + "C14_Minor_Dsc_Version" + ], + "HelpText": "VESA DSC Minor revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Block prediction supported: ", + "Visibility": "", + "Data": [ + "56", + "C14_Blk_Prediction_En" + ], + "HelpText": "Sink supports block prediction as per the VESA DSC Spec.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "RC Buffer Block size as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C14_RC_Block_Size" + ], + "HelpText": "RC buffer block size for a single RC buffer as defined by the VESA DSC spec.", + "WidgetValues": [ + { + "Key": "1 KB", + "Value": "0" + }, + { + "Key": "4 KB", + "Value": "1" + }, + { + "Key": "16 KB", + "Value": "2" + }, + { + "Key": "64 KB", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Number of RC buffer blocks as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C14_Dsc_RC_Buf_Size" + ], + "HelpText": "This field defines the number of RC buffers as per VESA DSC spec.\nThe number of RC buffers used by the software shall be (Value + 1) where Value is in range 0 to 127.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Slices per line supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C14_Dsc_Slices_Per_Line" + ], + "HelpText": "This field defines the slices per line supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 31-10\t\t Bit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tReserved\t\t 24\t 20\t 16\t 12\t 10\t 8\t 6\t 4\t 2\t 1\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower slices per line than maximum selected field. i.e. If it supports say 8 slices per line, it will also support 4/2/1 slices per line", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Line buffer depth as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C14_Line_Buffer_Depth" + ], + "HelpText": "Line buffer depth in bits as per VESA DSC spec.", + "WidgetValues": [ + { + "Key": "8 bits", + "Value": "0" + }, + { + "Key": "9 bits", + "Value": "1" + }, + { + "Key": "10 bits", + "Value": "2" + }, + { + "Key": "11 bits", + "Value": "3" + }, + { + "Key": "12 bits", + "Value": "4" + }, + { + "Key": "13 bits", + "Value": "5" + }, + { + "Key": "14 bits", + "Value": "6" + }, + { + "Key": "15 bits", + "Value": "7" + }, + { + "Key": "16 bits", + "Value": "8" + } + ] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Input compression BPC supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C14_Dsc_Bpc" + ], + "HelpText": "This field defines the compression input bpc supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 7-4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tRsvd\t 12 bpc\t 10bpc\t 8bpc\t Rsvd\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower bpc values than the maximum selected field. i.e. If it supports say 12bpc, it will also support 10 and 8bpc as well", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum supported compression BPP: ", + "Visibility": "", + "Data": [ + "56", + "C14_Dsc_Max_Bpp" + ], + "HelpText": "As of today, we are supporting 6/8/10/12 BPP for compression output.\nSelect the most appropriate BPP as supported by the sink.", + "WidgetValues": [ + { + "Key": "6 Bits per pixel", + "Value": "0" + }, + { + "Key": "8 Bits per pixel", + "Value": "1" + }, + { + "Key": "10 Bits per pixel", + "Value": "2" + }, + { + "Key": "12 Bits per pixel", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Slice height supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C14_Dsc_Slice_Height" + ], + "HelpText": "Slice height supported by the sink device for DSC slice.\nNote: Slice height must divide the picture height uniformly.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-15", + "PageName": "Panel #15", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "LabelHeading", + "WidgetName": "Common LFP Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryAsci", + "WidgetName": " LFP Panel Name: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Name_15" + ], + "HelpText": "This feature defines the LFP panel name, used by driver only. Panel name can be only of 13 characters maximum and rest of the characters will be truncated.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target X-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Width_15" + ], + "HelpText": "This value specifies the Target X-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target Y-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Height_15" + ], + "HelpText": "This value specifies the Target Y-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " DPS Panel Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Seamless DRRS Minimum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "42", + "Seamless_DRRS_Min_RR_15" + ], + "HelpText": "Using this field the minimum Refresh Rate to be used for Seamless DRRS feature can be entered in Hertz.\nNote: Graphics driver will use this field only when EDID support is disabled in VBT configuration.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " BackLight Technology Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " BackLight Technology: ", + "Visibility": "", + "Data": [ + "40", + "Blt_Control_15" + ], + "HelpText": "This feature allows OEM to select the Backlight Technology.", + "WidgetValues": [ + { + "Key": "LED Backlight", + "Value": "2" + }, + { + "Key": "CCFL Backlight", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Rotation: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Rotation_15" + ], + "HelpText": "This feature specifies the Panel Rotation of LFP panel used.", + "WidgetValues": [ + { + "Key": "0 degree", + "Value": "0" + }, + { + "Key": "180 degree", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Position: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Position_15" + ], + "HelpText": "This feature specifies the Panel Position of LFP panel used.", + "WidgetValues": [ + { + "Key": "Inside Shell", + "Value": "0" + }, + { + "Key": "Outside Shell", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual LFP Port Sync: ", + "Visibility": "", + "Data": [ + "42", + "EnablePortSync_Bit_15" + ], + "HelpText": "This feature will allow users to disable/enable Dual LFP Port Sync and it is applicable for DDI-A, DDI-B in case of eDP and DSI-0, DSI-1 in case of MIPI. \r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " GPU Dithering for Banding artifacts: ", + "Visibility": "", + "Data": [ + "42", + "EnableDithering_Bit_15" + ], + "HelpText": "This field can be used to enable dithering from the source side for reducing banding artifacts on the visual quality features like DPST.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP PnP ID Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Backlight Control Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Chromaticity Control", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "VESA DSC Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated eDP Settings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Edp Max Port Link Rate (in 200 Khz): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Max_Port_Link_Rate_15" + ], + "HelpText": "This field specifies EDP Max Port Link Rate supported by the port in unit of 200KHz.\nDefault value would be \"0\", in which case Display Drivers should consider EDP Max Port Link Rate to be the Platform supported Max Link Rate.\nOnly when OEM's need to limit to particular Link Rate can enter the value as mentioned in below table.\n\nNote:\n1) OEM's need to enter the values mentioned from below table only.\n2) If value entered is not matching with any of the below values then Platform supported Max Link Rate should be considere as EDP Max Port Link Rate by the display drivers.\n3) In case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then we need to use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate)\n---------------------------------------------------------\n|\tLink Rate(Gbps)\t|\t Value to enter in text field\t|\n|\t \t\t|\t in terms of 200KHZ \t|\n---------------------------------------------------------\n|\t 1.62 \t\t|\t 8100 \t|\n|\t 2.16 \t\t|\t 10800 \t|\n|\t 2.43 \t\t|\t 12150 \t|\n|\t 2.7 \t\t|\t 13500 \t|\n|\t 3.24 \t\t|\t 16200 \t|\n|\t 3.78 \t\t|\t 18900 \t|\n|\t 4.32 \t\t|\t 21600 \t|\n|\t 5.4 \t\t|\t 27000 \t|\n|\t 6.48 \t\t|\t 32400 \t|\n|\t 6.75 \t\t|\t 33750 \t|\n|\t 8.1 \t\t|\t 40500 \t|\n", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Color Depth: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Color_Depth_15" + ], + "HelpText": "This feature specifies the color depth of eDP panel used.", + "WidgetValues": [ + { + "Key": "18-bit Color Depth", + "Value": "0" + }, + { + "Key": "24-bit Color Depth", + "Value": "1" + }, + { + "Key": "30-bit Color Depth", + "Value": "2" + }, + { + "Key": "36-bit Color Depth", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Select VSwing/Pre-Emphasis table : ", + "Visibility": "", + "Data": [ + "27", + "eDP_VswingPreEmph_15" + ], + "HelpText": "This feature selects the VSwing Pre-Emphasis setting table to be used. For Tigerlake, based on the selection respective table will be used.\nTables for Tigerlake:\nLow Power VSwing Pre-Emphasis Setting Table:\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/200mV \t\t 200mV, 0.0db \t\t 200mV, 1.9db \t\t 200mV, 3.5db \t\t 200mV, 4.9db\nSwing \t\t Level-1/250mV \t\t 250mV, 0.0db \t\t 250mV, 1.6db \t\t 250mV, 2.9db \t\t N/A\n(mV) \t\t Level-2/300mV \t\t 300mV, 0.0db \t\t 300mV, 1.3db \t\t N/A \t\t N/A\n\t\t Level-3/350mV \t\t 350mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR3:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nDefault VSwing Pre-Emphasis Setting Table:\nFor HBR:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A", + "WidgetValues": [ + { + "Key": "Default VSwing/Pre-Emphasis Table", + "Value": "1" + }, + { + "Key": "Low Power VSwing/Pre-Emphasis Table", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " eDP Spread Spectrum Clock: ", + "Visibility": "", + "Data": [ + "40", + "Enable_SSC15" + ], + "HelpText": "This feature will allow users to disable/enable Spread Spectrum Clock for eDP.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count: ", + "Visibility": "", + "Data": [ + "42", + "PixelOverlapCount_15" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using Edp Multi-SST(MSO) feature.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixel Overlap", + "Value": "2" + }, + { + "Key": "Three Pixel Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixel Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixel Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "PSR Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Apical Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-15-1", + "PageName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " T3 optimization: ", + "Visibility": "", + "Data": [ + "27", + "eDP_T3_Optimization_15" + ], + "HelpText": "This feature enables or disables T3 optimization.\nWhen enabled, VBIOS/GOP driver will poll for AUX soon after VDD enable until AUX passes or T3 time is reached\nWhen disabled, VBIOS/GOP driver will wait for T3 time before trying the first AUX transaction", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "LCDVCC to HPD high delay (T3): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Vcc_To_Hpd_Delay_15" + ], + "HelpText": "Using this field the delay from LCDVCC to HPD high can be specified in 100uS.\nValid Range: 0 to 200msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Valid video data to Backlight Enable delay (T8): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOn_To_BkltEnable_Delay_15" + ], + "HelpText": "Using this field the delay from Start of Valid video data from Source to Backlight Enable can be specified in 100uS.\nT8 is inclusive of T7.\nValid Range of T7: 0 to 50msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM-On To Backlight Enable delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_PwmOn_To_Bklt_Enable_Delay_15" + ], + "HelpText": "Using this field the delay from PWM-On to Backlight Enable can be specified in 100uS.\nDelay from PWM-On to Backlight Enable is included in delay from Valid video data to Backlight Enable (T8).\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Valid video data to Backlight Enable (T8).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to PWM-Off delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Bklt_Disable_To_PwmOff_Delay_15" + ], + "HelpText": "Using this field delay from Backlight Disable to PWM-Off can be specified in 100uS.\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to End of Valid video data (T9).\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to to End of Valid video data (T9).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to End of Valid video data delay (T9): ", + "Visibility": "", + "Data": [ + "27", + "eDP_BkltDisable_To_DataOff_Delay_15" + ], + "HelpText": "Using this field the delay from Backlight Disable to End of Valid video data can be specified in 100uS.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "End of Valid video data to Power-Off delay (T10): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOff_To_PowerOff_Delay_15" + ], + "HelpText": "Using this field delay from End of Valid video data from Source to Power-Off can be specified in 100uS.\nValid Range: 0 to 500 msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Power-off time (T12): ", + "Visibility": "", + "Data": [ + "27", + "eDP_PowerCycle_Delay_15" + ], + "HelpText": "Using this field Power-off time can be specified in 100uS.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-15-2", + "PageName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Is FastLinkTraining Feature Supported: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Supported_15" + ], + "HelpText": "This feature allows for the selection of the Fast Link Training feature is to be enabled or disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Data Rate: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Data_Rate_15" + ], + "HelpText": "This field specifies Data Rate to be used for Fast Link Training in unit of 200KHz for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.\n\nIn case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then driver would use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate).", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lane Count: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_LaneCount_15" + ], + "HelpText": "This feature allows for the selection of the Lane Count (Port Width) for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Pre-Emphasis: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_PreEmp_15" + ], + "HelpText": "This feature allows for the selection of the Pre-emphasis value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Voltage Swing: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_Vswing_15" + ], + "HelpText": "This feature allows for the selection of the Voltage Swing value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-15-3", + "PageName": "PSR Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Full Link enable: ", + "Visibility": "", + "Data": [ + "9", + "PSR_FullLink_Enable_15" + ], + "HelpText": "When panel is in PSR mode and 'Full Link Enable' is set to Yes, Link is kept in standby state.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Require AUX to wake up: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Require_AUX2Wakeup_15" + ], + "HelpText": "When panel is exiting PSR mode and 'Require AUX to wake up' is set to Yes, the AUX channel handshake(link training is required) will be used.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lines to wait before link standby: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Lines2Wait_B4LinkS3_15" + ], + "HelpText": "This field determines Lines to wait before link standby\n0 lines to wait (Default)\n1 lines to wait\n4 lines to wait\n8 lines to wait\nOthers Reserved", + "WidgetValues": [ + { + "Key": "0 lines to wait", + "Value": "0" + }, + { + "Key": "1 lines to wait", + "Value": "1" + }, + { + "Key": "4 lines to wait", + "Value": "2" + }, + { + "Key": "8 lines to wait", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Idle frames to wait: ", + "Visibility": "", + "Data": [ + "9", + "PSR_IdleFrames2Wait_15" + ], + "HelpText": "Idle frames to wait for PSR enable.\nAllowed values 0-15. Default value is 0.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Clock Recovery Time: ", + "Visibility": "", + "Data": [ + "9", + "PSR_TP1_WaitTime_15" + ], + "HelpText": "This field selects the link training TP1(Training Pattern1) time during PSR exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR1 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR1_TP_2_3_4_WaitTime_15" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR1 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR2 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR2_TP_2_3_4_WaitTime_15" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR2 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "50 usec", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-15-4", + "PageName": "Apical Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Apical Assertive Display IP: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Apical_Display_Ip_Enable_15" + ], + "HelpText": "This field enables/disables the Apical Assertive Display IP for this panel.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel OUI (IEEE OUI): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Oui_15" + ], + "HelpText": "This field specifies the Apical IP specific Panel OUI field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Base Address: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Base_Address_15" + ], + "HelpText": "This field specifies the Apical IP specific DPCD base address field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Irdidix Control 0: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Irdidix_Control0_15" + ], + "HelpText": "This field specifies the Apical IP specific DPCD Irdidix control 0 field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Option Select: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Option_Select_15" + ], + "HelpText": "This field specifies the Apical IP specific DPCD option select field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Backlight: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Backlight_15" + ], + "HelpText": "This field specifies the Apical IP specific backlight value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Ambient Light: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Ambient_Light_15" + ], + "HelpText": "This field specifies the Apical IP specific Ambient light value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Backlight scale: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Backlight_Scale_15" + ], + "HelpText": "This field specifies the Apical IP specific backlight scale field.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-15-5", + "PageName": "Power Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Power Saving Technology (DPST) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DPST_Enable_15" + ], + "HelpText": "This feature determines whether the Intel Display Power Savings Technology (DPST) is enabled or disabled.\nIntel DPST is a display power savings technology that changes the intensity of colors in order to conserve backlight power.\nNote: This technology is only active when the system is running in battery mode and the LFP is the only active display device.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Refresh Rate Switching (DRRS) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DRRS_Enable_15" + ], + "HelpText": "This feature determines whether Intel Display Refresh Rate Switching (DRRS) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Edge Luminance Profile (ELP) : ", + "Visibility": "", + "Data": [ + "44", + "ELP_Enable_15" + ], + "HelpText": "This feature determines whether the ELP feature is enabled or disabled.\nEdge Luminance Profile (ELP) is a panel technology which reduce luminance on the edge of screen to save panel power.\nNote:This technology cannot co-exist with DPST and OPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " OLED Power Saving Technology (OPST) : ", + "Visibility": "", + "Data": [ + "44", + "OPST_Enable_15" + ], + "HelpText": "This feature determines whether the OPST feature is enabled or disabled.\nOLED Power Saving Technology (OPST) is a panel technology which saves power by intelligent, adaptive dimming of midrange pixel values more aggressively than the extremes without compromising the viewability.\nNote: This technology cannot co-exist with ELP and DPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic Media Refresh Rate Switching Enable/Disable ", + "Visibility": "", + "Data": [ + "44", + "DMRRS_Enable_15" + ], + "HelpText": "This feature determines whether Dynamic media refresh rate switching is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Display Lace Support: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Enable_15" + ], + "HelpText": "This feature, when enabled, will set Display Lace Support otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Panel Self Refresh (PSR): ", + "Visibility": "", + "Data": [ + "44", + "PSR_Enable_15" + ], + "HelpText": "This feature determines whether Panel Self Refresh (PSR) feature is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Assertive Display Technology Enable/Disable: ", + "Visibility": "", + "Data": [ + "44", + "ADT_Enable_15" + ], + "HelpText": "This feature determines whether Assertive display technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Automatic Display Brightness (ADB) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "ADB_Enable_15" + ], + "HelpText": "This feature determines whether Intel Automatic Display Brightness is to be enabled. Intel Automatic Display Brightness adjusts the brightness of the embedded Local Flat Panel (LFP) depending on the current ambient light environment.\nWhen enabled, the driver and VBIOS will control the backlight brightness of the LFP depending on the ambient environment if and only if the LFP is the only active display. When disabled, the driver will perform no action.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDP 4k/2k HOBL Feature: ", + "Visibility": "", + "Data": [ + "44", + "eDP_4k_2k_HOBL_feature_Enable_15" + ], + "HelpText": "This feature will allow users to disable/enable the edp 4k/2k HOBL(Hours Of Battery Life) feature by programming relevant registers specific for a platform.\r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display LACE Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Status_15" + ], + "HelpText": "This feature, when enabled, will set Default Display LACE Enabled status otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "DPST_Aggressiveness_Profile_15" + ], + "HelpText": "This feature allows for the selection of DPST Aggressiveness level for this Panel Type.\n1 (Maximum Quality with No DPST)\n2\n3\n4\n5\n6 (Maximum Battery)", + "WidgetValues": [ + { + "Key": "1 - Maximum Quality with No DPST", + "Value": "1" + }, + { + "Key": "2", + "Value": "2" + }, + { + "Key": "3", + "Value": "3" + }, + { + "Key": "4", + "Value": "4" + }, + { + "Key": "5", + "Value": "5" + }, + { + "Key": "6 - Maximum Battery", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LACE Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Aggressiveness_Profile_15" + ], + "HelpText": "This feature allows for the selection of LACE Aggressiveness level for this Panel Type.\nMinimum 0\nModerate 1\nHigh 2", + "WidgetValues": [ + { + "Key": "Minimum", + "Value": "0" + }, + { + "Key": "Moderate", + "Value": "1" + }, + { + "Key": "High", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "ELP Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "ELP_Aggressiveness_Profile_15" + ], + "HelpText": "This feature allows for the selection of ELP Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "OPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "OPST_Aggressiveness_Profile_15" + ], + "HelpText": "This feature allows for the selection of OPST Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display VRR Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "VRR_Status_15" + ], + "HelpText": "VRR (Variable Refresh Rate) is a feature that can continuously and seamlessly vary Refresh Rate on the fly, on displays that support Variable Refresh rate Technologies.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-15-6", + "PageName": "Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Pixel_CLK_15" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Active_15" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Active_15" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Blank_15" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Blank_15" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_FrontPorch_15" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_FrontPorch_15" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Sync_15" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Sync_15" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Image_Size_15" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Image_Size_15" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Common_Flag_15" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-15-7", + "PageName": "LFP PnP ID Table", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "42", + "LFP_Panel_PnP_ID_15" + ], + "HelpText": "This feature allows the 10 bytes of EDID Vendor/Product ID starting at offset 08h to be used as a PnP ID.\n\nTable Definition:\n\tWord: ID Manufacturer Name\n\tWord: ID Product Code\n\tDWord: ID Serial Number\n\tByte: Week of Manufacture\n\tByte: Year of Manufacture", + "WidgetValues": [ + { + "ColumnName": "PnP ID", + "SizeinBytes": "1" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-15-8", + "PageName": "Backlight Control Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Type: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Type_15" + ], + "HelpText": "This feature allows for the selection of the Backlight Inverter type that is to be used to control the backlight brightness of the LFP.\nWhen PWM is selected, the driver and VBIOS will control the backlight brightness via the integrated PWM solution for the applicable chipsets.\nWhen None/External is selected, the system BIOS will control the backlight brightness via the external solution.", + "WidgetValues": [ + { + "Key": "None/External", + "Value": "0" + }, + { + "Key": "PWM", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Source Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Source_Selection_15" + ], + "HelpText": "If panel supports 'Intel HDR AUX Interface', it will always be chosen by default. If not, value in 'PWM Source Selection' will be used", + "WidgetValues": [ + { + "Key": "PWM From Display Engine", + "Value": "2" + }, + { + "Key": "PWM From LCD Panel", + "Value": "3" + }, + { + "Key": "Panel Driver Interface", + "Value": "4" + }, + { + "Key": "VESA eDP AUX Interface", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Controller Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Controller_Selection_15" + ], + "HelpText": "This field allows to select the PWM Controller to be used for the selected Local Flat Panel.This field allows to select the PWM Controller to be used for the selected Local Flat Panel.If Two LFPs are connected then PWM0 and PWM1 must be selected accordingly.", + "WidgetValues": [ + { + "Key": "PWM0", + "Value": "0" + }, + { + "Key": "PWM1", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Polarity: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Polarity_15" + ], + "HelpText": "This feature allows the backlight inverter polarity to be specified.\nNormal means 0 value is minimum brightness.\nInverted means 0 value is maximum brightness.", + "WidgetValues": [ + { + "Key": "Normal", + "Value": "0" + }, + { + "Key": "Inverted", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Minimum Brightness: ", + "Visibility": "", + "Data": [ + "43", + "Post_Min_Brightness_15" + ], + "HelpText": "This feature allows defining the absolute minimum backlight brightness. The driver will never decrease the backlight less than this value. The value must be specified using normal polarity semantics. The value should range from 0 to 255 if the brightness precision bit is chosen to be 8, and it should range from 0 to 65535 if the precision bit is chosen to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "POST Backlight Intensity: ", + "Visibility": "", + "Data": [ + "43", + "Post_Brightness_15" + ], + "HelpText": "This feature is used to set default backlight brightness value of the panel at POST. The value should range from 0 to 255 if the bit precision is chosen to be 8 and it should range from 0 to 65535 if the brightness bit precision is chosent to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Brightness Precision Bits: ", + "Visibility": "", + "Data": [ + "43", + "BrightnessPrecisionBits_15" + ], + "HelpText": "This field represents the range of brightness in terms of bit precision.\n 8 = Brightness range of 0 to 255.\n 16 = Brightness range of 0 to 65535", + "WidgetValues": [ + { + "Key": "8", + "Value": "8" + }, + { + "Key": "16", + "Value": "16" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM Inverter Frequency (Hz): ", + "Visibility": "", + "Data": [ + "43", + "PWM_Frequency_15" + ], + "HelpText": "This feature allows for the definition of the frequency needed for PWM Inverter.\nNote: The frequency range (entered as a decimal number), for the integrated PWM is 200Hz - 40KHz.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Intel HDR DPCD Refresh Timeout (unit - 10 micro seconds): ", + "Visibility": "", + "Data": [ + "43", + "HdrDpcdRefreshTimeout_15" + ], + "HelpText": "This field allows to configure the refresh timeout of Intel HDR DPCDs for different TCON Vendors.\nNote:\n\tThe value is in units of 10 microseconds.\n\tThe range (entered as a decimal number), for the timeout is 0-65535", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-15-9", + "PageName": "Chromaticity Control", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Chromaticity Control Feature: ", + "Visibility": "", + "Data": [ + "46", + "Chromacity_Enable_15" + ], + "HelpText": "This bit enables Chromaticity feature.\nIf this bit is enabled, EDID values for chromaticity will be used, else feature is disabled.\nFeature will be supported for Panels that support EDID version 1.4 or higher.\nPlease refer to section 3.7 of EDID Specification 1.4.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override the EDID values: ", + "Visibility": "", + "Data": [ + "46", + "Override_EDID_Data_15" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override EDID values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_Green_bits (Bits 1:0 at 19h): ", + "Visibility": "", + "Data": [ + "46", + "Red_Green_15" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Red, Green Coordinates represented as Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1 Gy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_White_bits (Bits 1:0 at 1Ah): ", + "Visibility": "", + "Data": [ + "46", + "Blue_White_15" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Blue, White Coordinates represented as Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_x (Bits 9:2 at 1Bh): ", + "Visibility": "", + "Data": [ + "46", + "Red_x_15" + ], + "HelpText": "Bits 9:2 of red color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_y (Bits 9:2 at 1Ch): ", + "Visibility": "", + "Data": [ + "46", + "Red_y_15" + ], + "HelpText": "Bits 9:2 of red color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_x (Bits 9:2 at 1Dh): ", + "Visibility": "", + "Data": [ + "46", + "Green_x_15" + ], + "HelpText": "Bits 9:2 of Green color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_y (Bits 9:2 at 1Eh): ", + "Visibility": "", + "Data": [ + "46", + "Green_y_15" + ], + "HelpText": "Bits 9:2 of Green color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_x (Bits 9:2 at 1Fh): ", + "Visibility": "", + "Data": [ + "46", + "Blue_x_15" + ], + "HelpText": "Bits 9:2 of Blue color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_y (Bits 9:2 at 20h): ", + "Visibility": "", + "Data": [ + "46", + "Blue_y_15" + ], + "HelpText": "Bits 9:2 of Blue color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_x (Bits 9:2 at 21h): ", + "Visibility": "", + "Data": [ + "46", + "White_x_15" + ], + "HelpText": "Bits 9:2 of White color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_y (Bits 9:2 at 22h): ", + "Visibility": "", + "Data": [ + "46", + "White_y_15" + ], + "HelpText": "Bits 9:2 of White color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Luminance values ", + "Visibility": "", + "Data": [ + "46", + "Override_LUM_Data_15" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override luminance values following VBT values", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Minimum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MinLuminance_15" + ], + "HelpText": "Minimum luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum full frame luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxFullLuminance_15" + ], + "HelpText": "Maximum Full frame luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxLuminance_15" + ], + "HelpText": "Maximum luminance value(Relatively smaller portion of screen).\n2 byte value, encoded in IEEE 754 half-precision binary floating point format.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Gamma values: ", + "Visibility": "", + "Data": [ + "46", + "Override_Gamma_Data_15" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override gamma values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel gamma: ", + "Visibility": "", + "Data": [ + "46", + "Gamma_15" + ], + "HelpText": "Value shall define the gamma range, from 1.00 to 3.54, as follows:\nField Value = (Gamma (value in float) x 100) - 100\nField values range from 00h through FFh.\nFFh = No gamma information shall be provided", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-15-10", + "PageName": "VESA DSC Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Major Version: ", + "Visibility": "", + "Data": [ + "56", + "C15_Major_Dsc_Version" + ], + "HelpText": "VESA DSC Major revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Minor Version: ", + "Visibility": "", + "Data": [ + "56", + "C15_Minor_Dsc_Version" + ], + "HelpText": "VESA DSC Minor revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Block prediction supported: ", + "Visibility": "", + "Data": [ + "56", + "C15_Blk_Prediction_En" + ], + "HelpText": "Sink supports block prediction as per the VESA DSC Spec.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "RC Buffer Block size as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C15_RC_Block_Size" + ], + "HelpText": "RC buffer block size for a single RC buffer as defined by the VESA DSC spec.", + "WidgetValues": [ + { + "Key": "1 KB", + "Value": "0" + }, + { + "Key": "4 KB", + "Value": "1" + }, + { + "Key": "16 KB", + "Value": "2" + }, + { + "Key": "64 KB", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Number of RC buffer blocks as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C15_Dsc_RC_Buf_Size" + ], + "HelpText": "This field defines the number of RC buffers as per VESA DSC spec.\nThe number of RC buffers used by the software shall be (Value + 1) where Value is in range 0 to 127.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Slices per line supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C15_Dsc_Slices_Per_Line" + ], + "HelpText": "This field defines the slices per line supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 31-10\t\t Bit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tReserved\t\t 24\t 20\t 16\t 12\t 10\t 8\t 6\t 4\t 2\t 1\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower slices per line than maximum selected field. i.e. If it supports say 8 slices per line, it will also support 4/2/1 slices per line", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Line buffer depth as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C15_Line_Buffer_Depth" + ], + "HelpText": "Line buffer depth in bits as per VESA DSC spec.", + "WidgetValues": [ + { + "Key": "8 bits", + "Value": "0" + }, + { + "Key": "9 bits", + "Value": "1" + }, + { + "Key": "10 bits", + "Value": "2" + }, + { + "Key": "11 bits", + "Value": "3" + }, + { + "Key": "12 bits", + "Value": "4" + }, + { + "Key": "13 bits", + "Value": "5" + }, + { + "Key": "14 bits", + "Value": "6" + }, + { + "Key": "15 bits", + "Value": "7" + }, + { + "Key": "16 bits", + "Value": "8" + } + ] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Input compression BPC supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C15_Dsc_Bpc" + ], + "HelpText": "This field defines the compression input bpc supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 7-4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tRsvd\t 12 bpc\t 10bpc\t 8bpc\t Rsvd\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower bpc values than the maximum selected field. i.e. If it supports say 12bpc, it will also support 10 and 8bpc as well", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum supported compression BPP: ", + "Visibility": "", + "Data": [ + "56", + "C15_Dsc_Max_Bpp" + ], + "HelpText": "As of today, we are supporting 6/8/10/12 BPP for compression output.\nSelect the most appropriate BPP as supported by the sink.", + "WidgetValues": [ + { + "Key": "6 Bits per pixel", + "Value": "0" + }, + { + "Key": "8 Bits per pixel", + "Value": "1" + }, + { + "Key": "10 Bits per pixel", + "Value": "2" + }, + { + "Key": "12 Bits per pixel", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Slice height supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C15_Dsc_Slice_Height" + ], + "HelpText": "Slice height supported by the sink device for DSC slice.\nNote: Slice height must divide the picture height uniformly.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-16", + "PageName": "Panel #16", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "LabelHeading", + "WidgetName": "Common LFP Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryAsci", + "WidgetName": " LFP Panel Name: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Name_16" + ], + "HelpText": "This feature defines the LFP panel name, used by driver only. Panel name can be only of 13 characters maximum and rest of the characters will be truncated.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target X-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Width_16" + ], + "HelpText": "This value specifies the Target X-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Target Y-Res: ", + "Visibility": "", + "Data": [ + "42", + "Panel_Height_16" + ], + "HelpText": "This value specifies the Target Y-Resolution for this panel.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " DPS Panel Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Seamless DRRS Minimum Refresh Rate (Hz): ", + "Visibility": "", + "Data": [ + "42", + "Seamless_DRRS_Min_RR_16" + ], + "HelpText": "Using this field the minimum Refresh Rate to be used for Seamless DRRS feature can be entered in Hertz.\nNote: Graphics driver will use this field only when EDID support is disabled in VBT configuration.", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": " BackLight Technology Type Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " BackLight Technology: ", + "Visibility": "", + "Data": [ + "40", + "Blt_Control_16" + ], + "HelpText": "This feature allows OEM to select the Backlight Technology.", + "WidgetValues": [ + { + "Key": "LED Backlight", + "Value": "2" + }, + { + "Key": "CCFL Backlight", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Rotation: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Rotation_16" + ], + "HelpText": "This feature specifies the Panel Rotation of LFP panel used.", + "WidgetValues": [ + { + "Key": "0 degree", + "Value": "0" + }, + { + "Key": "180 degree", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Position: ", + "Visibility": "", + "Data": [ + "40", + "Panel_Position_16" + ], + "HelpText": "This feature specifies the Panel Position of LFP panel used.", + "WidgetValues": [ + { + "Key": "Inside Shell", + "Value": "0" + }, + { + "Key": "Outside Shell", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Dual LFP Port Sync: ", + "Visibility": "", + "Data": [ + "42", + "EnablePortSync_Bit_16" + ], + "HelpText": "This feature will allow users to disable/enable Dual LFP Port Sync and it is applicable for DDI-A, DDI-B in case of eDP and DSI-0, DSI-1 in case of MIPI. \r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " GPU Dithering for Banding artifacts: ", + "Visibility": "", + "Data": [ + "42", + "EnableDithering_Bit_16" + ], + "HelpText": "This field can be used to enable dithering from the source side for reducing banding artifacts on the visual quality features like DPST.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "Power Features", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "LFP PnP ID Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Backlight Control Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Chromaticity Control", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "VESA DSC Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Integrated eDP Settings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Edp Max Port Link Rate (in 200 Khz): ", + "Visibility": "Block:2, Field:LFP_Device_Class, Value:6150 or Block:2, Field:LFP2_Device_Class, Value:6150", + "Data": [ + "27", + "eDP_Max_Port_Link_Rate_16" + ], + "HelpText": "This field specifies EDP Max Port Link Rate supported by the port in unit of 200KHz.\nDefault value would be \"0\", in which case Display Drivers should consider EDP Max Port Link Rate to be the Platform supported Max Link Rate.\nOnly when OEM's need to limit to particular Link Rate can enter the value as mentioned in below table.\n\nNote:\n1) OEM's need to enter the values mentioned from below table only.\n2) If value entered is not matching with any of the below values then Platform supported Max Link Rate should be considere as EDP Max Port Link Rate by the display drivers.\n3) In case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then we need to use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate)\n---------------------------------------------------------\n|\tLink Rate(Gbps)\t|\t Value to enter in text field\t|\n|\t \t\t|\t in terms of 200KHZ \t|\n---------------------------------------------------------\n|\t 1.62 \t\t|\t 8100 \t|\n|\t 2.16 \t\t|\t 10800 \t|\n|\t 2.43 \t\t|\t 12150 \t|\n|\t 2.7 \t\t|\t 13500 \t|\n|\t 3.24 \t\t|\t 16200 \t|\n|\t 3.78 \t\t|\t 18900 \t|\n|\t 4.32 \t\t|\t 21600 \t|\n|\t 5.4 \t\t|\t 27000 \t|\n|\t 6.48 \t\t|\t 32400 \t|\n|\t 6.75 \t\t|\t 33750 \t|\n|\t 8.1 \t\t|\t 40500 \t|\n", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Panel Color Depth: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Color_Depth_16" + ], + "HelpText": "This feature specifies the color depth of eDP panel used.", + "WidgetValues": [ + { + "Key": "18-bit Color Depth", + "Value": "0" + }, + { + "Key": "24-bit Color Depth", + "Value": "1" + }, + { + "Key": "30-bit Color Depth", + "Value": "2" + }, + { + "Key": "36-bit Color Depth", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Select VSwing/Pre-Emphasis table : ", + "Visibility": "", + "Data": [ + "27", + "eDP_VswingPreEmph_16" + ], + "HelpText": "This feature selects the VSwing Pre-Emphasis setting table to be used. For Tigerlake, based on the selection respective table will be used.\nTables for Tigerlake:\nLow Power VSwing Pre-Emphasis Setting Table:\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/200mV \t\t 200mV, 0.0db \t\t 200mV, 1.9db \t\t 200mV, 3.5db \t\t 200mV, 4.9db\nSwing \t\t Level-1/250mV \t\t 250mV, 0.0db \t\t 250mV, 1.6db \t\t 250mV, 2.9db \t\t N/A\n(mV) \t\t Level-2/300mV \t\t 300mV, 0.0db \t\t 300mV, 1.3db \t\t N/A \t\t N/A\n\t\t Level-3/350mV \t\t 350mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR3:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nDefault VSwing Pre-Emphasis Setting Table:\nFor HBR:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A\n\n\nFor HBR2:\n\t\t\t\t\t\t Pre-Emphasis (db)\n\t\t DP Applet \t\t Level-0/0dB \t\t Level-1/1.5dB \t\t Level-2/4dB \t\t Level-3/6dB\nVoltage \t\t Level-0/350mV \t\t 350mV, 0.0db \t\t 350mV, 3.1db \t\t 350mV, 6.0db \t\t 350mV, 8.2db\nSwing \t\t Level-1/500mV \t\t 500mV, 0.0db \t\t 500mV, 2.9db \t\t 500mV, 5.1db \t\t N/A\n(mV) \t\t Level-2/650mV \t\t 650mV, 0.6db \t\t 600mV, 3.5db \t\t N/A \t\t N/A\n\t\t Level-3/900mV \t\t 900mV, 0.0db \t\t N/A \t\t N/A \t\t N/A", + "WidgetValues": [ + { + "Key": "Default VSwing/Pre-Emphasis Table", + "Value": "1" + }, + { + "Key": "Low Power VSwing/Pre-Emphasis Table", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " eDP Spread Spectrum Clock: ", + "Visibility": "", + "Data": [ + "40", + "Enable_SSC16" + ], + "HelpText": "This feature will allow users to disable/enable Spread Spectrum Clock for eDP.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pixel Overlap Count: ", + "Visibility": "", + "Data": [ + "42", + "PixelOverlapCount_16" + ], + "HelpText": "Select the number of Pixels to be overlapped per half of Scanline while using Edp Multi-SST(MSO) feature.", + "WidgetValues": [ + { + "Key": "Zero Pixel Overlap", + "Value": "0" + }, + { + "Key": "One Pixel Overlap", + "Value": "1" + }, + { + "Key": "Two Pixel Overlap", + "Value": "2" + }, + { + "Key": "Three Pixel Overlap", + "Value": "3" + }, + { + "Key": "Four Pixel Overlap", + "Value": "4" + }, + { + "Key": "Five Pixel Overlap", + "Value": "5" + }, + { + "Key": "Six Pixel Overlap", + "Value": "6" + }, + { + "Key": "Seven Pixel Overlap", + "Value": "7" + }, + { + "Key": "Eight Pixel Overlap", + "Value": "8" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "PSR Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Apical Feature", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-2-16-1", + "PageName": "eDP Panel Power Sequencing Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " T3 optimization: ", + "Visibility": "", + "Data": [ + "27", + "eDP_T3_Optimization_16" + ], + "HelpText": "This feature enables or disables T3 optimization.\nWhen enabled, VBIOS/GOP driver will poll for AUX soon after VDD enable until AUX passes or T3 time is reached\nWhen disabled, VBIOS/GOP driver will wait for T3 time before trying the first AUX transaction", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "LCDVCC to HPD high delay (T3): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Vcc_To_Hpd_Delay_16" + ], + "HelpText": "Using this field the delay from LCDVCC to HPD high can be specified in 100uS.\nValid Range: 0 to 200msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Valid video data to Backlight Enable delay (T8): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOn_To_BkltEnable_Delay_16" + ], + "HelpText": "Using this field the delay from Start of Valid video data from Source to Backlight Enable can be specified in 100uS.\nT8 is inclusive of T7.\nValid Range of T7: 0 to 50msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM-On To Backlight Enable delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_PwmOn_To_Bklt_Enable_Delay_16" + ], + "HelpText": "Using this field the delay from PWM-On to Backlight Enable can be specified in 100uS.\nDelay from PWM-On to Backlight Enable is included in delay from Valid video data to Backlight Enable (T8).\nSo it is expected that delay from PWM-On to Backlight Enable is less than the delay from Valid video data to Backlight Enable (T8).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to PWM-Off delay: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Bklt_Disable_To_PwmOff_Delay_16" + ], + "HelpText": "Using this field delay from Backlight Disable to PWM-Off can be specified in 100uS.\nDelay from Backlight Disable to PWM-Off is included in delay from Backlight Disable to End of Valid video data (T9).\nSo it is expected that delay from Backlight Disable to PWM-Off delay is less than the delay from Backlight Disable to to End of Valid video data (T9).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Backlight Disable to End of Valid video data delay (T9): ", + "Visibility": "", + "Data": [ + "27", + "eDP_BkltDisable_To_DataOff_Delay_16" + ], + "HelpText": "Using this field the delay from Backlight Disable to End of Valid video data can be specified in 100uS.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "End of Valid video data to Power-Off delay (T10): ", + "Visibility": "", + "Data": [ + "27", + "eDP_DataOff_To_PowerOff_Delay_16" + ], + "HelpText": "Using this field delay from End of Valid video data from Source to Power-Off can be specified in 100uS.\nValid Range: 0 to 500 msec", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Power-off time (T12): ", + "Visibility": "", + "Data": [ + "27", + "eDP_PowerCycle_Delay_16" + ], + "HelpText": "Using this field Power-off time can be specified in 100uS.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-16-2", + "PageName": "eDP Fast Link Training Configuration Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Is FastLinkTraining Feature Supported: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Supported_16" + ], + "HelpText": "This feature allows for the selection of the Fast Link Training feature is to be enabled or disabled.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Data Rate: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Fast_Link_Training_Data_Rate_16" + ], + "HelpText": "This field specifies Data Rate to be used for Fast Link Training in unit of 200KHz for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.\n\nIn case of EDP Fast Link Training Params(FLT), if user enters FLT Link Rate value greater than the \"eDP Max Port Link Rate\" then driver would use \n Fast Link training Link Rate = MIN (FLT Link Rate , eDP Max Port Link Rate).", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lane Count: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_LaneCount_16" + ], + "HelpText": "This feature allows for the selection of the Lane Count (Port Width) for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Pre-Emphasis: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_PreEmp_16" + ], + "HelpText": "This feature allows for the selection of the Pre-emphasis value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Voltage Swing: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Link_Vswing_16" + ], + "HelpText": "This feature allows for the selection of the Voltage Swing value for the embedded DP link. It will be used if the sink indicates that no aux handshake is required during link training.", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-16-3", + "PageName": "PSR Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Full Link enable: ", + "Visibility": "", + "Data": [ + "9", + "PSR_FullLink_Enable_16" + ], + "HelpText": "When panel is in PSR mode and 'Full Link Enable' is set to Yes, Link is kept in standby state.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Require AUX to wake up: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Require_AUX2Wakeup_16" + ], + "HelpText": "When panel is exiting PSR mode and 'Require AUX to wake up' is set to Yes, the AUX channel handshake(link training is required) will be used.", + "WidgetValues": [ + { + "Key": "No", + "Value": "0" + }, + { + "Key": "Yes", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Lines to wait before link standby: ", + "Visibility": "", + "Data": [ + "9", + "PSR_Lines2Wait_B4LinkS3_16" + ], + "HelpText": "This field determines Lines to wait before link standby\n0 lines to wait (Default)\n1 lines to wait\n4 lines to wait\n8 lines to wait\nOthers Reserved", + "WidgetValues": [ + { + "Key": "0 lines to wait", + "Value": "0" + }, + { + "Key": "1 lines to wait", + "Value": "1" + }, + { + "Key": "4 lines to wait", + "Value": "2" + }, + { + "Key": "8 lines to wait", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Idle frames to wait: ", + "Visibility": "", + "Data": [ + "9", + "PSR_IdleFrames2Wait_16" + ], + "HelpText": "Idle frames to wait for PSR enable.\nAllowed values 0-15. Default value is 0.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Clock Recovery Time: ", + "Visibility": "", + "Data": [ + "9", + "PSR_TP1_WaitTime_16" + ], + "HelpText": "This field selects the link training TP1(Training Pattern1) time during PSR exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR1 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR1_TP_2_3_4_WaitTime_16" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR1 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "0 (Skip)", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Channel Equalization Time for PSR2 panel: ", + "Visibility": "", + "Data": [ + "9", + "PSR2_TP_2_3_4_WaitTime_16" + ], + "HelpText": "This field selects the link training TP2(Training Pattern2) or TP3(Training Pattern3) or TP4(Training Pattern4) time during PSR2 exit(wake up)", + "WidgetValues": [ + { + "Key": "500 usec", + "Value": "0" + }, + { + "Key": "100 usec", + "Value": "1" + }, + { + "Key": "2.5 msec", + "Value": "2" + }, + { + "Key": "50 usec", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-16-4", + "PageName": "Apical Feature", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Apical Assertive Display IP: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Apical_Display_Ip_Enable_16" + ], + "HelpText": "This field enables/disables the Apical Assertive Display IP for this panel.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel OUI (IEEE OUI): ", + "Visibility": "", + "Data": [ + "27", + "eDP_Panel_Oui_16" + ], + "HelpText": "This field specifies the Apical IP specific Panel OUI field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Base Address: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Base_Address_16" + ], + "HelpText": "This field specifies the Apical IP specific DPCD base address field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Irdidix Control 0: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Irdidix_Control0_16" + ], + "HelpText": "This field specifies the Apical IP specific DPCD Irdidix control 0 field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Option Select: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Option_Select_16" + ], + "HelpText": "This field specifies the Apical IP specific DPCD option select field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " DPCD Backlight: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Dpcd_Backlight_16" + ], + "HelpText": "This field specifies the Apical IP specific backlight value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Ambient Light: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Ambient_Light_16" + ], + "HelpText": "This field specifies the Apical IP specific Ambient light value.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Backlight scale: ", + "Visibility": "", + "Data": [ + "27", + "eDP_Backlight_Scale_16" + ], + "HelpText": "This field specifies the Apical IP specific backlight scale field.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-16-5", + "PageName": "Power Features", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Power Saving Technology (DPST) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DPST_Enable_16" + ], + "HelpText": "This feature determines whether the Intel Display Power Savings Technology (DPST) is enabled or disabled.\nIntel DPST is a display power savings technology that changes the intensity of colors in order to conserve backlight power.\nNote: This technology is only active when the system is running in battery mode and the LFP is the only active display device.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Display Refresh Rate Switching (DRRS) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "DRRS_Enable_16" + ], + "HelpText": "This feature determines whether Intel Display Refresh Rate Switching (DRRS) is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Edge Luminance Profile (ELP) : ", + "Visibility": "", + "Data": [ + "44", + "ELP_Enable_16" + ], + "HelpText": "This feature determines whether the ELP feature is enabled or disabled.\nEdge Luminance Profile (ELP) is a panel technology which reduce luminance on the edge of screen to save panel power.\nNote:This technology cannot co-exist with DPST and OPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " OLED Power Saving Technology (OPST) : ", + "Visibility": "", + "Data": [ + "44", + "OPST_Enable_16" + ], + "HelpText": "This feature determines whether the OPST feature is enabled or disabled.\nOLED Power Saving Technology (OPST) is a panel technology which saves power by intelligent, adaptive dimming of midrange pixel values more aggressively than the extremes without compromising the viewability.\nNote: This technology cannot co-exist with ELP and DPST ((i.e.) OPST, DPST and ELP cannot exist together.They are all mutually exclusive to each other.)", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dynamic Media Refresh Rate Switching Enable/Disable ", + "Visibility": "", + "Data": [ + "44", + "DMRRS_Enable_16" + ], + "HelpText": "This feature determines whether Dynamic media refresh rate switching is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Enable Display Lace Support: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Enable_16" + ], + "HelpText": "This feature, when enabled, will set Display Lace Support otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Panel Self Refresh (PSR): ", + "Visibility": "", + "Data": [ + "44", + "PSR_Enable_16" + ], + "HelpText": "This feature determines whether Panel Self Refresh (PSR) feature is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Assertive Display Technology Enable/Disable: ", + "Visibility": "", + "Data": [ + "44", + "ADT_Enable_16" + ], + "HelpText": "This feature determines whether Assertive display technology is to be enabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Intel Automatic Display Brightness (ADB) (Mobile only): ", + "Visibility": "", + "Data": [ + "44", + "ADB_Enable_16" + ], + "HelpText": "This feature determines whether Intel Automatic Display Brightness is to be enabled. Intel Automatic Display Brightness adjusts the brightness of the embedded Local Flat Panel (LFP) depending on the current ambient light environment.\nWhen enabled, the driver and VBIOS will control the backlight brightness of the LFP depending on the ambient environment if and only if the LFP is the only active display. When disabled, the driver will perform no action.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDP 4k/2k HOBL Feature: ", + "Visibility": "", + "Data": [ + "44", + "eDP_4k_2k_HOBL_feature_Enable_16" + ], + "HelpText": "This feature will allow users to disable/enable the edp 4k/2k HOBL(Hours Of Battery Life) feature by programming relevant registers specific for a platform.\r\n.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display LACE Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Status_16" + ], + "HelpText": "This feature, when enabled, will set Default Display LACE Enabled status otherwise, the functionality will be disabled.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "DPST_Aggressiveness_Profile_16" + ], + "HelpText": "This feature allows for the selection of DPST Aggressiveness level for this Panel Type.\n1 (Maximum Quality with No DPST)\n2\n3\n4\n5\n6 (Maximum Battery)", + "WidgetValues": [ + { + "Key": "1 - Maximum Quality with No DPST", + "Value": "1" + }, + { + "Key": "2", + "Value": "2" + }, + { + "Key": "3", + "Value": "3" + }, + { + "Key": "4", + "Value": "4" + }, + { + "Key": "5", + "Value": "5" + }, + { + "Key": "6 - Maximum Battery", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LACE Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "LACE_Aggressiveness_Profile_16" + ], + "HelpText": "This feature allows for the selection of LACE Aggressiveness level for this Panel Type.\nMinimum 0\nModerate 1\nHigh 2", + "WidgetValues": [ + { + "Key": "Minimum", + "Value": "0" + }, + { + "Key": "Moderate", + "Value": "1" + }, + { + "Key": "High", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "ELP Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "ELP_Aggressiveness_Profile_16" + ], + "HelpText": "This feature allows for the selection of ELP Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "OPST Aggressiveness Level: ", + "Visibility": "", + "Data": [ + "44", + "OPST_Aggressiveness_Profile_16" + ], + "HelpText": "This feature allows for the selection of OPST Aggressiveness level for this Panel Type.\nMinimum Power Savings\nMedium Power Savings \nMaximum Power Savings", + "WidgetValues": [ + { + "Key": "Minimum Power Savings", + "Value": "0" + }, + { + "Key": "Medium Power Savings", + "Value": "1" + }, + { + "Key": "Maximum Power Savings", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Default Display VRR Enabled status: ", + "Visibility": "", + "Data": [ + "44", + "VRR_Status_16" + ], + "HelpText": "VRR (Variable Refresh Rate) is a feature that can continuously and seamlessly vary Refresh Rate on the fly, on displays that support Variable Refresh rate Technologies.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-16-6", + "PageName": "Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Pixel_CLK_16" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Active_16" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Active_16" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Blank_16" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Blank_16" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_FrontPorch_16" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_FrontPorch_16" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Sync_16" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Sync_16" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_H_Image_Size_16" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_V_Image_Size_16" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "LFP_DTD_Common_Flag_16" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-16-7", + "PageName": "LFP PnP ID Table", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "42", + "LFP_Panel_PnP_ID_16" + ], + "HelpText": "This feature allows the 10 bytes of EDID Vendor/Product ID starting at offset 08h to be used as a PnP ID.\n\nTable Definition:\n\tWord: ID Manufacturer Name\n\tWord: ID Product Code\n\tDWord: ID Serial Number\n\tByte: Week of Manufacture\n\tByte: Year of Manufacture", + "WidgetValues": [ + { + "ColumnName": "PnP ID", + "SizeinBytes": "1" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-16-8", + "PageName": "Backlight Control Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Type: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Type_16" + ], + "HelpText": "This feature allows for the selection of the Backlight Inverter type that is to be used to control the backlight brightness of the LFP.\nWhen PWM is selected, the driver and VBIOS will control the backlight brightness via the integrated PWM solution for the applicable chipsets.\nWhen None/External is selected, the system BIOS will control the backlight brightness via the external solution.", + "WidgetValues": [ + { + "Key": "None/External", + "Value": "0" + }, + { + "Key": "PWM", + "Value": "2" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Source Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Source_Selection_16" + ], + "HelpText": "If panel supports 'Intel HDR AUX Interface', it will always be chosen by default. If not, value in 'PWM Source Selection' will be used", + "WidgetValues": [ + { + "Key": "PWM From Display Engine", + "Value": "2" + }, + { + "Key": "PWM From LCD Panel", + "Value": "3" + }, + { + "Key": "Panel Driver Interface", + "Value": "4" + }, + { + "Key": "VESA eDP AUX Interface", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pwm Controller Selection: ", + "Visibility": "", + "Data": [ + "43", + "Lfp_Pwm_Controller_Selection_16" + ], + "HelpText": "This field allows to select the PWM Controller to be used for the selected Local Flat Panel.This field allows to select the PWM Controller to be used for the selected Local Flat Panel.If Two LFPs are connected then PWM0 and PWM1 must be selected accordingly.", + "WidgetValues": [ + { + "Key": "PWM0", + "Value": "0" + }, + { + "Key": "PWM1", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Inverter Polarity: ", + "Visibility": "", + "Data": [ + "43", + "BLC_Inv_Polarity_16" + ], + "HelpText": "This feature allows the backlight inverter polarity to be specified.\nNormal means 0 value is minimum brightness.\nInverted means 0 value is maximum brightness.", + "WidgetValues": [ + { + "Key": "Normal", + "Value": "0" + }, + { + "Key": "Inverted", + "Value": "1" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Minimum Brightness: ", + "Visibility": "", + "Data": [ + "43", + "Post_Min_Brightness_16" + ], + "HelpText": "This feature allows defining the absolute minimum backlight brightness. The driver will never decrease the backlight less than this value. The value must be specified using normal polarity semantics. The value should range from 0 to 255 if the brightness precision bit is chosen to be 8, and it should range from 0 to 65535 if the precision bit is chosen to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "POST Backlight Intensity: ", + "Visibility": "", + "Data": [ + "43", + "Post_Brightness_16" + ], + "HelpText": "This feature is used to set default backlight brightness value of the panel at POST. The value should range from 0 to 255 if the bit precision is chosen to be 8 and it should range from 0 to 65535 if the brightness bit precision is chosent to be 16.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Brightness Precision Bits: ", + "Visibility": "", + "Data": [ + "43", + "BrightnessPrecisionBits_16" + ], + "HelpText": "This field represents the range of brightness in terms of bit precision.\n 8 = Brightness range of 0 to 255.\n 16 = Brightness range of 0 to 65535", + "WidgetValues": [ + { + "Key": "8", + "Value": "8" + }, + { + "Key": "16", + "Value": "16" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "PWM Inverter Frequency (Hz): ", + "Visibility": "", + "Data": [ + "43", + "PWM_Frequency_16" + ], + "HelpText": "This feature allows for the definition of the frequency needed for PWM Inverter.\nNote: The frequency range (entered as a decimal number), for the integrated PWM is 200Hz - 40KHz.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Intel HDR DPCD Refresh Timeout (unit - 10 micro seconds): ", + "Visibility": "", + "Data": [ + "43", + "HdrDpcdRefreshTimeout_16" + ], + "HelpText": "This field allows to configure the refresh timeout of Intel HDR DPCDs for different TCON Vendors.\nNote:\n\tThe value is in units of 10 microseconds.\n\tThe range (entered as a decimal number), for the timeout is 0-65535", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-16-9", + "PageName": "Chromaticity Control", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Chromaticity Control Feature: ", + "Visibility": "", + "Data": [ + "46", + "Chromacity_Enable_16" + ], + "HelpText": "This bit enables Chromaticity feature.\nIf this bit is enabled, EDID values for chromaticity will be used, else feature is disabled.\nFeature will be supported for Panels that support EDID version 1.4 or higher.\nPlease refer to section 3.7 of EDID Specification 1.4.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override the EDID values: ", + "Visibility": "", + "Data": [ + "46", + "Override_EDID_Data_16" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override EDID values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_Green_bits (Bits 1:0 at 19h): ", + "Visibility": "", + "Data": [ + "46", + "Red_Green_16" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Red, Green Coordinates represented as Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1 Gy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_White_bits (Bits 1:0 at 1Ah): ", + "Visibility": "", + "Data": [ + "46", + "Blue_White_16" + ], + "HelpText": "Lower order bytes (bits 1 and 0) of Blue, White Coordinates represented as Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_x (Bits 9:2 at 1Bh): ", + "Visibility": "", + "Data": [ + "46", + "Red_x_16" + ], + "HelpText": "Bits 9:2 of red color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Red_y (Bits 9:2 at 1Ch): ", + "Visibility": "", + "Data": [ + "46", + "Red_y_16" + ], + "HelpText": "Bits 9:2 of red color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_x (Bits 9:2 at 1Dh): ", + "Visibility": "", + "Data": [ + "46", + "Green_x_16" + ], + "HelpText": "Bits 9:2 of Green color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Green_y (Bits 9:2 at 1Eh): ", + "Visibility": "", + "Data": [ + "46", + "Green_y_16" + ], + "HelpText": "Bits 9:2 of Green color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_x (Bits 9:2 at 1Fh): ", + "Visibility": "", + "Data": [ + "46", + "Blue_x_16" + ], + "HelpText": "Bits 9:2 of Blue color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Blue_y (Bits 9:2 at 20h): ", + "Visibility": "", + "Data": [ + "46", + "Blue_y_16" + ], + "HelpText": "Bits 9:2 of Blue color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_x (Bits 9:2 at 21h): ", + "Visibility": "", + "Data": [ + "46", + "White_x_16" + ], + "HelpText": "Bits 9:2 of White color x coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " White_y (Bits 9:2 at 22h): ", + "Visibility": "", + "Data": [ + "46", + "White_y_16" + ], + "HelpText": "Bits 9:2 of White color y coordinate", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Luminance values ", + "Visibility": "", + "Data": [ + "46", + "Override_LUM_Data_16" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override luminance values following VBT values", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Minimum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MinLuminance_16" + ], + "HelpText": "Minimum luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum full frame luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxFullLuminance_16" + ], + "HelpText": "Maximum Full frame luminance value.\n2 byte value, encoded in IEEE 754 half-precision binary floating point format,", + "WidgetValues": [] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Maximum Luminance: ", + "Visibility": "", + "Data": [ + "46", + "MaxLuminance_16" + ], + "HelpText": "Maximum luminance value(Relatively smaller portion of screen).\n2 byte value, encoded in IEEE 754 half-precision binary floating point format.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Override Gamma values: ", + "Visibility": "", + "Data": [ + "46", + "Override_Gamma_Data_16" + ], + "HelpText": "This option when enabled along with Chromaticity feature will override gamma values through following VBT data", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "EntryHex", + "WidgetName": " Panel gamma: ", + "Visibility": "", + "Data": [ + "46", + "Gamma_16" + ], + "HelpText": "Value shall define the gamma range, from 1.00 to 3.54, as follows:\nField Value = (Gamma (value in float) x 100) - 100\nField values range from 00h through FFh.\nFFh = No gamma information shall be provided", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-2-16-10", + "PageName": "VESA DSC Parameters", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Major Version: ", + "Visibility": "", + "Data": [ + "56", + "C16_Major_Dsc_Version" + ], + "HelpText": "VESA DSC Major revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "DSC Minor Version: ", + "Visibility": "", + "Data": [ + "56", + "C16_Minor_Dsc_Version" + ], + "HelpText": "VESA DSC Minor revision field.", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Block prediction supported: ", + "Visibility": "", + "Data": [ + "56", + "C16_Blk_Prediction_En" + ], + "HelpText": "Sink supports block prediction as per the VESA DSC Spec.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "RC Buffer Block size as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C16_RC_Block_Size" + ], + "HelpText": "RC buffer block size for a single RC buffer as defined by the VESA DSC spec.", + "WidgetValues": [ + { + "Key": "1 KB", + "Value": "0" + }, + { + "Key": "4 KB", + "Value": "1" + }, + { + "Key": "16 KB", + "Value": "2" + }, + { + "Key": "64 KB", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Number of RC buffer blocks as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C16_Dsc_RC_Buf_Size" + ], + "HelpText": "This field defines the number of RC buffers as per VESA DSC spec.\nThe number of RC buffers used by the software shall be (Value + 1) where Value is in range 0 to 127.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Slices per line supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C16_Dsc_Slices_Per_Line" + ], + "HelpText": "This field defines the slices per line supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 31-10\t\t Bit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tReserved\t\t 24\t 20\t 16\t 12\t 10\t 8\t 6\t 4\t 2\t 1\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower slices per line than maximum selected field. i.e. If it supports say 8 slices per line, it will also support 4/2/1 slices per line", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Line buffer depth as per VESA DSC Spec: ", + "Visibility": "", + "Data": [ + "56", + "C16_Line_Buffer_Depth" + ], + "HelpText": "Line buffer depth in bits as per VESA DSC spec.", + "WidgetValues": [ + { + "Key": "8 bits", + "Value": "0" + }, + { + "Key": "9 bits", + "Value": "1" + }, + { + "Key": "10 bits", + "Value": "2" + }, + { + "Key": "11 bits", + "Value": "3" + }, + { + "Key": "12 bits", + "Value": "4" + }, + { + "Key": "13 bits", + "Value": "5" + }, + { + "Key": "14 bits", + "Value": "6" + }, + { + "Key": "15 bits", + "Value": "7" + }, + { + "Key": "16 bits", + "Value": "8" + } + ] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Input compression BPC supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C16_Dsc_Bpc" + ], + "HelpText": "This field defines the compression input bpc supported by the sink device.\nThe field is defined in bitmap fashion and details of each bits are as defined below:\n\tBits 7-4\t Bit 3\t Bit 2\t Bit 1\t Bit 0\n\tRsvd\t 12 bpc\t 10bpc\t 8bpc\t Rsvd\nBit = 0, not supported. Bit = 1, supported\nNote: Assumption is that sink shall support all lower bpc values than the maximum selected field. i.e. If it supports say 12bpc, it will also support 10 and 8bpc as well", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum supported compression BPP: ", + "Visibility": "", + "Data": [ + "56", + "C16_Dsc_Max_Bpp" + ], + "HelpText": "As of today, we are supporting 6/8/10/12 BPP for compression output.\nSelect the most appropriate BPP as supported by the sink.", + "WidgetValues": [ + { + "Key": "6 Bits per pixel", + "Value": "0" + }, + { + "Key": "8 Bits per pixel", + "Value": "1" + }, + { + "Key": "10 Bits per pixel", + "Value": "2" + }, + { + "Key": "12 Bits per pixel", + "Value": "3" + } + ] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Slice height supported by the sink device: ", + "Visibility": "", + "Data": [ + "56", + "C16_Dsc_Slice_Height" + ], + "HelpText": "Slice height supported by the sink device for DSC slice.\nNote: Slice height must divide the picture height uniformly.", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-3", + "PageName": "Integrated DisplayPort/HDMI Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Label", + "WidgetName": "Configurations for DisplayPort/HDMI Solution (External Connectors): ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Label", + "WidgetName": "DisplayPort SSC configuration: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " DisplayPort (External Connectors) Spread Spectrum Clock: ", + "Visibility": "", + "Data": [ + "1", + "DP_SSC_Enb" + ], + "HelpText": "This feature allow OEMs to enable/disable SSC for external DisplayPort. This feature is valid only the attached DisplayPort panel support SSC.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " DisplayPort Spread Spectrum Clock Enable/Disable for Dongles: ", + "Visibility": "", + "Data": [ + "1", + "DP_SSC_Dongle_Enb" + ], + "HelpText": "This feature is to enable or disable DisplayPort Dongle Spread Spectrum Clock when dongle are used and the attached DisplayPort panel should support SSC", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "DisplayPort Device Configuration: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Device 1(EFP1) Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Device 2(EFP2) Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Device 3(EFP3) Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Device 4(EFP4) Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Device 5(EFP5) Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Device 6(EFP6) Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Device 7(EFP7) Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-3-1", + "PageName": "Device 1(EFP1) Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Device Type: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP1_Type" + ], + "HelpText": "This feature specifies the Device Type for this add-in device.\n\nNote:\nDevice Type \"Integrated Display Only Internal to Chassis\" specifies if the display location is internal to the system chasis or not. \nThis Device Class Type should be configured for Port-A and Port-B only.\nIf configured as internal, OEM's must ensure that we also configure this as internal in the FIT tool for CSME FW.\nThe options should be selected as Internal only if the port is used in AIO designs and part of the system chasis. It should be set as External for physically external ports.", + "WidgetValues": [ + { + "Key": "No Device", + "Value": "0" + }, + { + "Key": "Integrated DisplayPort Only", + "Value": "26822" + }, + { + "Key": "Integrated DisplayPort with HDMI/DVI Compatible", + "Value": "24790" + }, + { + "Key": "Integrated DisplayPort with DVI Compatible", + "Value": "26838" + }, + { + "Key": "Integrated Display Only Internal to Chassis", + "Value": "18502" + }, + { + "Key": "Integrated HDMI/DVI", + "Value": "24786" + }, + { + "Key": "Integrated DVI Only", + "Value": "26834" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Output Port: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP1_Port" + ], + "HelpText": "This feature specifies which DVO port the device is configured.", + "WidgetValues": [ + { + "Key": "HDMI-A", + "Value": "0" + }, + { + "Key": "HDMI-B", + "Value": "1" + }, + { + "Key": "HDMI-TC1", + "Value": "14" + }, + { + "Key": "HDMI-TC2", + "Value": "16" + }, + { + "Key": "HDMI-TC3", + "Value": "18" + }, + { + "Key": "HDMI-TC4", + "Value": "20" + }, + { + "Key": "DisplayPort-A", + "Value": "10" + }, + { + "Key": "DisplayPort-B", + "Value": "7" + }, + { + "Key": "DisplayPort TC1", + "Value": "13" + }, + { + "Key": "DisplayPort TC2", + "Value": "15" + }, + { + "Key": "DisplayPort TC3", + "Value": "17" + }, + { + "Key": "DisplayPort TC4", + "Value": "19" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DDC Bus GPIO Pin Pair: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP1_DDC_Pin" + ], + "HelpText": "This feature specifies the GPIO pin pair used as DDC bus by this device. If this device doesn't support DDC bus, this field will be ignored. \t Pin Pair Value \t\t ADLP PCH mapping\n \t Pin-Pair #1\t\t DDI-A DDC\n \t Pin-Pair #2\t\t DDI-B DDC \n \t Pin-Pair #3\t\t DDI-TC1 DDC \n \t Pin-Pair #4\t\t DDI-TC2 DDC \n \t Pin-Pair #5\t\t DDI-TC3 DDC \n \t Pin-Pair #6\t\t DDI-TC4 DDC \n", + "WidgetValues": [ + { + "Key": "N/A", + "Value": "0" + }, + { + "Key": "Pin-Pair #1", + "Value": "1" + }, + { + "Key": "Pin-Pair #2", + "Value": "2" + }, + { + "Key": "Pin-Pair #3", + "Value": "3" + }, + { + "Key": "Pin-Pair #4", + "Value": "4" + }, + { + "Key": "Pin-Pair #5", + "Value": "5" + }, + { + "Key": "Pin-Pair #6", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select AUX Channel: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP1_AUX_Channel" + ], + "HelpText": "This feature specifies the AUX Channel for int-DisplayPort. This field is valid only if integrated DP is selected for Device Type.", + "WidgetValues": [ + { + "Key": "N/A", + "Value": "0" + }, + { + "Key": "DisplayPort-A AUX Channel", + "Value": "64" + }, + { + "Key": "DisplayPort-B AUX Channel", + "Value": "16" + }, + { + "Key": "DisplayPort TC1 AUX Channel", + "Value": "96" + }, + { + "Key": "DisplayPort TC2 AUX Channel", + "Value": "112" + }, + { + "Key": "DisplayPort TC3 AUX Channel", + "Value": "128" + }, + { + "Key": "DisplayPort TC4 AUX Channel", + "Value": "144" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select HDMI level shifter configuration: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP1_HDMI_LS_Type" + ], + "HelpText": "This feature specifies the Level shifter configuration for HDMI. This field is valid only if HDMI is selected for Device Type.\n\n-------------------------------------------------------------------------------------------------------------\n|\t\t\t|\tCOMBO-PHY\t|\tDKL-PHY\t\t|\n-------------------------------------------------------------------------------------------------------------\n|\tLevel 1\t\t|\t450mV 0.0dB\t|\t400mV 0dB\t\n|\tLevel 2\t\t|\t450mV 3.2dB\t|\t500mV 0dB\t|\n|\tLevel 3\t\t|\t450mV 5.5dB\t|\t650mV 0dB\t|\n|\tLevel 4\t\t|\t650mV 0.0dB\t|\t800mV 0dB\t|\n|\tLevel 5\t\t|\t650mV 2.3dB\t|\t1000mV 0dB\t|\n|\tLevel 6\t\t|\t850mV 0.0dB\t|\tFULL -1.5dB\t|\n|\tLevel 7\t\t|\t600mV 3.0dB\t|\tFULL -1.8dB\t|\n|\tLevel 8\t\t|\t450mV 0.0dB\t|\tFULL -2dB\t|\n|\tLevel 9\t\t|\t450mV 0.0dB\t|\tFULL -2.5dB\t|\n|\tLevel 10\t\t|\t450mV 0.0dB\t|\tFULL -3dB\t|\n", + "WidgetValues": [ + { + "Key": "Level 1", + "Value": "0" + }, + { + "Key": "Level 2", + "Value": "1" + }, + { + "Key": "Level 3", + "Value": "2" + }, + { + "Key": "Level 4", + "Value": "3" + }, + { + "Key": "Level 5", + "Value": "4" + }, + { + "Key": "Level 6", + "Value": "5" + }, + { + "Key": "Level 7", + "Value": "6" + }, + { + "Key": "Level 8", + "Value": "7" + }, + { + "Key": "Level 9", + "Value": "8" + }, + { + "Key": "Level 10", + "Value": "9" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select HDMI maximum data rate: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP1_HDMI_Maximum_Data_Rate" + ], + "HelpText": "This feature limits the maximum data rate per lane for HDMI. This field is valid only if HDMI is selected for Device Type. \n\nNote: OEM’s need to configure the maximum data rate as per mother board support.", + "WidgetValues": [ + { + "Key": "6.00 Gbps", + "Value": "0" + }, + { + "Key": "2.97 Gbps", + "Value": "1" + }, + { + "Key": "1.65 Gbps", + "Value": "2" + }, + { + "Key": "5.94 Gbps", + "Value": "3" + }, + { + "Key": "3.40 Gbps", + "Value": "4" + }, + { + "Key": "3.00 Gbps", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DP max Link Rate: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP1_DP_Port_Max_LinkRate" + ], + "HelpText": "This feature limits the maximum link rate for DP Port. This field is valid only if DP is selected for Device Type. \n\nHBR3 is the max Link rate supported by ADL-P/M/N. UHBR link rates are supported only by RPL-P. So, choosing a Link rate greater than HBR3 for ADL-P/M/N will automatically force a fallback to HBR3 in GOP and gfx-driver. \n\nNote: OEM’s need to configure the maximum Link rate as per mother board support.", + "WidgetValues": [ + { + "Key": "Default Max Link Rate supported by Plaftform", + "Value": "0" + }, + { + "Key": "LBR (1.62 Gbps)", + "Value": "1" + }, + { + "Key": "HBR (2.7 Gbps)", + "Value": "2" + }, + { + "Key": "HBR2 (5.4 Gbps)", + "Value": "3" + }, + { + "Key": "HBR3 (8.1 Gbps)", + "Value": "4" + }, + { + "Key": "UHBR10 (10 Gbps)", + "Value": "5" + }, + { + "Key": "UHBR13_5 (13.5 Gbps)", + "Value": "6" + }, + { + "Key": "UHBR20 (20 Gbps)", + "Value": "7" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DP Port Max Lane Count Supported: ", + "Visibility": "", + "Data": [ + "2", + "EFP1_EDP_DP_Port_Max_LaneCount" + ], + "HelpText": "This feature allows for the selection of the Port Max Lane Count (Port Width) for the EDP/DP link.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDIDless Panel: ", + "Visibility": "", + "Data": [ + "2", + "EFP1_EDIDless_en" + ], + "HelpText": "If the Attached panel is EDIDless select Yes and the supplied DTD takes priority.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "EDID-less EFP Panel Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LTTPR(Link-Training Tunable PHY Repeaters) Mode: ", + "Visibility": "", + "Data": [ + "2", + "EFP1_LTTPRNonTransparentMode" + ], + "HelpText": "This option is used to enable or disable the LTTPR Non transparent Mode.", + "WidgetValues": [ + { + "Key": "Non-Transparent Mode", + "Value": "1" + }, + { + "Key": "Transparent Mode", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Max FrlRate Field Status", + "Visibility": "", + "Data": [ + "2", + "EFP1_IsMaxFrlRateFieldValid" + ], + "HelpText": "Indicates if we need to consider the MaxFrlRate field for HDMI2.1\nDisable - Don't consider the MaximumFrlRate for limiting the FrlRates on HDMI2.1 displays\nEnable - MaximumFrlRate given in bits 0 to 3 are used to override Max FRL Rate supported by platform/panel", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum FrlRate ", + "Visibility": "", + "Data": [ + "2", + "EFP1_MaximumFrlRate" + ], + "HelpText": "0000 = FrlRates not supported (HDMI 2.1 is limited to support only TMDS modes)\n0001 = 3 GT/s\n0010 = 6 GT/s\n0011 = 8 GT/s\n0100 = 10 GT/s\n0101 = 12 GT/s", + "WidgetValues": [ + { + "Key": "FrlRates not supported", + "Value": "0" + }, + { + "Key": "3 GT/s", + "Value": "1" + }, + { + "Key": "6 GT/s", + "Value": "2" + }, + { + "Key": "8 GT/s", + "Value": "3" + }, + { + "Key": "10 GT/s", + "Value": "4" + }, + { + "Key": "12 GT/s", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP to HDMI Pcon: ", + "Visibility": "", + "Data": [ + "2", + "LSPcon1_Options" + ], + "HelpText": "This option is used to enable or disable the OnBoard LSPCON chip.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DDI Lane Reversal: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP1_Lane_Reversal" + ], + "HelpText": "This feature, when enabled, will set lane reversal bit for selected Port", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP Alt mode over Type C: ", + "Visibility": "", + "Data": [ + "2", + "EFP1_DP_Alt_Mode_OverTypeC_Enabled" + ], + "HelpText": "This option Enables/Disables DP alternate mode over type C ports.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP Tunneling over Thunderbolt: ", + "Visibility": "", + "Data": [ + "2", + "EFP1_Thunderbolt_Feature_Enabled" + ], + "HelpText": "This option Enables/Disables DP tunneling over Thunderbolt for selected Port.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dockable Port: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP1_Port_Dockable" + ], + "HelpText": "This feature will describe if this Port is Dockable or Not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Select DisplayPort Redriver ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Select DisplayPort Redriver Configuration ( Dock/ OnBoard )", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Vswing PreEmphasis Table Override: ", + "Visibility": "", + "Data": [ + "2", + "INT_EFP1_Vswing_Override_Enable" + ], + "HelpText": "This feature, when enabled, will allow Graphics driver to use the Vswing and Pre-emphasis values from VBT. OEM's must not enable or disable this on their own and work with the Intel CE team to change any settings in this page. When this field is enabled, corresponding table must be populated in the VBT for PHY Vswing parameters too.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-3-1-1", + "PageName": "Select DisplayPort Redriver Configuration ( Dock/ OnBoard )", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Non-dock topology: (OnBoard) ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP1_OnBoard_Redriver_Present" + ], + "HelpText": "This feature will describe if Non-Dock Topology/OnBoard Redriver DP Link is present or Not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pre-Emphasis Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP1_OnBoard_Pre_emphasis" + ], + "HelpText": "This feature allows for the selection of Pre-emphasis level for the OnBoard redriver DP link.\nLevel 0 (0 dB)\nLevel 1 (3.5 dB)\nLevel 2 (6.0 dB)\nLevel 3 (9.5 dB)", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Voltage Swing Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP1_OnBoard_Voltage_swing" + ], + "HelpText": "This feature allows for the selection of voltage swing level for the OnBoard redriver DP link.\nSwing-0 (0.4 V)\nSwing-1 (0.6 V)\nSwing-2 (0.8 V)\nSwing-3 (1.2 V)", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dock Topology: (Mobile only) ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP1_Dock_Redriver_Present" + ], + "HelpText": "This feature will describe if Dock Topology/Dock Redriver DP Link is present or not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pre-Emphasis Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP1_Dock_Pre_emphasis" + ], + "HelpText": "This feature allows for the selection of Pre-emphasis level for the Dock redriver DP link.\nLevel 0 (0 dB)\nLevel 1 (3.5 dB)\nLevel 2 (6.0 dB)\nLevel 3 (9.5 dB)", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Voltage Swing Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP1_Dock_Voltage_swing" + ], + "HelpText": "This feature allows for the selection of voltage swing level for the Dock redriver DP link.\nSwing-0 (0.4 V)\nSwing-1 (0.6 V)\nSwing-2 (0.8 V)\nSwing-3 (1.2 V)", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-3-1-2", + "PageName": "EDID-less EFP Panel Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_Pixel_CLK_01" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Active_01" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Active_01" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Blank_01" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Blank_01" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_FrontPorch_01" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_FrontPorch_01" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Sync_01" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Sync_01" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Image_Size_01" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Image_Size_01" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_Common_Flag_01" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-3-2", + "PageName": "Device 2(EFP2) Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Device Type: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP2_Type" + ], + "HelpText": "This feature specifies the Device Type for this add-in device.\n\nNote:\nDevice Type \"Integrated Display Only Internal to Chassis\" specifies if the display location is internal to the system chasis or not. \nThis Device Class Type should be configured for Port-A and Port-B only.\nIf configured as internal, OEM's must ensure that we also configure this as internal in the FIT tool for CSME FW.\nThe options should be selected as Internal only if the port is used in AIO designs and part of the system chasis. It should be set as External for physically external ports.", + "WidgetValues": [ + { + "Key": "No Device", + "Value": "0" + }, + { + "Key": "Integrated DisplayPort Only", + "Value": "26822" + }, + { + "Key": "Integrated DisplayPort with HDMI/DVI Compatible", + "Value": "24790" + }, + { + "Key": "Integrated DisplayPort with DVI Compatible", + "Value": "26838" + }, + { + "Key": "Integrated Display Only Internal to Chassis", + "Value": "18502" + }, + { + "Key": "Integrated HDMI/DVI", + "Value": "24786" + }, + { + "Key": "Integrated DVI Only", + "Value": "26834" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Output Port: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP2_Port" + ], + "HelpText": "This feature specifies which DVO port the device is configured.", + "WidgetValues": [ + { + "Key": "HDMI-A", + "Value": "0" + }, + { + "Key": "HDMI-B", + "Value": "1" + }, + { + "Key": "HDMI-TC1", + "Value": "14" + }, + { + "Key": "HDMI-TC2", + "Value": "16" + }, + { + "Key": "HDMI-TC3", + "Value": "18" + }, + { + "Key": "HDMI-TC4", + "Value": "20" + }, + { + "Key": "DisplayPort-A", + "Value": "10" + }, + { + "Key": "DisplayPort-B", + "Value": "7" + }, + { + "Key": "DisplayPort-TC1", + "Value": "13" + }, + { + "Key": "DisplayPort-TC2", + "Value": "15" + }, + { + "Key": "DisplayPort-TC3", + "Value": "17" + }, + { + "Key": "DisplayPort-TC4", + "Value": "19" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DDC Bus GPIO Pin Pair: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP2_DDC_Pin" + ], + "HelpText": "This feature specifies the GPIO pin pair used as DDC bus by this device. If this device doesn't support DDC bus, this field will be ignored. \t Pin Pair Value \t\t ADLP PCH mapping\n \t Pin-Pair #1\t\t DDI-A DDC\n \t Pin-Pair #2\t\t DDI-B DDC \n \t Pin-Pair #3\t\t DDI-TC1 DDC \n \t Pin-Pair #4\t\t DDI-TC2 DDC \n \t Pin-Pair #5\t\t DDI-TC3 DDC \n \t Pin-Pair #6\t\t DDI-TC4 DDC \n", + "WidgetValues": [ + { + "Key": "N/A", + "Value": "0" + }, + { + "Key": "Pin-Pair #1", + "Value": "1" + }, + { + "Key": "Pin-Pair #2", + "Value": "2" + }, + { + "Key": "Pin-Pair #3", + "Value": "3" + }, + { + "Key": "Pin-Pair #4", + "Value": "4" + }, + { + "Key": "Pin-Pair #5", + "Value": "5" + }, + { + "Key": "Pin-Pair #6", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select AUX Channel: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP2_AUX_Channel" + ], + "HelpText": "This feature specifies the AUX Channel for int-DisplayPort. This field is valid only if integrated DP is selected for Device Type.", + "WidgetValues": [ + { + "Key": "N/A", + "Value": "0" + }, + { + "Key": "DisplayPort-A AUX Channel", + "Value": "64" + }, + { + "Key": "DisplayPort-B AUX Channel", + "Value": "16" + }, + { + "Key": "DisplayPort TC1 AUX Channel", + "Value": "96" + }, + { + "Key": "DisplayPort TC2 AUX Channel", + "Value": "112" + }, + { + "Key": "DisplayPort TC3 AUX Channel", + "Value": "128" + }, + { + "Key": "DisplayPort TC4 AUX Channel", + "Value": "144" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select HDMI level shifter configuration: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP2_HDMI_LS_Type" + ], + "HelpText": "This feature specifies the Level shifter configuration for HDMI. This field is valid only if HDMI is selected for Device Type.\n\n-------------------------------------------------------------------------------------------------------------\n|\t\t\t|\tCOMBO-PHY\t|\tDKL-PHY\t\t|\n-------------------------------------------------------------------------------------------------------------\n|\tLevel 1\t\t|\t450mV 0.0dB\t|\t400mV 0dB\t\n|\tLevel 2\t\t|\t450mV 3.2dB\t|\t500mV 0dB\t|\n|\tLevel 3\t\t|\t450mV 5.5dB\t|\t650mV 0dB\t|\n|\tLevel 4\t\t|\t650mV 0.0dB\t|\t800mV 0dB\t|\n|\tLevel 5\t\t|\t650mV 2.3dB\t|\t1000mV 0dB\t|\n|\tLevel 6\t\t|\t850mV 0.0dB\t|\tFULL -1.5dB\t|\n|\tLevel 7\t\t|\t600mV 3.0dB\t|\tFULL -1.8dB\t|\n|\tLevel 8\t\t|\t450mV 0.0dB\t|\tFULL -2dB\t|\n|\tLevel 9\t\t|\t450mV 0.0dB\t|\tFULL -2.5dB\t|\n|\tLevel 10\t\t|\t450mV 0.0dB\t|\tFULL -3dB\t|\n", + "WidgetValues": [ + { + "Key": "Level 1", + "Value": "0" + }, + { + "Key": "Level 2", + "Value": "1" + }, + { + "Key": "Level 3", + "Value": "2" + }, + { + "Key": "Level 4", + "Value": "3" + }, + { + "Key": "Level 5", + "Value": "4" + }, + { + "Key": "Level 6", + "Value": "5" + }, + { + "Key": "Level 7", + "Value": "6" + }, + { + "Key": "Level 8", + "Value": "7" + }, + { + "Key": "Level 9", + "Value": "8" + }, + { + "Key": "Level 10", + "Value": "9" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select HDMI maximum data rate: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP2_HDMI_Maximum_Data_Rate" + ], + "HelpText": "This feature limits the maximum data rate per lane for HDMI. This field is valid only if HDMI is selected for Device Type. \n\nNote: OEM’s need to configure the maximum data rate as per mother board support.", + "WidgetValues": [ + { + "Key": "6.00 Gbps", + "Value": "0" + }, + { + "Key": "2.97 Gbps", + "Value": "1" + }, + { + "Key": "1.65 Gbps", + "Value": "2" + }, + { + "Key": "5.94 Gbps", + "Value": "3" + }, + { + "Key": "3.40 Gbps", + "Value": "4" + }, + { + "Key": "3.00 Gbps", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DP max Link Rate: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP2_DP_Port_Max_LinkRate" + ], + "HelpText": "This feature limits the maximum link rate for DP Port. This field is valid only if DP is selected for Device Type. \n\nHBR3 is the max Link rate supported by ADL-P/M/N. UHBR link rates are supported only by RPL-P. So, choosing a Link rate greater than HBR3 for ADL-P/M/N will automatically force a fallback to HBR3 in GOP and gfx-driver. \n\nNote: OEM’s need to configure the maximum Link rate as per mother board support.", + "WidgetValues": [ + { + "Key": "Default Max Link Rate supported by Plaftform", + "Value": "0" + }, + { + "Key": "LBR (1.62 Gbps)", + "Value": "1" + }, + { + "Key": "HBR (2.7 Gbps)", + "Value": "2" + }, + { + "Key": "HBR2 (5.4 Gbps)", + "Value": "3" + }, + { + "Key": "HBR3 (8.1 Gbps)", + "Value": "4" + }, + { + "Key": "UHBR10 (10 Gbps)", + "Value": "5" + }, + { + "Key": "UHBR13_5 (13.5 Gbps)", + "Value": "6" + }, + { + "Key": "UHBR20 (20 Gbps)", + "Value": "7" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DP Port Max Lane Count Supported: ", + "Visibility": "", + "Data": [ + "2", + "EFP2_EDP_DP_Port_Max_LaneCount" + ], + "HelpText": "This feature allows for the selection of the Port Max Lane Count (Port Width) for the EDP/DP link.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDIDless Panel: ", + "Visibility": "", + "Data": [ + "2", + "EFP2_EDIDless_en" + ], + "HelpText": "If the Attached panel is EDIDless select Yes and the supplied DTD takes priority.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "EDID-less EFP Panel Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LTTPR(Link-Training Tunable PHY Repeaters) Mode: ", + "Visibility": "", + "Data": [ + "2", + "EFP2_LTTPRNonTransparentMode" + ], + "HelpText": "This option is used to enable or disable the LTTPR Non transparent Mode.", + "WidgetValues": [ + { + "Key": "Non-Transparent Mode", + "Value": "1" + }, + { + "Key": "Transparent Mode", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Max FrlRate Field Status", + "Visibility": "", + "Data": [ + "2", + "EFP2_IsMaxFrlRateFieldValid" + ], + "HelpText": "Indicates if we need to consider the MaxFrlRate field for HDMI2.1\nDisable - Don't consider the MaximumFrlRate for limiting the FrlRates on HDMI2.1 displays\nEnable - MaximumFrlRate given in bits 0 to 3 are used to override Max FRL Rate supported by platform/panel", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum FrlRate ", + "Visibility": "", + "Data": [ + "2", + "EFP2_MaximumFrlRate" + ], + "HelpText": "0000 = FrlRates not supported (HDMI 2.1 is limited to support only TMDS modes)\n0001 = 3 GT/s\n0010 = 6 GT/s\n0011 = 8 GT/s\n0100 = 10 GT/s\n0101 = 12 GT/s", + "WidgetValues": [ + { + "Key": "FrlRates not supported", + "Value": "0" + }, + { + "Key": "3 GT/s", + "Value": "1" + }, + { + "Key": "6 GT/s", + "Value": "2" + }, + { + "Key": "8 GT/s", + "Value": "3" + }, + { + "Key": "10 GT/s", + "Value": "4" + }, + { + "Key": "12 GT/s", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP to HDMI Pcon: ", + "Visibility": "", + "Data": [ + "2", + "LSPcon2_Options" + ], + "HelpText": "This option is used to enable or disable the OnBoard LSPCON chip.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DDI Lane Reversal: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP2_Lane_Reversal" + ], + "HelpText": "This feature, when enabled, will set lane reversal bit for selected Port", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP Alt mode over Type C: ", + "Visibility": "", + "Data": [ + "2", + "EFP2_DP_Alt_Mode_OverTypeC_Enabled" + ], + "HelpText": "This option Enables/Disables DP alternate mode over type C ports.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP Tunneling over Thunderbolt: ", + "Visibility": "", + "Data": [ + "2", + "EFP2_Thunderbolt_Feature_Enabled" + ], + "HelpText": "This option Enables/Disables DP tunneling over Thunderbolt for selected Port.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dockable Port: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP2_Port_Dockable" + ], + "HelpText": "This feature will describe if this Port is Dockable or Not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Select DisplayPort Redriver ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Select DisplayPort Redriver Configuration ( Dock/ OnBoard )", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Vswing PreEmphasis Table Override: ", + "Visibility": "", + "Data": [ + "2", + "INT_EFP2_Vswing_Override_Enable" + ], + "HelpText": "This feature, when enabled, will allow Graphics driver to use the Vswing and Pre-emphasis values from VBT. OEM's must not enable or disable this on their own and work with the Intel CE team to change any settings in this page. When this field is enabled, corresponding table must be populated in the VBT for PHY Vswing parameters too.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-3-2-1", + "PageName": "Select DisplayPort Redriver Configuration ( Dock/ OnBoard )", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Non-dock topology: (OnBoard) ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP2_OnBoard_Redriver_Present" + ], + "HelpText": "This feature will describe if Non-Dock Topology/OnBoard Redriver DP Link is present or Not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pre-Emphasis Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP2_OnBoard_Pre_emphasis" + ], + "HelpText": "This feature allows for the selection of Pre-emphasis level for the OnBoard redriver DP link.\nLevel 0 (0 dB)\nLevel 1 (3.5 dB)\nLevel 2 (6.0 dB)\nLevel 3 (9.5 dB)", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Voltage Swing Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP2_OnBoard_Voltage_swing" + ], + "HelpText": "This feature allows for the selection of voltage swing level for the OnBoard redriver DP link.\nSwing-0 (0.4 V)\nSwing-1 (0.6 V)\nSwing-2 (0.8 V)\nSwing-3 (1.2 V)", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dock Topology: (Mobile only) ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP2_Dock_Redriver_Present" + ], + "HelpText": "This feature will describe if Dock Topology/Dock Redriver DP Link is present or not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pre-Emphasis Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP2_Dock_Pre_emphasis" + ], + "HelpText": "This feature allows for the selection of Pre-emphasis level for the Dock redriver DP link.\nLevel 0 (0 dB)\nLevel 1 (3.5 dB)\nLevel 2 (6.0 dB)\nLevel 3 (9.5 dB)", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Voltage Swing Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP2_Dock_Voltage_swing" + ], + "HelpText": "This feature allows for the selection of voltage swing level for the Dock redriver DP link.\nSwing-0 (0.4 V)\nSwing-1 (0.6 V)\nSwing-2 (0.8 V)\nSwing-3 (1.2 V)", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-3-2-2", + "PageName": "EDID-less EFP Panel Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_Pixel_CLK_02" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Active_02" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Active_02" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Blank_02" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Blank_02" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_FrontPorch_02" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_FrontPorch_02" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Sync_02" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Sync_02" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Image_Size_02" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Image_Size_02" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_Common_Flag_02" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-3-3", + "PageName": "Device 3(EFP3) Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Device Type: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP3_Type" + ], + "HelpText": "This feature specifies the Device Type for this add-in device.\n\nNote:\nDevice Type \"Integrated Display Only Internal to Chassis\" specifies if the display location is internal to the system chasis or not. \nThis Device Class Type should be configured for Port-A and Port-B only.\nIf configured as internal, OEM's must ensure that we also configure this as internal in the FIT tool for CSME FW.\nThe options should be selected as Internal only if the port is used in AIO designs and part of the system chasis. It should be set as External for physically external ports.", + "WidgetValues": [ + { + "Key": "No Device", + "Value": "0" + }, + { + "Key": "Integrated DisplayPort Only", + "Value": "26822" + }, + { + "Key": "Integrated DisplayPort with HDMI/DVI Compatible", + "Value": "24790" + }, + { + "Key": "Integrated DisplayPort with DVI Compatible", + "Value": "26838" + }, + { + "Key": "Integrated Display Only Internal to Chassis", + "Value": "18502" + }, + { + "Key": "Integrated HDMI/DVI", + "Value": "24786" + }, + { + "Key": "Integrated DVI Only", + "Value": "26834" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Output Port: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP3_Port" + ], + "HelpText": "This feature specifies which DVO port the device is configured.", + "WidgetValues": [ + { + "Key": "HDMI-A", + "Value": "0" + }, + { + "Key": "HDMI-B", + "Value": "1" + }, + { + "Key": "HDMI-TC1", + "Value": "14" + }, + { + "Key": "HDMI-TC2", + "Value": "16" + }, + { + "Key": "HDMI-TC3", + "Value": "18" + }, + { + "Key": "HDMI-TC4", + "Value": "20" + }, + { + "Key": "DisplayPort-A", + "Value": "10" + }, + { + "Key": "DisplayPort-B", + "Value": "7" + }, + { + "Key": "DisplayPort-TC1", + "Value": "13" + }, + { + "Key": "DisplayPort-TC2", + "Value": "15" + }, + { + "Key": "DisplayPort-TC3", + "Value": "17" + }, + { + "Key": "DisplayPort-TC4", + "Value": "19" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DDC Bus GPIO Pin Pair: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP3_DDC_Pin" + ], + "HelpText": "This feature specifies the GPIO pin pair used as DDC bus by this device. If this device doesn't support DDC bus, this field will be ignored. \t Pin Pair Value \t\t ADLP PCH mapping\n \t Pin-Pair #1\t\t DDI-A DDC\n \t Pin-Pair #2\t\t DDI-B DDC \n \t Pin-Pair #3\t\t DDI-TC1 DDC \n \t Pin-Pair #4\t\t DDI-TC2 DDC \n \t Pin-Pair #5\t\t DDI-TC3 DDC \n \t Pin-Pair #6\t\t DDI-TC4 DDC \n", + "WidgetValues": [ + { + "Key": "N/A", + "Value": "0" + }, + { + "Key": "Pin-Pair #1", + "Value": "1" + }, + { + "Key": "Pin-Pair #2", + "Value": "2" + }, + { + "Key": "Pin-Pair #3", + "Value": "3" + }, + { + "Key": "Pin-Pair #4", + "Value": "4" + }, + { + "Key": "Pin-Pair #5", + "Value": "5" + }, + { + "Key": "Pin-Pair #6", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select AUX Channel: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP3_AUX_Channel" + ], + "HelpText": "This feature specifies the AUX Channel for int-DisplayPort. This field is valid only if integrated DP is selected for Device Type.", + "WidgetValues": [ + { + "Key": "N/A", + "Value": "0" + }, + { + "Key": "DisplayPort-A AUX Channel", + "Value": "64" + }, + { + "Key": "DisplayPort-B AUX Channel", + "Value": "16" + }, + { + "Key": "DisplayPort TC1 AUX Channel", + "Value": "96" + }, + { + "Key": "DisplayPort TC2 AUX Channel", + "Value": "112" + }, + { + "Key": "DisplayPort TC3 AUX Channel", + "Value": "128" + }, + { + "Key": "DisplayPort TC4 AUX Channel", + "Value": "144" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select HDMI level shifter configuration: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP3_HDMI_LS_Type" + ], + "HelpText": "This feature specifies the Level shifter configuration for HDMI. This field is valid only if HDMI is selected for Device Type.\n\n-------------------------------------------------------------------------------------------------------------\n|\t\t\t|\tCOMBO-PHY\t|\tDKL-PHY\t\t|\n-------------------------------------------------------------------------------------------------------------\n|\tLevel 1\t\t|\t450mV 0.0dB\t|\t400mV 0dB\t\n|\tLevel 2\t\t|\t450mV 3.2dB\t|\t500mV 0dB\t|\n|\tLevel 3\t\t|\t450mV 5.5dB\t|\t650mV 0dB\t|\n|\tLevel 4\t\t|\t650mV 0.0dB\t|\t800mV 0dB\t|\n|\tLevel 5\t\t|\t650mV 2.3dB\t|\t1000mV 0dB\t|\n|\tLevel 6\t\t|\t850mV 0.0dB\t|\tFULL -1.5dB\t|\n|\tLevel 7\t\t|\t600mV 3.0dB\t|\tFULL -1.8dB\t|\n|\tLevel 8\t\t|\t450mV 0.0dB\t|\tFULL -2dB\t|\n|\tLevel 9\t\t|\t450mV 0.0dB\t|\tFULL -2.5dB\t|\n|\tLevel 10\t\t|\t450mV 0.0dB\t|\tFULL -3dB\t|\n", + "WidgetValues": [ + { + "Key": "Level 1", + "Value": "0" + }, + { + "Key": "Level 2", + "Value": "1" + }, + { + "Key": "Level 3", + "Value": "2" + }, + { + "Key": "Level 4", + "Value": "3" + }, + { + "Key": "Level 5", + "Value": "4" + }, + { + "Key": "Level 6", + "Value": "5" + }, + { + "Key": "Level 7", + "Value": "6" + }, + { + "Key": "Level 8", + "Value": "7" + }, + { + "Key": "Level 9", + "Value": "8" + }, + { + "Key": "Level 10", + "Value": "9" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select HDMI maximum data rate: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP3_HDMI_Maximum_Data_Rate" + ], + "HelpText": "This feature limits the maximum data rate per lane for HDMI. This field is valid only if HDMI is selected for Device Type. \n\nNote: OEM’s need to configure the maximum data rate as per mother board support.", + "WidgetValues": [ + { + "Key": "6.00 Gbps", + "Value": "0" + }, + { + "Key": "2.97 Gbps", + "Value": "1" + }, + { + "Key": "1.65 Gbps", + "Value": "2" + }, + { + "Key": "5.94 Gbps", + "Value": "3" + }, + { + "Key": "3.40 Gbps", + "Value": "4" + }, + { + "Key": "3.00 Gbps", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DP max Link Rate: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP3_DP_Port_Max_LinkRate" + ], + "HelpText": "This feature limits the maximum link rate for DP Port. This field is valid only if DP is selected for Device Type. \n\nHBR3 is the max Link rate supported by ADL-P/M/N. UHBR link rates are supported only by RPL-P. So, choosing a Link rate greater than HBR3 for ADL-P/M/N will automatically force a fallback to HBR3 in GOP and gfx-driver. \n\nNote: OEM’s need to configure the maximum Link rate as per mother board support.", + "WidgetValues": [ + { + "Key": "Default Max Link Rate supported by Plaftform", + "Value": "0" + }, + { + "Key": "LBR (1.62 Gbps)", + "Value": "1" + }, + { + "Key": "HBR (2.7 Gbps)", + "Value": "2" + }, + { + "Key": "HBR2 (5.4 Gbps)", + "Value": "3" + }, + { + "Key": "HBR3 (8.1 Gbps)", + "Value": "4" + }, + { + "Key": "UHBR10 (10 Gbps)", + "Value": "5" + }, + { + "Key": "UHBR13_5 (13.5 Gbps)", + "Value": "6" + }, + { + "Key": "UHBR20 (20 Gbps)", + "Value": "7" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DP Port Max Lane Count Supported: ", + "Visibility": "", + "Data": [ + "2", + "EFP3_EDP_DP_Port_Max_LaneCount" + ], + "HelpText": "This feature allows for the selection of the Port Max Lane Count (Port Width) for the EDP/DP link.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDIDless Panel: ", + "Visibility": "", + "Data": [ + "2", + "EFP3_EDIDless_en" + ], + "HelpText": "If the Attached panel is EDIDless select Yes and the supplied DTD takes priority.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "EDID-less EFP Panel Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LTTPR(Link-Training Tunable PHY Repeaters) Mode: ", + "Visibility": "", + "Data": [ + "2", + "EFP3_LTTPRNonTransparentMode" + ], + "HelpText": "This option is used to enable or disable the LTTPR Non transparent Mode.", + "WidgetValues": [ + { + "Key": "Non-Transparent Mode", + "Value": "1" + }, + { + "Key": "Transparent Mode", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Max FrlRate Field Status", + "Visibility": "", + "Data": [ + "2", + "EFP3_IsMaxFrlRateFieldValid" + ], + "HelpText": "Indicates if we need to consider the MaxFrlRate field for HDMI2.1\nDisable - Don't consider the MaximumFrlRate for limiting the FrlRates on HDMI2.1 displays\nEnable - MaximumFrlRate given in bits 0 to 3 are used to override Max FRL Rate supported by platform/panel", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum FrlRate ", + "Visibility": "", + "Data": [ + "2", + "EFP3_MaximumFrlRate" + ], + "HelpText": "0000 = FrlRates not supported (HDMI 2.1 is limited to support only TMDS modes)\n0001 = 3 GT/s\n0010 = 6 GT/s\n0011 = 8 GT/s\n0100 = 10 GT/s\n0101 = 12 GT/s", + "WidgetValues": [ + { + "Key": "FrlRates not supported", + "Value": "0" + }, + { + "Key": "3 GT/s", + "Value": "1" + }, + { + "Key": "6 GT/s", + "Value": "2" + }, + { + "Key": "8 GT/s", + "Value": "3" + }, + { + "Key": "10 GT/s", + "Value": "4" + }, + { + "Key": "12 GT/s", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP to HDMI Pcon: ", + "Visibility": "", + "Data": [ + "2", + "LSPcon3_Options" + ], + "HelpText": "This option is used to enable or disable the OnBoard LSPCON chip.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DDI Lane Reversal: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP3_Lane_Reversal" + ], + "HelpText": "This feature, when enabled, will set lane reversal bit for selected Port", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP Alt mode over Type C: ", + "Visibility": "", + "Data": [ + "2", + "EFP3_DP_Alt_Mode_OverTypeC_Enabled" + ], + "HelpText": "This option Enables/Disables DP alternate mode over type C ports.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP Tunneling over Thunderbolt: ", + "Visibility": "", + "Data": [ + "2", + "EFP3_Thunderbolt_Feature_Enabled" + ], + "HelpText": "This option Enables/Disables DP tunneling over Thunderbolt for selected Port.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dockable Port: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP3_Port_Dockable" + ], + "HelpText": "This feature will describe if this Port is Dockable or Not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Select DisplayPort Redriver ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Select DisplayPort Redriver Configuration ( Dock/ OnBoard )", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Vswing PreEmphasis Table Override: ", + "Visibility": "", + "Data": [ + "2", + "INT_EFP3_Vswing_Override_Enable" + ], + "HelpText": "This feature, when enabled, will allow Graphics driver to use the Vswing and Pre-emphasis values from VBT. OEM's must not enable or disable this on their own and work with the Intel CE team to change any settings in this page. When this field is enabled, corresponding table must be populated in the VBT for PHY Vswing parameters too.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-3-3-1", + "PageName": "Select DisplayPort Redriver Configuration ( Dock/ OnBoard )", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Non-dock topology: (OnBoard) ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP3_OnBoard_Redriver_Present" + ], + "HelpText": "This feature will describe if Non-Dock Topology/OnBoard Redriver DP Link is present or Not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pre-Emphasis Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP3_OnBoard_Pre_emphasis" + ], + "HelpText": "This feature allows for the selection of Pre-emphasis level for the OnBoard redriver DP link.\nLevel 0 (0 dB)\nLevel 1 (3.5 dB)\nLevel 2 (6.0 dB)\nLevel 3 (9.5 dB)", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Voltage Swing Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP3_OnBoard_Voltage_swing" + ], + "HelpText": "This feature allows for the selection of voltage swing level for the OnBoard redriver DP link.\nSwing-0 (0.4 V)\nSwing-1 (0.6 V)\nSwing-2 (0.8 V)\nSwing-3 (1.2 V)", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dock Topology: (Mobile only) ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP3_Dock_Redriver_Present" + ], + "HelpText": "This feature will describe if Dock Topology/Dock Redriver DP Link is present or not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pre-Emphasis Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP3_Dock_Pre_emphasis" + ], + "HelpText": "This feature allows for the selection of Pre-emphasis level for the Dock redriver DP link.\nLevel 0 (0 dB)\nLevel 1 (3.5 dB)\nLevel 2 (6.0 dB)\nLevel 3 (9.5 dB)", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Voltage Swing Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP3_Dock_Voltage_swing" + ], + "HelpText": "This feature allows for the selection of voltage swing level for the Dock redriver DP link.\nSwing-0 (0.4 V)\nSwing-1 (0.6 V)\nSwing-2 (0.8 V)\nSwing-3 (1.2 V)", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-3-3-2", + "PageName": "EDID-less EFP Panel Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_Pixel_CLK_03" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Active_03" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Active_03" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Blank_03" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Blank_03" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_FrontPorch_03" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_FrontPorch_03" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Sync_03" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Sync_03" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Image_Size_03" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Image_Size_03" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_Common_Flag_03" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-3-4", + "PageName": "Device 4(EFP4) Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Device Type: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP4_Type" + ], + "HelpText": "This feature specifies the Device Type for this add-in device.\n\nNote:\nDevice Type \"Integrated Display Only Internal to Chassis\" specifies if the display location is internal to the system chasis or not. \nThis Device Class Type should be configured for Port-A and Port-B only.\nIf configured as internal, OEM's must ensure that we also configure this as internal in the FIT tool for CSME FW.\nThe options should be selected as Internal only if the port is used in AIO designs and part of the system chasis. It should be set as External for physically external ports.", + "WidgetValues": [ + { + "Key": "No Device", + "Value": "0" + }, + { + "Key": "Integrated DisplayPort Only", + "Value": "26822" + }, + { + "Key": "Integrated DisplayPort with HDMI/DVI Compatible", + "Value": "24790" + }, + { + "Key": "Integrated DisplayPort with DVI Compatible", + "Value": "26838" + }, + { + "Key": "Integrated Display Only Internal to Chassis", + "Value": "18502" + }, + { + "Key": "Integrated HDMI/DVI", + "Value": "24786" + }, + { + "Key": "Integrated DVI Only", + "Value": "26834" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Output Port: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP4_Port" + ], + "HelpText": "This feature specifies which DVO port the device is configured.", + "WidgetValues": [ + { + "Key": "HDMI-A", + "Value": "0" + }, + { + "Key": "HDMI-B", + "Value": "1" + }, + { + "Key": "HDMI-TC1", + "Value": "14" + }, + { + "Key": "HDMI-TC2", + "Value": "16" + }, + { + "Key": "HDMI-TC3", + "Value": "18" + }, + { + "Key": "HDMI-TC4", + "Value": "20" + }, + { + "Key": "DisplayPort-A", + "Value": "10" + }, + { + "Key": "DisplayPort-B", + "Value": "7" + }, + { + "Key": "DisplayPort-TC1", + "Value": "13" + }, + { + "Key": "DisplayPort-TC2", + "Value": "15" + }, + { + "Key": "DisplayPort-TC3", + "Value": "17" + }, + { + "Key": "DisplayPort-TC4", + "Value": "19" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DDC Bus GPIO Pin Pair: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP4_DDC_Pin" + ], + "HelpText": "This feature specifies the GPIO pin pair used as DDC bus by this device. If this device doesn't support DDC bus, this field will be ignored. \t Pin Pair Value \t\t ADLP PCH mapping\n \t Pin-Pair #1\t\t DDI-A DDC\n \t Pin-Pair #2\t\t DDI-B DDC \n \t Pin-Pair #3\t\t DDI-TC1 DDC \n \t Pin-Pair #4\t\t DDI-TC2 DDC \n \t Pin-Pair #5\t\t DDI-TC3 DDC \n \t Pin-Pair #6\t\t DDI-TC4 DDC \n", + "WidgetValues": [ + { + "Key": "N/A", + "Value": "0" + }, + { + "Key": "Pin-Pair #1", + "Value": "1" + }, + { + "Key": "Pin-Pair #2", + "Value": "2" + }, + { + "Key": "Pin-Pair #3", + "Value": "3" + }, + { + "Key": "Pin-Pair #4", + "Value": "4" + }, + { + "Key": "Pin-Pair #5", + "Value": "5" + }, + { + "Key": "Pin-Pair #6", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select AUX Channel: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP4_AUX_Channel" + ], + "HelpText": "This feature specifies the AUX Channel for int-DisplayPort. This field is valid only if integrated DP is selected for Device Type.", + "WidgetValues": [ + { + "Key": "N/A", + "Value": "0" + }, + { + "Key": "DisplayPort-A AUX Channel", + "Value": "64" + }, + { + "Key": "DisplayPort-B AUX Channel", + "Value": "16" + }, + { + "Key": "DisplayPort TC1 AUX Channel", + "Value": "96" + }, + { + "Key": "DisplayPort TC2 AUX Channel", + "Value": "112" + }, + { + "Key": "DisplayPort TC3 AUX Channel", + "Value": "128" + }, + { + "Key": "DisplayPort TC4 AUX Channel", + "Value": "144" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select HDMI level shifter configuration: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP4_HDMI_LS_Type" + ], + "HelpText": "This feature specifies the Level shifter configuration for HDMI. This field is valid only if HDMI is selected for Device Type.\n\n-------------------------------------------------------------------------------------------------------------\n|\t\t\t|\tCOMBO-PHY\t|\tDKL-PHY\t\t|\n-------------------------------------------------------------------------------------------------------------\n|\tLevel 1\t\t|\t450mV 0.0dB\t|\t400mV 0dB\t\n|\tLevel 2\t\t|\t450mV 3.2dB\t|\t500mV 0dB\t|\n|\tLevel 3\t\t|\t450mV 5.5dB\t|\t650mV 0dB\t|\n|\tLevel 4\t\t|\t650mV 0.0dB\t|\t800mV 0dB\t|\n|\tLevel 5\t\t|\t650mV 2.3dB\t|\t1000mV 0dB\t|\n|\tLevel 6\t\t|\t850mV 0.0dB\t|\tFULL -1.5dB\t|\n|\tLevel 7\t\t|\t600mV 3.0dB\t|\tFULL -1.8dB\t|\n|\tLevel 8\t\t|\t450mV 0.0dB\t|\tFULL -2dB\t|\n|\tLevel 9\t\t|\t450mV 0.0dB\t|\tFULL -2.5dB\t|\n|\tLevel 10\t\t|\t450mV 0.0dB\t|\tFULL -3dB\t|\n", + "WidgetValues": [ + { + "Key": "Level 1", + "Value": "0" + }, + { + "Key": "Level 2", + "Value": "1" + }, + { + "Key": "Level 3", + "Value": "2" + }, + { + "Key": "Level 4", + "Value": "3" + }, + { + "Key": "Level 5", + "Value": "4" + }, + { + "Key": "Level 6", + "Value": "5" + }, + { + "Key": "Level 7", + "Value": "6" + }, + { + "Key": "Level 8", + "Value": "7" + }, + { + "Key": "Level 9", + "Value": "8" + }, + { + "Key": "Level 10", + "Value": "9" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select HDMI maximum data rate: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP4_HDMI_Maximum_Data_Rate" + ], + "HelpText": "This feature limits the maximum data rate per lane for HDMI. This field is valid only if HDMI is selected for Device Type. \n\nNote: OEM’s need to configure the maximum data rate as per mother board support.", + "WidgetValues": [ + { + "Key": "6.00 Gbps", + "Value": "0" + }, + { + "Key": "2.97 Gbps", + "Value": "1" + }, + { + "Key": "1.65 Gbps", + "Value": "2" + }, + { + "Key": "5.94 Gbps", + "Value": "3" + }, + { + "Key": "3.40 Gbps", + "Value": "4" + }, + { + "Key": "3.00 Gbps", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DP max Link Rate: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP4_DP_Port_Max_LinkRate" + ], + "HelpText": "This feature limits the maximum link rate for DP Port. This field is valid only if DP is selected for Device Type. \n\nHBR3 is the max Link rate supported by ADL-P/M/N. UHBR link rates are supported only by RPL-P. So, choosing a Link rate greater than HBR3 for ADL-P/M/N will automatically force a fallback to HBR3 in GOP and gfx-driver. \n\nNote: OEM’s need to configure the maximum Link rate as per mother board support.", + "WidgetValues": [ + { + "Key": "Default Max Link Rate supported by Plaftform", + "Value": "0" + }, + { + "Key": "LBR (1.62 Gbps)", + "Value": "1" + }, + { + "Key": "HBR (2.7 Gbps)", + "Value": "2" + }, + { + "Key": "HBR2 (5.4 Gbps)", + "Value": "3" + }, + { + "Key": "HBR3 (8.1 Gbps)", + "Value": "4" + }, + { + "Key": "UHBR10 (10 Gbps)", + "Value": "5" + }, + { + "Key": "UHBR13_5 (13.5 Gbps)", + "Value": "6" + }, + { + "Key": "UHBR20 (20 Gbps)", + "Value": "7" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DP Port Max Lane Count Supported: ", + "Visibility": "", + "Data": [ + "2", + "EFP4_EDP_DP_Port_Max_LaneCount" + ], + "HelpText": "This feature allows for the selection of the Port Max Lane Count (Port Width) for the EDP/DP link.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDIDless Panel: ", + "Visibility": "", + "Data": [ + "2", + "EFP4_EDIDless_en" + ], + "HelpText": "If the Attached panel is EDIDless select Yes and the supplied DTD takes priority.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "EDID-less EFP Panel Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LTTPR(Link-Training Tunable PHY Repeaters) Mode: ", + "Visibility": "", + "Data": [ + "2", + "EFP4_LTTPRNonTransparentMode" + ], + "HelpText": "This option is used to enable or disable the LTTPR Non transparent Mode.", + "WidgetValues": [ + { + "Key": "Non-Transparent Mode", + "Value": "1" + }, + { + "Key": "Transparent Mode", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Max FrlRate Field Status", + "Visibility": "", + "Data": [ + "2", + "EFP4_IsMaxFrlRateFieldValid" + ], + "HelpText": "Indicates if we need to consider the MaxFrlRate field for HDMI2.1\nDisable - Don't consider the MaximumFrlRate for limiting the FrlRates on HDMI2.1 displays\nEnable - MaximumFrlRate given in bits 0 to 3 are used to override Max FRL Rate supported by platform/panel", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum FrlRate ", + "Visibility": "", + "Data": [ + "2", + "EFP4_MaximumFrlRate" + ], + "HelpText": "0000 = FrlRates not supported (HDMI 2.1 is limited to support only TMDS modes)\n0001 = 3 GT/s\n0010 = 6 GT/s\n0011 = 8 GT/s\n0100 = 10 GT/s\n0101 = 12 GT/s", + "WidgetValues": [ + { + "Key": "FrlRates not supported", + "Value": "0" + }, + { + "Key": "3 GT/s", + "Value": "1" + }, + { + "Key": "6 GT/s", + "Value": "2" + }, + { + "Key": "8 GT/s", + "Value": "3" + }, + { + "Key": "10 GT/s", + "Value": "4" + }, + { + "Key": "12 GT/s", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP to HDMI Pcon: ", + "Visibility": "", + "Data": [ + "2", + "LSPcon4_Options" + ], + "HelpText": "This option is used to enable or disable the OnBoard LSPCON chip.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DDI Lane Reversal: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP4_Lane_Reversal" + ], + "HelpText": "This feature, when enabled, will set lane reversal bit for selected Port", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP Alt mode over Type C: ", + "Visibility": "", + "Data": [ + "2", + "EFP4_DP_Alt_Mode_OverTypeC_Enabled" + ], + "HelpText": "This option Enables/Disables DP alternate mode over type C ports.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP Tunneling over Thunderbolt: ", + "Visibility": "", + "Data": [ + "2", + "EFP4_Thunderbolt_Feature_Enabled" + ], + "HelpText": "This option Enables/Disables DP tunneling over Thunderbolt for selected Port.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dockable Port: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP4_Port_Dockable" + ], + "HelpText": "This feature will describe if this Port is Dockable or Not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Select DisplayPort Redriver ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Select DisplayPort Redriver Configuration ( Dock/ OnBoard )", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Vswing PreEmphasis Table Override: ", + "Visibility": "", + "Data": [ + "2", + "INT_EFP4_Vswing_Override_Enable" + ], + "HelpText": "This feature, when enabled, will allow Graphics driver to use the Vswing and Pre-emphasis values from VBT. OEM's must not enable or disable this on their own and work with the Intel CE team to change any settings in this page. When this field is enabled, corresponding table must be populated in the VBT for PHY Vswing parameters too.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-3-4-1", + "PageName": "Select DisplayPort Redriver Configuration ( Dock/ OnBoard )", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Non-dock topology: (OnBoard) ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP4_OnBoard_Redriver_Present" + ], + "HelpText": "This feature will describe if Non-Dock Topology/OnBoard Redriver DP Link is present or Not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pre-Emphasis Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP4_OnBoard_Pre_emphasis" + ], + "HelpText": "This feature allows for the selection of Pre-emphasis level for the OnBoard redriver DP link.\nLevel 0 (0 dB)\nLevel 1 (3.5 dB)\nLevel 2 (6.0 dB)\nLevel 3 (9.5 dB)", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Voltage Swing Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP4_OnBoard_Voltage_swing" + ], + "HelpText": "This feature allows for the selection of voltage swing level for the OnBoard redriver DP link.\nSwing-0 (0.4 V)\nSwing-1 (0.6 V)\nSwing-2 (0.8 V)\nSwing-3 (1.2 V)", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dock Topology: (Mobile only) ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP4_Dock_Redriver_Present" + ], + "HelpText": "This feature will describe if Dock Topology/Dock Redriver DP Link is present or not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pre-Emphasis Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP4_Dock_Pre_emphasis" + ], + "HelpText": "This feature allows for the selection of Pre-emphasis level for the Dock redriver DP link.\nLevel 0 (0 dB)\nLevel 1 (3.5 dB)\nLevel 2 (6.0 dB)\nLevel 3 (9.5 dB)", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Voltage Swing Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP4_Dock_Voltage_swing" + ], + "HelpText": "This feature allows for the selection of voltage swing level for the Dock redriver DP link.\nSwing-0 (0.4 V)\nSwing-1 (0.6 V)\nSwing-2 (0.8 V)\nSwing-3 (1.2 V)", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-3-4-2", + "PageName": "EDID-less EFP Panel Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_Pixel_CLK_04" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Active_04" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Active_04" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Blank_04" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Blank_04" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_FrontPorch_04" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_FrontPorch_04" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Sync_04" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Sync_04" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Image_Size_04" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Image_Size_04" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_Common_Flag_04" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-3-5", + "PageName": "Device 5(EFP5) Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Device Type: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP5_Type" + ], + "HelpText": "This feature specifies the Device Type for this add-in device.\n\nNote:\nDevice Type \"Integrated Display Only Internal to Chassis\" specifies if the display location is internal to the system chasis or not. \nThis Device Class Type should be configured for Port-A and Port-B only.\nIf configured as internal, OEM's must ensure that we also configure this as internal in the FIT tool for CSME FW.\nThe options should be selected as Internal only if the port is used in AIO designs and part of the system chasis. It should be set as External for physically external ports.", + "WidgetValues": [ + { + "Key": "No Device", + "Value": "0" + }, + { + "Key": "Integrated DisplayPort Only", + "Value": "26822" + }, + { + "Key": "Integrated DisplayPort with HDMI/DVI Compatible", + "Value": "24790" + }, + { + "Key": "Integrated DisplayPort with DVI Compatible", + "Value": "26838" + }, + { + "Key": "Integrated Display Only Internal to Chassis", + "Value": "18502" + }, + { + "Key": "Integrated HDMI/DVI", + "Value": "24786" + }, + { + "Key": "Integrated DVI Only", + "Value": "26834" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Output Port: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP5_Port" + ], + "HelpText": "This feature specifies which DVO port the device is configured.", + "WidgetValues": [ + { + "Key": "HDMI-A", + "Value": "0" + }, + { + "Key": "HDMI-B", + "Value": "1" + }, + { + "Key": "HDMI-TC1", + "Value": "14" + }, + { + "Key": "HDMI-TC2", + "Value": "16" + }, + { + "Key": "HDMI-TC3", + "Value": "18" + }, + { + "Key": "HDMI-TC4", + "Value": "20" + }, + { + "Key": "DisplayPort-A", + "Value": "10" + }, + { + "Key": "DisplayPort-B", + "Value": "7" + }, + { + "Key": "DisplayPort-TC1", + "Value": "13" + }, + { + "Key": "DisplayPort-TC2", + "Value": "15" + }, + { + "Key": "DisplayPort-TC3", + "Value": "17" + }, + { + "Key": "DisplayPort-TC4", + "Value": "19" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DDC Bus GPIO Pin Pair: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP5_DDC_Pin" + ], + "HelpText": "This feature specifies the GPIO pin pair used as DDC bus by this device. If this device doesn't support DDC bus, this field will be ignored. \t Pin Pair Value \t\t ADLP PCH mapping\n \t Pin-Pair #1\t\t DDI-A DDC\n \t Pin-Pair #2\t\t DDI-B DDC \n \t Pin-Pair #3\t\t DDI-TC1 DDC \n \t Pin-Pair #4\t\t DDI-TC2 DDC \n \t Pin-Pair #5\t\t DDI-TC3 DDC \n \t Pin-Pair #6\t\t DDI-TC4 DDC \n", + "WidgetValues": [ + { + "Key": "N/A", + "Value": "0" + }, + { + "Key": "Pin-Pair #1", + "Value": "1" + }, + { + "Key": "Pin-Pair #2", + "Value": "2" + }, + { + "Key": "Pin-Pair #3", + "Value": "3" + }, + { + "Key": "Pin-Pair #4", + "Value": "4" + }, + { + "Key": "Pin-Pair #5", + "Value": "5" + }, + { + "Key": "Pin-Pair #6", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select AUX Channel: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP5_AUX_Channel" + ], + "HelpText": "This feature specifies the AUX Channel for int-DisplayPort. This field is valid only if integrated DP is selected for Device Type.", + "WidgetValues": [ + { + "Key": "N/A", + "Value": "0" + }, + { + "Key": "DisplayPort-A AUX Channel", + "Value": "64" + }, + { + "Key": "DisplayPort-B AUX Channel", + "Value": "16" + }, + { + "Key": "DisplayPort TC1 AUX Channel", + "Value": "96" + }, + { + "Key": "DisplayPort TC2 AUX Channel", + "Value": "112" + }, + { + "Key": "DisplayPort TC3 AUX Channel", + "Value": "128" + }, + { + "Key": "DisplayPort TC4 AUX Channel", + "Value": "144" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select HDMI level shifter configuration: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP5_HDMI_LS_Type" + ], + "HelpText": "This feature specifies the Level shifter configuration for HDMI. This field is valid only if HDMI is selected for Device Type.\n\n-------------------------------------------------------------------------------------------------------------\n|\t\t\t|\tCOMBO-PHY\t|\tDKL-PHY\t\t|\n-------------------------------------------------------------------------------------------------------------\n|\tLevel 1\t\t|\t450mV 0.0dB\t|\t400mV 0dB\t\n|\tLevel 2\t\t|\t450mV 3.2dB\t|\t500mV 0dB\t|\n|\tLevel 3\t\t|\t450mV 5.5dB\t|\t650mV 0dB\t|\n|\tLevel 4\t\t|\t650mV 0.0dB\t|\t800mV 0dB\t|\n|\tLevel 5\t\t|\t650mV 2.3dB\t|\t1000mV 0dB\t|\n|\tLevel 6\t\t|\t850mV 0.0dB\t|\tFULL -1.5dB\t|\n|\tLevel 7\t\t|\t600mV 3.0dB\t|\tFULL -1.8dB\t|\n|\tLevel 8\t\t|\t450mV 0.0dB\t|\tFULL -2dB\t|\n|\tLevel 9\t\t|\t450mV 0.0dB\t|\tFULL -2.5dB\t|\n|\tLevel 10\t\t|\t450mV 0.0dB\t|\tFULL -3dB\t|\n", + "WidgetValues": [ + { + "Key": "Level 1", + "Value": "0" + }, + { + "Key": "Level 2", + "Value": "1" + }, + { + "Key": "Level 3", + "Value": "2" + }, + { + "Key": "Level 4", + "Value": "3" + }, + { + "Key": "Level 5", + "Value": "4" + }, + { + "Key": "Level 6", + "Value": "5" + }, + { + "Key": "Level 7", + "Value": "6" + }, + { + "Key": "Level 8", + "Value": "7" + }, + { + "Key": "Level 9", + "Value": "8" + }, + { + "Key": "Level 10", + "Value": "9" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select HDMI maximum data rate: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP5_HDMI_Maximum_Data_Rate" + ], + "HelpText": "This feature limits the maximum data rate per lane for HDMI. This field is valid only if HDMI is selected for Device Type. \n\nNote: OEM’s need to configure the maximum data rate as per mother board support.", + "WidgetValues": [ + { + "Key": "6.00 Gbps", + "Value": "0" + }, + { + "Key": "2.97 Gbps", + "Value": "1" + }, + { + "Key": "1.65 Gbps", + "Value": "2" + }, + { + "Key": "5.94 Gbps", + "Value": "3" + }, + { + "Key": "3.40 Gbps", + "Value": "4" + }, + { + "Key": "3.00 Gbps", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DP max Link Rate: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP5_DP_Port_Max_LinkRate" + ], + "HelpText": "This feature limits the maximum link rate for DP Port. This field is valid only if DP is selected for Device Type. \n\nHBR3 is the max Link rate supported by ADL-P/M/N. UHBR link rates are supported only by RPL-P. So, choosing a Link rate greater than HBR3 for ADL-P/M/N will automatically force a fallback to HBR3 in GOP and gfx-driver. \n\nNote: OEM’s need to configure the maximum Link rate as per mother board support.", + "WidgetValues": [ + { + "Key": "Default Max Link Rate supported by Plaftform", + "Value": "0" + }, + { + "Key": "LBR (1.62 Gbps)", + "Value": "1" + }, + { + "Key": "HBR (2.7 Gbps)", + "Value": "2" + }, + { + "Key": "HBR2 (5.4 Gbps)", + "Value": "3" + }, + { + "Key": "HBR3 (8.1 Gbps)", + "Value": "4" + }, + { + "Key": "UHBR10 (10 Gbps)", + "Value": "5" + }, + { + "Key": "UHBR13_5 (13.5 Gbps)", + "Value": "6" + }, + { + "Key": "UHBR20 (20 Gbps)", + "Value": "7" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DP Port Max Lane Count Supported: ", + "Visibility": "", + "Data": [ + "2", + "EFP5_EDP_DP_Port_Max_LaneCount" + ], + "HelpText": "This feature allows for the selection of the Port Max Lane Count (Port Width) for the EDP/DP link.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDIDless Panel: ", + "Visibility": "", + "Data": [ + "2", + "EFP5_EDIDless_en" + ], + "HelpText": "If the Attached panel is EDIDless select Yes and the supplied DTD takes priority.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "EDID-less EFP Panel Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LTTPR(Link-Training Tunable PHY Repeaters) Mode: ", + "Visibility": "", + "Data": [ + "2", + "EFP5_LTTPRNonTransparentMode" + ], + "HelpText": "This option is used to enable or disable the LTTPR Non transparent Mode.", + "WidgetValues": [ + { + "Key": "Non-Transparent Mode", + "Value": "1" + }, + { + "Key": "Transparent Mode", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Max FrlRate Field Status", + "Visibility": "", + "Data": [ + "2", + "EFP5_IsMaxFrlRateFieldValid" + ], + "HelpText": "Indicates if we need to consider the MaxFrlRate field for HDMI2.1\nDisable - Don't consider the MaximumFrlRate for limiting the FrlRates on HDMI2.1 displays\nEnable - MaximumFrlRate given in bits 0 to 3 are used to override Max FRL Rate supported by platform/panel", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum FrlRate ", + "Visibility": "", + "Data": [ + "2", + "EFP5_MaximumFrlRate" + ], + "HelpText": "0000 = FrlRates not supported (HDMI 2.1 is limited to support only TMDS modes)\n0001 = 3 GT/s\n0010 = 6 GT/s\n0011 = 8 GT/s\n0100 = 10 GT/s\n0101 = 12 GT/s", + "WidgetValues": [ + { + "Key": "FrlRates not supported", + "Value": "0" + }, + { + "Key": "3 GT/s", + "Value": "1" + }, + { + "Key": "6 GT/s", + "Value": "2" + }, + { + "Key": "8 GT/s", + "Value": "3" + }, + { + "Key": "10 GT/s", + "Value": "4" + }, + { + "Key": "12 GT/s", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP to HDMI Pcon: ", + "Visibility": "", + "Data": [ + "2", + "LSPcon5_Options" + ], + "HelpText": "This option is used to enable or disable the OnBoard LSPCON chip.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DDI Lane Reversal: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP5_Lane_Reversal" + ], + "HelpText": "This feature, when enabled, will set lane reversal bit for selected Port", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP Alt mode over Type C: ", + "Visibility": "", + "Data": [ + "2", + "EFP5_DP_Alt_Mode_OverTypeC_Enabled" + ], + "HelpText": "This option Enables/Disables DP alternate mode over type C ports.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP Tunneling over Thunderbolt: ", + "Visibility": "", + "Data": [ + "2", + "EFP5_Thunderbolt_Feature_Enabled" + ], + "HelpText": "This option Enables/Disables DP tunneling over Thunderbolt for selected Port.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dockable Port: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP5_Port_Dockable" + ], + "HelpText": "This feature will describe if this Port is Dockable or Not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Select DisplayPort Redriver ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Select DisplayPort Redriver Configuration ( Dock/ OnBoard )", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Vswing PreEmphasis Table Override: ", + "Visibility": "", + "Data": [ + "2", + "INT_EFP5_Vswing_Override_Enable" + ], + "HelpText": "This feature, when enabled, will allow Graphics driver to use the Vswing and Pre-emphasis values from VBT. OEM's must not enable or disable this on their own and work with the Intel CE team to change any settings in this page. When this field is enabled, corresponding table must be populated in the VBT for PHY Vswing parameters too.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-3-5-1", + "PageName": "Select DisplayPort Redriver Configuration ( Dock/ OnBoard )", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Non-dock topology: (OnBoard) ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP5_OnBoard_Redriver_Present" + ], + "HelpText": "This feature will describe if Non-Dock Topology/OnBoard Redriver DP Link is present or Not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pre-Emphasis Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP5_OnBoard_Pre_emphasis" + ], + "HelpText": "This feature allows for the selection of Pre-emphasis level for the OnBoard redriver DP link.\nLevel 0 (0 dB)\nLevel 1 (3.5 dB)\nLevel 2 (6.0 dB)\nLevel 3 (9.5 dB)", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Voltage Swing Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP5_OnBoard_Voltage_swing" + ], + "HelpText": "This feature allows for the selection of voltage swing level for the OnBoard redriver DP link.\nSwing-0 (0.4 V)\nSwing-1 (0.6 V)\nSwing-2 (0.8 V)\nSwing-3 (1.2 V)", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dock Topology: (Mobile only) ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP5_Dock_Redriver_Present" + ], + "HelpText": "This feature will describe if Dock Topology/Dock Redriver DP Link is present or not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pre-Emphasis Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP5_Dock_Pre_emphasis" + ], + "HelpText": "This feature allows for the selection of Pre-emphasis level for the Dock redriver DP link.\nLevel 0 (0 dB)\nLevel 1 (3.5 dB)\nLevel 2 (6.0 dB)\nLevel 3 (9.5 dB)", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Voltage Swing Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP5_Dock_Voltage_swing" + ], + "HelpText": "This feature allows for the selection of voltage swing level for the Dock redriver DP link.\nSwing-0 (0.4 V)\nSwing-1 (0.6 V)\nSwing-2 (0.8 V)\nSwing-3 (1.2 V)", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-3-5-2", + "PageName": "EDID-less EFP Panel Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_Pixel_CLK_05" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Active_05" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Active_05" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Blank_05" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Blank_05" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_FrontPorch_05" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_FrontPorch_05" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Sync_05" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Sync_05" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Image_Size_05" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Image_Size_05" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_Common_Flag_05" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-3-6", + "PageName": "Device 6(EFP6) Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Device Type: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP6_Type" + ], + "HelpText": "This feature specifies the Device Type for this add-in device.\n\nNote:\nDevice Type \"Integrated Display Only Internal to Chassis\" specifies if the display location is internal to the system chasis or not. \nThis Device Class Type should be configured for Port-A and Port-B only.\nIf configured as internal, OEM's must ensure that we also configure this as internal in the FIT tool for CSME FW.\nThe options should be selected as Internal only if the port is used in AIO designs and part of the system chasis. It should be set as External for physically external ports.", + "WidgetValues": [ + { + "Key": "No Device", + "Value": "0" + }, + { + "Key": "Integrated DisplayPort Only", + "Value": "26822" + }, + { + "Key": "Integrated DisplayPort with HDMI/DVI Compatible", + "Value": "24790" + }, + { + "Key": "Integrated DisplayPort with DVI Compatible", + "Value": "26838" + }, + { + "Key": "Integrated Display Only Internal to Chassis", + "Value": "18502" + }, + { + "Key": "Integrated HDMI/DVI", + "Value": "24786" + }, + { + "Key": "Integrated DVI Only", + "Value": "26834" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select Output Port: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP6_Port" + ], + "HelpText": "This feature specifies which DVO port the device is configured.", + "WidgetValues": [ + { + "Key": "HDMI-A", + "Value": "0" + }, + { + "Key": "HDMI-B", + "Value": "1" + }, + { + "Key": "HDMI-TC1", + "Value": "14" + }, + { + "Key": "HDMI-TC2", + "Value": "16" + }, + { + "Key": "HDMI-TC3", + "Value": "18" + }, + { + "Key": "HDMI-TC4", + "Value": "20" + }, + { + "Key": "DisplayPort-A", + "Value": "10" + }, + { + "Key": "DisplayPort-B", + "Value": "7" + }, + { + "Key": "DisplayPort-TC1", + "Value": "13" + }, + { + "Key": "DisplayPort-TC2", + "Value": "15" + }, + { + "Key": "DisplayPort-TC3", + "Value": "17" + }, + { + "Key": "DisplayPort-TC4", + "Value": "19" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DDC Bus GPIO Pin Pair: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP6_DDC_Pin" + ], + "HelpText": "This feature specifies the GPIO pin pair used as DDC bus by this device. If this device doesn't support DDC bus, this field will be ignored. \t Pin Pair Value \t\t ADLP PCH mapping\n \t Pin-Pair #1\t\t DDI-A DDC\n \t Pin-Pair #2\t\t DDI-B DDC \n \t Pin-Pair #3\t\t DDI-TC1 DDC \n \t Pin-Pair #4\t\t DDI-TC2 DDC \n \t Pin-Pair #5\t\t DDI-TC3 DDC \n \t Pin-Pair #6\t\t DDI-TC4 DDC \n", + "WidgetValues": [ + { + "Key": "N/A", + "Value": "0" + }, + { + "Key": "Pin-Pair #1", + "Value": "1" + }, + { + "Key": "Pin-Pair #2", + "Value": "2" + }, + { + "Key": "Pin-Pair #3", + "Value": "3" + }, + { + "Key": "Pin-Pair #4", + "Value": "4" + }, + { + "Key": "Pin-Pair #5", + "Value": "5" + }, + { + "Key": "Pin-Pair #6", + "Value": "6" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select AUX Channel: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP6_AUX_Channel" + ], + "HelpText": "This feature specifies the AUX Channel for int-DisplayPort. This field is valid only if integrated DP is selected for Device Type.", + "WidgetValues": [ + { + "Key": "N/A", + "Value": "0" + }, + { + "Key": "DisplayPort-A AUX Channel", + "Value": "64" + }, + { + "Key": "DisplayPort-B AUX Channel", + "Value": "16" + }, + { + "Key": "DisplayPort TC1 AUX Channel", + "Value": "96" + }, + { + "Key": "DisplayPort TC2 AUX Channel", + "Value": "112" + }, + { + "Key": "DisplayPort TC3 AUX Channel", + "Value": "128" + }, + { + "Key": "DisplayPort TC4 AUX Channel", + "Value": "144" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select HDMI level shifter configuration: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP6_HDMI_LS_Type" + ], + "HelpText": "This feature specifies the Level shifter configuration for HDMI. This field is valid only if HDMI is selected for Device Type.\n\n-------------------------------------------------------------------------------------------------------------\n|\t\t\t|\tCOMBO-PHY\t|\tDKL-PHY\t\t|\n-------------------------------------------------------------------------------------------------------------\n|\tLevel 1\t\t|\t450mV 0.0dB\t|\t400mV 0dB\t\n|\tLevel 2\t\t|\t450mV 3.2dB\t|\t500mV 0dB\t|\n|\tLevel 3\t\t|\t450mV 5.5dB\t|\t650mV 0dB\t|\n|\tLevel 4\t\t|\t650mV 0.0dB\t|\t800mV 0dB\t|\n|\tLevel 5\t\t|\t650mV 2.3dB\t|\t1000mV 0dB\t|\n|\tLevel 6\t\t|\t850mV 0.0dB\t|\tFULL -1.5dB\t|\n|\tLevel 7\t\t|\t600mV 3.0dB\t|\tFULL -1.8dB\t|\n|\tLevel 8\t\t|\t450mV 0.0dB\t|\tFULL -2dB\t|\n|\tLevel 9\t\t|\t450mV 0.0dB\t|\tFULL -2.5dB\t|\n|\tLevel 10\t\t|\t450mV 0.0dB\t|\tFULL -3dB\t|\n", + "WidgetValues": [ + { + "Key": "Level 1", + "Value": "0" + }, + { + "Key": "Level 2", + "Value": "1" + }, + { + "Key": "Level 3", + "Value": "2" + }, + { + "Key": "Level 4", + "Value": "3" + }, + { + "Key": "Level 5", + "Value": "4" + }, + { + "Key": "Level 6", + "Value": "5" + }, + { + "Key": "Level 7", + "Value": "6" + }, + { + "Key": "Level 8", + "Value": "7" + }, + { + "Key": "Level 9", + "Value": "8" + }, + { + "Key": "Level 10", + "Value": "9" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select HDMI maximum data rate: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP6_HDMI_Maximum_Data_Rate" + ], + "HelpText": "This feature limits the maximum data rate per lane for HDMI. This field is valid only if HDMI is selected for Device Type. \n\nNote: OEM’s need to configure the maximum data rate as per mother board support.", + "WidgetValues": [ + { + "Key": "6.00 Gbps", + "Value": "0" + }, + { + "Key": "2.97 Gbps", + "Value": "1" + }, + { + "Key": "1.65 Gbps", + "Value": "2" + }, + { + "Key": "5.94 Gbps", + "Value": "3" + }, + { + "Key": "3.40 Gbps", + "Value": "4" + }, + { + "Key": "3.00 Gbps", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DP max Link Rate: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP6_DP_Port_Max_LinkRate" + ], + "HelpText": "This feature limits the maximum link rate for DP Port. This field is valid only if DP is selected for Device Type. \n\nHBR3 is the max Link rate supported by ADL-P/M/N. UHBR link rates are supported only by RPL-P. So, choosing a Link rate greater than HBR3 for ADL-P/M/N will automatically force a fallback to HBR3 in GOP and gfx-driver. \n\nNote: OEM’s need to configure the maximum Link rate as per mother board support.", + "WidgetValues": [ + { + "Key": "Default Max Link Rate supported by Plaftform", + "Value": "0" + }, + { + "Key": "LBR (1.62 Gbps)", + "Value": "1" + }, + { + "Key": "HBR (2.7 Gbps)", + "Value": "2" + }, + { + "Key": "HBR2 (5.4 Gbps)", + "Value": "3" + }, + { + "Key": "HBR3 (8.1 Gbps)", + "Value": "4" + }, + { + "Key": "UHBR10 (10 Gbps)", + "Value": "5" + }, + { + "Key": "UHBR13_5 (13.5 Gbps)", + "Value": "6" + }, + { + "Key": "UHBR20 (20 Gbps)", + "Value": "7" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Select DP Port Max Lane Count Supported: ", + "Visibility": "", + "Data": [ + "2", + "EFP6_EDP_DP_Port_Max_LaneCount" + ], + "HelpText": "This feature allows for the selection of the Port Max Lane Count (Port Width) for the EDP/DP link.", + "WidgetValues": [ + { + "Key": "x1", + "Value": "0" + }, + { + "Key": "x2", + "Value": "1" + }, + { + "Key": "x4", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "EDIDless Panel: ", + "Visibility": "", + "Data": [ + "2", + "EFP6_EDIDless_en" + ], + "HelpText": "If the Attached panel is EDIDless select Yes and the supplied DTD takes priority.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "Button", + "WidgetName": "EDID-less EFP Panel Generic DTD Timings", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "LTTPR(Link-Training Tunable PHY Repeaters) Mode: ", + "Visibility": "", + "Data": [ + "2", + "EFP6_LTTPRNonTransparentMode" + ], + "HelpText": "This option is used to enable or disable the LTTPR Non transparent Mode.", + "WidgetValues": [ + { + "Key": "Non-Transparent Mode", + "Value": "1" + }, + { + "Key": "Transparent Mode", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Max FrlRate Field Status", + "Visibility": "", + "Data": [ + "2", + "EFP6_IsMaxFrlRateFieldValid" + ], + "HelpText": "Indicates if we need to consider the MaxFrlRate field for HDMI2.1\nDisable - Don't consider the MaximumFrlRate for limiting the FrlRates on HDMI2.1 displays\nEnable - MaximumFrlRate given in bits 0 to 3 are used to override Max FRL Rate supported by platform/panel", + "WidgetValues": [ + { + "Key": "Disabled", + "Value": "0" + }, + { + "Key": "Enabled", + "Value": "1" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Maximum FrlRate ", + "Visibility": "", + "Data": [ + "2", + "EFP6_MaximumFrlRate" + ], + "HelpText": "0000 = FrlRates not supported (HDMI 2.1 is limited to support only TMDS modes)\n0001 = 3 GT/s\n0010 = 6 GT/s\n0011 = 8 GT/s\n0100 = 10 GT/s\n0101 = 12 GT/s", + "WidgetValues": [ + { + "Key": "FrlRates not supported", + "Value": "0" + }, + { + "Key": "3 GT/s", + "Value": "1" + }, + { + "Key": "6 GT/s", + "Value": "2" + }, + { + "Key": "8 GT/s", + "Value": "3" + }, + { + "Key": "10 GT/s", + "Value": "4" + }, + { + "Key": "12 GT/s", + "Value": "5" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP to HDMI Pcon: ", + "Visibility": "", + "Data": [ + "2", + "LSPcon6_Options" + ], + "HelpText": "This option is used to enable or disable the OnBoard LSPCON chip.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DDI Lane Reversal: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP6_Lane_Reversal" + ], + "HelpText": "This feature, when enabled, will set lane reversal bit for selected Port", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP Alt mode over Type C: ", + "Visibility": "", + "Data": [ + "2", + "EFP6_DP_Alt_Mode_OverTypeC_Enabled" + ], + "HelpText": "This option Enables/Disables DP alternate mode over type C ports.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "DP Tunneling over Thunderbolt: ", + "Visibility": "", + "Data": [ + "2", + "EFP6_Thunderbolt_Feature_Enabled" + ], + "HelpText": "This option Enables/Disables DP tunneling over Thunderbolt for selected Port.", + "WidgetValues": [ + { + "Key": "Enabled", + "Value": "1" + }, + { + "Key": "Disabled", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dockable Port: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP6_Port_Dockable" + ], + "HelpText": "This feature will describe if this Port is Dockable or Not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "Label", + "WidgetName": "Select DisplayPort Redriver ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Select DisplayPort Redriver Configuration ( Dock/ OnBoard )", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Vswing PreEmphasis Table Override: ", + "Visibility": "", + "Data": [ + "2", + "INT_EFP6_Vswing_Override_Enable" + ], + "HelpText": "This feature, when enabled, will allow Graphics driver to use the Vswing and Pre-emphasis values from VBT. OEM's must not enable or disable this on their own and work with the Intel CE team to change any settings in this page. When this field is enabled, corresponding table must be populated in the VBT for PHY Vswing parameters too.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "5-3-6-1", + "PageName": "Select DisplayPort Redriver Configuration ( Dock/ OnBoard )", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Non-dock topology: (OnBoard) ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP6_OnBoard_Redriver_Present" + ], + "HelpText": "This feature will describe if Non-Dock Topology/OnBoard Redriver DP Link is present or Not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pre-Emphasis Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP6_OnBoard_Pre_emphasis" + ], + "HelpText": "This feature allows for the selection of Pre-emphasis level for the OnBoard redriver DP link.\nLevel 0 (0 dB)\nLevel 1 (3.5 dB)\nLevel 2 (6.0 dB)\nLevel 3 (9.5 dB)", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Voltage Swing Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP6_OnBoard_Voltage_swing" + ], + "HelpText": "This feature allows for the selection of voltage swing level for the OnBoard redriver DP link.\nSwing-0 (0.4 V)\nSwing-1 (0.6 V)\nSwing-2 (0.8 V)\nSwing-3 (1.2 V)", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": "Dock Topology: (Mobile only) ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP6_Dock_Redriver_Present" + ], + "HelpText": "This feature will describe if Dock Topology/Dock Redriver DP Link is present or not.", + "WidgetValues": [ + { + "Key": "Yes", + "Value": "1" + }, + { + "Key": "No", + "Value": "0" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Pre-Emphasis Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP6_Dock_Pre_emphasis" + ], + "HelpText": "This feature allows for the selection of Pre-emphasis level for the Dock redriver DP link.\nLevel 0 (0 dB)\nLevel 1 (3.5 dB)\nLevel 2 (6.0 dB)\nLevel 3 (9.5 dB)", + "WidgetValues": [ + { + "Key": "Level-0", + "Value": "0" + }, + { + "Key": "Level-1", + "Value": "1" + }, + { + "Key": "Level-2", + "Value": "2" + }, + { + "Key": "Level-3", + "Value": "3" + } + ] + }, + { + "WidgetType": "ComboBox", + "WidgetName": " Voltage Swing Level: ", + "Visibility": "", + "Data": [ + "2", + "Int_EFP6_Dock_Voltage_swing" + ], + "HelpText": "This feature allows for the selection of voltage swing level for the Dock redriver DP link.\nSwing-0 (0.4 V)\nSwing-1 (0.6 V)\nSwing-2 (0.8 V)\nSwing-3 (1.2 V)", + "WidgetValues": [ + { + "Key": "Swing-0", + "Value": "0" + }, + { + "Key": "Swing-1", + "Value": "1" + }, + { + "Key": "Swing-2", + "Value": "2" + }, + { + "Key": "Swing-3", + "Value": "3" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "5-3-6-2", + "PageName": "EDID-less EFP Panel Generic DTD Timings", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Pixel Clock in KHz: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_Pixel_CLK_06" + ], + "HelpText": "Pixel Clock (in KHz) Range from 0.001 to 4294967.295 MP/s.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Active: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Active_06" + ], + "HelpText": "Horizontal Active Image Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Active: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Active_06" + ], + "HelpText": "Vertical Active Image Lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Blank: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Blank_06" + ], + "HelpText": "Horizontal Blank Pixels Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Blank: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Blank_06" + ], + "HelpText": "Vertical Blank lines Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_FrontPorch_06" + ], + "HelpText": "Horizontal Front Porch Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Front Porch: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_FrontPorch_06" + ], + "HelpText": "Vertical Front Porch Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Sync: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Sync_06" + ], + "HelpText": "Horizontal Sync Width Number of Pixels ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Sync: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Sync_06" + ], + "HelpText": "Vertical Sync Width Number of lines ranges from 1 to 65,536.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Horizontal Image Size: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_H_Image_Size_06" + ], + "HelpText": "Horizontal Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": "Vertical Image Size: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_V_Image_Size_06" + ], + "HelpText": "Vertical Addressable Video Image Size in mm represented by 16bits. Image size multiplier 1.00 mm precision.", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Common Flag: ", + "Visibility": "", + "Data": [ + "58", + "EFP_DTD_Common_Flag_06" + ], + "HelpText": "Common DTD Flags:\nBit 7 : Horizontal Sync Polarity\n1 : Positive\n0 : Negative\nBit 6 : Vertical Sync polarity\n1 : Positive\n0 : Negative\nBit 5 - 0: Reserved (Default value 0)", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + } + ] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "7", + "PageName": "OEM Customizable Modes", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "OEM Mode 1 Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "OEM Mode 2 Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "OEM Mode 3 Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "OEM Mode 4 Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "OEM Mode 5 Configuration", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "7-1", + "PageName": "OEM Mode 1 Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Support Flags: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_Flags1" + ], + "HelpText": "Support flags: (0 = Disabled, 1 = Enabled)\n\n\tBit 7\tBit 6\tBit 5\tBit 4\tBit 3\tBit 2\tBit 1\tBit 0\n\tRsvd\tRsvd\tRsvd\tRsvd\tRsvd\tGOP\tDriver\tVBIOS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Display Flags: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Display2_Flags1" + ], + "HelpText": "Support flags: (0 = Disabled, 1 = Enabled)\n\n\tBit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\tBit 3\tBit 2\tBit 1\tBit 0\n\tEFP 8\tEFP 7\tLFP 2\tEFP 2\tEFP 3\tEFP 4\tLFP 1\tEFP 1\tEFP 5\tEFP 6", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Mode Characteristics: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " X Resolution: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_X1" + ], + "HelpText": "X Resolution in pixels (decimal).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Y Resolution: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_Y1" + ], + "HelpText": "Y Resolution in pixels (decimal).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Refresh Rate: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_RRate1" + ], + "HelpText": "Refresh rate for OEM customizable mode (decimal).", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "7-2", + "PageName": "OEM Mode 2 Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Support Flags: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_Flags2" + ], + "HelpText": "Support flags: (0 = Disabled, 1 = Enabled)\n\n\tBit 7\tBit 6\tBit 5\tBit 4\tBit 3\tBit 2\tBit 1\tBit 0\n\tRsvd\tRsvd\tRsvd\tRsvd\tRsvd\tGOP\tDriver\tVBIOS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Display Flags: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Display2_Flags2" + ], + "HelpText": "Support flags: (0 = Disabled, 1 = Enabled)\n\n\tBit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\tBit 3\tBit 2\tBit 1\tBit 0\n\tEFP 8\tEFP 7\tLFP 2\tEFP 2\tEFP 3\tEFP 4\tLFP 1\tEFP 1\tEFP 5\tEFP 6", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Mode Characteristics: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " X Resolution: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_X2" + ], + "HelpText": "X Resolution in pixels (decimal).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Y Resolution: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_Y2" + ], + "HelpText": "Y Resolution in pixels (decimal).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Refresh Rate: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_RRate2" + ], + "HelpText": "Refresh rate for OEM customizable mode (decimal).", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "7-3", + "PageName": "OEM Mode 3 Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Support Flags: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_Flags3" + ], + "HelpText": "Support flags: (0 = Disabled, 1 = Enabled)\n\n\tBit 7\tBit 6\tBit 5\tBit 4\tBit 3\tBit 2\tBit 1\tBit 0\n\tRsvd\tRsvd\tRsvd\tRsvd\tRsvd\tGOP\tDriver\tVBIOS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Display Flags: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Display2_Flags3" + ], + "HelpText": "Support flags: (0 = Disabled, 1 = Enabled)\n\n\tBit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\tBit 3\tBit 2\tBit 1\tBit 0\n\tEFP 8\tEFP 7\tLFP 2\tEFP 2\tEFP 3\tEFP 4\tLFP 1\tEFP 1\tEFP 5\tEFP 6", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Mode Characteristics: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " X Resolution: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_X3" + ], + "HelpText": "X Resolution in pixels (decimal).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Y Resolution: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_Y3" + ], + "HelpText": "Y Resolution in pixels (decimal).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Refresh Rate: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_RRate3" + ], + "HelpText": "Refresh rate for OEM customizable mode (decimal).", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "7-4", + "PageName": "OEM Mode 4 Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Support Flags: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_Flags4" + ], + "HelpText": "Support flags: (0 = Disabled, 1 = Enabled)\n\n\tBit 7\tBit 6\tBit 5\tBit 4\tBit 3\tBit 2\tBit 1\tBit 0\n\tRsvd\tRsvd\tRsvd\tRsvd\tRsvd\tGOP\tDriver\tVBIOS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Display Flags: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Display2_Flags4" + ], + "HelpText": "Support flags: (0 = Disabled, 1 = Enabled)\n\n\tBit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\tBit 3\tBit 2\tBit 1\tBit 0\n\tEFP 8\tEFP 7\tLFP 2\tEFP 2\tEFP 3\tEFP 4\tLFP 1\tEFP 1\tEFP 5\tEFP 6", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Mode Characteristics: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " X Resolution: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_X4" + ], + "HelpText": "X Resolution in pixels (decimal).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Y Resolution: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_Y4" + ], + "HelpText": "Y Resolution in pixels (decimal).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Refresh Rate: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_RRate4" + ], + "HelpText": "Refresh rate for OEM customizable mode (decimal).", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "7-5", + "PageName": "OEM Mode 5 Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Support Flags: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_Flags5" + ], + "HelpText": "Support flags: (0 = Disabled, 1 = Enabled)\n\n\tBit 7\tBit 6\tBit 5\tBit 4\tBit 3\tBit 2\tBit 1\tBit 0\n\tRsvd\tRsvd\tRsvd\tRsvd\tRsvd\tGOP\tDriver\tVBIOS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Display Flags: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Display2_Flags5" + ], + "HelpText": "Support flags: (0 = Disabled, 1 = Enabled)\n\n\tBit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\tBit 3\tBit 2\tBit 1\tBit 0\n\tEFP 8\tEFP 7\tLFP 2\tEFP 2\tEFP 3\tEFP 4\tLFP 1\tEFP 1\tEFP 5\tEFP 6", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Mode Characteristics: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " X Resolution: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_X5" + ], + "HelpText": "X Resolution in pixels (decimal).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Y Resolution: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_Y5" + ], + "HelpText": "Y Resolution in pixels (decimal).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Refresh Rate: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_RRate5" + ], + "HelpText": "Refresh rate for OEM customizable mode (decimal).", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "7-6", + "PageName": "OEM Mode 6 Configuration", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Close Table", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Support Flags: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_Flags6" + ], + "HelpText": "Support flags: (0 = Disabled, 1 = Enabled)\n\n\tBit 7\tBit 6\tBit 5\tBit 4\tBit 3\tBit 2\tBit 1\tBit 0\n\tRsvd\tRsvd\tRsvd\tRsvd\tRsvd\tGOP\tDriver\tVBIOS", + "WidgetValues": [] + }, + { + "WidgetType": "EntryBin", + "WidgetName": "Display Flags: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Display2_Flags6" + ], + "HelpText": "Support flags: (0 = Disabled, 1 = Enabled)\n\n\tBit 9\tBit 8\tBit 7\tBit 6\tBit 5\tBit 4\tBit 3\tBit 2\tBit 1\tBit 0\n\tEFP 8\tEFP 7\tLFP 2\tEFP 2\tEFP 3\tEFP 4\tLFP 1\tEFP 1\tEFP 5\tEFP 6", + "WidgetValues": [] + }, + { + "WidgetType": "LabelHeading", + "WidgetName": "Mode Characteristics: ", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " X Resolution: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_X6" + ], + "HelpText": "X Resolution in pixels (decimal).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Y Resolution: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_Y6" + ], + "HelpText": "Y Resolution in pixels (decimal).", + "WidgetValues": [] + }, + { + "WidgetType": "EntryInt", + "WidgetName": " Refresh Rate: ", + "Visibility": "", + "Data": [ + "20", + "OEM_Mode_RRate6" + ], + "HelpText": "Refresh rate for OEM customizable mode (decimal).", + "WidgetValues": [] + } + ], + "NestedPages": [] + } + } + ] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "8", + "PageName": "Vswing and Pre-Emphasis Override Tables", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Button", + "WidgetName": "Combo PHY High(DP/eDP) Vswing upto HBR", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Combo PHY High(DP/eDP) Vswing HBR2 and HBR3", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Combo PHY Low(eDP) Vswing upto HBR2", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "Combo PHY Low(eDP) Vswing upto HBR3", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "DKLPHY (DP) Vswing upto HBR", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + }, + { + "WidgetType": "Button", + "WidgetName": "DKLPHY (DP) Vswing upto HBR2", + "Visibility": "", + "Data": [], + "HelpText": "", + "WidgetValues": [] + } + ], + "NestedPages": [ + { + "Type": "Block", + "Block": { + "PageNum": "8-1", + "PageName": "Combo PHY High(DP/eDP) Vswing upto HBR", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "57", + "ComboPhyVswingHbr" + ], + "HelpText": "This table defines the Vswing and Pre-emphasis values for Combo PHY ports A/B/C on ADL platform. The table is aligned as per Intel platform specific configuration. OEM's must not enable or disable this on their own and work with the Intel CE team to change any settings in this page.", + "WidgetValues": [ + { + "ColumnName": "Column 1", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 2", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 3", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 4", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 5", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 6", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 7", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 8", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 9", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 10", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 11", + "SizeinBytes": "4" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "8-2", + "PageName": "Combo PHY High(DP/eDP) Vswing HBR2 and HBR3", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "57", + "ComboPhyVswingHbr2" + ], + "HelpText": "This table defines the Vswing and Pre-emphasis values for Combo PHY ports A/B/C on ADL platform. The table is aligned as per Intel platform specific configuration. OEM's must not enable or disable this on their own and work with the Intel CE team to change any settings in this page.", + "WidgetValues": [ + { + "ColumnName": "Column 1", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 2", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 3", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 4", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 5", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 6", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 7", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 8", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 9", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 10", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 11", + "SizeinBytes": "4" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "8-3", + "PageName": "Combo PHY Low(eDP) Vswing upto HBR2", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "57", + "ComboPhyLowVswingHbr2" + ], + "HelpText": "This table defines the Low Vswing and Pre-emphasis values for eDP (HBR2) on ADL platform. The table is aligned as per Intel platform specific configuration. OEM's must not enable or disable this on their own and work with the Intel CE team to change any settings in this page.", + "WidgetValues": [ + { + "ColumnName": "Column 1", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 2", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 3", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 4", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 5", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 6", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 7", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 8", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 9", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 10", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 11", + "SizeinBytes": "4" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "8-4", + "PageName": "Combo PHY Low(eDP) Vswing upto HBR3", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "57", + "ComboPhyLowVswingHbr3" + ], + "HelpText": "This table defines the Low Vswing and Pre-emphasis values for eDP (HBR3) on ADL platform. The table is aligned as per Intel platform specific configuration. OEM's must not enable or disable this on their own and work with the Intel CE team to change any settings in this page.", + "WidgetValues": [ + { + "ColumnName": "Column 1", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 2", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 3", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 4", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 5", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 6", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 7", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 8", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 9", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 10", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 11", + "SizeinBytes": "4" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "8-5", + "PageName": "DKLPHY (DP) Vswing upto HBR", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "57", + "DklPhyVswingHbr" + ], + "HelpText": "This table defines the Vswing and Pre-emphasis values for DKL PHY ports D to I on ADL platform. The table is aligned as per Intel platform specific configuration. OEM's must not enable or disable this on their own and work with the Intel CE team to change any settings in this page.", + "WidgetValues": [ + { + "ColumnName": "Column 1", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 2", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 3", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 4", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 5", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 6", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 7", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 8", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 9", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 10", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 11", + "SizeinBytes": "4" + } + ] + } + ], + "NestedPages": [] + } + }, + { + "Type": "Block", + "Block": { + "PageNum": "8-6", + "PageName": "DKLPHY (DP) Vswing upto HBR2", + "Visibility": "", + "PageHelpText": "", + "PageID": [ + { + "WidgetType": "Table", + "WidgetName": "", + "Visibility": "", + "Data": [ + "57", + "DklPhyVswingHbr2" + ], + "HelpText": "This table defines the Vswing and Pre-emphasis values for DKL PHY ports D to I on ADL platform. The table is aligned as per Intel platform specific configuration. OEM's must not enable or disable this on their own and work with the Intel CE team to change any settings in this page.", + "WidgetValues": [ + { + "ColumnName": "Column 1", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 2", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 3", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 4", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 5", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 6", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 7", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 8", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 9", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 10", + "SizeinBytes": "4" + }, + { + "ColumnName": "Column 11", + "SizeinBytes": "4" + } + ] + } + ], + "NestedPages": [] + } + } + ] + } + } + ] + } + } +]