summaryrefslogtreecommitdiff
path: root/Platform
diff options
context:
space:
mode:
authorGuo Mang <mang.guo@intel.com>2016-12-23 14:32:15 +0800
committerGuo Mang <mang.guo@intel.com>2016-12-26 19:15:25 +0800
commit1d82c447c2a99a20645ee8fbe47db187f821321d (patch)
treedb080a4c81bfad2fc69660e8173b0b1b389b583a /Platform
parentca4b6699e8b90d84fc2557f734cee1214667e6e6 (diff)
downloadedk2-platforms-1d82c447c2a99a20645ee8fbe47db187f821321d.tar.xz
BroxtonPlatformPkg: Add PlatformSetupDxe
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Mang <mang.guo@intel.com>
Diffstat (limited to 'Platform')
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/AcpiSetup.vfi92
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Boot.vfi96
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Configuration.h74
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Cpu.vfi132
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/CpuPower.vfi217
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/DebugConfig.vfi209
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/DptfPolicy.vfi69
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/FwVersionStrings.unibin0 -> 4222 bytes
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Main.vfi333
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.c879
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.h95
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.inf157
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/RtD3.vfi201
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Security.vfi176
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SetupFunctions.c69
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SetupInfoRecords.c1894
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SetupPrivate.h127
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SouthClusterConfig.vfi3198
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SystemComponent.vfi127
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Thermal.vfi819
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/UnCore.vfi325
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/UqiList.unibin0 -> 126596 bytes
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Vfr.vfr121
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/VfrStrings.unibin0 -> 315770 bytes
24 files changed, 9410 insertions, 0 deletions
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/AcpiSetup.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/AcpiSetup.vfi
new file mode 100644
index 0000000000..6d918be3a6
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/AcpiSetup.vfi
@@ -0,0 +1,92 @@
+// /** @file
+// ACPI Setup formset.
+//
+// Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
+//
+// 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.
+//
+// **/
+
+
+form formid = ACPI_SETUP_FORM_ID,
+ title = STRING_TOKEN(STR_ACPI_SETUP_TITLE);
+
+ suppressif ideqval SETUP_DATA.PcieRootPortEn[OFFSET_0] == 0x0;
+ oneof varid = SETUP_DATA.PciExpNative,
+ prompt = STRING_TOKEN(STR_ACPI_PCIE_NATIVE_PROMPT),
+ help = STRING_TOKEN(STR_ACPI_PCIE_NATIVE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ endif; // suppressif
+
+ suppressif ideqval SETUP_DATA.PciExpNative == 0x0;
+ oneof varid = SETUP_DATA.NativeAspmEnable,
+ prompt = STRING_TOKEN(STR_NATIVE_ASPM_PROMPT),
+ help = STRING_TOKEN(STR_NATIVE_ASPM_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | RESET_REQUIRED;
+ endoneof;
+ endif; // suppressif
+
+ oneof varid = SETUP_DATA.IrmtConfiguration,
+ prompt = STRING_TOKEN(STR_IRMT),
+ help = STRING_TOKEN(STR_IRMT_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LowPowerS0Idle,
+ prompt = STRING_TOKEN(STR_LOW_POWER_S0_IDLE),
+ help = STRING_TOKEN(STR_LOW_POWER_S0_IDLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif NOT ideqval SETUP_DATA.LowPowerS0Idle == 1;
+ oneof varid = SETUP_DATA.TenSecondPowerButtonEnable,
+ prompt = STRING_TOKEN(STR_10SEC_POWER_BUTTON_ENABLE),
+ help = STRING_TOKEN(STR_10SEC_POWER_BUTTON_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = SETUP_DATA.PciDelayOptimizationEcr,
+ prompt = STRING_TOKEN(STR_PCI_DELAY_OPTIMIZATION_ECR),
+ help = STRING_TOKEN(STR_PCI_DELAY_OPTIMIZATION_ECR_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ endif; // suppressif
+
+ oneof varid = SETUP_DATA.CSNotifyEC,
+ prompt = STRING_TOKEN(STR_NOTIFY_EC),
+ help = STRING_TOKEN(STR_NOTIFY_EC_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif NOT ideqval SETUP_DATA.CSNotifyEC == 1;
+ oneof varid = SETUP_DATA.CSDebugLightEC,
+ prompt = STRING_TOKEN(STR_DEBUG_LT_EC),
+ help = STRING_TOKEN(STR_DEBUG_LT_EC_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = SETUP_DATA.EcLowPowerMode,
+ prompt = STRING_TOKEN(STR_EC_LOWPOWER_MODE),
+ help = STRING_TOKEN(STR_EC_LOWPOWER_MODE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ endif; // suppressif
+
+endform; // ACPI_SETUP_FORM_ID
+
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Boot.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Boot.vfi
new file mode 100644
index 0000000000..ad57c250e9
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Boot.vfi
@@ -0,0 +1,96 @@
+// /** @file
+// Boot Setup formset.
+//
+// Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
+//
+// 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.
+//
+// **/
+
+
+form formid = BOOT_CONFIGURATION_FORM_ID,
+
+ title = STRING_TOKEN(STR_BOOT_CONFIGURATION_TITLE);
+
+ suppressif TRUE;
+ oneof varid = Setup.PlatformSettingEn,
+ prompt = STRING_TOKEN(STR_PLAT_DEFAULT_PROMPT),
+ help = STRING_TOKEN(STR_PLAT_DEFAULT_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value=0, flags=DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value=1, flags=0 | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.FastBoot,
+ prompt = STRING_TOKEN(STR_FAST_BOOT_PROMPT),
+ help = STRING_TOKEN(STR_FAST_BOOT_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value=0, flags=DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value=1, flags=0 | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval SETUP_DATA.FastBoot == 0;
+ oneof varid = Setup.ConInBehavior,
+ prompt = STRING_TOKEN(STR_FAST_BOOT_CONSOLE_BHVR),
+ help = STRING_TOKEN(STR_FAST_BOOT_CONIN_BHVR_HELP),
+ option text = STRING_TOKEN(STR_PS2_CONSOLE), value = 0, flags = DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LASTCONSOLE), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_WINDOWS_CONSOLE), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+ endif; // suppressif
+
+ oneof varid = Setup.SecureBoot,
+ prompt = STRING_TOKEN(STR_SECURITY_BOOT_PROMPT),
+ help = STRING_TOKEN(STR_SECURITY_BOOT_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value=0, flags=DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value=1, flags=0 | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.QuietBoot,
+ prompt = STRING_TOKEN(STR_QUIETBOOT_PROMPT),
+ help = STRING_TOKEN(STR_QUIETBOOT_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value=0, flags=DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value=1, flags=0 | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LogBootTime,
+ prompt = STRING_TOKEN(STR_LOG_BOOT_TIME_PROMPT),
+ help = STRING_TOKEN(STR_LOG_BOOT_TIME_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = 0 | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.LogBootTime == 0x00;
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_LOG_BOOT_TIME_RECORD),
+ text = STRING_TOKEN(STR_LOG_BOOT_TIME_VALUE),
+ flags = 0,
+ key = 0;
+ endif;
+
+ oneof varid = Setup.EfiNetworkSupport,
+ prompt = STRING_TOKEN(STR_EFI_NETWORK_CONTROL),
+ help = STRING_TOKEN(STR_EFI_NETWORK_CONTROL_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.RTEn,
+ prompt = STRING_TOKEN(STR_RT_IDI_AGENT_PROMPT),
+ help = STRING_TOKEN(STR_RT_IDI_AGENT_HELP),
+ flags = INTERACTIVE,
+ option text = STRING_TOKEN(STR_RT_IDI_AGENT_DISABLE), value=0, flags=DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_RT_IDI_AGENT_DID1), value=2, flags=0 | RESET_REQUIRED;
+ endoneof;
+
+endform;
+
+
+
+
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Configuration.h b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Configuration.h
new file mode 100644
index 0000000000..aebf47faf1
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Configuration.h
@@ -0,0 +1,74 @@
+/** @file
+ Driver configuration include file.
+
+ Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
+
+ 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.
+
+**/
+
+#ifndef _CONFIGURATION_H
+#define _CONFIGURATION_H
+
+//
+// System Setup Page. Do not have to be sequential but have to be unique
+//
+#define ROOT_FORM_ID 1
+#define ROOT_MAIN_FORM_ID 2
+#define CPU_CONFIGURATION_FORM_ID 3
+#define CPU_PWR_CONFIGURATION_FORM_ID 4
+#define BOOT_CONFIGURATION_FORM_ID 5
+#define IGD_FORM_ID 6
+#define SECURITY_CONFIGURATION_FORM_ID 7
+#define SOUTH_CLUSTER_FORM_ID 8
+#define DPTF_FORM_ID 9
+#define PLATFORM_INFORMATION_FORM_ID 10
+#define SATA_CONFIGURATION_ID 11
+#define SENSOR_CONFIGURATION_ID 12
+#define LPSS_OPTIONS_FORM_ID 13
+#define UNCORE_FORM_ID 14
+#define TPM_FORM_ID 15
+#define THERMAL_FORM_ID 16
+#define PASSWORD_SETTING_ID 17
+#define LAN_OPTIONS_FORM_ID 18
+#define HDAUDIO_OPTIONS_FORM_ID 19
+#define MISC_OPTIONS_FORM_ID 20
+#define USB_OPTIONS_FORM_ID 21
+#define PCIE_DEVICE_OPTIONS_FORM_ID 22
+#define SYSTEM_COMPONENT_FORM_ID 23
+#define DEBUG_CONFIGURATION_FORM_ID 24
+#define SCC_OPTIONS_FORM_ID 25
+#define PCIERP1_OPTIONS_FORM_ID 26
+#define PCIERP2_OPTIONS_FORM_ID 27
+#define PCIERP3_OPTIONS_FORM_ID 28
+#define PCIERP4_OPTIONS_FORM_ID 29
+#define PCIERP5_OPTIONS_FORM_ID 30
+#define PCIERP6_OPTIONS_FORM_ID 31
+#define GMM_OPTIONS_FORM_ID 32
+#define ISH_OPTIONS_FORM_ID 33
+#define ACPI_SETUP_FORM_ID 34
+#define PEP_FORM_ID 35
+#define RTD3_FORM_ID 36
+#define DPTF_POLICY_FORM_ID 46
+
+#define DEBUG_NPK_FORM_ID 42
+
+//
+// Other defines
+//
+#define OFFSET_0 0
+#define OFFSET_1 1
+#define OFFSET_2 2
+#define OFFSET_3 3
+#define OFFSET_4 4
+#define OFFSET_5 5
+#define OFFSET_6 6
+#define OFFSET_7 7
+#endif // #ifndef _CONFIGURATION_H
+
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Cpu.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Cpu.vfi
new file mode 100644
index 0000000000..81c19bcd31
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Cpu.vfi
@@ -0,0 +1,132 @@
+// /** @file
+// CPU Setup formset.
+//
+// Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
+//
+// 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.
+//
+// **/
+
+
+form formid = CPU_CONFIGURATION_FORM_ID,
+
+ title = STRING_TOKEN(STR_CPU_CONFIGURATION_TITLE);
+
+ //
+ // Title on CPU Configuration Page
+ //
+
+ subtitle text = STRING_TOKEN(STR_CPU_CONFIGURATION_TITLE);
+
+ oneof varid = Setup.EnableProcHot,
+ prompt = STRING_TOKEN(STR_PROC_HOT_ENABLE),
+ help = STRING_TOKEN(STR_PROC_HOT_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags =MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ProcessorVmxEnable,
+ prompt = STRING_TOKEN(STR_VTX2_PROMPT),
+ help = STRING_TOKEN(STR_VTX2_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags =MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ grayoutif ideqval Setup.IpuEn == 1;
+ oneof varid = Setup.VTdEnable,
+ prompt = STRING_TOKEN(STR_VTD_PROMPT),
+ help = STRING_TOKEN(STR_VTD_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.EnableTm,
+ prompt = STRING_TOKEN(STR_TM1_PROMPT),
+ help = STRING_TOKEN(STR_TM1_PROMPT_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.EnableDigitalThermalSensor,
+ prompt = STRING_TOKEN(STR_DTS_PROMPT),
+ help = STRING_TOKEN(STR_DTS_PROMPT_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ActiveProcessorCores,
+ prompt = STRING_TOKEN(STR_ACTIVE_PROCESSOR_CORES_PROMPT),
+ help = STRING_TOKEN(STR_ACTIVE_PROCESSOR_CORES_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ grayoutif TRUE;
+ oneof varid = Setup.Core0,
+ prompt = STRING_TOKEN(STR_ACTIVE_CORE0_DISABLE_PROMPT),
+ help = STRING_TOKEN(STR_ACTIVE_CORE0_DISABLE_PROMPT_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ suppressif ideqval Setup.ActiveProcessorCores == 0 OR ideqval Setup.NumOfProcessors == 2;
+ oneof varid = Setup.Core1,
+ prompt = STRING_TOKEN(STR_ACTIVE_CORE1_DISABLE_PROMPT),
+ help = STRING_TOKEN(STR_ACTIVE_CORE1_DISABLE_PROMPT_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ suppressif ideqval Setup.ActiveProcessorCores == 0;
+ oneof varid = Setup.Core2,
+ prompt = STRING_TOKEN(STR_ACTIVE_CORE2_DISABLE_PROMPT),
+ help = STRING_TOKEN(STR_ACTIVE_CORE2_DISABLE_PROMPT_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ suppressif ideqval Setup.ActiveProcessorCores == 0 OR ideqval Setup.NumOfProcessors == 2;
+ oneof varid = Setup.Core3,
+ prompt = STRING_TOKEN(STR_ACTIVE_CORE3_DISABLE_PROMPT),
+ help = STRING_TOKEN(STR_ACTIVE_CORE3_DISABLE_PROMPT_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ text
+ help = STRING_TOKEN(STR_PROCESSOR_HT_MODE_HELP),
+ text = STRING_TOKEN(STR_PROCESSOR_HT_MODE),
+ text = STRING_TOKEN(STR_CAPABILITY_NOT_SUPPORT),
+ flags = 0,
+ key = 0;
+
+ oneof varid = Setup.MonitorMwaitEnable,
+ prompt = STRING_TOKEN(STR_MONITOR_MWAIT_PROMPT),
+ help = STRING_TOKEN(STR_MONITOR_MWAIT_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTO), value = 2, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ //
+ // Jump to CPU Power Management Form
+ //
+ goto CPU_PWR_CONFIGURATION_FORM_ID,
+ prompt = STRING_TOKEN(STR_CPU_POWERMNG_TITLE),
+ help = STRING_TOKEN(STR_CPU_POWERMNG_HELP);
+
+endform;
+
+#include "CpuPower.vfi" \ No newline at end of file
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/CpuPower.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/CpuPower.vfi
new file mode 100644
index 0000000000..e54fc46dd5
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/CpuPower.vfi
@@ -0,0 +1,217 @@
+// /** @file
+// CPU Power Setup formset.
+//
+// Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
+//
+// 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.
+//
+// **/
+
+
+form formid = CPU_PWR_CONFIGURATION_FORM_ID,
+
+ title = STRING_TOKEN(STR_CPU_POWERMNG_TITLE);
+
+ subtitle text = STRING_TOKEN(STR_SYSTEM_POWER_OPTIONS);
+
+ oneof varid = Setup.EnableGv,
+ prompt = STRING_TOKEN(STR_CPU_IST_PROMPT),
+ help = STRING_TOKEN(STR_CPU_IST_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ //suppressif ideqval Setup.EnableGv == 0;
+ oneof varid = Setup.BootPState,
+ prompt = STRING_TOKEN (STR_BOOT_P_STATE),
+ help = STRING_TOKEN (STR_BOOT_P_STATE_HELP),
+ option text = STRING_TOKEN (STR_BOOT_P_STATE_MAX), value = 0, flags = MANUFACTURING |DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_BOOT_P_STATE_MIN), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ //endif;
+
+ suppressif ideqval Setup.EnableGv == 0;
+ oneof varid = Setup.TurboModeEnable,
+ prompt = STRING_TOKEN(STR_PROCESSOR_TURBO_MODE),
+ help = STRING_TOKEN(STR_PROCESSOR_TURBO_MODE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = MANUFACTURING |DEFAULT | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.EnableCx,
+ prompt = STRING_TOKEN(STR_CSTATE_PROMPT),
+ help = STRING_TOKEN(STR_CSTATE_PROMPT_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = MANUFACTURING |DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.EnableCx == 0 ;
+ oneof varid = Setup.EnableCxe,
+ prompt = STRING_TOKEN(STR_CXE_PROMPT),
+ help = STRING_TOKEN(STR_CXE_PROMPT_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ disableif ideqval Setup.PmicSetupDefault == 1;
+ oneof varid = Setup.MaxPkgCState,
+ prompt = STRING_TOKEN(STR_MAX_PKG_CSTATE_SUPPORT_PROMPT),
+ help = STRING_TOKEN(STR_MAX_PKG_CSTATE_STATE_SUPPORT_HELP),
+ option text = STRING_TOKEN(STR_MAX_PKG_CSTATE_C2), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MAX_PKG_CSTATE_C1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MAX_PKG_CSTATE_C0), value = 0, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ suppressif NOT ideqval Setup.PmicSetupDefault == 1;
+ text
+ help = STRING_TOKEN(STR_MAX_PKG_CSTATE_STATE_SUPPORT_HELP),
+ text = STRING_TOKEN(STR_MAX_PKG_CSTATE_SUPPORT_PROMPT),
+ text = STRING_TOKEN(STR_MAX_PKG_CSTATE_C0),
+ flags = 0,
+ key = 0;
+ endif;
+
+ oneof varid = Setup.MaxCoreCState,
+ prompt = STRING_TOKEN(STR_MAX_CORE_CSTATE_SUPPORT_PROMPT),
+ help = STRING_TOKEN(STR_MAX_CORE_CSTATE_SUPPORT_HELP),
+ option text = STRING_TOKEN(STR_MAX_CORE_CSTATE_FC), value = 8, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MAX_CORE_CSTATE_C10), value = 7, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MAX_CORE_CSTATE_C9), value = 6, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MAX_CORE_CSTATE_C8), value = 5, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MAX_CORE_CSTATE_C7), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MAX_CORE_CSTATE_C6), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MAX_CORE_CSTATE_C1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MAX_CORE_CSTATE_C0), value = 0, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = SETUP_DATA.CStateAutoDemotion,
+ prompt = STRING_TOKEN(STR_CST_AUTO_DEMOTION),
+ help = STRING_TOKEN(STR_CST_AUTO_DEMOTION_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_C1_AUTO_DEMOTION), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_C3_AUTO_DEMOTION), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_C1_AND_C3_AUTO_DEMOTION), value = 3, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.CStateUnDemotion,
+ prompt = STRING_TOKEN(STR_CST_UNDEMOTION),
+ help = STRING_TOKEN(STR_CST_UNDEMOTION_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_C1_AUTO_DEMOTION), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_C3_AUTO_DEMOTION), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_C1_AND_C3_AUTO_DEMOTION), value = 3, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PkgCStateDemotion,
+ prompt = STRING_TOKEN(STR_PKG_CST_DEMOTION),
+ help = STRING_TOKEN(STR_PKG_CST_DEMOTION),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PkgCStateUnDemotion,
+ prompt = STRING_TOKEN(STR_PKG_CST_UNDEMOTION),
+ help = STRING_TOKEN(STR_PKG_CST_UNDEMOTION),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ suppressif ideqval Setup.EnableGv == 0;
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_LONG_DUR_PWR_LIMIT_STRING),
+ text = STRING_TOKEN(STR_LONG_DUR_PWR_LIMIT_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_SHORT_DUR_PWR_LIMIT_STRING),
+ text = STRING_TOKEN(STR_SHORT_DUR_PWR_LIMIT_VALUE),
+ flags = 0,
+ key = 0;
+
+ oneof varid = Setup.PowerLimit1Enable,
+ prompt = STRING_TOKEN(STR_LONG_DUR_PWR_LIMIT_SUPPORT_PROMPT),
+ help = STRING_TOKEN(STR_LONG_DUR_PWR_LIMIT_SUPPORT_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ suppressif ideqval Setup.EnableGv == 0
+ OR ideqval Setup.PowerLimit1Enable == 0;
+ oneof varid = Setup.PowerLimit1Clamp,
+ prompt = STRING_TOKEN(STR_LONG_DUR_PWR_LIMIT_CLAMP_PROMPT),
+ help = STRING_TOKEN(STR_LONG_DUR_PWR_LIMIT_CLAMP_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PowerLimit1,
+ prompt = STRING_TOKEN(STR_LONG_DUR_PWR_LIMIT_PROMPT),
+ help = STRING_TOKEN(STR_LONG_DUR_PWR_LIMIT_HELP),
+ option text = STRING_TOKEN(STR_AUTO), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_6), value = 6, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_7), value = 7, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_8), value = 8, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_9), value = 9, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_10), value = 10, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_11), value = 11, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_12), value = 12, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_13), value = 13, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_14), value = 14, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_15), value = 15, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_16), value = 16, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_17), value = 17, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_18), value = 18, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_19), value = 19, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_20), value = 20, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_21), value = 21, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_22), value = 22, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_23), value = 23, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_24), value = 24, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_25), value = 25, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PowerLimit1Time,
+ prompt = STRING_TOKEN(STR_LONG_DUR_PWR_LIMIT_TIME_PROMPT),
+ help = STRING_TOKEN(STR_LONG_DUR_PWR_LIMIT_TIME_HELP),
+ option text = STRING_TOKEN(STR_AUTO), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_2), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_3), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_4), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_5), value = 5, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_6), value = 6, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_7), value = 7, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_8), value = 8, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_10), value = 10, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_12), value = 12, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_14), value = 14, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_16), value = 16, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_20), value = 20, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_24), value = 24, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_28), value = 28, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_32), value = 32, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_40), value = 40, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_48), value = 48, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_56), value = 56, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_64), value = 64, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_80), value = 80, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_96), value = 96, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_112), value = 112, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_128), value = 128, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+endform; \ No newline at end of file
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/DebugConfig.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/DebugConfig.vfi
new file mode 100644
index 0000000000..3c79f3b704
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/DebugConfig.vfi
@@ -0,0 +1,209 @@
+// /** @file
+// Debug Configuration formset.
+//
+// Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
+//
+// 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.
+//
+// **/
+
+
+form formid = DEBUG_CONFIGURATION_FORM_ID,
+ title = STRING_TOKEN(STR_DEBUG_CONFIGURATION_TITLE);
+
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_OSDBG_STRING);
+
+ oneof varid = Setup.OsDbgEnable,
+ prompt = STRING_TOKEN (STR_OSDBG_PROMPT),
+ help = STRING_TOKEN (STR_OSDBG_HELP),
+ option text = STRING_TOKEN (STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_APEIBERT_STRING);
+ oneof varid = Setup.APEIBERT,
+ prompt = STRING_TOKEN (STR_APEIBERT_PROMPT),
+ help = STRING_TOKEN (STR_APEIBERT_HELP),
+ option text = STRING_TOKEN (STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ endoneof;
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_ACPIMEMDBG_STRING);
+
+ oneof varid = Setup.ACPIMemDbg,
+ prompt = STRING_TOKEN (STR_ACPIMEMDBG_SWTICH),
+ help = STRING_TOKEN (STR_ACPIMEMDBG_SWTICH_HELP),
+ option text = STRING_TOKEN (STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_TXE_DEBUG_OPTION_STRING);
+
+ oneof varid = SETUP_DATA.SeCEOPEnable,
+ prompt = STRING_TOKEN(STR_TXE_END_OF_POST_PROMPT),
+ help = STRING_TOKEN(STR_TXE_END_OF_POST_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = SETUP_DATA.SeCLockDir,
+ prompt = STRING_TOKEN(STR_TXE_LOCK_DIR_PROMPT),
+ help = STRING_TOKEN(STR_TXE_LOCK_DIR_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_PTT_DEBUG_OPTION_STRING);
+
+ oneof varid = SETUP_DATA.PttSuppressCommandSend,
+ prompt = STRING_TOKEN(STR_PTT_SUPPRESS_COMMAND_PROMPT),
+ help = STRING_TOKEN(STR_PTT_SUPPRESS_COMMAND_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_TDO_STRING);
+ oneof varid = Setup.TDO,
+ prompt = STRING_TOKEN(STR_TDO_PROMPT),
+ help = STRING_TOKEN(STR_TDO_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ oneof varid = Setup.SMRREnable,
+ prompt = STRING_TOKEN(STR_SMRR),
+ help = STRING_TOKEN(STR_SMRR_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ oneof varid = Setup.Max2G,
+ prompt = STRING_TOKEN(STR_MAX_MEM_2G),
+ help = STRING_TOKEN(STR_MAX_MEM_2G_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+#ifdef PRAM_SUPPORT
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ oneof varid = Setup.Pram,
+ prompt = STRING_TOKEN (STR_PRAM_PROMPT),
+ help = STRING_TOKEN (STR_PRAM_HELP),
+ option text = STRING_TOKEN (STR_PRAM_64MB), value = 0x33, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_PRAM_16MB), value = 0x32, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_PRAM_4MB), value = 0x31, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_DISABLE), value = 0x30, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+#endif
+
+
+ subtitle text = STRING_TOKEN(STR_OS_DNX_STRING);
+
+ oneof varid = Setup.OSDnX,
+ prompt = STRING_TOKEN (STR_OS_DNX_ENABLE),
+ help = STRING_TOKEN (STR_OS_DNX_ENABLE_HELP),
+ option text = STRING_TOKEN (STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.IshI2c0PullUp,
+ prompt = STRING_TOKEN (STR_ISH_I2C0_GPIO_PULL_ENABLE_PROMPT),
+ help = STRING_TOKEN (STR_ISH_I2C0_GPIO_PULL_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.IshI2c1PullUp,
+ prompt = STRING_TOKEN (STR_ISH_I2C1_GPIO_PULL_ENABLE_PROMPT),
+ help = STRING_TOKEN (STR_ISH_I2C1_GPIO_PULL_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_PROC_TARCE_STRING);
+
+ oneof varid = Setup.ProcTraceMemSize,
+ prompt = STRING_TOKEN(STR_PROC_TRACE_MEM_SIZE_PROMPT),
+ help = STRING_TOKEN(STR_PROC_TRACE_MEM_SIZE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0xFF, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_4KB), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_8KB), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_16KB), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_32KB), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_64KB), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_128KB), value = 5, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_256KB), value = 6, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_512KB), value = 7, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_1MB), value = 8, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_2MB), value = 9, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_4MB), value = 10, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_8MB), value = 11, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_16MB), value = 12, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_32MB), value = 13, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_64MB), value = 14, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_128MB), value = 15, flags = RESET_REQUIRED;
+ endoneof;
+
+
+ suppressif ideqval Setup.ProcTraceMemSize == 0xFF;
+ oneof varid = Setup.ProcTraceEnable,
+ prompt = STRING_TOKEN(STR_PROC_TRACE_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_PROC_TRACE_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED_STRING), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED_STRING), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ProcTraceOutputScheme,
+ prompt = STRING_TOKEN(STR_PROC_TRACE_OUTPUT_SCHEME_PROMPT),
+ help = STRING_TOKEN(STR_PROC_TRACE_OUTPUT_SCHEME_HELP),
+ option text = STRING_TOKEN(STR_SINGLE_RANGE_OUTPUT), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_TOPA_OUTPUT), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+#ifdef CRASHDUMP_SUPPORT
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ oneof varid = Setup.CrashDump,
+ prompt = STRING_TOKEN(STR_CRASHDUMP_PROMPT),
+ help = STRING_TOKEN(STR_CRASHDUMP_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+#endif
+
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ subtitle text = STRING_TOKEN(STR_DATA_CLEAR_STRING);
+ text
+ help = STRING_TOKEN(STR_DATA_CLEAR_HELP),
+ text = STRING_TOKEN(STR_DATA_CLEAR),
+ text = STRING_TOKEN(STR_NULL_STRING),
+ flags = INTERACTIVE,
+ key = 0x1239; //KEY_DATA_CLEAR_KEYS;
+
+
+endform;
+
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/DptfPolicy.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/DptfPolicy.vfi
new file mode 100644
index 0000000000..4599e9fb33
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/DptfPolicy.vfi
@@ -0,0 +1,69 @@
+// /** @file
+// DPTF Setup formset.
+//
+// Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
+//
+// 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.
+//
+// **/
+
+
+form formid = DPTF_POLICY_FORM_ID,
+
+ title = STRING_TOKEN(STR_DPTF_POLICY_TITLE);
+
+
+ subtitle text = STRING_TOKEN(STR_DPTF_POLICY_TITLE);
+
+ oneof varid = SETUP_DATA.EnableActivePolicy,
+ prompt = STRING_TOKEN(STR_ACTIVE_POLICY_DPTF_PROMPT),
+ help = STRING_TOKEN(STR_ACTIVE_POLICY_DPTF_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = SETUP_DATA.EnablePassivePolicy,
+ prompt = STRING_TOKEN(STR_PASSIVE_POLICY_DPTF_PROMPT),
+ help = STRING_TOKEN(STR_PASSIVE_POLICY_DPTF_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PASSIVE_POLICY_10_DPTF_HELP), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PASSIVE_POLICY_20_DPTF_HELP), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval SETUP_DATA.EnablePassivePolicy == 0;
+ oneof varid = SETUP_DATA.TrtRevision,
+ prompt = STRING_TOKEN(STR_TRT_REVISION_OBJECTS),
+ help = STRING_TOKEN(STR_TRT_REVISION_OBJECTS_HELP),
+ option text = STRING_TOKEN(STR_TRT_TRADITIONAL),value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_TRT_PRIORITY), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = SETUP_DATA.EnableCriticalPolicy,
+ prompt = STRING_TOKEN(STR_CRITICAL_POLICY_DPTF_PROMPT),
+ help = STRING_TOKEN(STR_CRITICAL_POLICY_DPTF_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = SETUP_DATA.EnablePowerBossPolicy,
+ prompt = STRING_TOKEN(STR_POWER_BOSS_POLICY_DPTF_PROMPT),
+ help = STRING_TOKEN(STR_POWER_BOSS_POLICY_DPTF_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = SETUP_DATA.EnableVSPolicy,
+ prompt = STRING_TOKEN(STR_VS_POLICY_DPTF_PROMPT),
+ help = STRING_TOKEN(STR_VS_POLICY_DPTF_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+endform; \ No newline at end of file
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/FwVersionStrings.uni b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/FwVersionStrings.uni
new file mode 100644
index 0000000000..94b4f22eed
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/FwVersionStrings.uni
Binary files differ
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Main.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Main.vfi
new file mode 100644
index 0000000000..9feeb8b5ae
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Main.vfi
@@ -0,0 +1,333 @@
+// /** @file
+// Main Setup formset.
+//
+// Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
+//
+// 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.
+//
+// **/
+
+
+form formid = ROOT_MAIN_FORM_ID,
+
+ title = STRING_TOKEN(STR_MAIN_TITLE);
+
+ subtitle text = STRING_TOKEN(STR_BIOS_INFORMATION_TITLE);
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_IFWI_VERSION_STRING),
+ text = STRING_TOKEN(STR_IFWI_VERSION_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_ZID_VERSION_STRING),
+ text = STRING_TOKEN(STR_ZID_VERSION_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_BIOS_VERSION_STRING),
+ text = STRING_TOKEN(STR_BIOS_VERSION_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_BIOS_VENDOR_STRING),
+ text = STRING_TOKEN(STR_BIOS_VENDOR_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_CORE_VERSION_STRING),
+ text = STRING_TOKEN(STR_CORE_VERSION_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_BIOS_BUILD_TIME_STRING),
+ text = STRING_TOKEN(STR_BIOS_BUILD_TIME_VALUE),
+ flags = 0,
+ key = 0;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_PROCESSOR_INFO_STRING);
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_VERSION_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_VERSION_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_SPEED_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_SPEED_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_ID_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_ID_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_MICROCODE_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_MICROCODE_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_CORE_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_CORE_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_EM64T_CAPABILITY_STRING),
+ text = STRING_TOKEN(STR_EM64T_CAPABILITY_VALUE),
+ flags = 0,
+ key = 0;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ goto PLATFORM_INFORMATION_FORM_ID,
+ prompt = STRING_TOKEN(STR_PLATFORM_INFORMATION_TITLE),
+ help = STRING_TOKEN(STR_PLATFORM_INFORMATION_HELP);
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ //
+ // Date and Time section
+ //
+ date year varid = Date.Year, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from
+ prompt = STRING_TOKEN(STR_DATE_PROMPT),
+ help = STRING_TOKEN(STR_DATE_YEAR_HELP),
+ minimum = 2003,
+ maximum = 2100,
+ step = 1,
+ default = 2003,
+
+ month varid = Date.Month, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from
+ prompt = STRING_TOKEN(STR_DATE_PROMPT),
+ help = STRING_TOKEN(STR_DATE_MONTH_HELP),
+ minimum = 1,
+ maximum = 12,
+ step = 1,
+ default = 1,
+
+ day varid = Date.Day, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from
+ prompt = STRING_TOKEN(STR_DATE_PROMPT),
+ help = STRING_TOKEN(STR_DATE_DAY_HELP),
+ minimum = 1,
+ maximum = 31,
+ step = 0x1,
+ default = 1,
+
+ // If the day is 31 AND months is any of the following 2, 4, 6, 9, 11
+ inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),
+ ideqval Date.Day == 31
+ AND
+ ideqvallist Date.Month == 2 4 6 9 11
+ endif
+
+ // If the day is 30 AND month is 2
+ inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),
+ ideqval Date.Day == 30
+ AND
+ ideqval Date.Month == 2
+ endif
+
+ // If the day is 29 AND month is 2 AND it year is NOT a leapyear
+ inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),
+ ideqval Date.Day == 0x29
+ AND
+ ideqval Date.Month == 2
+ AND
+ NOT
+ ideqvallist Date.Year == 2004 2008 2012 2016 2020 2024 2028 2032 2036 2040 2044 2048 2052 2056 2060 2064 2068 2072 2076 2080 2084 2088 2092 2096
+ endif
+
+ enddate;
+
+ time hour varid = Time.Hours, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from
+ prompt = STRING_TOKEN(STR_TIME_PROMPT),
+ help = STRING_TOKEN(STR_TIME_HOUR_HELP),
+ minimum = 0,
+ maximum = 23,
+ step = 1,
+ default = 0,
+
+ minute varid = Time.Minutes, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from
+ prompt = STRING_TOKEN(STR_TIME_PROMPT),
+ help = STRING_TOKEN(STR_TIME_MINUTE_HELP),
+ minimum = 0,
+ maximum = 59,
+ step = 1,
+ default = 0,
+
+ second varid = Time.Seconds, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from
+ prompt = STRING_TOKEN(STR_TIME_PROMPT),
+ help = STRING_TOKEN(STR_TIME_SECOND_HELP),
+ minimum = 0,
+ maximum = 59,
+ step = 1,
+ default = 0,
+ endtime;
+
+endform;
+
+form formid = PLATFORM_INFORMATION_FORM_ID,
+
+ title = STRING_TOKEN(STR_PLATFORM_INFORMATION_TITLE);
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_PLATFORM_FIRMWARE_STRING);
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_SOC_STRING),
+ text = STRING_TOKEN(STR_SOC_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_MRC_VERSION_STRING),
+ text = STRING_TOKEN(STR_MRC_VERSION_VALUE),
+ flags = 0,
+ key = 0;
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_PUNIT_FW_STRING),
+ text = STRING_TOKEN(STR_PUNIT_FW_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_PMC_FW_STRING),
+ text = STRING_TOKEN(STR_PMC_FW_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_KSC_FW_STRING),
+ text = STRING_TOKEN(STR_KSC_FW_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_TXE_FW_STRING),
+ text = STRING_TOKEN(STR_TXE_FW_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_ISH_FW_STRING),
+ text = STRING_TOKEN(STR_ISH_FW_VALUE),
+ flags = 0,
+ key = 0;
+
+ suppressif ideqval Setup.GOPEnable == 0;
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_GOP_STRING),
+ text = STRING_TOKEN(STR_GOP_VALUE),
+ flags = 0,
+ key = 0;
+ endif;
+
+ suppressif ideqval Setup.GOPEnable == 1;
+ text
+ help = STRING_TOKEN(STR_CHIP_IGD_VBIOS_REV_HELP),
+ text = STRING_TOKEN(STR_CHIP_IGD_VBIOS_REV_NAME),
+ text = STRING_TOKEN(STR_CHIP_IGD_VBIOS_REV_VALUE),
+ flags = 0,
+ key = 0;
+ endif;
+
+ text
+ help = STRING_TOKEN(STR_CPU_FLAVOR_HELP),
+ text = STRING_TOKEN(STR_CPU_FLAVOR_NAME),
+ text = STRING_TOKEN(STR_CPU_FLAVOR_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_BOARD_ID_HELP),
+ text = STRING_TOKEN(STR_BOARD_ID_NAME),
+ text = STRING_TOKEN(STR_BOARD_ID_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_FAB_ID_HELP),
+ text = STRING_TOKEN(STR_FAB_ID_STRING),
+ text = STRING_TOKEN(STR_FAB_ID_VALUE),
+ flags = 0,
+ key = 0;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_MEMORY_INFORMATION_STRING);
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_TOTAL_MEMORY_SIZE_PROMPT),
+ text = STRING_TOKEN(STR_TOTAL_MEMORY_SIZE_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_SYSTEM_MEMORY_SPEED_STRING),
+ text = STRING_TOKEN(STR_SYSTEM_MEMORY_SPEED_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_L1_DATA_CACHE_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_L1_DATA_CACHE_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_L1_INSTR_CACHE_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_L1_INSTR_CACHE_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_L2_CACHE_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_L2_CACHE_VALUE),
+ flags = 0,
+ key = 0;
+
+endform;
+
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.c b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.c
new file mode 100644
index 0000000000..02b03ff22d
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.c
@@ -0,0 +1,879 @@
+/** @file
+ This file also installs UEFI PLATFORM_DRIVER_OVERRIDE_PROTOCOL.
+
+ The main code offers a UI interface in device manager to let user configure
+ platform override protocol to override the default algorithm for matching
+ drivers to controllers.
+
+ The main flow:
+ 1. It dynamically locates all controller device path.
+ 2. It dynamically locates all drivers which support binding protocol.
+ 3. It exports and dynamically updates two menu to let user select the
+ mapping between drivers to controllers.
+ 4. It save all the mapping info in NV variables which will be consumed
+ by platform override protocol driver to publish the platform override protocol.
+
+ Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
+
+ 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.
+
+**/
+
+#include "PlatformSetupDxe.h"
+#include "Guid/SetupVariable.h"
+#include <Protocol/SeCOperation.h>
+#include <Library/PlatformSecureDefaultsLib.h>
+#include <SystemConfigVariable.h>
+
+#define EFI_CALLBACK_INFO_SIGNATURE SIGNATURE_32 ('C', 'l', 'b', 'k')
+#define EFI_CALLBACK_INFO_FROM_THIS(a) CR (a, EFI_CALLBACK_INFO, ConfigAccess, EFI_CALLBACK_INFO_SIGNATURE)
+
+#define RESET_GENERATOR_PORT 0xCF9
+
+typedef struct {
+ UINTN Signature;
+ EFI_HANDLE DriverHandle;
+ EFI_HII_HANDLE RegisteredHandle;
+ SYSTEM_CONFIGURATION FakeNvData;
+ EFI_HII_CONFIG_ROUTING_PROTOCOL *HiiConfigRouting;
+ EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccess;
+} EFI_CALLBACK_INFO;
+
+#pragma pack(1)
+
+//
+// HII specific Vendor Device Path definition.
+//
+typedef struct {
+ VENDOR_DEVICE_PATH VendorDevicePath;
+ EFI_DEVICE_PATH_PROTOCOL End;
+} HII_VENDOR_DEVICE_PATH;
+
+#pragma pack()
+
+//
+// uni string and Vfr Binary data.
+//
+extern UINT8 VfrBin[];
+extern UINT8 PlatformSetupDxeStrings[];
+
+EFI_HANDLE mImageHandle;
+
+//
+// module global data
+//
+#define EFI_NORMAL_SETUP_GUID \
+ { 0xec87d643, 0xeba4, 0x4bb5, 0xa1, 0xe5, 0x3f, 0x3e, 0x36, 0xb2, 0xd, 0xa9 }
+
+EFI_GUID mNormalSetupGuid = EFI_NORMAL_SETUP_GUID;
+
+EFI_GUID mSystemConfigGuid = SYSTEM_CONFIGURATION_GUID;
+CHAR16 mVariableName[] = L"Setup";
+CHAR16 mSetupName[] = L"Setup";
+EFI_CALLBACK_INFO *mCallbackInfo;
+
+HII_VENDOR_DEVICE_PATH mHiiVendorDevicePath = {
+ {
+ {
+ HARDWARE_DEVICE_PATH,
+ HW_VENDOR_DP,
+ {
+ (UINT8) (sizeof (VENDOR_DEVICE_PATH)),
+ (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
+ }
+ },
+ EFI_CALLER_ID_GUID
+ },
+
+ {
+ END_DEVICE_PATH_TYPE,
+ END_ENTIRE_DEVICE_PATH_SUBTYPE,
+ {
+ (UINT8) (END_DEVICE_PATH_LENGTH),
+ (UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)
+ }
+ }
+};
+
+VOID
+LoadOsDefaultValues (
+ IN EFI_CALLBACK_INFO *Private
+ )
+{
+ Private->FakeNvData.GOPEnable = TRUE;
+ Private->FakeNvData.SecureBoot = FALSE;
+ Private->FakeNvData.Cg8254 = FALSE;
+ Private->FakeNvData.LpssI2C7Enabled = 1;
+ Private->FakeNvData.LpssSpi1Enabled = 1;
+ Private->FakeNvData.I2cNfc = TRUE;
+ Private->FakeNvData.I2cPss = TRUE;
+ Private->FakeNvData.SelectBtDevice = TRUE;
+ Private->FakeNvData.I2s343A = TRUE;
+ Private->FakeNvData.I2s34C1 = TRUE;
+ Private->FakeNvData.UserCameraSel = TRUE;
+ Private->FakeNvData.WorldCameraSel = 2;
+#if X64_BUILD_ENABLE
+ Private->FakeNvData.TPM = 1;
+#else
+ Private->FakeNvData.TPM = 0;
+#endif
+ Private->FakeNvData.MonitorMwaitEnable = 2;
+ Private->FakeNvData.I2C0Speed = 1;
+ Private->FakeNvData.I2C1Speed = 1;
+ Private->FakeNvData.I2C2Speed = 1;
+ Private->FakeNvData.I2C3Speed = 1;
+ Private->FakeNvData.I2C4Speed = 1;
+ Private->FakeNvData.I2C5Speed = 1;
+ Private->FakeNvData.I2C6Speed = 1;
+ Private->FakeNvData.I2C7Speed = 1;
+ Private->FakeNvData.TcoLock = 0;
+}
+
+
+VOID
+LoadPlatformDefaultValues (
+ IN EFI_CALLBACK_INFO *Private
+ )
+{
+ switch (Private->FakeNvData.BoardId) {
+ case BOARD_ID_LFH_CRB:
+ case BOARD_ID_MINNOW:
+ if (Private->FakeNvData.PmicSetupDefault == 1) {
+ Private->FakeNvData.EnableRenderStandby = FALSE;
+ }
+ default:
+ break;
+ }
+
+ Private->FakeNvData.PlatformSettingEn = 1;
+}
+
+VOID
+CheckSystemConfigLoad(SYSTEM_CONFIGURATION *SystemConfigPtr);
+
+VOID
+CheckSystemConfigSave(SYSTEM_CONFIGURATION *SystemConfigPtr);
+
+
+/**
+ This function allows a caller to extract the current configuration for one
+ or more named elements from the target driver.
+
+ @param[in] This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
+ @param[in] Request A null-terminated Unicode string in <ConfigRequest> format.
+ @param[out] Progress On return, points to a character in the Request string.
+ Points to the string's null terminator if request was successful.
+ Points to the most recent '&' before the first failing name/value
+ pair (or the beginning of the string if the failure is in the
+ first name/value pair) if the request was not successful.
+ @param[out] Results A null-terminated Unicode string in <ConfigAltResp> format which
+ has all values filled in for the names in the Request string.
+ String to be allocated by the called function.
+
+ @retval EFI_SUCCESS The Results is filled with the requested values.
+ @retval EFI_OUT_OF_RESOURCES Not enough memory to store the results.
+ @retval EFI_INVALID_PARAMETER Request is NULL, illegal syntax, or unknown name.
+ @retval EFI_NOT_FOUND Routing data doesn't match any storage in this driver.
+
+**/
+EFI_STATUS
+EFIAPI
+SystemConfigExtractConfig (
+ IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
+ IN CONST EFI_STRING Request,
+ OUT EFI_STRING *Progress,
+ OUT EFI_STRING *Results
+ )
+{
+ EFI_STATUS Status;
+ EFI_CALLBACK_INFO *Private;
+ EFI_HII_CONFIG_ROUTING_PROTOCOL *HiiConfigRouting;
+ EFI_STRING ConfigRequestHdr;
+ EFI_STRING ConfigRequest;
+ BOOLEAN AllocatedRequest;
+ UINTN Size;
+ UINTN BufferSize;
+ VOID *SystemConfigPtr;
+ UINT32 VariableAttributes;
+ UINTN VariableSize = 0;
+
+ if (Progress == NULL || Results == NULL) {
+ return EFI_INVALID_PARAMETER;
+ }
+
+ *Progress = Request;
+ if ((Request != NULL) && !HiiIsConfigHdrMatch (Request, &mSystemConfigGuid, mVariableName)) {
+ return EFI_NOT_FOUND;
+ }
+
+ ConfigRequestHdr = NULL;
+ ConfigRequest = NULL;
+ Size = 0;
+ AllocatedRequest = FALSE;
+ Private = EFI_CALLBACK_INFO_FROM_THIS (This);
+
+ SetupInfo ();
+
+ HiiConfigRouting = Private->HiiConfigRouting;
+ ConfigRequest = Request;
+ if ((Request == NULL) || (StrStr (Request, L"OFFSET") == NULL)) {
+ //
+ // Request has no request element, construct full request string.
+ // Allocate and fill a buffer large enough to hold the <ConfigHdr> template
+ // followed by "&OFFSET=0&WIDTH=WWWWWWWWWWWWWWWW" followed by a Null-terminator
+ //
+ ConfigRequestHdr = HiiConstructConfigHdr (&mSystemConfigGuid, mVariableName, Private->DriverHandle);
+ if (ConfigRequestHdr != NULL) {
+ Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);
+ ConfigRequest = AllocateZeroPool (Size);
+ ASSERT (ConfigRequest != NULL);
+ if (ConfigRequest == NULL) {
+ return EFI_OUT_OF_RESOURCES;
+ }
+ AllocatedRequest = TRUE;
+ BufferSize = sizeof (SYSTEM_CONFIGURATION);
+ UnicodeSPrint (ConfigRequest, Size, L"%s&OFFSET=0&WIDTH=%016LX", ConfigRequestHdr, (UINT64) BufferSize);
+ FreePool (ConfigRequestHdr);
+ }
+ }
+
+ VariableSize = sizeof (SYSTEM_CONFIGURATION);
+ SystemConfigPtr = AllocateZeroPool (VariableSize);
+ Status = gRT->GetVariable (
+ L"Setup",
+ &gEfiSetupVariableGuid,
+ &VariableAttributes,
+ &VariableSize,
+ SystemConfigPtr
+ );
+
+ if (SystemConfigPtr == NULL) {
+ ZeroMem (&Private->FakeNvData, sizeof (SYSTEM_CONFIGURATION));
+ } else {
+ CheckSystemConfigLoad (SystemConfigPtr);
+ CopyMem (&Private->FakeNvData, SystemConfigPtr, sizeof (SYSTEM_CONFIGURATION));
+ FreePool (SystemConfigPtr);
+ }
+
+ //
+ // Convert buffer data to <ConfigResp> by helper function BlockToConfig()
+ //
+ Status = HiiConfigRouting->BlockToConfig (
+ HiiConfigRouting,
+ ConfigRequest,
+ (UINT8 *) &Private->FakeNvData,
+ sizeof (SYSTEM_CONFIGURATION),
+ Results,
+ Progress
+ );
+
+ //
+ // Free the allocated config request string.
+ //
+ if (AllocatedRequest) {
+ FreePool (ConfigRequest);
+ ConfigRequest = NULL;
+ }
+ //
+ // Set Progress string to the original request string.
+ //
+ if (Request == NULL) {
+ *Progress = NULL;
+ } else if (StrStr (Request, L"OFFSET") == NULL) {
+ *Progress = Request + StrLen (Request);
+ }
+
+ return Status;
+}
+
+
+/**
+ This function processes the results of changes in configuration.
+
+ @param[in] This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
+ @param[in] Configuration A null-terminated Unicode string in <ConfigRequest> format.
+ @param[out] Progress A pointer to a string filled in with the offset of the most
+ recent '&' before the first failing name/value pair (or the
+ beginning of the string if the failure is in the first
+ name/value pair) or the terminating NULL if all was successful.
+
+ @retval EFI_SUCCESS The Results is processed successfully.
+ @retval EFI_INVALID_PARAMETER Configuration is NULL.
+ @retval EFI_NOT_FOUND Routing data doesn't match any storage in this driver.
+
+**/
+EFI_STATUS
+EFIAPI
+SystemConfigRouteConfig (
+ IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
+ IN CONST EFI_STRING Configuration,
+ OUT EFI_STRING *Progress
+ )
+{
+ EFI_CALLBACK_INFO *Private;
+ EFI_STATUS Status;
+ UINTN VariableSize;
+ UINT32 VariableAttributes;
+
+ if (Configuration == NULL || Progress == NULL) {
+ return EFI_INVALID_PARAMETER;
+ }
+ *Progress = Configuration;
+
+ if (!HiiIsConfigHdrMatch (Configuration, &mSystemConfigGuid, mVariableName)) {
+ return EFI_NOT_FOUND;
+ }
+
+ Private = EFI_CALLBACK_INFO_FROM_THIS (This);
+ VariableSize = sizeof (SYSTEM_CONFIGURATION);
+ Status = gRT->GetVariable (
+ L"Setup",
+ &gEfiSetupVariableGuid,
+ &VariableAttributes,
+ &VariableSize,
+ &Private->FakeNvData
+ );
+
+ Status = mCallbackInfo->HiiConfigRouting->ConfigToBlock (mCallbackInfo->HiiConfigRouting, Configuration, (UINT8 *)&Private->FakeNvData, &VariableSize, Progress);
+ if (EFI_ERROR (Status)) {
+ DEBUG ((EFI_D_INFO, "Error @ Function:%a Line:%d",__FUNCTION__, __LINE__));
+ return Status;
+ }
+ VariableSize = sizeof (SYSTEM_CONFIGURATION);
+
+ Status = gRT->SetVariable (
+ L"Setup",
+ &gEfiSetupVariableGuid,
+ VariableAttributes,
+ VariableSize,
+ &Private->FakeNvData
+ );
+ CheckSystemConfigSave (&Private->FakeNvData);
+
+ return EFI_SUCCESS;
+}
+
+
+/**
+ This is the function that is called to provide results data to the driver. This data
+ consists of a unique key which is used to identify what data is either being passed back
+ or being asked for.
+
+ @param[in] This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
+ @param[in] Action A null-terminated Unicode string in <ConfigRequest> format.
+ @param[in] KeyValue A unique Goto OpCode callback value which record user's selection.
+ 0x100 <= KeyValue <0x500 : user select a controller item in the first page;
+ KeyValue == 0x1234 : user select 'Refresh' in first page, or user select 'Go to Previous Menu' in second page
+ KeyValue == 0x1235 : user select 'Pci device filter' in first page
+ KeyValue == 0x1500 : user select 'order ... priority' item in second page
+ KeyValue == 0x1800 : user select 'commit changes' in third page
+ KeyValue == 0x2000 : user select 'Go to Previous Menu' in third page
+ @param[in] Type The type of value for the question.
+ @param[in] Value A pointer to the data being sent to the original exporting driver.
+ @param[out] ActionRequest On return, points to the action requested by the callback function.
+
+ @retval EFI_SUCCESS The Results is processed successfully.
+ EFI_NOT_FOUND The Data can't be found.
+ EFI_OUT_OF_RESOURCES The memory resource not enough.
+
+**/
+EFI_STATUS
+EFIAPI
+SystemConfigCallback (
+ IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
+ IN EFI_BROWSER_ACTION Action,
+ IN EFI_QUESTION_ID KeyValue,
+ IN UINT8 Type,
+ IN EFI_IFR_TYPE_VALUE *Value,
+ OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest
+ )
+{
+ EFI_CALLBACK_INFO *Private;
+ SYSTEM_CONFIGURATION *FakeNvData;
+ EFI_INPUT_KEY Key;
+ CHAR16 *StringBuffer1;
+ CHAR16 *StringBuffer2;
+ EFI_STATUS Status;
+ SEC_OPERATION_PROTOCOL *SeCOp;
+
+ StringBuffer1 = AllocateZeroPool (200 * sizeof (CHAR16));
+ ASSERT (StringBuffer1 != NULL);
+ StringBuffer2 = AllocateZeroPool (200 * sizeof (CHAR16));
+ ASSERT (StringBuffer2 != NULL);
+
+ if ((StringBuffer1 == NULL) || (StringBuffer2 == NULL)) {
+ return EFI_OUT_OF_RESOURCES;
+ }
+
+ switch (Action) {
+ case EFI_BROWSER_ACTION_CHANGING:
+ case EFI_BROWSER_ACTION_CHANGED:
+ {
+ if (KeyValue == 0x1001) {
+ Private = EFI_CALLBACK_INFO_FROM_THIS (This);
+ FakeNvData = &Private->FakeNvData;
+ if (!HiiGetBrowserData (&mSystemConfigGuid, mVariableName, sizeof (SYSTEM_CONFIGURATION), (UINT8 *) FakeNvData)) {
+ return EFI_NOT_FOUND;
+ }
+
+ LoadOsDefaultValues (Private);
+
+ //
+ // Pass changed uncommitted data back to Form Browser
+ //
+ HiiSetBrowserData (&mSystemConfigGuid, mVariableName, sizeof (SYSTEM_CONFIGURATION), (UINT8 *) FakeNvData, NULL);
+ } else if (KeyValue == 0x1002 /*IpuEn Callback*/) {
+ DEBUG ((DEBUG_INFO,"IpuEn Callback.\n"));
+ Private = EFI_CALLBACK_INFO_FROM_THIS (This);
+ FakeNvData = &Private->FakeNvData;
+ if (!HiiGetBrowserData (&mSystemConfigGuid, mVariableName, sizeof (SYSTEM_CONFIGURATION), (UINT8 *) FakeNvData)) {
+ return EFI_NOT_FOUND;
+ }
+
+ if (Private->FakeNvData.IpuEn == 1) {
+ Private->FakeNvData.VTdEnable = 0;
+ }
+ //
+ // Pass changed uncommitted data back to Form Browser
+ //
+ HiiSetBrowserData (&mSystemConfigGuid, mVariableName, sizeof (SYSTEM_CONFIGURATION), (UINT8 *) FakeNvData, NULL);
+ } else if (KeyValue == 0x1234) {
+ Status = gBS->LocateProtocol (
+ &gEfiSeCOperationProtocolGuid,
+ NULL,
+ (VOID **) &SeCOp
+ );
+
+ if (EFI_ERROR (Status)) {
+ break;
+ }
+ StrCpyS (StringBuffer1, 200, L" Perform SeC UnConfiguration? ");
+ StrCpyS (StringBuffer2, 200, L"Enter (YES) / Esc (NO)");
+
+ //
+ // Popup a menu to notice user
+ //
+ do {
+ CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, StringBuffer1, StringBuffer2, NULL);
+ } while ((Key.ScanCode != SCAN_ESC) && (Key.UnicodeChar != CHAR_CARRIAGE_RETURN));
+
+ //
+ // If the user hits the YES Response key,
+ //
+ if (Key.ScanCode == SCAN_ESC) {
+ break;
+ }
+ StrCpyS (StringBuffer1, 200, L" Performing SeC UnConfiguration... ");
+ StrCpyS (StringBuffer2, 200, L" ");
+ CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, NULL, StringBuffer1, StringBuffer2, NULL);
+ Status = SeCOp->PerformSeCOperation(SEC_OP_UNCONFIGURATION);
+
+ } else if (KeyValue == 0x1235) {
+ StrCpyS (StringBuffer1, 200, L"Will you disable PTT ? ");
+ StrCpyS (StringBuffer2, 200, L"Enter (YES) / Esc (NO)");
+
+ //
+ // Popup a menu to notice user
+ //
+ do {
+ CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, StringBuffer1, StringBuffer2, NULL);
+ } while ((Key.ScanCode != SCAN_ESC) && (Key.UnicodeChar != CHAR_CARRIAGE_RETURN));
+
+ //
+ // If the user hits the YES Response key,
+ //
+ if (Key.UnicodeChar == CHAR_CARRIAGE_RETURN) {
+
+ }
+ } else if (KeyValue == 0x1236) {
+ StrCpyS (StringBuffer1, 200, L"Will you revoke trust ? ");
+ StrCpyS (StringBuffer2, 200, L"Enter (YES) / Esc (NO)");
+
+ //
+ // Popup a menu to notice user
+ //
+ do {
+ CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, StringBuffer1, StringBuffer2, NULL);
+ } while ((Key.ScanCode != SCAN_ESC) && (Key.UnicodeChar != CHAR_CARRIAGE_RETURN));
+
+ //
+ // If the user hits the YES Response key,
+ //
+ if (Key.UnicodeChar == CHAR_CARRIAGE_RETURN) {
+
+ }
+ } else if (KeyValue == 0x1237 /*KEY_CLEAR_KEK_AND_PK*/ ) {
+ //
+ //Delete PK, KEK, DB, DBx
+ //
+ EnableCustomMode ();
+ DeleteKeys ();
+ StrCpyS (StringBuffer1, 200, L"Clear Keys Completed");
+ StrCpyS (StringBuffer2, 200, L"Please Restart System");
+
+ //
+ // Popup a menu to notice user
+ //
+ do {
+ CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, StringBuffer1, StringBuffer2, NULL);
+ } while ((Key.ScanCode != SCAN_ESC) && (Key.UnicodeChar != CHAR_CARRIAGE_RETURN));
+
+ gRT->ResetSystem (EfiResetCold, EFI_SUCCESS, 0, NULL);
+ } else if (KeyValue == 0x1238 /*KEY_LOAD_DEFAULTS_KEYS*/ ) {
+ //
+ // Enroll PK, KEK, DB and DBx
+ //
+ EnrollKeys ();
+ StrCpyS (StringBuffer1, 200, L"Restore Keys Completed");
+ StrCpyS (StringBuffer2, 200, L"Please Restart System");
+
+ //
+ // Popup a notification menu
+ //
+ do {
+ CreatePopUp(EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, StringBuffer1, StringBuffer2, NULL);
+ } while ((Key.ScanCode != SCAN_ESC) && (Key.UnicodeChar != CHAR_CARRIAGE_RETURN));
+
+ //
+ // Reset the system
+ //
+ gRT->ResetSystem (EfiResetCold, EFI_SUCCESS, 0, NULL);
+
+ } else if (KeyValue == 0x1239) {
+ //
+ // Popup a notification menu
+ //
+ StrCpyS (StringBuffer1, 200, L"Do you want to clear NVM / RPMB data region?");
+ StrCpyS (StringBuffer2, 200, L"Enter (YES) / Esc (NO)");
+
+ do {
+ CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, StringBuffer1, StringBuffer2, NULL);
+ } while ((Key.ScanCode != SCAN_ESC) && (Key.UnicodeChar != CHAR_CARRIAGE_RETURN));
+
+ //
+ // If the user hits the Enter (YES) Response key
+ //
+ if (Key.UnicodeChar == CHAR_CARRIAGE_RETURN) {
+ //
+ // CSE to Clear RPMB (NVM storage), it requires to receive the commands in sequence
+ // i.e., from Host side, 'IFWI Prepare For Update' command should be issued first for the
+ // purpose of keeping CSE in reset state and then 'Data Clear' Command to clear NVM.
+ // If CSE is not in reset state, then Data clear will not happen.
+ //
+ Status = HeciIfwiPrepareForUpdate ();
+ if (Status == EFI_SUCCESS) {
+ //
+ // CSE Data Clear Command for TXE Compliance Test
+ //
+ Status = HeciDataClear ();
+
+ //
+ // Popup a notification menu
+ //
+ if (Status == EFI_SUCCESS) {
+ StrCpyS (StringBuffer1, 200, L"NVM / RPMB Data region Cleared SUCCESSFULLY");
+ StrCpyS (StringBuffer2, 200, L"Press Enter to restart the system");
+ } else {
+ StrCpyS (StringBuffer1, 200, L"NVM / RPMB Data Clear FAILED");
+ StrCpyS (StringBuffer2, 200, L"System still needs to restart, Press Enter");
+ }
+
+ do {
+ CreatePopUp(EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, StringBuffer1, StringBuffer2, NULL);
+ } while (Key.UnicodeChar != CHAR_CARRIAGE_RETURN);
+
+ //
+ // Reset the system (EfiResetCold)
+ // Note: At this point, 'IFWI Prepare for Update' command is given to CSE and CSE is in reset state.
+ // Invoking gRT->ResetSystem(EfiResetCold, EFI_SUCCESS, 0, NULL); Notifies HECI_SYSTEM_RESET by writing
+ // into port 0xB2, this causes system hang and should not be issued. Hence directly writing into port 0xCF9
+ //
+ IoWrite8(RESET_GENERATOR_PORT, 0x2);
+ IoWrite8(RESET_GENERATOR_PORT, 0xE);
+
+ } else {
+ StrCpyS (StringBuffer1, 200, L"NVM / RPMB Data Clear FAILED, CSE not in Reset State");
+ StrCpyS (StringBuffer2, 200, L"Press Enter to Continue");
+ do {
+ CreatePopUp(EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, StringBuffer1, StringBuffer2, NULL);
+ } while (Key.UnicodeChar != CHAR_CARRIAGE_RETURN);
+ }
+ }
+
+ }
+ break;
+ }
+
+
+ case EFI_BROWSER_ACTION_DEFAULT_STANDARD:
+ {
+ Private = EFI_CALLBACK_INFO_FROM_THIS (This);
+ FakeNvData = &Private->FakeNvData;
+ if (!HiiGetBrowserData (&mSystemConfigGuid, mVariableName, sizeof (SYSTEM_CONFIGURATION), (UINT8 *) FakeNvData)) {
+ return EFI_NOT_FOUND;
+ }
+
+ LoadPlatformDefaultValues (Private);
+ //
+ // Pass changed uncommitted data back to Form Browser
+ //
+ HiiSetBrowserData (&mSystemConfigGuid, mVariableName, sizeof (SYSTEM_CONFIGURATION), (UINT8 *) FakeNvData, NULL);
+
+ break;
+ }
+
+ default:
+ break;
+ }
+
+ FreePool (StringBuffer1);
+ FreePool (StringBuffer2);
+
+ if ((Action == EFI_BROWSER_ACTION_FORM_OPEN) || (Action == EFI_BROWSER_ACTION_FORM_CLOSE)) {
+ //
+ // Do nothing for UEFI OPEN/CLOSE Action
+ //
+ return EFI_SUCCESS;
+ }
+
+ Private = EFI_CALLBACK_INFO_FROM_THIS (This);
+ FakeNvData = &Private->FakeNvData;
+ if (!HiiGetBrowserData (&mSystemConfigGuid, mVariableName, sizeof (SYSTEM_CONFIGURATION), (UINT8 *) FakeNvData)) {
+ return EFI_NOT_FOUND;
+ }
+
+ //
+ // Pass changed uncommitted data back to Form Browser
+ //
+ HiiSetBrowserData (&mSystemConfigGuid, mVariableName, sizeof (SYSTEM_CONFIGURATION), (UINT8 *) FakeNvData, NULL);
+
+ return EFI_SUCCESS;
+}
+
+
+VOID
+EFIAPI
+SetupStringUpdate (
+ IN EFI_EVENT Event,
+ IN VOID *Context
+ )
+{
+ DEBUG ((EFI_D_ERROR, "SetupStringUpdate Event is Signalled \n"));
+
+ gBS->CloseEvent (Event);
+ SetupInfo ();
+}
+
+
+/**
+ The driver Entry Point. The function will export a disk device class formset and
+ its callback function to hii database.
+
+ @param[in] ImageHandle The firmware allocated handle for the EFI image.
+ @param[in] SystemTable A pointer to the EFI System Table.
+
+ @retval EFI_SUCCESS The entry point is executed successfully.
+ @retval other Some error occurs when executing this entry point.
+
+**/
+EFI_STATUS
+EFIAPI
+PlatformSetupDxeInit (
+ IN EFI_HANDLE ImageHandle,
+ IN EFI_SYSTEM_TABLE *SystemTable
+ )
+{
+ EFI_STATUS Status;
+ EFI_FORM_BROWSER2_PROTOCOL *FormBrowser2;
+ SYSTEM_CONFIG SystemConfig;
+ UINTN DataSize;
+ BOOLEAN HiiDataExport;
+ EFI_EVENT Event;
+ VOID *Registration;
+ VOID *Interface;
+
+ mImageHandle = ImageHandle;
+
+ //
+ // There should only be one Form Configuration protocol
+ //
+ Status = gBS->LocateProtocol (
+ &gEfiFormBrowser2ProtocolGuid,
+ NULL,
+ (VOID **) &FormBrowser2
+ );
+
+ if (EFI_ERROR (Status)) {
+ return Status;
+ }
+
+ mCallbackInfo = AllocateZeroPool (sizeof (EFI_CALLBACK_INFO));
+ if (mCallbackInfo == NULL) {
+ return EFI_BAD_BUFFER_SIZE;
+ }
+
+ mCallbackInfo->Signature = EFI_CALLBACK_INFO_SIGNATURE;
+ mCallbackInfo->ConfigAccess.ExtractConfig = SystemConfigExtractConfig;
+ mCallbackInfo->ConfigAccess.RouteConfig = SystemConfigRouteConfig;
+ mCallbackInfo->ConfigAccess.Callback = SystemConfigCallback;
+
+ //
+ // Install Device Path Protocol and Config Access protocol to driver handle
+ // Install Platform Driver Override Protocol to driver handle
+ //
+ Status = gBS->InstallMultipleProtocolInterfaces (
+ &mCallbackInfo->DriverHandle,
+ &gEfiDevicePathProtocolGuid,
+ &mHiiVendorDevicePath,
+ &gEfiHiiConfigAccessProtocolGuid,
+ &mCallbackInfo->ConfigAccess,
+ NULL
+ );
+
+ if (EFI_ERROR (Status)) {
+ goto Finish;
+ }
+
+ //
+ // Publish our HII data
+ //
+ mCallbackInfo->RegisteredHandle = HiiAddPackages (
+ &mSystemConfigGuid,
+ mCallbackInfo->DriverHandle,
+ VfrBin,
+ PlatformSetupDxeStrings,
+ NULL
+ );
+
+ if (mCallbackInfo->RegisteredHandle == NULL) {
+ Status = EFI_OUT_OF_RESOURCES;
+ goto Finish;
+ }
+
+ mHiiHandle = mCallbackInfo->RegisteredHandle;
+ //
+ // Locate ConfigRouting protocol
+ //
+ Status = gBS->LocateProtocol (
+ &gEfiHiiConfigRoutingProtocolGuid,
+ NULL,
+ (VOID **) &mCallbackInfo->HiiConfigRouting
+ );
+ if (EFI_ERROR (Status)) {
+ goto Finish;
+ }
+
+ //
+ // Clear all the global variable
+ //
+ HiiDataExport = 0;
+ Status = gBS->LocateProtocol (&gEfiVariableArchProtocolGuid, NULL, &Interface);
+ if (!EFI_ERROR (Status)) {
+ DEBUG ((DEBUG_INFO, " PlatformSetupDxeInit(): Get SystemConfig Variable \n"));
+ ZeroMem (&SystemConfig, sizeof (SystemConfig));
+ DataSize = sizeof (SYSTEM_CONFIG);
+
+ Status = gRT->GetVariable (
+ SYSTEM_CONFIG_NAME,
+ &gSystemConfigGuid,
+ NULL,
+ &DataSize,
+ &SystemConfig
+ );
+
+ if (!EFI_ERROR (Status)) {
+ DEBUG ((DEBUG_INFO, " PlatformSetupDxeInit(): GetVariable Success assigning hiiexport flag \n"));
+ HiiDataExport = (BOOLEAN) SystemConfig.HiiExport;
+ }
+ }
+ DEBUG ((DEBUG_INFO, " PlatformSetupDxeInit(): HiiDataExport = 0x%x \n", HiiDataExport));
+ if (HiiDataExport) {
+ Status = gBS->CreateEvent (
+ EVT_NOTIFY_SIGNAL,
+ TPL_CALLBACK,
+ (EFI_EVENT_NOTIFY)SetupStringUpdate,
+ NULL,
+ &Event
+ );
+
+ if (!EFI_ERROR (Status)) {
+ DEBUG ((EFI_D_ERROR, " PlatformSetupDxeInit(): Successfully Registered the Callback:SetupStringUpdate\n"));
+ Status = gBS->RegisterProtocolNotify (
+ &gEfiDxeSmmReadyToLockProtocolGuid,
+ Event,
+ &Registration
+ );
+
+ if (!EFI_ERROR (Status)) {
+ DEBUG ((EFI_D_ERROR, " PlatformSetupDxeInit(): DxeSmmReadyToLock Protocol Notify Registration is done:SetupStringUpdate\n"));
+ }
+ }
+ }
+ return EFI_SUCCESS;
+
+Finish:
+ if (mCallbackInfo->DriverHandle != NULL) {
+ gBS->UninstallMultipleProtocolInterfaces (
+ mCallbackInfo->DriverHandle,
+ &gEfiDevicePathProtocolGuid,
+ &mHiiVendorDevicePath,
+ &gEfiHiiConfigAccessProtocolGuid,
+ &mCallbackInfo->ConfigAccess,
+ NULL
+ );
+ }
+
+ if (mCallbackInfo->RegisteredHandle != NULL) {
+ HiiRemovePackages (mCallbackInfo->RegisteredHandle);
+ }
+
+ if (mCallbackInfo != NULL) {
+ FreePool (mCallbackInfo);
+ }
+
+ return Status;
+}
+
+
+/**
+ Unload its installed protocol.
+
+ @param[in] ImageHandle Handle that identifies the image to be unloaded.
+
+ @retval EFI_SUCCESS The image has been unloaded.
+
+**/
+EFI_STATUS
+EFIAPI
+PlatformSetupDxeUnload (
+ IN EFI_HANDLE ImageHandle
+ )
+{
+ if (mCallbackInfo != NULL) {
+ if (mCallbackInfo->DriverHandle != NULL) {
+ gBS->UninstallMultipleProtocolInterfaces (
+ mCallbackInfo->DriverHandle,
+ &gEfiDevicePathProtocolGuid,
+ &mHiiVendorDevicePath,
+ &gEfiHiiConfigAccessProtocolGuid,
+ &mCallbackInfo->ConfigAccess,
+ NULL
+ );
+ }
+
+ if (mCallbackInfo->RegisteredHandle != NULL) {
+ HiiRemovePackages (mCallbackInfo->RegisteredHandle);
+ }
+
+ FreePool (mCallbackInfo);
+ }
+
+ return EFI_SUCCESS;
+}
+
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.h b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.h
new file mode 100644
index 0000000000..89a7877248
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.h
@@ -0,0 +1,95 @@
+/** @file
+ The defintions are required both by Source code and Vfr file.
+ The PLAT_OVER_MNGR_DATA structure, form guid and Ifr question ID are defined.
+
+ Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
+
+ 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.
+
+**/
+
+#ifndef _PLAT_OVER_MNGR_H_
+#define _PLAT_OVER_MNGR_H_
+
+#include <FrameworkDxe.h>
+
+#include <Protocol/HiiConfigAccess.h>
+#include <Protocol/HiiConfigRouting.h>
+#include <Protocol/HiiDatabase.h>
+#include <Protocol/FormBrowser2.h>
+#include <Protocol/LoadedImage.h>
+#include <Protocol/FirmwareVolume2.h>
+#include <Protocol/PciIo.h>
+#include <Protocol/BusSpecificDriverOverride.h>
+#include <Protocol/ComponentName2.h>
+#include <Protocol/ComponentName.h>
+#include <Protocol/DriverBinding.h>
+#include <Protocol/DevicePathToText.h>
+#include <Protocol/DevicePath.h>
+#include <Protocol/PlatformDriverOverride.h>
+#include <Protocol/DataHub.h>
+#include <Guid/MdeModuleHii.h>
+#include <Guid/VariableFormat.h>
+#include <Guid/DataHubRecords.h>
+#include <Library/BaseLib.h>
+#include <Library/DebugLib.h>
+#include <Library/UefiLib.h>
+#include <Library/PrintLib.h>
+#include <Library/UefiDriverEntryPoint.h>
+#include <Library/UefiBootServicesTableLib.h>
+#include <Library/UefiRuntimeServicesTableLib.h>
+#include <Library/BaseMemoryLib.h>
+#include <Library/MemoryAllocationLib.h>
+#include <Library/DevicePathLib.h>
+#include <Library/DxeServicesTableLib.h>
+#include <Library/HiiLib.h>
+#include <Library/BiosIdLib.h>
+#include <Library/HobLib.h>
+#include <Guid/PlatformInfo.h>
+#include <IndustryStandard/Pci22.h>
+#include "Guid/SetupVariable.h"
+#include <Library/HeciMsgLib.h>
+
+#include <CpuType.h>
+#include <Protocol/SimpleTextIn.h>
+#include <Protocol/FrameworkFormBrowser.h>
+
+extern EFI_HII_HANDLE mHiiHandle;
+
+UINT32
+ConvertBase10ToRaw (
+ IN EFI_EXP_BASE10_DATA *Data
+ );
+
+UINT32
+ConvertBase2ToRaw (
+ IN EFI_EXP_BASE2_DATA *Data
+ );
+
+EFI_STATUS
+GetStringFromToken (
+ IN EFI_GUID *ProducerGuid,
+ IN STRING_REF Token,
+ OUT CHAR16 **String
+ );
+
+VOID
+SwapEntries (
+ IN CHAR8 *Data
+ );
+
+VOID
+EFIAPI
+SetupInfo (
+ );
+
+extern EFI_HANDLE mImageHandle;
+
+#endif
+
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.inf b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.inf
new file mode 100644
index 0000000000..09a16c8c1e
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.inf
@@ -0,0 +1,157 @@
+## @file
+# This driver produces UEFI PLATFORM_DRIVER_OVERRIDE_PROTOCOL if this protocol doesn't exist.
+# It doesn't install again if this protocol exists.
+# It only implements one interface GetDriver of PLATFORM_DRIVER_OVERRIDE_PROTOCOL protocol
+# and doesn't support other two interfaces GetDriverPath, DriverLoaded.
+#
+# This driver also offers an UI interface in device manager to let user configure
+# platform override protocol to override the default algorithm for matching
+# drivers to controllers.
+#
+# The main flow:
+# 1. It dynamically locate all controller device path.
+# 2. It dynamically locate all drivers which support binding protocol.
+# 3. It export and dynamically update two menu to let user select the
+# mapping between drivers to controllers.
+# 4. It save all the mapping info in NV variables for the following boot,
+# which will be consumed by GetDriver API of the produced the platform override protocol.
+#
+# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
+#
+# 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.
+#
+##
+
+[Defines]
+ INF_VERSION = 0x00010005
+ BASE_NAME = PlatformSetupDxe
+ FILE_GUID = C1A69A12-8653-4fde-A215-48FCD95288C3
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = PlatformSetupDxeInit
+ UNLOAD_IMAGE = PlatformSetupDxeUnload
+
+#
+# The following information is for reference only and not required by the build tools.
+#
+# VALID_ARCHITECTURES = IA32 X64 IPF EBC
+#
+
+[Sources]
+ VfrStrings.uni
+ FwVersionStrings.uni
+ Vfr.vfr
+ Main.vfi
+ Boot.vfi
+ Cpu.vfi
+ CpuPower.vfi
+ PlatformSetupDxe.c
+ SetupInfoRecords.c
+ PlatformSetupDxe.h
+ Security.vfi
+ SouthClusterConfig.vfi
+ Thermal.vfi
+ DptfPolicy.vfi
+ SetupFunctions.c
+ UnCore.vfi
+ SystemComponent.vfi
+ DebugConfig.vfi
+ UqiList.uni
+ AcpiSetup.vfi
+ RtD3.vfi
+
+[Packages]
+ BroxtonPlatformPkg/PlatformPkg.dec
+ MdePkg/MdePkg.dec
+ MdeModulePkg/MdeModulePkg.dec
+ IntelFrameworkPkg/IntelFrameworkPkg.dec
+ BroxtonSiPkg/BroxtonSiPkg.dec
+ SecurityPkg/SecurityPkg.dec
+ BroxtonSiPkg/NorthCluster/MemoryInit/MemoryInit.dec
+ IntelFsp2Pkg/IntelFsp2Pkg.dec
+
+[LibraryClasses]
+ BaseLib
+ DebugLib
+ UefiLib
+ UefiDriverEntryPoint
+ UefiBootServicesTableLib
+ HiiLib
+ BaseMemoryLib
+ MemoryAllocationLib
+ DevicePathLib
+ DxeServicesTableLib
+ UefiRuntimeServicesTableLib
+ PrintLib
+ BiosIdLib
+ CpuIA32Lib
+ IoLib
+ PlatformSecureDefaultsLib
+ BaseIpcLib
+ HeciMsgLib
+ SteppingLib
+ SeCLib
+
+[Guids]
+ gEfiIfrTianoGuid ## CONSUMES ## Guid
+ gEfiProcessorSubClassGuid
+ gEfiMiscSubClassGuid
+ gEfiCacheSubClassGuid
+ gEfiMemorySubClassGuid
+ gEfiSetupVariableGuid
+ gEfiPlatformInfoGuid
+ gEfiNormalSetupGuid
+ gEfiSecureBootEnableDisableGuid
+ gIFWIVersionHobGuid
+ gEfiMemoryConfigDataGuid
+ gEfiHobListGuid
+ gSystemConfigGuid
+ gFspNonVolatileStorageHobGuid ##CONSUMES
+ gPlatformModuleTokenSpaceGuid
+
+[Protocols]
+ gEfiComponentName2ProtocolGuid ## SOMETIMES_CONSUMED (Get Driver Name if ComponentName2Protocol exists)
+ gEfiComponentNameProtocolGuid ## SOMETIMES_CONSUMED (Get Driver Name if ComponentNameProtocol exists and ComponentName2Protocol doesn't exist)
+ gEfiFirmwareVolume2ProtocolGuid ## SOMETIMES_CONSUMED (Get Driver Name from EFI UI section if ComponentName2Protocol and ComponentNameProtocol don't exist)
+ gEfiPciIoProtocolGuid ## SOMETIMES_CONSUMED (Find the PCI device if PciIo protocol is installed)
+ gEfiPciRootBridgeIoProtocolGuid
+ gEfiBusSpecificDriverOverrideProtocolGuid ## SOMETIMES_CONSUMED (Check whether the PCI device contains one or more efi drivers in its option rom by this protocol)
+ gEfiDriverBindingProtocolGuid ## SOMETIMES_CONSUMED
+ gEfiLoadedImageProtocolGuid ## SOMETIMES_CONSUMED
+ gEfiLoadedImageDevicePathProtocolGuid ## SOMETIMES_CONSUMED (Show the drivers in the second page that support DriverBindingProtocol, LoadedImageProtocol and LoadedImageDevicePathProtocol)
+ gEfiDevicePathProtocolGuid ## SOMETIMES_CONSUMED (Show the controller device in the first page that support DevicePathProtocol)
+ gEfiFormBrowser2ProtocolGuid ## CONSUMED
+ gEfiHiiConfigRoutingProtocolGuid ## CONSUMED
+ gEfiHiiConfigAccessProtocolGuid ## PRODUCED
+ gEfiDevicePathToTextProtocolGuid ## CONSUMED
+ gEfiDataHubProtocolGuid
+ gEfiLegacyBiosProtocolGuid
+ gEfiSimpleNetworkProtocolGuid
+ gEfiDiskInfoProtocolGuid ## CONSUMED
+ gEfiMpServiceProtocolGuid
+ gDxePlatformPolicyProtocolGuid
+ gEfiSeCOperationProtocolGuid
+ gEfiTcg2ProtocolGuid
+ gEfiI2cBusProtocolGuid
+ gCpuInfoProtocolGuid
+ gEfiDxeSmmReadyToLockProtocolGuid
+ gEfiVariableArchProtocolGuid
+
+[Pcd.common]
+ gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
+
+[Pcd]
+ gPlatformModuleTokenSpaceGuid.PcdIfwiZid
+ gPlatformModuleTokenSpaceGuid.PcdGetBoardNameFunc
+
+[Depex]
+ gEfiFormBrowser2ProtocolGuid AND
+ gEfiHiiConfigRoutingProtocolGuid AND
+ gEfiVariableArchProtocolGuid
+
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/RtD3.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/RtD3.vfi
new file mode 100644
index 0000000000..0c870f6188
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/RtD3.vfi
@@ -0,0 +1,201 @@
+// /** @file
+// RtD3 Setup formset.
+//
+// Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
+//
+// 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.
+//
+// **/
+
+
+ form formid = RTD3_FORM_ID,
+
+ title = STRING_TOKEN(STR_RTD3_FORM_TITLE);
+
+ oneof varid = Setup.Rtd3Support,
+ prompt = STRING_TOKEN(STR_RTD3),
+ help = STRING_TOKEN(STR_RTD3_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.Rtd3Support == 0x0;
+
+ oneof varid = Setup.ConsolidatedPR,
+ prompt = STRING_TOKEN(STR_CONSOLIDATED_POWER_RESOURCE_PROMPT),
+ help = STRING_TOKEN(STR_CONSOLIDATED_POWER_RESOURCE_PROMPT_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+
+ numeric varid = Setup.VRStaggeringDelay,
+ prompt = STRING_TOKEN(STR_VR_STAGGERING_DELAY),
+ help = STRING_TOKEN(STR_VR_STAGGERING_DELAY_HELP),
+ minimum = 0,
+ maximum = 100,
+ step = 16 ,
+ default = 16,
+ endnumeric;
+
+ numeric varid = Setup.VRRampUpDelay,
+ prompt = STRING_TOKEN(STR_VR_RAMP_DELAY),
+ help = STRING_TOKEN(STR_VR_RAMP_DELAY_HELP),
+ minimum = 0,
+ maximum = 100,
+ step = 16 ,
+ default = 16,
+ endnumeric;
+
+ numeric varid = Setup.Rtd3P0dl,
+ prompt = STRING_TOKEN(STR_PEP0),
+ help = STRING_TOKEN(STR_PEP0_HELP),
+ minimum = 0,
+ maximum = 100,
+
+ step = 16 ,
+ default = 100,
+ endnumeric;
+
+ numeric varid = Setup.Rtd3P3dl,
+ prompt = STRING_TOKEN(STR_PEP3),
+ help = STRING_TOKEN(STR_PEP3_HELP),
+ minimum = 0,
+ maximum = 10,
+ step = 1 ,
+ default = 10,
+ endnumeric;
+
+ //
+ // Do not allow changing Azalia/ADSP delay for DVT2 or older rev
+ // Delay is hard coded to 500ms (in AcpiPlatform.c) to workaround HW issue
+ //
+ numeric varid = Setup.RTD3AudioDelay,
+ prompt = STRING_TOKEN(STR_AUDIO_DELAY),
+ help = STRING_TOKEN(STR_AUDIO_DELAY_HELP),
+ minimum = 0,
+ maximum = 1000,
+ step = 16 ,
+ default = 200,
+ endnumeric;
+
+ numeric varid = Setup.RTD3I2C0ControllerPS0Delay,
+ prompt = STRING_TOKEN(STR_I2C0_CONTROLLER_PS0_DELAY),
+ help = STRING_TOKEN(STR_I2C0_CONTROLLER_PS0_DELAY_HELP),
+ minimum = 0,
+ maximum = 1000,
+ step = 16,
+ default = 0,
+ endnumeric;
+
+ numeric varid = Setup.RTD3SensorHub,
+ prompt = STRING_TOKEN(STR_SENSORHUB),
+ help = STRING_TOKEN(STR_SENSORHUB_HELP),
+ minimum = 0,
+ maximum = 1000,
+ step = 16 ,
+ default = 68,
+ endnumeric;
+
+ numeric varid = Setup.RTD3I2C1ControllerPS0Delay,
+ prompt = STRING_TOKEN(STR_I2C1_CONTROLLER_PS0_DELAY),
+ help = STRING_TOKEN(STR_I2C1_CONTROLLER_PS0_DELAY_HELP),
+ minimum = 0,
+ maximum = 1000,
+ step = 16,
+ default = 0,
+ endnumeric;
+
+ numeric varid = Setup.RTD3TouchPadDelay,
+ prompt = STRING_TOKEN(STR_TOUCHPAD),
+ help = STRING_TOKEN(STR_TOUCHPAD_HELP),
+ minimum = 0,
+ maximum = 1000,
+ step = 16 ,
+ default = 68,
+ endnumeric;
+
+ numeric varid = Setup.RTD3TouchPanelDelay,
+ prompt = STRING_TOKEN(STR_TOUCHPANEL),
+ help = STRING_TOKEN(STR_TOUCHPANEL_HELP),
+ minimum = 0,
+ maximum = 1000,
+ step = 16 ,
+ default = 68,
+ endnumeric;
+
+ oneof varid = Setup.PstateCapping,
+ prompt = STRING_TOKEN(STR_RTD3_PSTATE_CAPPING),
+ help = STRING_TOKEN(STR_RTD3_PSTATE_CAPPING_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.RTD3UsbPt1,
+ prompt = STRING_TOKEN(STR_RTD3_USB_PORT1),
+ help = STRING_TOKEN(STR_RTD3_USB_PORT_HELP),
+ option text = STRING_TOKEN(STR_HIGHSPEED), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SUPERSPEED), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.RTD3UsbPt2,
+ prompt = STRING_TOKEN(STR_RTD3_USB_PORT2),
+ help = STRING_TOKEN(STR_RTD3_USB_PORT_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_HIGHSPEED), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SUPERSPEED), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.RTD3I2C0SensorHub,
+ prompt = STRING_TOKEN(STR_RTD3_I2C0_SENSOR),
+ help = STRING_TOKEN(STR_RTD3_I2C0_SENSOR_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.RTD3ZPODD,
+ prompt = STRING_TOKEN(STR_RTD3_ZPODD),
+ help = STRING_TOKEN(STR_RTD3_ZPODD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.RTD3Camera,
+ prompt = STRING_TOKEN(STR_RTD3_CAMERA),
+ help = STRING_TOKEN(STR_RTD3_CAMERA_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.RTD3SataPort1,
+ prompt = STRING_TOKEN(STR_RTD3_SATAPORT1),
+ help = STRING_TOKEN(STR_RTD3_SATAPORT_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.RTD3SataPort2,
+ prompt = STRING_TOKEN(STR_RTD3_SATAPORT2),
+ help = STRING_TOKEN(STR_RTD3_SATAPORT_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.RTD3SataPort3,
+ prompt = STRING_TOKEN(STR_RTD3_SATAPORT3),
+ help = STRING_TOKEN(STR_RTD3_SATAPORT_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MINICARD15), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MINICARD33), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ endif; // Rtd3Support
+
+ endform; //RTD3 \ No newline at end of file
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Security.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Security.vfi
new file mode 100644
index 0000000000..da103b2ed2
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Security.vfi
@@ -0,0 +1,176 @@
+// /** @file
+// Security Setup formset.
+//
+// Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
+//
+// 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.
+//
+// **/
+
+
+//
+// Security Configuration Form
+//
+
+form formid = SECURITY_CONFIGURATION_FORM_ID,
+ title = STRING_TOKEN(STR_SECURITY_CONFIGURATION_TITLE);
+
+ //
+ // SeC related
+ //
+ subtitle text = STRING_TOKEN(STR_SEC_CONFIGURATION_SUBTITLE);
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_SEC_VERSION_STRING),
+ text = STRING_TOKEN(STR_TXE_FW_VALUE),
+ flags = 0,
+ key = 0;
+
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_SEC_CAPABILITY_STRING),
+ text = STRING_TOKEN(STR_SEC_CAPABILITY_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_SEC_FEATURE_STRING),
+ text = STRING_TOKEN(STR_SEC_FEATURE_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_SEC_OEMTAG_STRING),
+ text = STRING_TOKEN(STR_SEC_OEMTAG_VALUE),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_SEC_TEMP_DISABLE_HELP),
+ text = STRING_TOKEN(STR_SEC_TEMP_DISABLE_STRING),
+ text = STRING_TOKEN(STR_SEC_TEMP_DISABLE_PROMPT),
+ flags = 0,
+ key = 0;
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ suppressif ideqval Setup.SeCModeEnable == 0x00;
+ grayoutif ideqval Setup.SeCEOPEnable == 1;
+ oneof varid = Setup.SecEnable,
+ prompt = STRING_TOKEN(STR_SEC_SETTING_PROMPT),
+ help = STRING_TOKEN(STR_SEC_SETTING_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value=0x00, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value=0x01, flags=DEFAULT | RESET_REQUIRED;
+ endoneof;
+ endif;
+ endif;
+
+ suppressif ideqval Setup.SeCOpEnable == 0x00;
+ grayoutif ideqval Setup.SeCEOPEnable == 1;
+ oneof varid = Setup.SecFlashUpdate,
+ prompt = STRING_TOKEN(STR_SEC_FLASH_UPDATE_PROMPT),
+ help = STRING_TOKEN(STR_SEC_FLASH_UPDATE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value=0x00, flags=DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value=0x01, flags=RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.SecFirmwareUpdate,
+ prompt = STRING_TOKEN(STR_SEC_FIRMWARE_UPDATE_PROMPT),
+ help = STRING_TOKEN(STR_SEC_FIRMWARE_UPDATE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value=0x00, flags=DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value=0x01, flags=RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.SeCEOPEnable,
+ prompt = STRING_TOKEN(STR_SEC_EOP_PROMPT),
+ help = STRING_TOKEN(STR_SEC_EOP_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value=0x00, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value=0x01, flags = DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ grayoutif ideqval Setup.SeCEOPEnable == 1;
+ text
+ help = STRING_TOKEN(STR_SEC_TEMP_DISABLE_HELP),
+ text = STRING_TOKEN(STR_SEC_UNCONFIGURATION_PROMPT),
+ flags = INTERACTIVE,
+ key = 0x1234;
+ endif;
+ endif;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ oneof varid = Setup.SecureBootCustomMode,
+ prompt = STRING_TOKEN(STR_SECURE_BOOT_MODE_PROMPT),
+ help = STRING_TOKEN(STR_SECURE_BOOT_MODE_HELP),
+ option text = STRING_TOKEN(STR_SB_STANDARD_MODE), value=0x00, flags = DEFAULT | MANUFACTURING;
+ option text = STRING_TOKEN(STR_SB_CUSTOM_MODE), value=0x01, flags = 0;
+ endoneof;
+ oneof varid = Setup.UseProductKey,
+ prompt = STRING_TOKEN(STR_SECURE_BOOT_PRO_KEY_PROMPT),
+ help = STRING_TOKEN(STR_SECURE_BOOT_PRO_KEY_HELP),
+ option text = STRING_TOKEN(STR_DEV_KEY), value=0x00, flags = DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PRO_KEY), value=0x01, flags = RESET_REQUIRED;
+ endoneof;
+ text
+ help = STRING_TOKEN(STR_CLEAR_ALL_KEYS_HELP),
+ text = STRING_TOKEN(STR_CLEAR_ALL_KEYS),
+ text = STRING_TOKEN(STR_NULL_STRING),
+ flags = INTERACTIVE,
+ key = 0x1237; //KEY_CLEAR_KEK_AND_PK;
+
+ text
+ help = STRING_TOKEN(STR_LOAD_DEFAULTS_KEYS_HELP),
+ text = STRING_TOKEN(STR_LOAD_DEFAULTS_KEYS),
+ text = STRING_TOKEN(STR_NULL_STRING),
+ flags = INTERACTIVE,
+ key = 0x1238; //KEY_LOAD_DEFAULTS_KEYS;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ //
+ //TPM related
+ //
+ subtitle text = STRING_TOKEN(STR_TPM_CONFIGURATION_PROMPT);
+
+ oneof varid = Setup.TPM,
+ prompt = STRING_TOKEN(STR_TPM_PROMPT),
+ help = STRING_TOKEN(STR_TPM_HELP),
+#if (X64_BUILD_ENABLE == FALSE)
+ option text = STRING_TOKEN(STR_DISABLE), value = 0x00, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_TPM_PTT), value = 0x01, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_TPM_DTPM_1_2), value = 0x02, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_TPM_DTPM_2_0), value = 0x03, flags = RESET_REQUIRED;
+#else
+ option text = STRING_TOKEN(STR_DISABLE), value = 0x00, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_TPM_PTT), value = 0x01, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_TPM_DTPM_1_2), value = 0x02, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_TPM_DTPM_2_0), value = 0x03, flags = RESET_REQUIRED;
+#endif
+ endoneof;
+
+ suppressif NOT ideqval Setup.TPM == 1;
+ oneof varid = Setup.TPMSupportedBanks,
+ prompt = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_PROMPT),
+ help = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_HELP),
+ option text = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_NULL), value = TPM2_SUPPORTED_BANK_NULL, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_SHA1), value = TPM2_SUPPORTED_BANK_SHA1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_SHA2), value = TPM2_SUPPORTED_BANK_SHA2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_BOTH), value = TPM2_SUPPORTED_BANK_BOTH, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+endform;
+
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SetupFunctions.c b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SetupFunctions.c
new file mode 100644
index 0000000000..02e1812d29
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SetupFunctions.c
@@ -0,0 +1,69 @@
+/** @file
+ Setup Function Driver.
+
+ Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
+
+ 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.
+
+**/
+
+#include "PlatformSetupDxe.h"
+
+VOID
+SwapEntries (
+ IN CHAR8 *Data
+ )
+{
+ UINT16 Index;
+ CHAR8 Temp8;
+
+ Index = 0;
+ while (Data[Index] != 0 && Data[Index+1] != 0) {
+ Temp8 = Data[Index];
+ Data[Index] = Data[Index+1];
+ Data[Index+1] = Temp8;
+ Index +=2;
+ }
+
+ return;
+}
+
+
+UINT32
+ConvertBase10ToRaw (
+ IN EFI_EXP_BASE10_DATA *Data
+ )
+{
+ UINTN Index;
+ UINT32 RawData;
+
+ RawData = Data->Value;
+ for (Index = 0; Index < (UINTN) Data->Exponent; Index++) {
+ RawData *= 10;
+ }
+
+ return RawData;
+}
+
+UINT32
+ConvertBase2ToRaw (
+ IN EFI_EXP_BASE2_DATA *Data
+ )
+{
+ UINTN Index;
+ UINT32 RawData;
+
+ RawData = Data->Value;
+ for (Index = 0; Index < (UINTN) Data->Exponent; Index++) {
+ RawData <<= 1;
+ }
+
+ return RawData;
+}
+
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SetupInfoRecords.c b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SetupInfoRecords.c
new file mode 100644
index 0000000000..8f7a5345fa
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SetupInfoRecords.c
@@ -0,0 +1,1894 @@
+/** @file
+ To retrieve various platform info data for Setup menu.
+
+ Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
+
+ 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.
+
+**/
+
+#include "PlatformSetupDxe.h"
+#include <Protocol/LegacyBios.h>
+#include <Protocol/PciRootBridgeIo.h>
+#include <Protocol/SimpleNetwork.h>
+#include <Protocol/DevicePath.h>
+#include <Protocol/DiskInfo.h>
+#include <Protocol/IdeControllerInit.h>
+#include <Protocol/MpService.h>
+#include <Protocol/SeCOperation.h>
+#include <Protocol/CpuInfo.h>
+#include <Library/IoLib.h>
+#include <Library/PlatformSecureDefaultsLib.h>
+#include <Library/I2CLib.h>
+#include <Library/PmcIpcLib.h>
+#include <CpuAccess.h>
+#include <Library/SteppingLib.h>
+#include <Guid/MemoryConfigData.h>
+#include <Guid/HobList.h>
+#include <Library/HeciMsgLib.h>
+#include <Library/SeCLib.h>
+#include <Library/PciLib.h>
+#include <Protocol/Tcg2Protocol.h>
+#undef SET
+
+#include <Include/KscLib.h>
+#include <Guid/PlatformInfo.h>
+#include <BoardFunctionsDxe.h>
+
+#define MRC_DATA_REQUIRED_FROM_OUTSIDE
+#include <MmrcData.h>
+
+#include "ScAccess.h"
+#include "SetupMode.h"
+
+#define EFI_CUSTOM_MODE_NAME L"CustomMode"
+extern EFI_GUID gEfiCustomModeEnableGuid;
+
+#define LEFT_JUSTIFY 0x01
+#define PREFIX_SIGN 0x02
+#define PREFIX_BLANK 0x04
+#define COMMA_TYPE 0x08
+#define LONG_TYPE 0x10
+#define PREFIX_ZERO 0x20
+
+BOOLEAN mSetupInfoDone = FALSE;
+EFI_EXP_BASE10_DATA mProcessorFrequency;
+EFI_EXP_BASE10_DATA mProcessorFsbFrequency;
+
+EFI_GUID mProcessorProducerGuid;
+EFI_HII_HANDLE mHiiHandle;
+SYSTEM_CONFIGURATION mSystemConfiguration;
+EFI_PLATFORM_INFO_HOB *mPlatformInfo;
+UINT8 mUseProductKey = 0;
+
+#define memset SetMem
+
+UINT16 mMemorySpeed = 0xffff;
+EFI_PHYSICAL_ADDRESS mMemorySizeChannelASlot0 = 0;
+UINT16 mMemorySpeedChannelASlot0 = 0xffff;
+EFI_PHYSICAL_ADDRESS mMemorySizeChannelASlot1 = 0;
+UINT16 mMemorySpeedChannelASlot1 = 0xffff;
+EFI_PHYSICAL_ADDRESS mMemorySizeChannelBSlot0 = 0;
+UINT16 mMemorySpeedChannelBSlot0 = 0xffff;
+EFI_PHYSICAL_ADDRESS mMemorySizeChannelBSlot1 = 0;
+UINT16 mMemorySpeedChannelBSlot1 = 0xffff;
+EFI_PHYSICAL_ADDRESS mMemorySizeChannelCSlot0 = 0;
+UINT16 mMemorySpeedChannelCSlot0 = 0xffff;
+EFI_PHYSICAL_ADDRESS mMemorySizeChannelCSlot1 = 0;
+UINT16 mMemorySpeedChannelCSlot1 = 0xffff;
+UINTN mMemoryMode = 0xff;
+
+#define CHARACTER_NUMBER_FOR_VALUE 30
+typedef struct {
+ EFI_STRING_TOKEN MemoryDeviceLocator;
+ EFI_STRING_TOKEN MemoryBankLocator;
+ EFI_STRING_TOKEN MemoryManufacturer;
+ EFI_STRING_TOKEN MemorySerialNumber;
+ EFI_STRING_TOKEN MemoryAssetTag;
+ EFI_STRING_TOKEN MemoryPartNumber;
+ EFI_INTER_LINK_DATA MemoryArrayLink;
+ EFI_INTER_LINK_DATA MemorySubArrayLink;
+ UINT16 MemoryTotalWidth;
+ UINT16 MemoryDataWidth;
+ UINT64 MemoryDeviceSize;
+ EFI_MEMORY_FORM_FACTOR MemoryFormFactor;
+ UINT8 MemoryDeviceSet;
+ EFI_MEMORY_ARRAY_TYPE MemoryType;
+ EFI_MEMORY_TYPE_DETAIL MemoryTypeDetail;
+ UINT16 MemorySpeed;
+ EFI_MEMORY_STATE MemoryState;
+} EFI_MEMORY_ARRAY_LINK;
+
+
+typedef struct {
+ EFI_PHYSICAL_ADDRESS MemoryArrayStartAddress;
+ EFI_PHYSICAL_ADDRESS MemoryArrayEndAddress;
+ EFI_INTER_LINK_DATA PhysicalMemoryArrayLink;
+ UINT16 MemoryArrayPartitionWidth;
+} EFI_MEMORY_ARRAY_START_ADDRESS;
+
+
+/**
+ VSPrint worker function that prints a Value as a decimal number in Buffer
+
+ @param[in] Buffer Location to place ASCII decimal number string of Value.
+ @param[in] Value Decimal value to convert to a string in Buffer.
+ @param[in] Flags Flags to use in printing decimal string, see file header for details.
+ @param[in] Width Width of hex value.
+
+ @return Number of characters printed.
+
+**/
+UINTN
+EfiValueToString (
+ IN OUT CHAR16 *Buffer,
+ IN INT64 Value,
+ IN UINTN Flags,
+ IN UINTN Width
+ )
+{
+ CHAR16 TempBuffer[CHARACTER_NUMBER_FOR_VALUE];
+ CHAR16 *TempStr;
+ CHAR16 *BufferPtr;
+ UINTN Count;
+ UINTN ValueCharNum;
+ UINTN Remainder;
+ CHAR16 Prefix;
+ UINTN Index;
+ BOOLEAN ValueIsNegative;
+ UINT64 TempValue;
+
+ TempStr = TempBuffer;
+ BufferPtr = Buffer;
+ Count = 0;
+ ValueCharNum = 0;
+ ValueIsNegative = FALSE;
+
+ if (Width > CHARACTER_NUMBER_FOR_VALUE - 1) {
+ Width = CHARACTER_NUMBER_FOR_VALUE - 1;
+ }
+
+ if (Value < 0) {
+ Value = -Value;
+ ValueIsNegative = TRUE;
+ }
+
+ do {
+ TempValue = Value;
+ Value = (INT64) DivU64x32 ((UINT64) Value, 10);
+ Remainder = (UINTN) ((UINT64) TempValue - 10 * Value);
+ *(TempStr++) = (CHAR16) (Remainder + '0');
+ ValueCharNum++;
+ Count++;
+ if ((Flags & COMMA_TYPE) == COMMA_TYPE) {
+ if (ValueCharNum % 3 == 0 && Value != 0) {
+ *(TempStr++) = ',';
+ Count++;
+ }
+ }
+ } while (Value != 0);
+
+ if (ValueIsNegative) {
+ *(TempStr++) = '-';
+ Count++;
+ }
+
+ if ((Flags & PREFIX_ZERO) && !ValueIsNegative) {
+ Prefix = '0';
+ } else {
+ Prefix = ' ';
+ }
+
+ Index = Count;
+ if (!(Flags & LEFT_JUSTIFY)) {
+ for (; Index < Width; Index++) {
+ *(TempStr++) = Prefix;
+ }
+ }
+
+ //
+ // Reverse temp string into Buffer.
+ //
+ if (Width > 0 && (UINTN) (TempStr - TempBuffer) > Width) {
+ TempStr = TempBuffer + Width;
+ }
+ Index = 0;
+ while (TempStr != TempBuffer) {
+ *(BufferPtr++) = *(--TempStr);
+ Index++;
+ }
+
+ *BufferPtr = 0;
+ return Index;
+}
+
+static CHAR16 mHexStr[] = { L'0', L'1', L'2', L'3', L'4', L'5', L'6', L'7',
+ L'8', L'9', L'A', L'B', L'C', L'D', L'E', L'F' };
+
+/**
+ VSPrint worker function that prints a Value as a hex number in Buffer
+
+ @param[in] Buffer Location to place ASCII hex string of Value.
+ @param[in] Value Hex value to convert to a string in Buffer.
+ @param[in] Flags Flags to use in printing Hex string, see file header for details.
+ @param[in] Width Width of hex value.
+
+ @return Number of characters printed.
+
+**/
+UINTN
+EfiValueToHexStr (
+ IN OUT CHAR16 *Buffer,
+ IN UINT64 Value,
+ IN UINTN Flags,
+ IN UINTN Width
+ )
+{
+ CHAR16 TempBuffer[CHARACTER_NUMBER_FOR_VALUE];
+ CHAR16 *TempStr;
+ CHAR16 Prefix;
+ CHAR16 *BufferPtr;
+ UINTN Count;
+ UINTN Index;
+
+ TempStr = TempBuffer;
+ BufferPtr = Buffer;
+
+ //
+ // Count starts at one since we will null terminate. Each iteration of the
+ // loop picks off one nibble. Oh yea TempStr ends up backwards
+ //
+ Count = 0;
+
+ if (Width > CHARACTER_NUMBER_FOR_VALUE - 1) {
+ Width = CHARACTER_NUMBER_FOR_VALUE - 1;
+ }
+
+ do {
+ Index = ((UINTN)Value & 0xf);
+ *(TempStr++) = mHexStr[Index];
+ Value = RShiftU64 (Value, 4);
+ Count++;
+ } while (Value != 0);
+
+ if (Flags & PREFIX_ZERO) {
+ Prefix = '0';
+ } else {
+ Prefix = ' ';
+ }
+
+ Index = Count;
+ if (!(Flags & LEFT_JUSTIFY)) {
+ for (; Index < Width; Index++) {
+ *(TempStr++) = Prefix;
+ }
+ }
+
+ //
+ // Reverse temp string into Buffer.
+ //
+ if (Width > 0 && (UINTN) (TempStr - TempBuffer) > Width) {
+ TempStr = TempBuffer + Width;
+ }
+ Index = 0;
+ while (TempStr != TempBuffer) {
+ *(BufferPtr++) = *(--TempStr);
+ Index++;
+ }
+
+ *BufferPtr = 0;
+ return Index;
+}
+
+
+/**
+ Converts MAC address to Unicode string.
+ The value is 64-bit and the resulting string will be 12
+ digit hex number in pairs of digits separated by dashes.
+
+ @param[in] String String that will contain the value
+ @param[in] MacAddr MAC Address
+ @param[in] AddrSize The size of MAC Address.
+
+ @return The Unicode String.
+
+**/
+CHAR16 *
+StrMacToString (
+ OUT CHAR16 *String,
+ IN EFI_MAC_ADDRESS *MacAddr,
+ IN UINT32 AddrSize
+ )
+{
+ UINT32 i;
+
+ for (i = 0; i < AddrSize; i++) {
+ EfiValueToHexStr (
+ &String[2 * i],
+ MacAddr->Addr[i] & 0xFF,
+ PREFIX_ZERO,
+ 2
+ );
+ }
+
+ //
+ // Terminate the string.
+ //
+ String[2 * AddrSize] = L'\0';
+
+ return String;
+}
+
+
+VOID
+UpdateLatestBootTime (
+ )
+{
+ UINTN VarSize;
+ EFI_STATUS Status;
+ UINT64 TimeValue;
+ CHAR16 Buffer[40];
+
+ if (mSystemConfiguration.LogBootTime != 1) {
+ return;
+ }
+
+ VarSize = sizeof (TimeValue);
+ Status = gRT->GetVariable (
+ BOOT_TIME_NAME,
+ &gEfiNormalSetupGuid,
+ NULL,
+ &VarSize,
+ &TimeValue
+ );
+
+ if (EFI_ERROR (Status)) {
+ return;
+ }
+
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%d ms", (UINT32) TimeValue);
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_LOG_BOOT_TIME_VALUE), Buffer, NULL);
+}
+
+
+/**
+ Get Cache Type for the specified Cache. This function is invoked when there is data records
+ available in the Data Hub.
+
+ @param[in] Instance The instance number of the subclass with the same ProducerName..
+ @param[in] SubInstance The instance number of the RecordType for the same Instance.
+ @param[in] CacheType Cache type, see definition of EFI_CACHE_TYPE_DATA.
+
+ @retval EFI_STATUS
+
+**/
+EFI_STATUS
+GetCacheType (
+ IN UINT16 Instance,
+ IN UINT16 SubInstance,
+ IN EFI_CACHE_TYPE_DATA* CacheType
+ )
+{
+ EFI_STATUS Status;
+ EFI_DATA_HUB_PROTOCOL *DataHub;
+ EFI_DATA_RECORD_HEADER *Record;
+ UINT64 MonotonicCount;
+ EFI_CACHE_VARIABLE_RECORD* CacheVariableRecord;
+ EFI_SUBCLASS_TYPE1_HEADER *DataHeader;
+
+ Status = gBS->LocateProtocol (&gEfiDataHubProtocolGuid, NULL, (VOID **) &DataHub);
+ ASSERT_EFI_ERROR (Status);
+
+ //
+ // Get all available data records from data hub
+ //
+ MonotonicCount = 0;
+ Record = NULL;
+
+ do {
+ Status = DataHub->GetNextRecord (DataHub, &MonotonicCount, NULL, &Record);
+ if (!EFI_ERROR (Status)) {
+ if (Record->DataRecordClass == EFI_DATA_RECORD_CLASS_DATA) {
+ DataHeader = (EFI_SUBCLASS_TYPE1_HEADER *) (Record + 1);
+ if (CompareGuid(&Record->DataRecordGuid, &gEfiCacheSubClassGuid) &&
+ (DataHeader->RecordType == CacheTypeRecordType) &&
+ (DataHeader->Instance == Instance) &&
+ (DataHeader->SubInstance == SubInstance)) {
+ CacheVariableRecord = (EFI_CACHE_VARIABLE_RECORD *) (DataHeader + 1);
+ if(CacheType){
+ *CacheType = CacheVariableRecord->CacheType;
+ return EFI_SUCCESS;
+ }
+ }
+ }
+ }
+ } while (!EFI_ERROR (Status) && (MonotonicCount != 0));
+
+ return EFI_NOT_FOUND;
+}
+
+
+VOID
+PrepareSetupInformation (
+ )
+{
+ EFI_STATUS Status;
+ EFI_DATA_HUB_PROTOCOL *DataHub;
+ EFI_DATA_RECORD_HEADER *Record;
+ UINT8 *SrcData;
+ UINT32 SrcDataSize;
+ EFI_SUBCLASS_TYPE1_HEADER *DataHeader;
+ CHAR16 *NewString;
+ CHAR16 *NewString2;
+ STRING_REF TokenToUpdate;
+ UINTN Index;
+ UINT16 EeState;
+ UINTN DataOutput;
+ CPU_INFO *GetCpuInfo;
+ CPU_INFO_PROTOCOL *DxeCpuInfo;
+ MSR_REGISTER MicroCodeVersion;
+ EFI_MEMORY_ARRAY_START_ADDRESS *MemoryArray;
+ EFI_MEMORY_ARRAY_LINK *MemoryArrayLink;
+ UINT64 MonotonicCount;
+ CHAR16 Version[100]; //Assuming that strings are < 100 UCHAR
+ CHAR16 ReleaseDate[100]; //Assuming that strings are < 100 UCHAR
+ CHAR16 ReleaseTime[100]; //Assuming that strings are < 100 UCHAR
+ VOID *HobList;
+ VOID *HobData;
+ UINTN DataSize;
+ MRC_PARAMS_SAVE_RESTORE *MemInfoHob;
+ UINT32 MrcVersion;
+ CHAR16 Buffer[0x10];
+ UINT16 MemFreqTable[11] = {800, 1066, 1333, 1600, 1866, 2133, 2400, 2666, 3200, 0000, 3777};
+ HobData = NULL;
+ MemInfoHob = NULL;
+ UINT32 Zid;
+ UINT16 ZidUnicode[11];
+
+ NewString = AllocateZeroPool (0x100);
+ if (NewString == NULL)
+ return;
+
+ NewString2 = AllocateZeroPool (0x100);
+ if (NewString2 == NULL)
+ return;
+
+ SetMem (Version, sizeof (Version), 0);
+ SetMem (ReleaseDate, sizeof (ReleaseDate), 0);
+ SetMem (ReleaseTime, sizeof (ReleaseTime), 0);
+
+ //
+ // Initialize EE state for not to show EE related setup options
+ //
+ EeState = 0;
+
+ //
+ // Get the Data Hub Protocol. Assume only one instance
+ //
+ Status = gBS->LocateProtocol (&gEfiDataHubProtocolGuid, NULL, (VOID **) &DataHub);
+ ASSERT_EFI_ERROR(Status);
+
+ //
+ // Get all available data records from data hub
+ //
+ MonotonicCount = 0;
+ Record = NULL;
+
+ do {
+ Status = DataHub->GetNextRecord (DataHub, &MonotonicCount, NULL, &Record);
+ if (!EFI_ERROR (Status)) {
+ if (Record->DataRecordClass == EFI_DATA_RECORD_CLASS_DATA) {
+ DataHeader = (EFI_SUBCLASS_TYPE1_HEADER *) (Record + 1);
+ SrcData = (UINT8 *) (DataHeader + 1);
+ SrcDataSize = Record->RecordSize - Record->HeaderSize - sizeof (EFI_SUBCLASS_TYPE1_HEADER);
+
+ //
+ // Memory
+ //
+ if (CompareGuid (&Record->DataRecordGuid, &gEfiMemorySubClassGuid)) {
+ switch (DataHeader->RecordType) {
+ case EFI_MEMORY_ARRAY_LINK_RECORD_NUMBER:
+ MemoryArrayLink = (EFI_MEMORY_ARRAY_LINK *) SrcData;
+ if (MemoryArrayLink->MemorySpeed > 0) {
+ //
+ // Save the lowest speed memory module
+ //
+ if (MemoryArrayLink->MemorySpeed < mMemorySpeed) {
+ mMemorySpeed = MemoryArrayLink->MemorySpeed;
+ }
+ switch (DataHeader->SubInstance) {
+ case 1:
+ mMemorySpeedChannelASlot0 = MemoryArrayLink->MemorySpeed;
+ mMemorySizeChannelASlot0 = MemoryArrayLink->MemoryDeviceSize;
+ break;
+
+ case 2:
+ mMemorySpeedChannelASlot1 = MemoryArrayLink->MemorySpeed;
+ mMemorySizeChannelASlot1 = MemoryArrayLink->MemoryDeviceSize;
+ break;
+
+ case 3:
+ mMemorySpeedChannelBSlot0 = MemoryArrayLink->MemorySpeed;
+ mMemorySizeChannelBSlot0 = MemoryArrayLink->MemoryDeviceSize;
+ break;
+
+ case 4:
+ mMemorySpeedChannelBSlot1 = MemoryArrayLink->MemorySpeed;
+ mMemorySizeChannelBSlot1 = MemoryArrayLink->MemoryDeviceSize;
+ break;
+
+ case 5:
+ mMemorySpeedChannelCSlot0 = MemoryArrayLink->MemorySpeed;
+ mMemorySizeChannelCSlot0 = MemoryArrayLink->MemoryDeviceSize;
+ break;
+
+ case 6:
+ mMemorySpeedChannelCSlot1 = MemoryArrayLink->MemorySpeed;
+ mMemorySizeChannelCSlot1 = MemoryArrayLink->MemoryDeviceSize;
+ break;
+
+ default:
+ break;
+ }
+ }
+ break;
+
+ case EFI_MEMORY_ARRAY_START_ADDRESS_RECORD_NUMBER:
+ MemoryArray = (EFI_MEMORY_ARRAY_START_ADDRESS *) SrcData;
+ if (MemoryArray->MemoryArrayEndAddress - MemoryArray->MemoryArrayStartAddress) {
+ DataOutput = (UINTN) RShiftU64 ((MemoryArray->MemoryArrayEndAddress - MemoryArray->MemoryArrayStartAddress + 1), 20);
+ EfiValueToString (NewString, DataOutput / 1024, PREFIX_ZERO, 0);
+ if (DataOutput % 1024) {
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), L".");
+ DataOutput = ((DataOutput % 1024) * 1000) / 1024;
+ while (!(DataOutput % 10))
+ DataOutput = DataOutput / 10;
+ EfiValueToString (NewString2, DataOutput, PREFIX_ZERO, 0);
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), NewString2);
+ }
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), L" GB");
+ TokenToUpdate = (STRING_REF) STR_TOTAL_MEMORY_SIZE_VALUE;
+ HiiSetString (mHiiHandle, TokenToUpdate, NewString, NULL);
+ }
+ break;
+
+ default:
+ break;
+ }
+ }
+ }
+ }
+ } while (!EFI_ERROR (Status) && (MonotonicCount != 0));
+
+ //
+ // Update Cache data
+ //
+ //
+ // Locate DxeCpuInfo protocol instance and gather CPU information
+ //
+ Status = gBS->LocateProtocol (&gCpuInfoProtocolGuid, NULL, (VOID **) &DxeCpuInfo);
+ if (EFI_ERROR (Status)) {
+ DEBUG ((DEBUG_ERROR,"Failed to locate DxeCpuInfo Protocol\n"));
+ return;
+ }
+
+ GetCpuInfo = DxeCpuInfo->CpuInfo;
+ GetCpuInfo->BrandString = DxeCpuInfo->CpuInfo->BrandString;
+ GetCpuInfo->CacheInfo = DxeCpuInfo->CpuInfo->CacheInfo;
+
+ for (Index = 0; Index <= GetCpuInfo->MaxCacheSupported; ++ Index){
+ switch (GetCpuInfo->CacheInfo[Index].Level) {
+ case 1:
+ if (GetCpuInfo->CacheInfo[Index].Type == 1) {
+ EfiValueToString (NewString, GetCpuInfo->CacheInfo[Index].Size, PREFIX_ZERO, 0);
+ StrCatS (NewString, 0x100 / sizeof (CHAR16) , L" KB");
+ TokenToUpdate = (STRING_REF) STR_PROCESSOR_L1_DATA_CACHE_VALUE;
+ HiiSetString (mHiiHandle, TokenToUpdate, NewString, NULL);
+ } else if (GetCpuInfo->CacheInfo[Index].Type == 2) {
+ EfiValueToString (NewString, GetCpuInfo->CacheInfo[Index].Size, PREFIX_ZERO, 0);
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), L" KB");
+ TokenToUpdate = (STRING_REF) STR_PROCESSOR_L1_INSTR_CACHE_VALUE;
+ HiiSetString (mHiiHandle, TokenToUpdate, NewString, NULL);
+ }
+ break;
+
+ case 2:
+ EfiValueToString (NewString, GetCpuInfo->CacheInfo[Index].Size, PREFIX_ZERO, 0);
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), L" KB");
+ TokenToUpdate = (STRING_REF) STR_PROCESSOR_L2_CACHE_VALUE;
+ HiiSetString (mHiiHandle, TokenToUpdate, NewString, NULL);
+ break;
+
+ case 3:
+ break;
+
+ case 4:
+ break;
+ }
+ }
+
+ //
+ // Update processor information
+ //
+ EfiValueToString (NewString, GetCpuInfo->IntendedFreq, PREFIX_ZERO, 0);
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), L" MHz");
+ TokenToUpdate = (STRING_REF) STR_PROCESSOR_SPEED_VALUE;
+ HiiSetString (mHiiHandle, TokenToUpdate, NewString, NULL);
+
+ AsciiStrToUnicodeStr (GetCpuInfo->BrandString, NewString);
+ TokenToUpdate = (STRING_REF) STR_PROCESSOR_VERSION_VALUE;
+ HiiSetString (mHiiHandle, TokenToUpdate, NewString, NULL);
+
+ //
+ // Get PCD ZID and update String
+ //
+ Zid = PcdGet32 (PcdIfwiZid);
+ TokenToUpdate = (STRING_REF) STR_ZID_VERSION_VALUE;
+ UnicodeValueToString (ZidUnicode, PREFIX_ZERO | RADIX_HEX, Zid, 8);
+ HiiSetString (mHiiHandle, TokenToUpdate, ZidUnicode, NULL);
+
+ //
+ // Update the Microcode Revision
+ //
+ MicroCodeVersion.Qword = AsmReadMsr64 (0x8b);
+ EfiValueToHexStr (NewString, MicroCodeVersion.Dwords.High, PREFIX_ZERO, 8);
+ TokenToUpdate = (STRING_REF) STR_PROCESSOR_MICROCODE_VALUE;
+ HiiSetString (mHiiHandle, TokenToUpdate, NewString, NULL);
+
+ Status = GetBiosVersionDateTime (Version, ReleaseDate, ReleaseTime);
+
+ DEBUG ((EFI_D_INFO, "GetBiosVersionDateTime :%s %s %s \n", Version, ReleaseDate, ReleaseTime));
+ if (!EFI_ERROR (Status)) {
+ UINTN Length = 0;
+ CHAR16 *BuildDateTime;
+
+ Length = StrLen (ReleaseDate) + StrLen (ReleaseTime);
+
+ BuildDateTime = AllocateZeroPool ((Length + 2) * sizeof (CHAR16));
+ if (BuildDateTime == NULL)
+ return;
+
+ StrCpyS (BuildDateTime, (Length + 2), ReleaseDate);
+ StrCatS (BuildDateTime, (Length + 2), L" ");
+ StrCatS (BuildDateTime, (Length + 2), ReleaseTime);
+
+ TokenToUpdate = (STRING_REF) STR_BIOS_VERSION_VALUE;
+ DEBUG ((EFI_D_INFO, "update STR_BIOS_VERSION_VALUE\n"));
+ HiiSetString (mHiiHandle, TokenToUpdate, Version, NULL);
+
+ TokenToUpdate = (STRING_REF) STR_BIOS_BUILD_TIME_VALUE;
+ DEBUG ((EFI_D_INFO, "update STR_BIOS_BUILD_TIME_VALUE\n"));
+ HiiSetString (mHiiHandle, TokenToUpdate, BuildDateTime, NULL);
+ }
+
+ //
+ // Update UEFI Core Version in Main Page
+ //
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"UEFI v%d.%02d", (gST->Hdr.Revision & 0xFFFF0000) >> 16, (gST->Hdr.Revision & 0x0000FFFF));
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_CORE_VERSION_VALUE), Buffer, NULL);
+
+ //
+ // Get the HOB list. If it is not present, then ASSERT.
+ //
+ Status = EfiGetSystemConfigurationTable (&gEfiHobListGuid, &HobList);
+ ASSERT_EFI_ERROR (Status);
+
+ //
+ // Search for the Memory Configuration GUID HOB. If it is not present, then
+ // there's nothing we can do. It may not exist on the update path.
+ //
+#ifndef FSP_WRAPPER_FLAG
+ if ((HobList = GetNextGuidHob (&gEfiMemoryConfigDataGuid, HobList)) != NULL) {
+ HobData = GET_GUID_HOB_DATA (HobList);
+ DataSize = GET_GUID_HOB_DATA_SIZE (HobList);
+ MemInfoHob = (MRC_PARAMS_SAVE_RESTORE *) HobData;
+ }
+#else
+ if ((HobList = GetNextGuidHob (&gFspNonVolatileStorageHobGuid, HobList)) != NULL) {
+ HobData = GET_GUID_HOB_DATA (HobList);
+ DataSize = GET_GUID_HOB_DATA_SIZE (HobList);
+ MemInfoHob = (MRC_PARAMS_SAVE_RESTORE *) HobData;
+ }
+#endif
+
+ //
+ // Calculate and update memory speed display in Main Page
+ //
+ if (!EFI_ERROR (Status) && NULL != HobData ) {
+ EfiValueToString (NewString, MemFreqTable[(UINT8) (MemInfoHob->CurrentFrequency)], PREFIX_ZERO, 0);
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), L" MHz");
+ TokenToUpdate = (STRING_REF) STR_SYSTEM_MEMORY_SPEED_VALUE;
+ HiiSetString (mHiiHandle, TokenToUpdate, NewString, NULL);
+ DEBUG ((EFI_D_INFO, "update memory speed:MRC_ID = %d, %dMHz\n", MemInfoHob->CurrentFrequency, MemFreqTable[(UINT8)(MemInfoHob->CurrentFrequency)]));
+ }
+
+ //
+ // update memory size display in Main Page
+ //
+ if (!EFI_ERROR (Status) && NULL != HobData ) {
+ EfiValueToString (NewString, (MemInfoHob->SystemMemorySize / 1024), PREFIX_ZERO, 0);
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), L" GB");
+ TokenToUpdate = (STRING_REF) STR_TOTAL_MEMORY_SIZE_VALUE;
+ HiiSetString (mHiiHandle, TokenToUpdate, NewString, NULL);
+ DEBUG ((EFI_D_INFO, "update total memory size:%dMB, %dGB\n", MemInfoHob->SystemMemorySize, MemInfoHob->SystemMemorySize/1024));
+ }
+
+ //
+ //Update MRC Version
+ //
+ if (!EFI_ERROR (Status) && NULL != HobData ) {
+ MrcVersion = MemInfoHob->MrcVer >> 16;
+ MrcVersion &= 0xffff;
+ Index = EfiValueToString (Buffer, MrcVersion/256, PREFIX_ZERO, 0);
+ StrCatS (Buffer, sizeof (Buffer) / sizeof (CHAR16), L".");
+ EfiValueToString (Buffer + Index + 1, MrcVersion%256, PREFIX_ZERO, 0);
+ HiiSetString (mHiiHandle,STRING_TOKEN (STR_MRC_VERSION_VALUE), Buffer, NULL);
+ DEBUG ((EFI_D_INFO, "update MRC version:%x, %s\n", MemInfoHob->MrcVer, Buffer));
+ }
+
+ gBS->FreePool(NewString);
+ gBS->FreePool(NewString2);
+
+ return;
+}
+
+
+EFI_STATUS
+UpdateAdditionalInformation (
+ )
+{
+ EFI_STATUS Status;
+ UINT64 MonotonicCount;
+ EFI_DATA_HUB_PROTOCOL *DataHub;
+ EFI_DATA_RECORD_HEADER *Record;
+ EFI_SUBCLASS_TYPE1_HEADER *DataHeader;
+ EFI_MISC_SYSTEM_MANUFACTURER *SystemManufacturer;
+ UINTN Size;
+
+ Status = gBS->LocateProtocol (&gEfiDataHubProtocolGuid, NULL, (VOID **) &DataHub);
+
+ ASSERT_EFI_ERROR (Status);
+
+ Size = 3;
+
+ MonotonicCount = 0;
+ Record = NULL;
+ do {
+ Status = DataHub->GetNextRecord (DataHub, &MonotonicCount, NULL, &Record);
+ if (Record->DataRecordClass == EFI_DATA_RECORD_CLASS_DATA) {
+ DataHeader = (EFI_SUBCLASS_TYPE1_HEADER *) (Record + 1);
+
+ if (CompareGuid(&Record->DataRecordGuid, &gEfiMiscSubClassGuid) &&
+ (DataHeader->RecordType == EFI_MISC_SYSTEM_MANUFACTURER_RECORD_NUMBER)) {
+ //
+ // System Information
+ //
+ SystemManufacturer = (EFI_MISC_SYSTEM_MANUFACTURER *) (DataHeader + 1);
+
+ }
+ }
+ } while (!EFI_ERROR (Status) && (MonotonicCount != 0));
+
+ UpdateLatestBootTime ();
+
+ return EFI_SUCCESS;
+}
+
+
+VOID
+UpdateCPUInformation (
+ )
+{
+ CHAR16 Buffer[40];
+ UINT16 FamilyId;
+ UINT8 Model;
+ UINT8 SteppingId;
+ UINT8 ProcessorType;
+ EFI_STATUS Status;
+ EFI_MP_SERVICES_PROTOCOL *MpService;
+ UINTN MaximumNumberOfCPUs;
+ UINTN NumberOfEnabledCPUs;
+ EFI_CPUID_REGISTER CpuidRegs;
+
+ AsmCpuid (1, &(CpuidRegs.RegEax), &(CpuidRegs.RegEbx), &(CpuidRegs.RegEcx), &(CpuidRegs.RegEdx));
+ FamilyId = ((CpuidRegs.RegEax >> 8 )& 0xF);
+ Model = ((CpuidRegs.RegEax >> 4) & 0xF);
+ SteppingId = (CpuidRegs.RegEax & 0xF);
+ ProcessorType = ((CpuidRegs.RegEax>> 12) & 0x3);
+ //
+ // we need raw Model data
+ //
+ Model = Model & 0xf;
+ //
+ // Family/Model/Step
+ //
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%d/%d/%d", FamilyId, Model, SteppingId);
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_PROCESSOR_ID_VALUE), Buffer, NULL);
+
+ Status = gBS->LocateProtocol (
+ &gEfiMpServiceProtocolGuid,
+ NULL,
+ (VOID **) &MpService
+ );
+ if (!EFI_ERROR (Status)) {
+ //
+ // Determine the number of processors
+ //
+ MpService->GetNumberOfProcessors (
+ MpService,
+ &MaximumNumberOfCPUs,
+ &NumberOfEnabledCPUs
+ );
+
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%d", MaximumNumberOfCPUs);
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_PROCESSOR_CORE_VALUE), Buffer, NULL);
+ }
+}
+
+
+EFI_STATUS
+SearchChildHandle (
+ EFI_HANDLE Father,
+ EFI_HANDLE *Child
+ )
+{
+ EFI_STATUS Status;
+ UINTN HandleIndex;
+ EFI_GUID **ProtocolGuidArray = NULL;
+ UINTN ArrayCount;
+ UINTN ProtocolIndex;
+ UINTN OpenInfoCount;
+ UINTN OpenInfoIndex;
+ EFI_OPEN_PROTOCOL_INFORMATION_ENTRY *OpenInfo = NULL;
+ UINTN HandleCount;
+ EFI_HANDLE *HandleBuffer= NULL;
+
+ //
+ // Retrieve the list of all handles from the handle database
+ //
+ Status = gBS->LocateHandleBuffer (
+ AllHandles,
+ NULL,
+ NULL,
+ &HandleCount,
+ &HandleBuffer
+ );
+
+ for (HandleIndex = 0; HandleIndex < HandleCount; HandleIndex++) {
+ //
+ // Retrieve the list of all the protocols on each handle
+ //
+ Status = gBS->ProtocolsPerHandle (
+ HandleBuffer[HandleIndex],
+ &ProtocolGuidArray,
+ &ArrayCount
+ );
+
+ if (!EFI_ERROR (Status)) {
+ for (ProtocolIndex = 0; ProtocolIndex < ArrayCount; ProtocolIndex++) {
+ Status = gBS->OpenProtocolInformation (
+ HandleBuffer[HandleIndex],
+ ProtocolGuidArray[ProtocolIndex],
+ &OpenInfo,
+ &OpenInfoCount
+ );
+
+ if (!EFI_ERROR (Status)) {
+ for (OpenInfoIndex = 0; OpenInfoIndex < OpenInfoCount; OpenInfoIndex++) {
+ if (OpenInfo[OpenInfoIndex].AgentHandle == Father) {
+ if ((OpenInfo[OpenInfoIndex].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) == EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) {
+ *Child = HandleBuffer[HandleIndex];
+ Status = EFI_SUCCESS;
+ goto TryReturn;
+ }
+ }
+ }
+ Status = EFI_NOT_FOUND;
+ }
+ }
+ if (OpenInfo != NULL) {
+ FreePool(OpenInfo);
+ OpenInfo = NULL;
+ }
+ }
+ FreePool (ProtocolGuidArray);
+ ProtocolGuidArray = NULL;
+ }
+
+TryReturn:
+ if (OpenInfo != NULL) {
+ FreePool (OpenInfo);
+ OpenInfo = NULL;
+ }
+ if (ProtocolGuidArray != NULL) {
+ FreePool (ProtocolGuidArray);
+ ProtocolGuidArray = NULL;
+ }
+ if (HandleBuffer != NULL) {
+ FreePool (HandleBuffer);
+ HandleBuffer = NULL;
+ }
+ return Status;
+}
+
+
+EFI_STATUS
+JudgeHandleIsPCIDevice(
+ EFI_HANDLE Handle,
+ UINT8 Device,
+ UINT8 Funs
+ )
+{
+ EFI_STATUS Status;
+ EFI_DEVICE_PATH *DPath;
+ EFI_DEVICE_PATH *DevicePath;
+
+ Status = gBS->HandleProtocol (
+ Handle,
+ &gEfiDevicePathProtocolGuid,
+ (VOID **) &DPath
+ );
+
+ if (!EFI_ERROR (Status)) {
+ DevicePath = DPath;
+ while (!IsDevicePathEnd (DPath)) {
+ if ((DPath->Type == HARDWARE_DEVICE_PATH) && (DPath->SubType == HW_PCI_DP)) {
+ PCI_DEVICE_PATH *PCIPath;
+
+ PCIPath = (PCI_DEVICE_PATH *) DPath;
+ DPath = NextDevicePathNode (DPath);
+ if (IsDevicePathEnd (DPath) && (PCIPath->Device == Device) && (PCIPath->Function == Funs)) {
+ return EFI_SUCCESS;
+ }
+ } else {
+ DPath = NextDevicePathNode (DPath);
+ }
+ }
+ }
+
+ return EFI_UNSUPPORTED;
+}
+
+
+EFI_STATUS
+GetDriverName (
+ EFI_HANDLE Handle,
+ CHAR16 *Name
+ )
+{
+ EFI_DRIVER_BINDING_PROTOCOL *BindHandle = NULL;
+ EFI_STATUS Status;
+ UINT32 Version;
+ UINT32 *Ptr;
+
+ Status = gBS->OpenProtocol(
+ Handle,
+ &gEfiDriverBindingProtocolGuid,
+ (VOID**) &BindHandle,
+ NULL,
+ NULL,
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL
+ );
+
+ if (EFI_ERROR (Status)) {
+ return EFI_NOT_FOUND;
+ }
+
+ Version = BindHandle->Version;
+ Ptr = (UINT32 *) &Version;
+ UnicodeSPrint (Name, 40, L"%d.%d.%04d", (*(Ptr) & 0xff000000) >> 24, (*(Ptr) & 0x00ff0000) >> 16, (*Ptr) & 0x0000ffff);
+
+ return EFI_SUCCESS;
+}
+
+
+EFI_STATUS
+GetGOPDriverName (
+ CHAR16 *Name
+ )
+{
+ UINTN HandleCount;
+ EFI_HANDLE *Handles= NULL;
+ UINTN Index;
+ EFI_STATUS Status;
+ EFI_HANDLE Child = 0;
+
+ Status = gBS->LocateHandleBuffer(
+ ByProtocol,
+ &gEfiDriverBindingProtocolGuid,
+ NULL,
+ &HandleCount,
+ &Handles
+ );
+
+ for (Index = 0; Index < HandleCount ; Index++) {
+ Status = SearchChildHandle (Handles[Index], &Child);
+ if (!EFI_ERROR (Status)) {
+ Status = JudgeHandleIsPCIDevice (Child, 0x02, 0x00);
+ if (!EFI_ERROR (Status)) {
+ return GetDriverName (Handles[Index], Name);
+ }
+ }
+ }
+
+ return EFI_UNSUPPORTED;
+}
+
+
+EFI_STATUS
+GetImageFwVersion (
+ VOID
+ )
+{
+ EFI_STATUS Status;
+ FW_VERSION_CMD_RESP_DATA MsgGetFwVersionRespData;
+ UINT8 Index;
+ CHAR16 Buffer[40];
+ CHAR8 *CseManName;
+ CHAR8 *IshManName;
+
+ DEBUG ((EFI_D_INFO, "Executing GetImageFwVersion().\n"));
+ SetMem (&MsgGetFwVersionRespData, sizeof (FW_VERSION_CMD_RESP_DATA), 0x0);
+ SetMem (Buffer, sizeof (Buffer), 0x0);
+ CseManName = "FTPR.man"; //CSE manifest file name
+ IshManName = "ISHC.man"; //ISH manifest file name
+
+ Status = HeciGetImageFwVerMsg (&MsgGetFwVersionRespData);
+ if (EFI_ERROR (Status)) {
+ return Status;
+ }
+
+ for (Index = 0; Index < MAX_IMAGE_MODULE_NUMBER; Index++) {
+ if (!CompareMem (MsgGetFwVersionRespData.ModuleEntries[Index].EntryName, CseManName, AsciiStrLen (CseManName))) {
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%d.%d.%d.%d",
+ MsgGetFwVersionRespData.ModuleEntries[Index].Major,
+ MsgGetFwVersionRespData.ModuleEntries[Index].Minor,
+ MsgGetFwVersionRespData.ModuleEntries[Index].Hotfix,
+ MsgGetFwVersionRespData.ModuleEntries[Index].Build);
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_TXE_FW_VALUE), Buffer, NULL);
+ }
+
+ if (!CompareMem (MsgGetFwVersionRespData.ModuleEntries[Index].EntryName, IshManName, AsciiStrLen (IshManName))) {
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%d.%d.%d.%d",
+ MsgGetFwVersionRespData.ModuleEntries[Index].Major,
+ MsgGetFwVersionRespData.ModuleEntries[Index].Minor,
+ MsgGetFwVersionRespData.ModuleEntries[Index].Hotfix,
+ MsgGetFwVersionRespData.ModuleEntries[Index].Build);
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_ISH_FW_VALUE), Buffer, NULL);
+ }
+ }
+
+ return EFI_SUCCESS;
+}
+
+
+EFI_STATUS
+UpdatePlatformInformation (
+ )
+{
+ UINT32 MicroCodeVersion;
+ CHAR16 Buffer[40];
+ UINT8 IgdVbiosRevH;
+ UINT8 IgdVbiosRevL;
+ UINT16 Edx;
+ EFI_IA32_REGISTER_SET RegSet;
+ EFI_LEGACY_BIOS_PROTOCOL *LegacyBios = NULL;
+ EFI_STATUS Status;
+ UINT8 CpuFlavor = 0;
+ EFI_PEI_HOB_POINTERS GuidHob;
+ EFI_PLATFORM_INFO_HOB *PlatformInfo = NULL;
+ UINT8 Data8;
+ CHAR16 Name[40];
+ UINT32 SocVersion;
+ UINT8 PMCVersion[8];
+ EFI_CPUID_REGISTER CpuidRegs;
+ GET_BOARD_NAME GetBoardNameFunc;
+
+ Data8 = 0;
+ //
+ // Get the HOB list. If it is not present, then ASSERT.
+ //
+ GuidHob.Raw = GetHobList ();
+ if (GuidHob.Raw != NULL) {
+ if ((GuidHob.Raw = GetNextGuidHob (&gEfiPlatformInfoGuid, GuidHob.Raw)) != NULL) {
+ PlatformInfo = GET_GUID_HOB_DATA (GuidHob.Guid);
+ }
+ }
+
+ //
+ // Update VBIOS version in Setup
+ //
+ Status = gBS->LocateProtocol (&gEfiLegacyBiosProtocolGuid, NULL, &LegacyBios);
+ if (!EFI_ERROR (Status)) {
+ RegSet.X.AX = 0x5f01;
+ Status = LegacyBios->Int86 (LegacyBios, 0x10, &RegSet);
+ ASSERT_EFI_ERROR(Status);
+
+ //
+ // Simulate int15 (AX = 5f01) handler
+ //
+ Edx = (UINT16) ((RegSet.E.EBX >> 16) & 0xffff);
+ IgdVbiosRevH = (UINT8) (((Edx & 0x0F00) >> 4) | (Edx & 0x000F));
+ IgdVbiosRevL = (UINT8) (((RegSet.X.BX & 0x0F00) >> 4) | (RegSet.X.BX & 0x000F));
+
+ if ((IgdVbiosRevH == 0) && (IgdVbiosRevL == 0)) {
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_CHIP_IGD_VBIOS_REV_VALUE), L"N/A", NULL);
+ } else {
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%02X%02X", IgdVbiosRevH, IgdVbiosRevL);
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_CHIP_IGD_VBIOS_REV_VALUE), Buffer, NULL);
+ }
+ }
+
+ Status = GetGOPDriverName (Name);
+
+ if (!EFI_ERROR (Status)) {
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_GOP_VALUE), Name, NULL);
+ }
+
+ AsmCpuid (1, &(CpuidRegs.RegEax), &(CpuidRegs.RegEbx), &(CpuidRegs.RegEcx), &(CpuidRegs.RegEdx));
+ CpuFlavor = (UINT8) ((CpuidRegs.RegEax) & 0x8) >> 3;
+
+ switch (CpuFlavor) {
+ case 0x0:
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%s (%01x)", L"BXT IVI", CpuFlavor);
+ break;
+
+ case 0x1:
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%s (%01x)", L"BXT Notebook/Desktop", CpuFlavor);
+ break;
+
+ default:
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%s (%01x)", L"Unknown CPU", CpuFlavor);
+ break;
+ }
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_CPU_FLAVOR_VALUE), Buffer, NULL);
+
+ if (PlatformInfo != NULL) {
+ //
+ // BoardId
+ //
+ DEBUG ((EFI_D_INFO, "UpdatePlatformInformation(): calling GetBoardName()\n"));
+ GetBoardNameFunc = (GET_BOARD_NAME) (UINTN) PcdGet64 (PcdGetBoardNameFunc);
+ UnicodeSPrint (Buffer, sizeof (Buffer), GetBoardNameFunc (PlatformInfo->BoardId));
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_BOARD_ID_VALUE), Buffer, NULL);
+
+ //
+ // FAB ID is read from EC, 0x00 means FAB1
+ //
+ if (mPlatformInfo->BoardRev == 0x00) {
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%s", L"FAB A");
+ } else if (mPlatformInfo->BoardRev == 0x01) {
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%s", L"FAB B");
+ } else {
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%s", L"FAB C");
+ }
+ HiiSetString (mHiiHandle,STRING_TOKEN(STR_FAB_ID_VALUE), Buffer, NULL);
+ }
+ //
+ // Update SOC Version
+ //
+ switch (BxtStepping()) {
+ case BxtPA0:
+ SocVersion = 0xA0;
+ break;
+
+ case BxtPB0:
+ SocVersion = 0xB0;
+ break;
+
+ case BxtPB1:
+ SocVersion = 0xB1;
+ break;
+
+ case BxtPB2:
+ SocVersion = 0xB2;
+ break;
+
+ default:
+ SocVersion = 0x00;
+ break;
+ }
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%x", SocVersion);
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_SOC_VALUE), Buffer, NULL);
+
+
+ //
+ // Microcode Revision
+ //
+ MicroCodeVersion = (UINT32) RShiftU64 (AsmReadMsr64 (MSR_IA32_BIOS_SIGN_ID), 32);
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%x", MicroCodeVersion);
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_PROCESSOR_MICROCODE_VALUE), Buffer, NULL);
+
+ //
+ // Punit Revision
+ //
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_PUNIT_FW_VALUE), Buffer, NULL);
+
+ //
+ // PMC FW Revision
+ //
+ IpcSendCommandEx (IPC_CMD_ID_PMC_VER, IPC_SUBCMD_ID_PMC_VER_READ, PMCVersion, 8);
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%02x.%02x", PMCVersion[1], PMCVersion[0]);
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_PMC_FW_VALUE), Buffer, NULL);
+
+ //
+ // CSE and ISH FW Revision
+ //
+ Status = GetImageFwVersion ();
+
+ return EFI_SUCCESS;
+}
+
+
+#ifdef SATA_SUPPORT
+/**
+ Update SATA Drive size Strings for Setup and Boot order
+
+ @param[in] NewString Pointer to string.
+ @param[in] DeviceSpeed Speed of drive.
+
+ @retval
+
+**/
+VOID
+GetDeviceSpeedString (
+ CHAR16 *NewString,
+ IN UINTN DeviceSpeed
+ )
+{
+ if (DeviceSpeed == 0x01) {
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), L"1.5Gb/s");
+ } else if (DeviceSpeed == 0x02) {
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), L"3.0Gb/s");
+ } else if (DeviceSpeed == 0x03) {
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), L"6.0Gb/s");
+ } else if (DeviceSpeed == 0x0) {
+ }
+}
+
+
+UINT8
+GetChipsetSataPortSpeed (
+ UINTN PortNum
+ )
+{
+ UINT32 DeviceSpeed;
+ UINT8 DeviceConfigStatus;
+ UINT32 IdeAhciBar;
+ EFI_PHYSICAL_ADDRESS MemBaseAddress = 0;
+ UINT8 FunNum;
+ EFI_STATUS Status;
+
+ DeviceSpeed = 0x01; // generation 1
+
+ //
+ // Allocate the AHCI BAR
+ //
+ FunNum = PCI_FUNCTION_NUMBER_SATA;
+ MemBaseAddress = 0x0ffffffff;
+ Status = gDS->AllocateMemorySpace (
+ EfiGcdAllocateMaxAddressSearchBottomUp,
+ EfiGcdMemoryTypeMemoryMappedIo,
+ N_SATA_AHCI_BAR_ALIGNMENT, // 2^11: 2K Alignment
+ V_SATA_AHCI_BAR_LENGTH, // 2K Length
+ &MemBaseAddress,
+ mImageHandle,
+ NULL
+ );
+
+ IdeAhciBar = MmioRead32 (
+ MmPciAddress (0,
+ 0,
+ PCI_DEVICE_NUMBER_SATA,
+ FunNum,
+ R_SATA_AHCI_BAR
+ )
+ );
+ IdeAhciBar &= 0xFFFFF800;
+ DeviceConfigStatus = 0;
+ if (IdeAhciBar == 0) {
+ DeviceConfigStatus = 1;
+ IdeAhciBar = (UINT32)MemBaseAddress;
+ MmioWrite32 (MmPciAddress (0, 0, PCI_DEVICE_NUMBER_SATA, FunNum, R_SATA_AHCI_BAR), IdeAhciBar);
+ MmioOr16 (MmPciAddress (0, 0, PCI_DEVICE_NUMBER_SATA, FunNum, R_SATA_COMMAND), B_SATA_COMMAND_MSE);
+ }
+
+ switch (PortNum) {
+ case 0:
+ DeviceSpeed = *(volatile UINT32 *) (UINTN) (IdeAhciBar + R_SATA_AHCI_P0SSTS);
+ break;
+ case 1:
+ DeviceSpeed = *(volatile UINT32 *) (UINTN) (IdeAhciBar + R_SATA_AHCI_P1SSTS);
+ break;
+ }
+
+ if (MemBaseAddress) {
+ gDS->FreeMemorySpace (
+ MemBaseAddress,
+ V_SATA_AHCI_BAR_LENGTH
+ );
+ }
+
+ if (DeviceConfigStatus) {
+ IdeAhciBar = 0;
+ MmioWrite32 (MmPciAddress (0, 0, PCI_DEVICE_NUMBER_SATA, FunNum, R_SATA_AHCI_BAR), IdeAhciBar);
+ }
+
+ DeviceSpeed = (UINT8)((DeviceSpeed >> 4) & 0x0F);
+
+ return (UINT8)DeviceSpeed;
+}
+
+
+VOID
+IdeDataFilter (
+ VOID
+ )
+{
+ EFI_STATUS Status;
+ UINTN HandleCount;
+ EFI_HANDLE *HandleBuffer;
+ EFI_DISK_INFO_PROTOCOL *DiskInfo;
+ EFI_DEVICE_PATH_PROTOCOL *DevicePath, *DevicePathNode;
+ PCI_DEVICE_PATH *PciDevicePath;
+ UINTN Index;
+ UINT8 Index1;
+ UINT32 BufferSize;
+ UINT32 DriveSize;
+ UINT32 IdeChannel;
+ UINT32 IdeDevice;
+ EFI_ATA_IDENTIFY_DATA *IdentifyDriveInfo;
+ CHAR16 *NewString;
+ CHAR16 SizeString[20];
+ STRING_REF NameToUpdate;
+ CHAR8 StringBuffer[0x100];
+ UINT32 DeviceSpeed;
+ UINTN PortNumber;
+
+ //
+ // Assume no line strings is longer than 256 bytes.
+ //
+ NewString = AllocateZeroPool (0x100);
+ if (NewString == NULL)
+ return;
+
+ PciDevicePath = NULL;
+ //
+ // Fill IDE Infomation
+ //
+ Status = gBS->LocateHandleBuffer (
+ ByProtocol,
+ &gEfiDiskInfoProtocolGuid,
+ NULL,
+ &HandleCount,
+ &HandleBuffer
+ );
+
+ if (EFI_ERROR (Status)) {
+ return;
+ }
+
+ for (Index = 0; Index < HandleCount; Index++) {
+ Status = gBS->HandleProtocol (
+ HandleBuffer[Index],
+ &gEfiDevicePathProtocolGuid,
+ (VOID **) &DevicePath
+ );
+ ASSERT_EFI_ERROR (Status);
+
+ DevicePathNode = DevicePath;
+ while (!IsDevicePathEnd (DevicePathNode) ) {
+ if ((DevicePathType (DevicePathNode) == HARDWARE_DEVICE_PATH) &&
+ ( DevicePathSubType (DevicePathNode) == HW_PCI_DP)) {
+ PciDevicePath = (PCI_DEVICE_PATH *) DevicePathNode;
+ break;
+ }
+ DevicePathNode = NextDevicePathNode (DevicePathNode);
+ }
+
+ if (PciDevicePath == NULL) {
+ continue;
+ }
+
+ //
+ // Check for onboard IDE
+ //
+ if (PciDevicePath->Device== PCI_DEVICE_NUMBER_SATA) {
+ Status = gBS->HandleProtocol (HandleBuffer[Index], &gEfiDiskInfoProtocolGuid, (VOID **) &DiskInfo);
+ ASSERT_EFI_ERROR (Status);
+
+ Status = DiskInfo->WhichIde (
+ DiskInfo,
+ &IdeChannel,
+ &IdeDevice
+ );
+
+ ASSERT_EFI_ERROR (Status);
+ IdentifyDriveInfo = NULL;
+ IdentifyDriveInfo = AllocatePool (sizeof (EFI_ATA_IDENTIFY_DATA));
+ if (IdentifyDriveInfo == NULL)
+ return;
+
+ BufferSize = sizeof (EFI_ATA_IDENTIFY_DATA);
+ Status = DiskInfo->Identify (
+ DiskInfo,
+ IdentifyDriveInfo,
+ &BufferSize
+ );
+ ASSERT_EFI_ERROR(Status);
+
+ //
+ // Onboard SATA Devices
+ //
+ if (PciDevicePath->Function == PCI_FUNCTION_NUMBER_SATA) {
+ if (IdeChannel == 0 && IdeDevice == 0) {
+ NameToUpdate = (STRING_REF)STR_SATA0_NAME;
+ } else if (IdeChannel == 1 && IdeDevice == 0) {
+ NameToUpdate = (STRING_REF)STR_SATA1_NAME;
+ } else {
+ continue;
+ }
+ } else {
+ continue;
+ }
+
+ ZeroMem (StringBuffer, sizeof (StringBuffer));
+ CopyMem (StringBuffer, (CHAR8 *) &IdentifyDriveInfo->ModelName, sizeof (IdentifyDriveInfo->ModelName));
+ SwapEntries(StringBuffer);
+ AsciiStrToUnicodeStr(StringBuffer, NewString);
+
+ //
+ // Chap it off after 16 characters
+ //
+ NewString[16] = 0;
+
+ //
+ // For HardDisk append the size. Otherwise display atapi
+ //
+ if ((IdentifyDriveInfo->config & 0x8000) == 00) {
+ //
+ // 48 bit address feature set is supported, get maximum capacity
+ //
+ if ((IdentifyDriveInfo->command_set_supported_83 & 0x0400) == 0) {
+ DriveSize = (((((IdentifyDriveInfo->user_addressable_sectors_hi << 16) +
+ IdentifyDriveInfo->user_addressable_sectors_lo) / 1000) * 512) / 1000);
+ } else {
+ DriveSize = IdentifyDriveInfo->maximum_lba_for_48bit_addressing[0];
+ for (Index1 = 1; Index1 < 4; Index1++) {
+ //
+ // Lower byte goes first: word[100] is the lowest word, word[103] is highest
+ //
+ DriveSize |= LShiftU64 (IdentifyDriveInfo->maximum_lba_for_48bit_addressing[Index1], 16 * Index1);
+ }
+ DriveSize = (UINT32) DivU64x32 (MultU64x32 (DivU64x32 (DriveSize, 1000), 512), 1000);
+ }
+
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), L"(");
+ EfiValueToString (SizeString, DriveSize / 1000, PREFIX_BLANK, 0);
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), SizeString);
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), L".");
+ EfiValueToString (SizeString, (DriveSize % 1000) / 100, PREFIX_BLANK, 0);
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), SizeString);
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), L"GB");
+ } else {
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), L"(ATAPI");
+ }
+
+ //
+ // Update SPEED.
+ //
+ PortNumber = (IdeDevice << 1) + IdeChannel;
+ DeviceSpeed = GetChipsetSataPortSpeed (PortNumber);
+
+ if (DeviceSpeed) {
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), L"-");
+ GetDeviceSpeedString (NewString, DeviceSpeed);
+ }
+
+ StrCatS (NewString, 0x100 / sizeof (CHAR16), L")");
+ HiiSetString (mHiiHandle, NameToUpdate, NewString, NULL);
+
+ }
+ }
+
+ if (HandleBuffer != NULL) {
+ gBS->FreePool (HandleBuffer);
+ }
+
+ gBS->FreePool (NewString);
+
+ return;
+}
+#endif
+
+
+VOID
+UpdateSeCInformation (
+ )
+{
+ EFI_STATUS Status;
+ CHAR16 Buffer[20];
+ GEN_GET_FW_CAPSKU MsgGenGetFwCapsSku;
+ GEN_GET_FW_CAPS_SKU_ACK MsgGenGetFwCapsSkuAck;
+ SECFWCAPS_SKU RuleData;
+ UINT32 OEMTag;
+ HECI_FWS_REGISTER SeCFirmwareStatus;
+ CHAR16 *FwStatus;
+
+ DEBUG ((EFI_D_INFO, "UpdateSeCInformation ++\n"));
+
+ SetMem (Buffer, sizeof (Buffer), 0x0);
+
+ //
+ // Get Firmware Capability SKU
+ //
+ Status = HeciGetFwCapsSkuMsg (&MsgGenGetFwCapsSku, &MsgGenGetFwCapsSkuAck);
+ if (!EFI_ERROR (Status)) {
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%08X", MsgGenGetFwCapsSkuAck.Data.FWCapSku.Data);
+ } else {
+ StrCpyS (Buffer, sizeof (Buffer) / sizeof (CHAR16), L"N/A");
+ }
+ HiiSetString(mHiiHandle, STRING_TOKEN(STR_SEC_CAPABILITY_VALUE), Buffer, NULL);
+
+ //
+ // Get FW Feature Status Message
+ //
+ Status = HeciGetFwFeatureStateMsg (&RuleData);
+ if (!EFI_ERROR (Status)) {
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%08X", RuleData.Data);
+ } else {
+ StrCpyS (Buffer, sizeof (Buffer) / sizeof (CHAR16), L"N/A");
+ }
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_SEC_FEATURE_VALUE), Buffer, NULL);
+
+ //
+ // Get OEM TAG message
+ //
+ Status = HeciGetOemTagMsg (&OEMTag);
+ if (!EFI_ERROR (Status)) {
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%08X", OEMTag);
+ } else {
+ StrCpyS (Buffer, sizeof (Buffer) / sizeof (CHAR16), L"N/A");
+ }
+ HiiSetString(mHiiHandle, STRING_TOKEN(STR_SEC_OEMTAG_VALUE), Buffer, NULL);
+
+ SeCFirmwareStatus.ul = PciRead32 (PCI_LIB_ADDRESS (SEC_BUS, SEC_DEVICE_NUMBER, HECI_FUNCTION_NUMBER, R_SEC_FW_STS0));
+ switch (SeCFirmwareStatus.r.SeCOperationMode) {
+ case SEC_OPERATION_MODE_NORMAL:
+ FwStatus = L"Normal";
+ break;
+
+ case SEC_OPERATION_MODE_ALT_DISABLED:
+ FwStatus = L"DEBUG MODE";
+ break;
+
+ case SEC_OPERATION_MODE_SOFT_TEMP_DISABLE:
+ FwStatus = L"Soft Temporary Disable";
+ break;
+
+ default:
+ FwStatus = L"Unknown";
+ break;
+ }
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_SEC_TEMP_DISABLE_PROMPT), FwStatus, NULL);
+
+ DEBUG ((EFI_D_INFO, "UpdateSeCInformation --\n"));
+}
+
+
+VOID
+UpdatePLInformation (
+ )
+{
+ CHAR16 Buffer[40];
+ MSR_REGISTER PackagePowerLimitMsr;
+ UINT16 PowerLimit1;
+ UINT16 PowerLimit2;
+ UINT16 PowerUnitWatts;
+
+ PowerUnitWatts = 256;
+
+ PackagePowerLimitMsr.Qword = AsmReadMsr64 (MSR_PACKAGE_POWER_LIMIT);
+ PowerLimit1 = (UINT16) PackagePowerLimitMsr.Dwords.Low & POWER_LIMIT_MASK;
+ PowerLimit1 /= PowerUnitWatts;
+ PowerLimit2 = (UINT16) PackagePowerLimitMsr.Dwords.High & POWER_LIMIT_MASK;
+ PowerLimit2 /= PowerUnitWatts;
+
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%d", (UINT32) PowerLimit1);
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_LONG_DUR_PWR_LIMIT_VALUE), Buffer, NULL);
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%d", (UINT32) PowerLimit2);
+ HiiSetString (mHiiHandle, STRING_TOKEN (STR_SHORT_DUR_PWR_LIMIT_VALUE), Buffer, NULL);
+}
+
+
+EFI_STATUS
+SaveTpmDeviceSelection (
+ SYSTEM_CONFIGURATION *SystemConfigPtr
+ )
+{
+ EFI_STATUS Status;
+ BOOLEAN PttEnabledState;
+ BOOLEAN ResetRequired;
+ EFI_INPUT_KEY Key;
+ CHAR16 *StringBuffer1 = L"Perform TPM Device Selection is Changed.";
+ CHAR16 *StringBuffer2 = L"System will Restart!";
+ CHAR16 *StringBuffer3 = L"Press Enter Key To Continue";
+
+ ResetRequired = FALSE;
+ //
+ // TPM Device Selector Override
+ //
+ Status = PttHeciGetState (&PttEnabledState);
+ if (EFI_ERROR (Status)) {
+ return Status;
+ }
+
+ if (SystemConfigPtr->TPM == TPM_PTT) {
+ DEBUG ((EFI_D_INFO, "TPM Device Selection is PTT.\n"));
+ if (!PttEnabledState) {
+ ResetRequired = TRUE;
+ PttHeciSetState (TRUE);
+ }
+ } else if ((SystemConfigPtr->TPM == TPM_DTPM_1_2) || (SystemConfigPtr->TPM == TPM_DTPM_2_0)) {
+ DEBUG ((EFI_D_INFO, "TPM Device Selection is dTPM.\n"));
+ if (PttEnabledState) {
+ ResetRequired = TRUE;
+ PttHeciSetState (FALSE);
+ }
+ } else if (SystemConfigPtr->TPM == TPM_DISABLE) {
+ DEBUG ((EFI_D_INFO, "TPM Device Selection is Disable.\n"));
+ if (PttEnabledState) {
+ ResetRequired = TRUE;
+ PttHeciSetState (FALSE);
+ }
+ }
+
+ if (ResetRequired) {
+ DEBUG ((EFI_D_INFO, "Trigger cold reset to take effect.\n"));
+ //
+ // Popup a menu to notice user
+ //
+ do {
+ CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, StringBuffer1, StringBuffer2, StringBuffer3, NULL);
+ } while (Key.UnicodeChar != CHAR_CARRIAGE_RETURN);
+
+ gRT->ResetSystem (EfiResetCold, EFI_SUCCESS, 0, NULL);
+ }
+
+ return EFI_SUCCESS;
+}
+
+
+VOID
+EFIAPI
+SetupInfo (
+ VOID
+ )
+{
+ EFI_STATUS Status;
+ UINTN VarSize;
+ EFI_PEI_HOB_POINTERS GuidHob;
+
+ if (mSetupInfoDone) {
+ return;
+ }
+
+ VarSize = sizeof (SYSTEM_CONFIGURATION);
+
+ Status = gRT->GetVariable (
+ L"Setup",
+ &gEfiSetupVariableGuid,
+ NULL,
+ &VarSize,
+ &mSystemConfiguration
+ );
+
+ ASSERT_EFI_ERROR (Status);
+
+ //
+ // Update HOB variable for PCI resource information
+ // Get the HOB list. If it is not present, then ASSERT.
+ //
+ GuidHob.Raw = GetHobList ();
+ if (GuidHob.Raw != NULL) {
+ if ((GuidHob.Raw = GetNextGuidHob (&gEfiPlatformInfoGuid, GuidHob.Raw)) != NULL) {
+ mPlatformInfo = GET_GUID_HOB_DATA (GuidHob.Guid);
+ }
+ }
+
+ PrepareSetupInformation ();
+ UpdateAdditionalInformation ();
+ UpdatePlatformInformation ();
+ UpdateCPUInformation ();
+ UpdateSeCInformation ();
+
+#ifdef SATA_SUPPORT
+ IdeDataFilter ();
+#endif
+ UpdatePLInformation ();
+ mSetupInfoDone = TRUE;
+
+ return;
+}
+
+
+VOID
+CheckSystemConfigLoad (
+ SYSTEM_CONFIGURATION *SystemConfigPtr
+ )
+{
+ EFI_STATUS Status;
+ SEC_OPERATION_PROTOCOL *SeCOp;
+ SEC_INFOMATION SeCInfo;
+
+ mUseProductKey = SystemConfigPtr->UseProductKey;
+ Status = gBS->LocateProtocol (
+ &gEfiSeCOperationProtocolGuid,
+ NULL,
+ (VOID **) &SeCOp
+ );
+ if (EFI_ERROR (Status)) {
+ return;
+ }
+
+ Status = SeCOp->GetPlatformSeCInfo (&SeCInfo);
+ SystemConfigPtr->SecEnable = (UINT8) SeCInfo.SeCEnable;
+ SystemConfigPtr->SeCOpEnable = (UINT8) SystemConfigPtr->SecEnable;
+ SystemConfigPtr->SeCModeEnable = (UINT8) SeCInfo.SeCOpEnable;
+ SystemConfigPtr->SecFirmwareUpdate = (UINT8) SeCInfo.FwUpdate;
+ SystemConfigPtr->SecFlashUpdate = (UINT8) SeCInfo.HmrfpoEnable;
+
+}
+
+
+//
+// "SecureBootEnable" variable for the Secure boot feature enable/disable.
+//
+#define EFI_SECURE_BOOT_ENABLE_NAME L"SecureBootEnable"
+extern EFI_GUID gEfiSecureBootEnableDisableGuid;
+
+EFI_STATUS
+CheckTPMActivePcrBanks (
+ IN UINT32 PcrBanks
+ )
+{
+ UINT32 CurrentActivePcrBanks;
+ EFI_TCG2_PROTOCOL *Tcg2Protocol;
+ EFI_STATUS Status;
+
+ Status = gBS->LocateProtocol (
+ &gEfiTcg2ProtocolGuid,
+ NULL,
+ (VOID **) &Tcg2Protocol
+ );
+
+ if (EFI_ERROR(Status)) {
+ return Status;
+ }
+ Status = Tcg2Protocol->GetActivePcrBanks (Tcg2Protocol, &CurrentActivePcrBanks);
+ if (EFI_ERROR (Status)) {
+ return Status;
+ }
+ if (CurrentActivePcrBanks == PcrBanks) {
+ return EFI_SUCCESS;
+ }
+
+ Status = Tcg2Protocol->SetActivePcrBanks (Tcg2Protocol, PcrBanks);
+
+ return Status;
+}
+
+
+VOID
+CheckSystemConfigSave (
+ SYSTEM_CONFIGURATION *SystemConfigPtr
+ )
+{
+ EFI_STATUS Status;
+ SEC_OPERATION_PROTOCOL *SeCOp;
+ SEC_INFOMATION SeCInfo;
+ UINT8 SecureBootCfg;
+ UINTN DataSize;
+ UINT8 CustomMode;
+
+ if (mUseProductKey != SystemConfigPtr->UseProductKey) {
+ EnableCustomMode ();
+ DeleteKeys ();
+ EnrollKeys ();
+ }
+ DataSize = sizeof (CustomMode);
+ Status = gRT->GetVariable (
+ EFI_CUSTOM_MODE_NAME,
+ &gEfiCustomModeEnableGuid,
+ NULL,
+ &DataSize,
+ &CustomMode
+ );
+
+ if (EFI_ERROR (Status)) {
+ DeleteKeys ();
+ EnrollKeys ();
+ DataSize = sizeof (CustomMode);
+ Status = gRT->GetVariable (
+ EFI_CUSTOM_MODE_NAME,
+ &gEfiCustomModeEnableGuid,
+ NULL,
+ &DataSize,
+ &CustomMode
+ );
+ }
+
+ if (CustomMode != SystemConfigPtr->SecureBootCustomMode) {
+ if (CustomMode == 1) {
+ DeleteKeys ();
+ EnrollKeys ();
+ CustomMode = 0;
+ } else {
+ CustomMode = 1;
+ Status = gRT->SetVariable (
+ EFI_CUSTOM_MODE_NAME,
+ &gEfiCustomModeEnableGuid,
+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
+ sizeof (UINT8),
+ &CustomMode
+ );
+ }
+ }
+
+ Status = gBS->LocateProtocol (
+ &gEfiSeCOperationProtocolGuid,
+ NULL,
+ (VOID **) &SeCOp
+ );
+
+ if (EFI_ERROR (Status)) {
+ return;
+ }
+
+ Status = SeCOp->GetPlatformSeCInfo (&SeCInfo);
+ SeCInfo.SeCEnable = SystemConfigPtr->SecEnable;
+ SeCInfo.FwUpdate = SystemConfigPtr->SecFirmwareUpdate;
+ SeCInfo.HmrfpoEnable = SystemConfigPtr->SecFlashUpdate;
+
+ Status = SeCOp->SetPlatformSeCInfo (&SeCInfo);
+
+ //
+ // Secure Boot configuration changes
+ //
+ Status = gRT->GetVariable (
+ EFI_SECURE_BOOT_ENABLE_NAME,
+ &gEfiSecureBootEnableDisableGuid,
+ NULL,
+ &DataSize,
+ &SecureBootCfg
+ );
+
+ if (EFI_ERROR (Status)) {
+ SecureBootCfg = 0;
+ }
+
+ if ((SecureBootCfg) != SystemConfigPtr->SecureBoot) {
+ SecureBootCfg = !SecureBootCfg;
+
+ Status = gRT->SetVariable (
+ EFI_SECURE_BOOT_ENABLE_NAME,
+ &gEfiSecureBootEnableDisableGuid,
+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
+ sizeof (UINT8),
+ &SecureBootCfg
+ );
+ }
+
+ CheckTPMActivePcrBanks (SystemConfigPtr->TPMSupportedBanks);
+ //
+ // Save TPM device selection and trigger a cold reset to take effect.
+ //
+ SaveTpmDeviceSelection (SystemConfigPtr);
+}
+
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SetupPrivate.h b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SetupPrivate.h
new file mode 100644
index 0000000000..6ce9d485d4
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SetupPrivate.h
@@ -0,0 +1,127 @@
+/** @file
+ Header file for Setup Private data.
+
+ Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>
+
+ 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.
+
+**/
+
+#ifndef __SetupPrivate__H__
+#define __SetupPrivate__H__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef VFRCOMPILE
+#include <Framework/FrameworkInternalFormRepresentation.h>
+#include <Protocol/HiiConfigRouting.h>
+#include <Protocol/HiiConfigAccess.h>
+#include <Protocol/HiiString.h>
+#include <Protocol/HiiDatabase.h>
+#include <Protocol/DevicePath.h>
+#include <Protocol/DiskInfo.h>
+#include <Protocol/IdeControllerInit.h>
+#include <Protocol/PciIo.h>
+#include <Protocol/CpuIo.h>
+#include <Protocol/SmbusHc.h>
+#include <Protocol/MemInfo.h>
+#include <Protocol/LegacyBios.h>
+#include <Library/UefiBootServicesTableLib.h>
+#include <Library/UefiRuntimeServicesTableLib.h>
+#include <Library/UefiLib.h>
+#include <Library/HiiLib.h>
+#include <Library/PrintLib.h>
+#include <Library/BaseMemoryLib.h>
+#include <Library/MemoryAllocationLib.h>
+#include <Library/DebugLib.h>
+#include <Library/HobLib.h>
+#include <Library/IoLib.h>
+#include <Library/DevicePathLib.h>
+#include <Library/PciLib.h>
+#include <Guid/GlobalVariable.h>
+#include <Guid/MdeModuleHii.h>
+#include <Guid/EventGroup.h>
+#include <IndustryStandard/Pci30.h>
+#include <IndustryStandard/SmBios.h>
+#include <IndustryStandard/Acpi.h>
+
+void InitString (EFI_HII_HANDLE HiiHandle, EFI_STRING_ID StrRef, CHAR16 *sFormat, ...);
+
+EFI_STATUS
+HiiLibGetString (
+ IN EFI_HII_HANDLE PackageList,
+ IN EFI_STRING_ID StringId,
+ OUT EFI_STRING String,
+ IN OUT UINTN *StringSize
+ );
+EFI_STRING
+EFIAPI
+HiiConstructRequestString (
+ IN EFI_STRING RequestString, OPTIONAL
+ IN UINTN Offset,
+ IN UINTN Width
+ );
+
+typedef struct {
+ EFI_GUID *pGuid;
+ EFI_HII_CONFIG_ACCESS_PROTOCOL *pFormCallback;
+ UINT16 Class, SubClass;
+ EFI_HII_HANDLE HiiHandle;
+} CALLBACK_INFO;
+
+extern EFI_GUID mSetupGuid;
+extern EFI_GUID mSetupNvramUpdateGuid;
+extern EFI_GUID mSetupEnterGuid;
+extern EFI_GUID mSystemAccessGuid;
+#define INVALID_HII_HANDLE NULL
+
+#endif
+
+#define PLATFORM_SETUP_VARSTORE_NAME PLATFORM_SETUP_VARIABLE_NAME
+
+#define MAIN_FORM_SET_GUID { 0x985eee91, 0xbcac, 0x4238, 0x87, 0x78, 0x57, 0xef, 0xdc, 0x93, 0xf2, 0x4e }
+#define ADVANCED_FORM_SET_GUID { 0xe14f04fa, 0x8706, 0x4353, 0x92, 0xf2, 0x9c, 0x24, 0x24, 0x74, 0x6f, 0x9f }
+#define CHIPSET_FORM_SET_GUID { 0xadfe34c8, 0x9ae1, 0x4f8f, 0xbe, 0x13, 0xcf, 0x96, 0xa2, 0xcb, 0x2c, 0x5b }
+#define BOOT_FORM_SET_GUID { 0x8b33ffe0, 0xd71c, 0x4f82, 0x9c, 0xeb, 0xc9, 0x70, 0x58, 0xc1, 0x3f, 0x8e }
+#define SECURITY_FORM_SET_GUID { 0x981ceaee, 0x931c, 0x4a17, 0xb9, 0xc8, 0x66, 0xc7, 0xbc, 0xfd, 0x77, 0xe1 }
+#define EXIT_FORM_SET_GUID { 0xa43b03dc, 0xc18a, 0x41b1, 0x91, 0xc8, 0x3f, 0xf9, 0xaa, 0xa2, 0x57, 0x13 }
+#define RESET_FORM_SET_GUID { 0x46975fe8, 0x64f6, 0x4692, { 0x8d, 0x64, 0xd5, 0x6a, 0xa7, 0x52, 0xea, 0xa9 } }
+
+#define MAIN_FORM_SET_CLASS 0x01
+#define ADVANCED_FORM_SET_CLASS 0x02
+#define CHIPSET_FORM_SET_CLASS 0x04
+#define BOOT_FORM_SET_CLASS 0x08
+#define SECURITY_FORM_SET_CLASS 0x10
+#define EXIT_FORM_SET_CLASS 0x20
+#define RESET_FORM_SET_CLASS 0x40
+
+#define DEFAULT_BOOT_TIME_OUT 5
+#define LABEL_CPU_RATIO 1
+
+typedef struct {
+ UINT8 SerialDebug;
+ UINT8 SerialDebugBaudRate;
+ UINT8 RamDebugInterface;
+ UINT8 UartDebugInterface;
+ UINT8 Usb2DebugInterface;
+ UINT8 Usb3DebugInterface;
+ UINT8 SerialIoDebugInterface;
+ UINT8 TraceHubDebugInterface;
+} DEBUG_CONFIG_DATA;
+
+//
+// DO NOT WRITE BELOW THIS LINE
+//
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SouthClusterConfig.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SouthClusterConfig.vfi
new file mode 100644
index 0000000000..84ae466730
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SouthClusterConfig.vfi
@@ -0,0 +1,3198 @@
+// /** @file
+// South Cluster Setup formset.
+//
+// Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
+//
+// 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.
+//
+// **/
+
+
+//
+// South Cluster Configuration Form
+//
+
+form formid = SOUTH_CLUSTER_FORM_ID,
+ title = STRING_TOKEN(STR_SOUTH_CLUSTER_TITLE);
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ //
+ // Jump to HD-Audio Configuration Form
+ //
+ goto HDAUDIO_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_HDAUDIO_OPTIONS_FORM_TITLE),
+ help = STRING_TOKEN(STR_HDAUDIO_OPTIONS_FORM_HELP);
+
+ //
+ // Jump to GMM Configuration Form
+ //
+ goto GMM_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_GMM_OPTIONS_FORM_TITLE),
+ help = STRING_TOKEN(STR_GMM_OPTIONS_FORM_HELP);
+
+ //
+ // Jump to ISH Configuration Form
+ //
+ goto ISH_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_ISH_OPTIONS_FORM_TITLE),
+ help = STRING_TOKEN(STR_ISH_OPTIONS_FORM_HELP);
+
+ //
+ // Jump to LPSS Configuration Form
+ //
+ goto LPSS_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_LPSS_FORM_TITLE),
+ help = STRING_TOKEN(STR_LPSS_FORM_HELP);
+
+ //
+ // Jump to PCIe Configuration Form
+ //
+ goto PCIE_DEVICE_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_PCIE_OPTIONS_FORM_TITLE),
+ help = STRING_TOKEN(STR_PCIE_OPTIONS_FORM_HELP);
+
+ //
+ // Jump to SATA Configuration Form
+ //
+ goto SATA_CONFIGURATION_ID,
+ prompt = STRING_TOKEN(STR_SATA_FORM_TITLE),
+ help = STRING_TOKEN(STR_SATA_FORM_HELP);
+ //
+ // Jump to SCC Configuration Form
+ //
+ goto SCC_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_SCC_OPTIONS_FORM_TITLE),
+ help = STRING_TOKEN(STR_SCC_OPTIONS_FORM_HELP);
+
+ //
+ // Jump to USB Configuration Form
+ //
+ goto USB_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_USB_OPTIONS_FORM_TITLE),
+ help = STRING_TOKEN(STR_USB_OPTIONS_FORM_HELP);
+
+ //
+ // Jump to Misc Configuration Form
+ //
+ goto MISC_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_MISC_OPTION_FORM_TITLE),
+ help = STRING_TOKEN(STR_MISC_OPTION_FORM_HELP);
+
+endform;
+
+//
+// Misc Configurations
+//
+form formid = MISC_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_MISC_OPTION_FORM_TITLE);
+ subtitle text = STRING_TOKEN(STR_MISC_OPTION_FORM_TITLE);
+
+ oneof varid = Setup.Hpet,
+ prompt = STRING_TOKEN(STR_HPET_PROMPT),
+ help = STRING_TOKEN(STR_HPET_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.Cg8254,
+ prompt = STRING_TOKEN(STR_8254CG_PROMPT),
+ help = STRING_TOKEN(STR_8254CG_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.StateAfterG3,
+ prompt = STRING_TOKEN(STR_STATE_AFTER_G3),
+ help = STRING_TOKEN(STR_STATE_AFTER_G3_HELP),
+ option text = STRING_TOKEN(STR_S0_AFTER_G3_STRING), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_S5_AFTER_G3_STRING), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PowerButterDebounceMode,
+ prompt = STRING_TOKEN(STR_POWER_BUTTON_DEBOUNCE_MODE),
+ help = STRING_TOKEN(STR_POWER_BUTTON_DEBOUNCE_MODE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.EnableClockSpreadSpec,
+ prompt = STRING_TOKEN(STR_CLOCK_SPREAD_SPEC_ENABLE),
+ help = STRING_TOKEN(STR_CLOCK_SPREAD_SPEC_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.UartInterface,
+ prompt = STRING_TOKEN(STR_PCH_UART_SELECT),
+ help = STRING_TOKEN(STR_PCH_UART_SELECT_HELP),
+ option text = STRING_TOKEN(STR_UART_SELECT_PCU), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_UART_SELECT_SIO), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.Wol,
+ prompt = STRING_TOKEN(STR_WAKE_ON_LAN_PROMPT),
+ help = STRING_TOKEN(STR_WAKE_ON_LAN_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ oneof varid = Setup.ScBiosLock,
+ prompt = STRING_TOKEN(STR_PCH_BLE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_BLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ oneof varid = Setup.RtcLock,
+ prompt = STRING_TOKEN(STR_PCH_RTC_LOCK_PROMPT),
+ help = STRING_TOKEN(STR_PCH_RTC_LOCK_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ oneof varid = Setup.FprrEnable,
+ prompt = STRING_TOKEN(STR_FPRR_ENABLE),
+ help = STRING_TOKEN(STR_FPRR_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ oneof varid = Setup.TcoLock,
+ prompt = STRING_TOKEN(STR_TCO_LOCK_PROMPT),
+ help = STRING_TOKEN(STR_TCO_LOCK_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.DciEn,
+ prompt = STRING_TOKEN(STR_DCI_HDCIEN_PROMPT),
+ help = STRING_TOKEN(STR_DCI_HDCIEN_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.DciEn == 1;
+ oneof varid = Setup.DciAutoDetect,
+ prompt = STRING_TOKEN(STR_DCI_AUTO_PROMPT),
+ help = STRING_TOKEN(STR_DCI_AUTO_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.GpioLock,
+ prompt = STRING_TOKEN(STR_GPIOLOCK_PROMPT),
+ help = STRING_TOKEN(STR_GPIOLOCK_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ subtitle text = STRING_TOKEN(STR_LPSS_DEVICE_SETTING_SUBTITLE);
+
+ oneof varid = SETUP_DATA.SelectBtDevice,
+ prompt = STRING_TOKEN(STR_PCH_SERIAL_IO_BLUETOOTH_DEVICE),
+ help = STRING_TOKEN(STR_PCH_SERIAL_IO_BLUETOOTH_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_BT_BCM2E40), value = 1, flags = RESET_REQUIRED;
+// option text = STRING_TOKEN(STR_BT_BCM2EA1), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.I2s343A,
+ prompt = STRING_TOKEN(STR_I2C_DEVICE_CODEC_INT343A_PROMPT),
+ help = STRING_TOKEN(STR_I2C_DEVICE_CODEC_INT343A_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.I2s34C1,
+ prompt = STRING_TOKEN(STR_I2C_DEVICE_CODEC_INT34C1_PROMPT),
+ help = STRING_TOKEN(STR_I2C_DEVICE_CODEC_INT34C1_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.I2cNfc,
+ prompt = STRING_TOKEN(STR_I2C_DEVICE_NFC_PROMPT),
+ help = STRING_TOKEN(STR_I2C_DEVICE_NFC_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.I2cPss,
+ prompt = STRING_TOKEN(STR_I2C_DEVICE_PSS_PROMPT),
+ help = STRING_TOKEN(STR_I2C_DEVICE_PSS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.UartGps,
+ prompt = STRING_TOKEN(STR_UART_DEVICE_GPS_PROMPT),
+ help = STRING_TOKEN(STR_UART_DEVICE_GPS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.Spi1SensorDevice,
+ prompt = STRING_TOKEN(STR_SPI1_FPS_PROMPT),
+ help = STRING_TOKEN(STR_SPI1_FPS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SPI1_FPS_FPC1020), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SPI1_FPS_FPC1021), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.I2cTouchPanel,
+ prompt = STRING_TOKEN(STR_I2C_DEVICE_TOUCHPANEL_PROMPT),
+ help = STRING_TOKEN(STR_I2C_DEVICE_TOUCHPANEL_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.I2cTouchPad,
+ prompt = STRING_TOKEN(STR_I2C_DEVICE_TOUCHPAD_PROMPT),
+ help = STRING_TOKEN(STR_I2C_DEVICE_TOUCHPAD_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+endform;
+
+//
+// LAN Configurations
+//
+//
+// ISH Configurations
+//
+form formid = ISH_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_ISH_OPTIONS_FORM_TITLE);
+ subtitle text = STRING_TOKEN(STR_ISH_OPTIONS_FORM_TITLE);
+
+ oneof varid = Setup.ScIshEnabled,
+ prompt = STRING_TOKEN(STR_ISH_PROMPT),
+ help = STRING_TOKEN(STR_ISH_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+endform; // End of ISH Configurations
+
+//
+// LPSS Configurations
+//
+form formid = LPSS_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_LPSS_FORM_TITLE);
+ subtitle text = STRING_TOKEN(STR_LPSS_SETTING_SUBTITLE);
+
+ oneof varid = Setup.LpssI2C0Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_I2C0_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_I2C0_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_MODE_STRING), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.LpssI2C0Enabled == 0;
+ oneof varid = Setup.I2C0Speed,
+ prompt = STRING_TOKEN(STR_LPSS_I2C0_SPEED),
+ help = STRING_TOKEN(STR_LPSS_I2C0_SPEED_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_SSCN), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_FMCN), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_FPCN), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_HSCN), value = 4, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.LpssI2C1Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_I2C1_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_I2C1_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_MODE_STRING), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.LpssI2C1Enabled == 0;
+ oneof varid = Setup.I2C1Speed,
+ prompt = STRING_TOKEN(STR_LPSS_I2C1_SPEED),
+ help = STRING_TOKEN(STR_LPSS_I2C1_SPEED_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_SSCN), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_FMCN), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_FPCN), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_HSCN), value = 4, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.LpssI2C2Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_I2C2_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_I2C2_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_MODE_STRING), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.LpssI2C2Enabled == 0;
+ oneof varid = Setup.I2C2Speed,
+ prompt = STRING_TOKEN(STR_LPSS_I2C2_SPEED),
+ help = STRING_TOKEN(STR_LPSS_I2C2_SPEED_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_SSCN), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_FMCN), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_FPCN), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_HSCN), value = 4, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.LpssI2C3Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_I2C3_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_I2C3_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_MODE_STRING), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.LpssI2C3Enabled == 0;
+ oneof varid = Setup.I2C3Speed,
+ prompt = STRING_TOKEN(STR_LPSS_I2C3_SPEED),
+ help = STRING_TOKEN(STR_LPSS_I2C3_SPEED_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_SSCN), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_FMCN), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_FPCN), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_HSCN), value = 4, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.LpssI2C4Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_I2C4_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_I2C4_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_MODE_STRING), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.LpssI2C4Enabled == 0;
+ oneof varid = Setup.I2C4Speed,
+ prompt = STRING_TOKEN(STR_LPSS_I2C4_SPEED),
+ help = STRING_TOKEN(STR_LPSS_I2C4_SPEED_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_SSCN), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_FMCN), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_FPCN), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_HSCN), value = 4, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.LpssI2C5Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_I2C5_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_I2C5_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_MODE_STRING), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.LpssI2C5Enabled == 0;
+ oneof varid = Setup.I2C5Speed,
+ prompt = STRING_TOKEN(STR_LPSS_I2C5_SPEED),
+ help = STRING_TOKEN(STR_LPSS_I2C5_SPEED_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_SSCN), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_FMCN), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_FPCN), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_HSCN), value = 4, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.LpssI2C6Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_I2C6_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_I2C6_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_MODE_STRING), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.LpssI2C6Enabled == 0;
+ oneof varid = Setup.I2C6Speed,
+ prompt = STRING_TOKEN(STR_LPSS_I2C6_SPEED),
+ help = STRING_TOKEN(STR_LPSS_I2C6_SPEED_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_SSCN), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_FMCN), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_FPCN), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_HSCN), value = 4, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.LpssI2C7Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_I2C7_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_I2C7_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_MODE_STRING), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.LpssI2C7Enabled == 0;
+ oneof varid = Setup.I2C7Speed,
+ prompt = STRING_TOKEN(STR_LPSS_I2C7_SPEED),
+ help = STRING_TOKEN(STR_LPSS_I2C7_SPEED_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_SSCN), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_FMCN), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_FPCN), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_SPEED_HSCN), value = 4, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ oneof varid = Setup.LpssHsuart0Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_HSUART0_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_HSUART0_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_MODE_STRING), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssHsuart1Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_HSUART1_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_HSUART1_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_MODE_STRING), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssHsuart2Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_HSUART2_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_HSUART2_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_MODE_STRING), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssHsuart3Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_HSUART3_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_HSUART3_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_MODE_STRING), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssSpi0Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_SPI0_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_SPI0_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_MODE_STRING), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssSpi1Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_SPI1_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_SPI1_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_MODE_STRING), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssSpi2Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_SPI2_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_SPI2_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_MODE_STRING), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ oneof varid = Setup.LpssNFCSelect,
+ prompt = STRING_TOKEN(STR_LPSS_NFC_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_NFC_HELP),
+ option text = STRING_TOKEN(STR_AUTO), value=0, flags=DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LPSS_NFC1), value=1, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LPSS_NFC2), value=2, flags=0 | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.GpsModeSel,
+ prompt = STRING_TOKEN(STR_GPS_MODE_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_GPS_HELP),
+ option text = STRING_TOKEN(STR_LPSS_GPS), value=0, flags= DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ISH_GPS), value=1, flags= 0 | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.S0ixEnable,
+ prompt = STRING_TOKEN(STR_LPSS_PMCTL_S0IX_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_PMCTL_S0IX_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value=0, flags= RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value=1, flags= DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_LPSS_CLOCK_GATE_SETTING_SUBTITLE);
+
+ oneof varid = Setup.LpssI2cClkGateCfg[0],
+ prompt = STRING_TOKEN(STR_LPSS_I2C0_CLK_GATING_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_I2C0_CLK_GATING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssI2cClkGateCfg[1],
+ prompt = STRING_TOKEN(STR_LPSS_I2C1_CLK_GATING_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_I2C1_CLK_GATING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssI2cClkGateCfg[2],
+ prompt = STRING_TOKEN(STR_LPSS_I2C2_CLK_GATING_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_I2C2_CLK_GATING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssI2cClkGateCfg[3],
+ prompt = STRING_TOKEN(STR_LPSS_I2C3_CLK_GATING_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_I2C3_CLK_GATING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssI2cClkGateCfg[4],
+ prompt = STRING_TOKEN(STR_LPSS_I2C4_CLK_GATING_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_I2C4_CLK_GATING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssI2cClkGateCfg[5],
+ prompt = STRING_TOKEN(STR_LPSS_I2C5_CLK_GATING_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_I2C5_CLK_GATING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssI2cClkGateCfg[6],
+ prompt = STRING_TOKEN(STR_LPSS_I2C6_CLK_GATING_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_I2C6_CLK_GATING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssI2cClkGateCfg[7],
+ prompt = STRING_TOKEN(STR_LPSS_I2C7_CLK_GATING_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_I2C7_CLK_GATING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssHsuartClkGateCfg[0],
+ prompt = STRING_TOKEN(STR_LPSS_HSUART0_CLK_GATING_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_HSUART0_CLK_GATING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssHsuartClkGateCfg[1],
+ prompt = STRING_TOKEN(STR_LPSS_HSUART1_CLK_GATING_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_HSUART1_CLK_GATING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssHsuartClkGateCfg[2],
+ prompt = STRING_TOKEN(STR_LPSS_HSUART2_CLK_GATING_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_HSUART2_CLK_GATING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssHsuartClkGateCfg[3],
+ prompt = STRING_TOKEN(STR_LPSS_HSUART3_CLK_GATING_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_HSUART3_CLK_GATING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssSpiClkGateCfg[0],
+ prompt = STRING_TOKEN(STR_LPSS_SPI0_CLK_GATING_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_SPI0_CLK_GATING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssSpiClkGateCfg[1],
+ prompt = STRING_TOKEN(STR_LPSS_SPI1_CLK_GATING_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_SPI1_CLK_GATING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.LpssSpiClkGateCfg[2],
+ prompt = STRING_TOKEN(STR_LPSS_SPI2_CLK_GATING_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_SPI2_CLK_GATING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+endform; // End of LPSS_OPTIONS_FORM_ID
+
+form formid = SCC_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_SCC_OPTIONS_FORM_TITLE);
+
+ oneof varid = Setup.SccSdcardEnabled,
+ prompt = STRING_TOKEN(STR_SCC_SDCARD_PROMPT),
+ help = STRING_TOKEN(STR_SCC_SDCARD_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ScceMMCEnabled,
+ prompt = STRING_TOKEN(STR_SCC_EMMC_PROMPT),
+ help = STRING_TOKEN(STR_SCC_EMMC_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.ScceMMCEnabled == 0;
+ oneof varid = SETUP_DATA.ScceMMCHostMaxSpeed,
+ prompt = STRING_TOKEN(STR_SCC_EMMC_SPEED_PROMPT),
+ help = STRING_TOKEN(STR_SCC_EMMC_SPEED_HELP),
+ option text = STRING_TOKEN(STR_HS400), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_HS200), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DDR50), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.SccSdioEnabled,
+ prompt = STRING_TOKEN(STR_SCC_SDIO_PROMPT),
+ help = STRING_TOKEN(STR_SCC_SDIO_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+
+endform; // End of SCC_OPTIONS_FORM_ID
+
+//
+// PCIe Configurations
+//
+form formid = PCIE_DEVICE_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_PCIE_OPTIONS_FORM_TITLE);
+ subtitle text = STRING_TOKEN(STR_PCIE_OPTIONS_FORM_TITLE);
+
+ oneof varid = Setup.PcieClockGatingDisabled,
+ prompt = STRING_TOKEN(STR_PCIE_CKG_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_CKG_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_PCIE_LAN_PROMPT),
+ text = STRING_TOKEN(STR_PCIE_LAN_VALUE),
+ flags = 0, key = 0;
+
+ oneof varid = Setup.PcieRootPort8xhDecode,
+ prompt = STRING_TOKEN(STR_PCH_PCIE_PORT8XH_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_PORT8XH_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.PcieRootPort8xhDecode == 0;
+ numeric varid = Setup.Pcie8xhDecodePortIndex,
+ prompt = STRING_TOKEN (STR_PCH_PCIE_PORT8XH_PORT_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_PORT8XH_PORT_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 20,
+ step = 1, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 0, // PCIe Port0 as default
+ endnumeric;
+ endif;
+
+ oneof varid = Setup.PcieRootPortPeerMemoryWriteEnable,
+ prompt = STRING_TOKEN(STR_PCH_PCIE_PEERMEMORYWRITE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_PEERMEMORYWRITE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieComplianceMode,
+ prompt = STRING_TOKEN(STR_PCIE_COMPLIANCE_MODE_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_COMPLIANCE_MODE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ goto PCIERP1_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_PCH_PCIERP1_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIERP_HELP);
+
+ goto PCIERP2_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_PCH_PCIERP2_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIERP_HELP);
+
+ goto PCIERP3_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_PCH_PCIERP3_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIERP_HELP);
+
+ goto PCIERP4_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_PCH_PCIERP4_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIERP_HELP);
+
+ goto PCIERP5_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_PCH_PCIERP5_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIERP_HELP);
+
+ goto PCIERP6_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_PCH_PCIERP6_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIERP_HELP);
+
+endform; //End of PCIE_DEVICE_OPTIONS_FORM_ID
+
+//------------------------------------------------------------------------------------
+
+form formid = PCIERP1_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_PCH_PCIERP1_PROMPT);
+
+ oneof varid = Setup.PcieRootPortEn[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIERP1_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIERP_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_DIS_TO_EN_HELP),
+ flags = 0,
+ key = 0;
+
+ suppressif ideqval Setup.PcieRootPortEn[OFFSET_0] == 0x0;
+ oneof varid = Setup.PcieRootPortAspm[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCIE_ASPM_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_ASPM_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L0S_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L1_STRING), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L0SL1_STRING), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 4, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortL1SubStates[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCIE_L1SUB_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_L1SUB_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_1_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_2_STRING), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_1_2_STRING), value = 3, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortACS[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCIE_ACS_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_ACS_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortURE[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_URE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_URE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortFEE[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_FEE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_FEE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortNFE[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NFE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NFE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortCEE[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_CEE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_CEE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortCTD[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_CTD_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_CTD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSFE[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SFE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SFE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSNE[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SNE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SNE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSCE[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SCE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SCE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortPMCE[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_PMCE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_PMCE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortHPE[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_HPE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_HPE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSpeed[OFFSET_0],
+ prompt = STRING_TOKEN (STR_PCIE_SPEED_PROMPT),
+ help = STRING_TOKEN (STR_PCIE_SPEED_HELP),
+ option text = STRING_TOKEN (STR_AUTO), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_GEN1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_GEN2), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_GEN3), value = 3, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortTHS[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_THS_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_THS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ numeric varid = Setup.PcieExtraBusRsvd[OFFSET_0],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RBUS_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RBUS_HELP),
+ minimum = 0,
+ maximum = 7,
+ step = 1, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 0, // default no extra bus reserved
+ endnumeric;
+
+ numeric varid = Setup.PcieMemRsvd[OFFSET_0],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RMEM_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RMEM_HELP),
+ minimum = 1,
+ maximum = 20,
+ step = 1, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 10, // Default 10MB Memory Reserved
+ endnumeric;
+
+ numeric varid = Setup.PcieIoRsvd[OFFSET_0],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RVIO_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RVIO_HELP),
+ minimum = 4,
+ maximum = 20,
+ step = 4, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 4, // Default 4K IO Reserved
+ endnumeric;
+
+ subtitle text = STRING_TOKEN(STR_PCH_PCIE_LTR_CONFIG);
+
+ oneof varid = Setup.PchPcieLtrEnable[OFFSET_0],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_LTR_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_LTR_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.PchPcieLtrEnable[OFFSET_0] == 0;
+ oneof varid = Setup.PchPcieSnoopLatencyOverrideMode[OFFSET_0],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_SL_OVRD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_SL_OVRD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MANUAL_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTO_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif NOT ideqval Setup.PchPcieSnoopLatencyOverrideMode[OFFSET_0] == 1;
+ numeric varid = Setup.PchPcieSnoopLatencyOverrideValue[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SL_VAL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SL_VAL_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 1023,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ oneof varid = Setup.PchPcieSnoopLatencyOverrideMultiplier[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SL_SCALE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SL_SCALE_HELP),
+ option text = STRING_TOKEN(STR_LTR_SCALE_0), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_2), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_3), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_4), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_5), value = 5, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.PchPcieNonSnoopLatencyOverrideMode[OFFSET_0],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_NSL_OVRD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_NSL_OVRD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MANUAL_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTO_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif NOT ideqval Setup.PchPcieNonSnoopLatencyOverrideMode[OFFSET_0] == 1;
+ numeric varid = Setup.PchPcieNonSnoopLatencyOverrideValue[0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NSL_VAL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NSL_VAL_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 1023,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ oneof varid = Setup.PchPcieNonSnoopLatencyOverrideMultiplier[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NSL_SCALE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NSL_SCALE_HELP),
+ option text = STRING_TOKEN(STR_LTR_SCALE_0), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_2), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_3), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_4), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_5), value = 5, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+ endif;
+
+ oneof varid = Setup.PchPcieLtrConfigLock[OFFSET_0],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_LTRLOCK_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_LTRLOCK_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ oneof varid = Setup.PcieRootPortSelectableDeemphasis[OFFSET_0],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_SD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_SD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ endif;
+endform; //End of PCIERP1_OPTIONS_FORM_ID
+
+//------------------------------------------------------------------------------------
+
+form formid = PCIERP2_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_PCH_PCIERP2_PROMPT);
+
+
+ oneof varid = Setup.PcieRootPortEn[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIERP2_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIERP_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_DIS_TO_EN_HELP),
+ flags = 0,
+ key = 0;
+
+ suppressif ideqval Setup.PcieRootPortEn[OFFSET_1] == 0x0;
+ oneof varid = Setup.PcieRootPortAspm[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCIE_ASPM_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_ASPM_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L0S_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L1_STRING), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L0SL1_STRING), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 4, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortL1SubStates[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCIE_L1SUB_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_L1SUB_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_1_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_2_STRING), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_1_2_STRING), value = 3, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortACS[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCIE_ACS_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_ACS_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortURE[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_URE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_URE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortFEE[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_FEE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_FEE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortNFE[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NFE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NFE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortCEE[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_CEE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_CEE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortCTD[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_CTD_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_CTD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSFE[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SFE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SFE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSNE[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SNE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SNE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSCE[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SCE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SCE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortPMCE[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_PMCE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_PMCE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortHPE[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_HPE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_HPE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSpeed[OFFSET_1],
+ prompt = STRING_TOKEN (STR_PCIE_SPEED_PROMPT),
+ help = STRING_TOKEN (STR_PCIE_SPEED_HELP),
+ option text = STRING_TOKEN (STR_AUTO), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_GEN1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_GEN2), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortTHS[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_THS_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_THS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ numeric varid = Setup.PcieExtraBusRsvd[OFFSET_1],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RBUS_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RBUS_HELP),
+ minimum = 0,
+ maximum = 7,
+ step = 1, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 0, // default no extra bus reserved
+ endnumeric;
+
+ numeric varid = Setup.PcieMemRsvd[OFFSET_1],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RMEM_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RMEM_HELP),
+ minimum = 1,
+ maximum = 20,
+ step = 1, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 10, // Default 10MB Memory Reserved
+ endnumeric;
+
+ numeric varid = Setup.PcieIoRsvd[OFFSET_1],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RVIO_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RVIO_HELP),
+ minimum = 4,
+ maximum = 20,
+ step = 4, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 4, // Default 4K IO Reserved
+ endnumeric;
+
+ subtitle text = STRING_TOKEN(STR_PCH_PCIE_LTR_CONFIG);
+
+ oneof varid = Setup.PchPcieLtrEnable[OFFSET_1],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_LTR_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_LTR_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.PchPcieLtrEnable[OFFSET_1] == 0;
+ oneof varid = Setup.PchPcieSnoopLatencyOverrideMode[OFFSET_1],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_SL_OVRD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_SL_OVRD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MANUAL_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTO_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif NOT ideqval Setup.PchPcieSnoopLatencyOverrideMode[OFFSET_1] == 1;
+ numeric varid = Setup.PchPcieSnoopLatencyOverrideValue[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SL_VAL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SL_VAL_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 1023,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ oneof varid = Setup.PchPcieSnoopLatencyOverrideMultiplier[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SL_SCALE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SL_SCALE_HELP),
+ option text = STRING_TOKEN(STR_LTR_SCALE_0), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_2), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_3), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_4), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_5), value = 5, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.PchPcieNonSnoopLatencyOverrideMode[OFFSET_1],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_NSL_OVRD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_NSL_OVRD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MANUAL_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTO_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif NOT ideqval Setup.PchPcieNonSnoopLatencyOverrideMode[OFFSET_1] == 1;
+ numeric varid = Setup.PchPcieNonSnoopLatencyOverrideValue[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NSL_VAL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NSL_VAL_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 1023,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ oneof varid = Setup.PchPcieNonSnoopLatencyOverrideMultiplier[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NSL_SCALE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NSL_SCALE_HELP),
+ option text = STRING_TOKEN(STR_LTR_SCALE_0), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_2), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_3), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_4), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_5), value = 5, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+ endif;
+
+ oneof varid = Setup.PchPcieLtrConfigLock[OFFSET_1],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_LTRLOCK_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_LTRLOCK_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ oneof varid = Setup.PcieRootPortSelectableDeemphasis[OFFSET_1],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_SD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_SD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ endif;
+endform; //End of PCIERP2_OPTIONS_FORM_ID
+
+//------------------------------------------------------------------------------------
+
+form formid = PCIERP3_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_PCH_PCIERP3_PROMPT);
+
+
+ oneof varid = Setup.PcieRootPortEn[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIERP3_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIERP_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_DIS_TO_EN_HELP),
+ flags = 0,
+ key = 0;
+
+ suppressif ideqval Setup.PcieRootPortEn[OFFSET_2] == 0x0;
+ oneof varid = Setup.PcieRootPortAspm[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCIE_ASPM_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_ASPM_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L0S_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L1_STRING), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L0SL1_STRING), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 4, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortL1SubStates[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCIE_L1SUB_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_L1SUB_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_1_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_2_STRING), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_1_2_STRING), value = 3, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortACS[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCIE_ACS_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_ACS_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortURE[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_URE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_URE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortFEE[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_FEE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_FEE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortNFE[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NFE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NFE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortCEE[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_CEE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_CEE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortCTD[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_CTD_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_CTD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSFE[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SFE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SFE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSNE[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SNE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SNE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSCE[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SCE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SCE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortPMCE[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_PMCE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_PMCE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortHPE[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_HPE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_HPE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSpeed[OFFSET_2],
+ prompt = STRING_TOKEN (STR_PCIE_SPEED_PROMPT),
+ help = STRING_TOKEN (STR_PCIE_SPEED_HELP),
+ option text = STRING_TOKEN (STR_AUTO), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_GEN1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_GEN2), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_GEN3), value = 3, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortTHS[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_THS_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_THS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ numeric varid = Setup.PcieExtraBusRsvd[OFFSET_2],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RBUS_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RBUS_HELP),
+ minimum = 0,
+ maximum = 7,
+ step = 1, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 0, // default no extra bus reserved
+ endnumeric;
+
+ numeric varid = Setup.PcieMemRsvd[OFFSET_2],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RMEM_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RMEM_HELP),
+ minimum = 1,
+ maximum = 20,
+ step = 1, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 10, // Default 10MB Memory Reserved
+ endnumeric;
+
+ numeric varid = Setup.PcieIoRsvd[OFFSET_2],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RVIO_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RVIO_HELP),
+ minimum = 4,
+ maximum = 20,
+ step = 4, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 4, // Default 4K IO Reserved
+ endnumeric;
+
+ subtitle text = STRING_TOKEN(STR_PCH_PCIE_LTR_CONFIG);
+
+ oneof varid = Setup.PchPcieLtrEnable[OFFSET_2],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_LTR_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_LTR_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.PchPcieLtrEnable[OFFSET_2] == 0;
+ oneof varid = Setup.PchPcieSnoopLatencyOverrideMode[OFFSET_2],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_SL_OVRD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_SL_OVRD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MANUAL_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTO_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif NOT ideqval Setup.PchPcieSnoopLatencyOverrideMode[OFFSET_2] == 1;
+ numeric varid = Setup.PchPcieSnoopLatencyOverrideValue[0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SL_VAL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SL_VAL_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 1023,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ oneof varid = Setup.PchPcieSnoopLatencyOverrideMultiplier[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SL_SCALE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SL_SCALE_HELP),
+ option text = STRING_TOKEN(STR_LTR_SCALE_0), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_2), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_3), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_4), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_5), value = 5, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.PchPcieNonSnoopLatencyOverrideMode[OFFSET_2],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_NSL_OVRD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_NSL_OVRD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MANUAL_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTO_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif NOT ideqval Setup.PchPcieNonSnoopLatencyOverrideMode[OFFSET_2] == 1;
+ numeric varid = Setup.PchPcieNonSnoopLatencyOverrideValue[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NSL_VAL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NSL_VAL_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 1023,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ oneof varid = Setup.PchPcieNonSnoopLatencyOverrideMultiplier[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NSL_SCALE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NSL_SCALE_HELP),
+ option text = STRING_TOKEN(STR_LTR_SCALE_0), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_2), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_3), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_4), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_5), value = 5, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+ endif;
+
+ oneof varid = Setup.PchPcieLtrConfigLock[OFFSET_2],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_LTRLOCK_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_LTRLOCK_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ oneof varid = Setup.PcieRootPortSelectableDeemphasis[OFFSET_2],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_SD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_SD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ endif;
+endform; //End of PCIERP3_OPTIONS_FORM_ID
+
+//------------------------------------------------------------------------------------
+
+form formid = PCIERP4_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_PCH_PCIERP4_PROMPT);
+
+
+ oneof varid = Setup.PcieRootPortEn[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIERP4_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIERP_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_DIS_TO_EN_HELP),
+ flags = 0,
+ key = 0;
+
+ suppressif ideqval Setup.PcieRootPortEn[OFFSET_3] == 0x0;
+ oneof varid = Setup.PcieRootPortAspm[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCIE_ASPM_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_ASPM_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L0S_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L1_STRING), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L0SL1_STRING), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 4, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortL1SubStates[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCIE_L1SUB_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_L1SUB_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_1_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_2_STRING), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_1_2_STRING), value = 3, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortACS[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCIE_ACS_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_ACS_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortURE[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_URE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_URE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortFEE[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_FEE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_FEE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortNFE[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NFE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NFE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortCEE[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_CEE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_CEE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortCTD[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_CTD_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_CTD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSFE[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SFE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SFE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSNE[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SNE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SNE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSCE[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SCE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SCE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortPMCE[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_PMCE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_PMCE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortHPE[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_HPE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_HPE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSpeed[OFFSET_3],
+ prompt = STRING_TOKEN (STR_PCIE_SPEED_PROMPT),
+ help = STRING_TOKEN (STR_PCIE_SPEED_HELP),
+ option text = STRING_TOKEN (STR_AUTO), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_GEN1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_GEN2), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortTHS[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_THS_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_THS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ numeric varid = Setup.PcieExtraBusRsvd[OFFSET_3],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RBUS_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RBUS_HELP),
+ minimum = 0,
+ maximum = 7,
+ step = 1, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 0, // default no extra bus reserved
+ endnumeric;
+
+ numeric varid = Setup.PcieMemRsvd[OFFSET_3],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RMEM_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RMEM_HELP),
+ minimum = 1,
+ maximum = 20,
+ step = 1, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 10, // Default 10MB Memory Reserved
+ endnumeric;
+
+ numeric varid = Setup.PcieIoRsvd[OFFSET_3],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RVIO_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RVIO_HELP),
+ minimum = 4,
+ maximum = 20,
+ step = 4, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 4, // Default 4K IO Reserved
+ endnumeric;
+
+ subtitle text = STRING_TOKEN(STR_PCH_PCIE_LTR_CONFIG);
+
+ oneof varid = Setup.PchPcieLtrEnable[OFFSET_3],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_LTR_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_LTR_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.PchPcieLtrEnable[OFFSET_3] == 0;
+ oneof varid = Setup.PchPcieSnoopLatencyOverrideMode[OFFSET_3],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_SL_OVRD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_SL_OVRD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MANUAL_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTO_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif NOT ideqval Setup.PchPcieSnoopLatencyOverrideMode[OFFSET_3] == 1;
+ numeric varid = Setup.PchPcieSnoopLatencyOverrideValue[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SL_VAL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SL_VAL_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 1023,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ oneof varid = Setup.PchPcieSnoopLatencyOverrideMultiplier[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SL_SCALE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SL_SCALE_HELP),
+ option text = STRING_TOKEN(STR_LTR_SCALE_0), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_2), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_3), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_4), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_5), value = 5, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.PchPcieNonSnoopLatencyOverrideMode[OFFSET_3],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_NSL_OVRD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_NSL_OVRD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MANUAL_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTO_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif NOT ideqval Setup.PchPcieNonSnoopLatencyOverrideMode[OFFSET_3] == 1;
+ numeric varid = Setup.PchPcieNonSnoopLatencyOverrideValue[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NSL_VAL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NSL_VAL_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 1023,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ oneof varid = Setup.PchPcieNonSnoopLatencyOverrideMultiplier[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NSL_SCALE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NSL_SCALE_HELP),
+ option text = STRING_TOKEN(STR_LTR_SCALE_0), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_2), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_3), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_4), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_5), value = 5, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+ endif;
+
+ oneof varid = Setup.PchPcieLtrConfigLock[OFFSET_3],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_LTRLOCK_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_LTRLOCK_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ oneof varid = Setup.PcieRootPortSelectableDeemphasis[OFFSET_3],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_SD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_SD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ endif;
+endform; //End of PCIERP4_OPTIONS_FORM_ID
+
+//--------------------------------------------------------------------------------
+
+form formid = PCIERP5_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_PCH_PCIERP5_PROMPT);
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ oneof varid = Setup.PcieRootPortEn[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCH_PCIERP5_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIERP_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_DIS_TO_EN_HELP),
+ flags = 0,
+ key = 0;
+
+ suppressif ideqval Setup.PcieRootPortEn[OFFSET_4] == 0x0;
+ oneof varid = Setup.PcieRootPortAspm[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCIE_ASPM_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_ASPM_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L0S_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L1_STRING), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L0SL1_STRING), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 4, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortL1SubStates[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCIE_L1SUB_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_L1SUB_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_1_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_2_STRING), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_1_2_STRING), value = 3, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortACS[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCIE_ACS_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_ACS_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortURE[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_URE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_URE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortFEE[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_FEE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_FEE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortNFE[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NFE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NFE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortCEE[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_CEE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_CEE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortCTD[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_CTD_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_CTD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSFE[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SFE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SFE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSNE[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SNE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SNE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSCE[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SCE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SCE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortPMCE[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_PMCE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_PMCE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortHPE[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_HPE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_HPE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSpeed[OFFSET_4],
+ prompt = STRING_TOKEN (STR_PCIE_SPEED_PROMPT),
+ help = STRING_TOKEN (STR_PCIE_SPEED_HELP),
+ option text = STRING_TOKEN (STR_AUTO), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_GEN1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_GEN2), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortTHS[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_THS_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_THS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ numeric varid = Setup.PcieExtraBusRsvd[OFFSET_4],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RBUS_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RBUS_HELP),
+ minimum = 0,
+ maximum = 7,
+ step = 1, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 0, // default no extra bus reserved
+ endnumeric;
+
+ numeric varid = Setup.PcieMemRsvd[OFFSET_4],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RMEM_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RMEM_HELP),
+ minimum = 1,
+ maximum = 20,
+ step = 1, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 10, // Default 10MB Memory Reserved
+ endnumeric;
+
+ numeric varid = Setup.PcieIoRsvd[OFFSET_4],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RVIO_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RVIO_HELP),
+ minimum = 4,
+ maximum = 20,
+ step = 4, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 4, // Default 4K IO Reserved
+ endnumeric;
+
+ subtitle text = STRING_TOKEN(STR_PCH_PCIE_LTR_CONFIG);
+
+ oneof varid = Setup.PchPcieLtrEnable[OFFSET_4],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_LTR_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_LTR_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.PchPcieLtrEnable[OFFSET_4] == 0;
+ oneof varid = Setup.PchPcieSnoopLatencyOverrideMode[OFFSET_4],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_SL_OVRD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_SL_OVRD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MANUAL_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTO_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif NOT ideqval Setup.PchPcieSnoopLatencyOverrideMode[OFFSET_4] == 1;
+ numeric varid = Setup.PchPcieSnoopLatencyOverrideValue[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SL_VAL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SL_VAL_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 1023,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ oneof varid = Setup.PchPcieSnoopLatencyOverrideMultiplier[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SL_SCALE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SL_SCALE_HELP),
+ option text = STRING_TOKEN(STR_LTR_SCALE_0), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_2), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_3), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_4), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_5), value = 5, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.PchPcieNonSnoopLatencyOverrideMode[OFFSET_4],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_NSL_OVRD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_NSL_OVRD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MANUAL_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTO_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif NOT ideqval Setup.PchPcieNonSnoopLatencyOverrideMode[OFFSET_4] == 1;
+ numeric varid = Setup.PchPcieNonSnoopLatencyOverrideValue[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NSL_VAL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NSL_VAL_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 1023,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ oneof varid = Setup.PchPcieNonSnoopLatencyOverrideMultiplier[OFFSET_4],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NSL_SCALE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NSL_SCALE_HELP),
+ option text = STRING_TOKEN(STR_LTR_SCALE_0), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_2), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_3), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_4), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_5), value = 5, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+ endif;
+
+ oneof varid = Setup.PchPcieLtrConfigLock[OFFSET_4],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_LTRLOCK_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_LTRLOCK_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ oneof varid = Setup.PcieRootPortSelectableDeemphasis[OFFSET_4],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_SD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_SD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ endif;
+endform; //End of PCIERP5_OPTIONS_FORM_ID
+
+//------------------------------------------------------------------------------
+
+form formid = PCIERP6_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_PCH_PCIERP6_PROMPT);
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ oneof varid = Setup.PcieRootPortEn[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCH_PCIERP6_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIERP_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_DIS_TO_EN_HELP),
+ flags = 0,
+ key = 0;
+
+ suppressif ideqval Setup.PcieRootPortEn[OFFSET_5] == 0x0;
+ oneof varid = Setup.PcieRootPortAspm[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCIE_ASPM_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_ASPM_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L0S_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L1_STRING), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_ASPM_L0SL1_STRING), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 4, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortL1SubStates[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCIE_L1SUB_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_L1SUB_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_1_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_2_STRING), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_1_2_STRING), value = 3, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortACS[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCIE_ACS_PROMPT),
+ help = STRING_TOKEN(STR_PCIE_ACS_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortURE[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_URE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_URE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortFEE[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_FEE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_FEE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortNFE[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NFE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NFE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortCEE[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_CEE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_CEE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortCTD[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_CTD_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_CTD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSFE[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SFE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SFE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSNE[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SNE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SNE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSCE[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SCE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SCE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortPMCE[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_PMCE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_PMCE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortHPE[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_HPE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_HPE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortSpeed[OFFSET_5],
+ prompt = STRING_TOKEN (STR_PCIE_SPEED_PROMPT),
+ help = STRING_TOKEN (STR_PCIE_SPEED_HELP),
+ option text = STRING_TOKEN (STR_AUTO), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_GEN1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_GEN2), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortTHS[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_THS_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_THS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ numeric varid = Setup.PcieExtraBusRsvd[OFFSET_5],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RBUS_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RBUS_HELP),
+ minimum = 0,
+ maximum = 7,
+ step = 1, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 0, // default no extra bus reserved
+ endnumeric;
+
+ numeric varid = Setup.PcieMemRsvd[OFFSET_5],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RMEM_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RMEM_HELP),
+ minimum = 1,
+ maximum = 20,
+ step = 1, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 10, // Default 10MB Memory Reserved
+ endnumeric;
+
+ numeric varid = Setup.PcieIoRsvd[OFFSET_5],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RVIO_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_RVIO_HELP),
+ minimum = 4,
+ maximum = 20,
+ step = 4, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 4, // Default 4K IO Reserved
+ endnumeric;
+
+ subtitle text = STRING_TOKEN(STR_PCH_PCIE_LTR_CONFIG);
+
+ oneof varid = Setup.PchPcieLtrEnable[OFFSET_5],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_LTR_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_LTR_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.PchPcieLtrEnable[OFFSET_5] == 0;
+ oneof varid = Setup.PchPcieSnoopLatencyOverrideMode[OFFSET_5],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_SL_OVRD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_SL_OVRD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MANUAL_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTO_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif NOT ideqval Setup.PchPcieSnoopLatencyOverrideMode[OFFSET_5] == 1;
+ numeric varid = Setup.PchPcieSnoopLatencyOverrideValue[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SL_VAL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SL_VAL_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 1023,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ oneof varid = Setup.PchPcieSnoopLatencyOverrideMultiplier[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SL_SCALE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_SL_SCALE_HELP),
+ option text = STRING_TOKEN(STR_LTR_SCALE_0), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_2), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_3), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_4), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_5), value = 5, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.PchPcieNonSnoopLatencyOverrideMode[OFFSET_5],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_NSL_OVRD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_NSL_OVRD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MANUAL_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTO_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif NOT ideqval Setup.PchPcieNonSnoopLatencyOverrideMode[OFFSET_5] == 1;
+ numeric varid = Setup.PchPcieNonSnoopLatencyOverrideValue[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NSL_VAL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NSL_VAL_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 1023,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ oneof varid = Setup.PchPcieNonSnoopLatencyOverrideMultiplier[OFFSET_5],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NSL_SCALE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NSL_SCALE_HELP),
+ option text = STRING_TOKEN(STR_LTR_SCALE_0), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_2), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_3), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_4), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_SCALE_5), value = 5, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+ endif;
+
+ oneof varid = Setup.PchPcieLtrConfigLock[OFFSET_5],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_LTRLOCK_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_LTRLOCK_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ oneof varid = Setup.PcieRootPortSelectableDeemphasis[OFFSET_5],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_SD_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_SD_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ endif;
+endform; //End of PCIERP6_OPTIONS_FORM_ID
+
+//
+// USB Configurations
+//
+form formid = USB_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_USB_OPTIONS_FORM_TITLE);
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ //
+ // XHCI support
+ //
+ oneof varid = Setup.UsbXhciSupport,
+ prompt = STRING_TOKEN(STR_USB_XHCI_SUPPORT_PROMPT),
+ help = STRING_TOKEN(STR_USB_XHCI_SUPPORT_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ScUsb30Mode,
+ prompt = STRING_TOKEN(STR_PCH_USB30_MODE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB30_MODE_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ oneof varid = Setup.ScUsbVbusOn,
+ prompt = STRING_TOKEN(STR_PCH_USB_VBUS_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_VBUS_HELP),
+ option text = STRING_TOKEN(STR_OFF), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ON), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.Hsic1Support,
+ prompt = STRING_TOKEN(STR_USB_HSIC1_PROMPT),
+ help = STRING_TOKEN(STR_USB_HSIC1_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.Ssic1Support,
+ prompt = STRING_TOKEN(STR_USB_SSIC1_PROMPT),
+ help = STRING_TOKEN(STR_USB_SSIC1_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ // This default is updated on FirstBoot via SMIP/MultiBom
+ suppressif ideqval Setup.Ssic1Support == 0;
+ oneof varid = Setup.Ssic1Rate,
+ prompt = STRING_TOKEN(STR_USB_SSIC1_RATE_PROMPT),
+ help = STRING_TOKEN(STR_USB_SSIC1_RATE_HELP),
+ option text = STRING_TOKEN(STR_SSIC_A_RATE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SSIC_B_RATE), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ // This default is updated on FirstBoot via SMIP/MultiBom
+ suppressif ideqval Setup.Ssic1Support == 0;
+ oneof varid = Setup.SsicDlanePg,
+ prompt = STRING_TOKEN(STR_USB_SSIC_DLANE_PG_PROMPT),
+ help = STRING_TOKEN(STR_USB_SSIC_DLANE_PG_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ //
+ // EHCI support
+ //
+ //
+ // Usb ports disable control enable
+ //
+ oneof varid = Setup.ScUsbPortDisable,
+ prompt = STRING_TOKEN(STR_PCH_USB_PORT_DISABLE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_PORT_DISABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.ScUsbPortDisable == 0x0;
+ oneof varid = Setup.PortUsb20[0],
+ prompt = STRING_TOKEN(STR_PCH_USB_PORT0_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_PORT_DIS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PortUsb20[1],
+ prompt = STRING_TOKEN(STR_PCH_USB_PORT1_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_PORT_DIS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PortUsb20[2],
+ prompt = STRING_TOKEN(STR_PCH_USB_PORT2_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_PORT_DIS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ oneof varid = Setup.PortUsb20[3],
+ prompt = STRING_TOKEN(STR_PCH_USB_PORT3_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_PORT_DIS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ oneof varid = Setup.PortUsb20[4],
+ prompt = STRING_TOKEN(STR_PCH_USB_PORT4_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_PORT_DIS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PortUsb20[5],
+ prompt = STRING_TOKEN(STR_PCH_USB_PORT5_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_PORT_DIS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PortUsb20[6],
+ prompt = STRING_TOKEN(STR_PCH_USB_PORT6_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_PORT_DIS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ oneof varid = Setup.PortUsb20[7],
+ prompt = STRING_TOKEN(STR_PCH_USB_PORT7_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_PORT_DIS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PortUsb30[0],
+ prompt = STRING_TOKEN(STR_PCH_USB3_PORT0_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_PORT_DIS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PortUsb30[1],
+ prompt = STRING_TOKEN(STR_PCH_USB3_PORT1_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_PORT_DIS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PortUsb30[2],
+ prompt = STRING_TOKEN(STR_PCH_USB3_PORT2_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_PORT_DIS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ oneof varid = Setup.PortUsb30[3],
+ prompt = STRING_TOKEN(STR_PCH_USB3_PORT3_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_PORT_DIS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ oneof varid = Setup.PortUsb30[4],
+ prompt = STRING_TOKEN(STR_PCH_USB3_PORT4_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_PORT_DIS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ oneof varid = Setup.PortUsb30[5],
+ prompt = STRING_TOKEN(STR_PCH_USB3_PORT5_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_PORT_DIS_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.ScUsbOtg,
+ prompt = STRING_TOKEN(STR_USB_XDCI_PROMPT),
+ help = STRING_TOKEN(STR_USB_XDCI_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_MODE_STRING), value = 1, flags = RESET_REQUIRED;
+// option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.DisableComplianceMode,
+ prompt = STRING_TOKEN(STR_XHCI_COMPLIANCE_PROMPT),
+ help = STRING_TOKEN(STR_XHCI_COMPLIANCE_HELP),
+ option text = STRING_TOKEN(STR_XHCI_COMPLIANCE_FALSE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_XHCI_COMPLIANCE_TRUE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.IddigComp,
+ prompt = STRING_TOKEN(STR_USB_IDDIG_PROMPT),
+ help = STRING_TOKEN(STR_USB_IDDIG_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+endform; // end of USB_OPTIONS_FORM_ID
+
+//
+// SATA Configurations
+//
+form formid = SATA_CONFIGURATION_ID,
+
+ title = STRING_TOKEN(STR_SATA_FORM_TITLE);
+
+ //
+ // Title on Drive Configuration Page
+ //
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_SATA_FORM_TITLE),
+ text = STRING_TOKEN(STR_NULL_STRING),
+ flags = 0,
+ key = 0;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ subtitle text = STRING_TOKEN(STR_CHIPSET_SATA_STRING);
+
+ oneof varid = Setup.Sata,
+ prompt = STRING_TOKEN(STR_SATA_PROMPT),
+ help = STRING_TOKEN(STR_SATA_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value=1, flags=DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value=0, flags=0 | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.SataInterfaceMode,
+ prompt = STRING_TOKEN(STR_SATA_MODE_SELECTION_PROMPT),
+ help = STRING_TOKEN(STR_SATA_MODE_SELECTION_HELP),
+ option text = STRING_TOKEN(STR_SATA_AHCI), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SATA_RAID), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.SataTestMode,
+ prompt = STRING_TOKEN(STR_SATA_TEST_MODE_PROMPT),
+ help = STRING_TOKEN(STR_SATA_TEST_MODE_HELP),
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+
+ oneof varid = Setup.SataSalp,
+ prompt = STRING_TOKEN(STR_SATA_AHCI_SALP),
+ help = STRING_TOKEN(STR_SATA_AHCI_SALP_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_SATA0_STRING),
+ text = STRING_TOKEN(STR_SATA0_NAME),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_SOFT_PRESERVE),
+ text = STRING_TOKEN(STR_SATA0_SOFT_PRESERVE_STATUS),
+ flags = 0,
+ key = 0;
+
+
+ oneof varid = Setup.SataPort[0],
+ prompt = STRING_TOKEN(STR_SATA_PORT_0),
+ help = STRING_TOKEN(STR_SATA_PORT_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+
+ suppressif ideqval Setup.SataExternal[0] == 1;
+ oneof varid = Setup.SataHotPlug[0],
+ prompt = STRING_TOKEN(STR_SATA0_HOTPLUG_CAP_PROMPT),
+ help = STRING_TOKEN(STR_SATA_HOTPLUG_CAP_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_SATA_ESATA),
+ text = STRING_TOKEN(STR_SATA_HOTPLUG_SUPPORT),
+ flags = 0,
+ key = 0;
+ endif;
+
+
+ oneof varid = Setup.SataMechanicalSw[0],
+ prompt = STRING_TOKEN(STR_SATA_MECHANICAL_SW0),
+ help = STRING_TOKEN(STR_SATA_MECHANICAL_SW_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+
+ oneof varid = Setup.SataSpinUp[0],
+ prompt = STRING_TOKEN(STR_SATA_SPIN_UP0),
+ help = STRING_TOKEN(STR_SATA_SPIN_UP_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.SataType[0],
+ prompt = STRING_TOKEN(STR_SATA_TYPE0),
+ help = STRING_TOKEN(STR_SATA_TYPE_HELP),
+ option text = STRING_TOKEN(STR_SATA_HDD_STRING), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SATA_SSD_STRING), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+
+ oneof varid = Setup.PxDevSlp[0],
+ prompt = STRING_TOKEN(STR_PCH_P0DEVSLP_PROMPT),
+ help = STRING_TOKEN(STR_PCH_P0DEVSLP_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.EnableDitoConfig[0],
+ prompt = STRING_TOKEN(STR_PCH_ENABLE_DITO_CONFIG_PROMPT),
+ help = STRING_TOKEN(STR_PCH_ENABLE_DITO_CONFIG_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ grayoutif ideqval Setup.EnableDitoConfig[0] == 0;
+ numeric varid = Setup.DitoVal[0],
+ prompt = STRING_TOKEN(STR_PCH_DITO_VAL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_DITO_VAL_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 1023,
+ step = 0, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 625, // 625 by default
+ endnumeric;
+
+ numeric varid = Setup.DmVal[0],
+ prompt = STRING_TOKEN(STR_PCH_DM_VAL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_DM_VAL_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 15,
+ step = 0, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 15, // 15 by default
+ endnumeric;
+ endif;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_SATA1_STRING),
+ text = STRING_TOKEN(STR_SATA1_NAME),
+ flags = 0,
+ key = 0;
+
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_SOFT_PRESERVE),
+ text = STRING_TOKEN(STR_SATA1_SOFT_PRESERVE_STATUS),
+ flags = 0,
+ key = 0;
+
+//TODO suppressif ideqvallist Setup.SataTestMode == SATA_TEST_MODE_ENABLE;
+ oneof varid = Setup.SataPort[1],
+ prompt = STRING_TOKEN(STR_SATA_PORT_1),
+ help = STRING_TOKEN(STR_SATA_PORT_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.SataExternal[1] == 1;
+ oneof varid = Setup.SataHotPlug[1],
+ prompt = STRING_TOKEN(STR_SATA1_HOTPLUG_CAP_PROMPT),
+ help = STRING_TOKEN(STR_SATA_HOTPLUG_CAP_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_SATA_ESATA),
+ text = STRING_TOKEN(STR_SATA_HOTPLUG_SUPPORT),
+ flags = 0,
+ key = 0;
+ endif;
+
+
+ oneof varid = Setup.SataMechanicalSw[1],
+ prompt = STRING_TOKEN(STR_SATA_MECHANICAL_SW1),
+ help = STRING_TOKEN(STR_SATA_MECHANICAL_SW_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+
+ oneof varid = Setup.SataSpinUp[1],
+ prompt = STRING_TOKEN(STR_SATA_SPIN_UP1),
+ help = STRING_TOKEN(STR_SATA_SPIN_UP_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.SataType[1],
+ prompt = STRING_TOKEN(STR_SATA_TYPE1),
+ help = STRING_TOKEN(STR_SATA_TYPE_HELP),
+ option text = STRING_TOKEN(STR_SATA_HDD_STRING), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SATA_SSD_STRING), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PxDevSlp[1],
+ prompt = STRING_TOKEN(STR_PCH_P1DEVSLP_PROMPT),
+ help = STRING_TOKEN(STR_PCH_P1DEVSLP_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.EnableDitoConfig[1],
+ prompt = STRING_TOKEN(STR_PCH_ENABLE_DITO_CONFIG_PROMPT),
+ help = STRING_TOKEN(STR_PCH_ENABLE_DITO_CONFIG_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ grayoutif ideqval Setup.EnableDitoConfig[1] == 0;
+ numeric varid = Setup.DitoVal[1],
+ prompt = STRING_TOKEN(STR_PCH_DITO_VAL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_DITO_VAL_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 1023,
+ step = 0, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 625, // 625 by default
+ endnumeric;
+
+ numeric varid = Setup.DmVal[1],
+ prompt = STRING_TOKEN(STR_PCH_DM_VAL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_DM_VAL_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 15,
+ step = 0, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 15, // 15 by default
+ endnumeric;
+ endif;
+
+endform; //End of SATA
+//
+// HD-Audio Configuration
+//
+form formid = HDAUDIO_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_HDAUDIO_OPTIONS_FORM_TITLE);
+ subtitle text = STRING_TOKEN(STR_HDAUDIO_OPTIONS_FORM_TITLE);
+
+ oneof varid = Setup.ScHdAudio,
+ prompt = STRING_TOKEN(STR_HDA_PROMPT),
+ help = STRING_TOKEN(STR_HDA_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value= 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ScHdAudioDsp,
+ prompt = STRING_TOKEN(STR_HDA_DSP_PROMPT),
+ help = STRING_TOKEN(STR_HDA_DSP_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value= 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.ScHdAudioDsp == 0;
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_HDA_FEATURE_TITLE),
+ text = STRING_TOKEN(STR_HDA_FEATURE_HELP),
+ flags = 0,
+ key = 0;
+
+ // Wake on Voice (WoV) support
+ checkbox varid = Setup.ScHdAudioFeature[0],
+ prompt = STRING_TOKEN(STR_HDA_FEATURE_0_PROMPT),
+ help = STRING_TOKEN(STR_HDA_FEATURE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+
+ // BT Sideband support
+ checkbox varid = Setup.ScHdAudioFeature[1],
+ prompt = STRING_TOKEN(STR_HDA_FEATURE_1_PROMPT),
+ help = STRING_TOKEN(STR_HDA_FEATURE_HELP),
+ flags = CHECKBOX_DEFAULT | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+
+ // SRAM Reclaim
+ checkbox varid = Setup.ScHdAudioFeature[3],
+ prompt = STRING_TOKEN(STR_HDA_FEATURE_3_PROMPT),
+ help = STRING_TOKEN(STR_HDA_FEATURE_HELP),
+ flags = CHECKBOX_DEFAULT | RESET_REQUIRED,
+ key = 0,
+ default = TRUE,
+ endcheckbox;
+
+ suppressif ideqval Setup.ScHdAudioFeature[1] == 0;
+ // BT Intel HFP SCO
+ checkbox varid = Setup.ScHdAudioFeature[5],
+ prompt = STRING_TOKEN(STR_HDA_FEATURE_5_PROMPT),
+ help = STRING_TOKEN(STR_HDA_FEATURE_HELP),
+ flags = CHECKBOX_DEFAULT | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+
+ // BT Intel A2DP
+ checkbox varid = Setup.ScHdAudioFeature[6],
+ prompt = STRING_TOKEN(STR_HDA_FEATURE_6_PROMPT),
+ help = STRING_TOKEN(STR_HDA_FEATURE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+ endif;
+
+ // Context Aware
+ checkbox varid = Setup.ScHdAudioFeature[9],
+ prompt = STRING_TOKEN(STR_HDA_FEATURE_9_PROMPT),
+ help = STRING_TOKEN(STR_HDA_FEATURE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+
+ // NHLT Endpoints selection
+ text
+ help = STRING_TOKEN(STR_HDA_NHLT_ENDPOINT_TITLE),
+ text = STRING_TOKEN(STR_HDA_NHLT_ENDPOINT_TITLE),
+ flags = 0,
+ key = 0;
+
+ oneof varid = Setup.ScHdAudioNhltEndpointDmic,
+ prompt = STRING_TOKEN(STR_HDA_NHLT_ENDPOINT_DMIC),
+ help = STRING_TOKEN(STR_HDA_NHLT_ENDPOINT_DMIC_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_HDA_DMIC_2CH), value = 1, flags = DEFAULT |RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_HDA_DMIC_4CH), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ScHdAudioNhltEndpointBt,
+ prompt = STRING_TOKEN(STR_HDA_NHLT_ENDPOINT_BT),
+ help = STRING_TOKEN(STR_HDA_NHLT_ENDPOINT_BT_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ grayoutif ideqval Setup.ScHdAudioIoBufferOwnership == 0;
+ oneof varid = Setup.ScHdAudioNhltEndpointI2sSKP,
+ prompt = STRING_TOKEN(STR_HDA_NHLT_ENDPOINT_I2S_SKP),
+ help = STRING_TOKEN(STR_HDA_NHLT_ENDPOINT_I2S_SKP_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ScHdAudioNhltEndpointI2sHP,
+ prompt = STRING_TOKEN(STR_HDA_NHLT_ENDPOINT_I2S_HP),
+ help = STRING_TOKEN(STR_HDA_NHLT_ENDPOINT_I2S_HP_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ // Codec based Voice Activity Detection (VAD) support
+ checkbox varid = Setup.ScHdAudioFeature[2],
+ prompt = STRING_TOKEN(STR_HDA_FEATURE_2_PROMPT),
+ help = STRING_TOKEN(STR_HDA_FEATURE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+
+ // DSP-based speech pre-processing disabled
+ checkbox varid = Setup.ScHdAudioFeature[7],
+ prompt = STRING_TOKEN(STR_HDA_FEATURE_7_PROMPT),
+ help = STRING_TOKEN(STR_HDA_FEATURE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+
+ grayoutif ideqval Setup.ScHdAudioFeature[7] == 0x0;
+ // Support for Windows 10 Hardware Voice Activation for Cortana or Intel WoV
+ // (can be enabled only for DSP-based speech pre-processing in disabled state)
+ // 0 == Intel Wake on Voice, 1 == Windows Voice Activation
+ oneof varid = Setup.ScHdAudioFeature[8],
+ prompt = STRING_TOKEN(STR_HDA_FEATURE_8_PROMPT),
+ help = STRING_TOKEN(STR_HDA_FEATURE_HELP),
+ option text = STRING_TOKEN(STR_INTEL_WAKE_ON_VOICE), value = 0, flags = DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_WIN_VOICE_ACTIVATION), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ endif; // Speech pre-processing disabled check
+
+ // DSP Pre/Post Processing module support selection
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_HDA_PP_MODULE_TITLE),
+ text = STRING_TOKEN(STR_HDA_PP_MODULE_HELP),
+ flags = 0,
+ key = 0;
+
+ // Post Processing Module 0 - Waves
+ checkbox varid = Setup.ScHdAudioPostProcessingMod[0],
+ prompt = STRING_TOKEN(STR_HDA_PP_MODULE_0_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_MODULE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+
+ // Post Processing Module 1 - DTS
+ checkbox varid = Setup.ScHdAudioPostProcessingMod[1],
+ prompt = STRING_TOKEN(STR_HDA_PP_MODULE_1_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_MODULE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+
+ // Post Processing Module 2 - Spatial
+ checkbox varid = Setup.ScHdAudioPostProcessingMod[2],
+ prompt = STRING_TOKEN(STR_HDA_PP_MODULE_2_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_MODULE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+
+ // Post Processing Module 3 - Dolby
+ checkbox varid = Setup.ScHdAudioPostProcessingMod[3],
+ prompt = STRING_TOKEN(STR_HDA_PP_MODULE_3_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_MODULE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+
+ // Post Processing Module 4 - Samsung SoundAlive
+ checkbox varid = Setup.ScHdAudioPostProcessingMod[4],
+ prompt = STRING_TOKEN(STR_HDA_PP_MODULE_4_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_MODULE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+
+ // Post Processing Module 5 - Samsung SoundBooster
+ checkbox varid = Setup.ScHdAudioPostProcessingMod[5],
+ prompt = STRING_TOKEN(STR_HDA_PP_MODULE_5_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_MODULE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+
+ // Post Processing Module 6 - Samsung EQ/DRC
+ checkbox varid = Setup.ScHdAudioPostProcessingMod[6],
+ prompt = STRING_TOKEN(STR_HDA_PP_MODULE_6_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_MODULE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+
+ // Post Processing Module 7 - ForteMedia SAMSoft
+ checkbox varid = Setup.ScHdAudioPostProcessingMod[7],
+ prompt = STRING_TOKEN(STR_HDA_PP_MODULE_7_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_MODULE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+ // Check WoV support status in DspFeatureMask
+ grayoutif ideqval Setup.ScHdAudioFeature[0] == 0x0;
+ // Post Processing Module 8 - WoV Intel
+ checkbox varid = Setup.ScHdAudioPostProcessingMod[8],
+ prompt = STRING_TOKEN(STR_HDA_PP_MODULE_8_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_MODULE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+
+ // Post Processing Module 9 - WoV Sensory
+ checkbox varid = Setup.ScHdAudioPostProcessingMod[9],
+ prompt = STRING_TOKEN(STR_HDA_PP_MODULE_9_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_MODULE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+ endif; // WoV Support
+ // Post Processing Module 10 - Conexant Pre-Process
+ checkbox varid = Setup.ScHdAudioPostProcessingMod[10],
+ prompt = STRING_TOKEN(STR_HDA_PP_MODULE_10_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_MODULE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+
+ // Post Processing Module 11 - Context Aware
+ grayoutif ideqval Setup.ScHdAudioFeature[9] == 0x0;
+ checkbox varid = Setup.ScHdAudioPostProcessingMod[11],
+ prompt = STRING_TOKEN(STR_HDA_PP_MODULE_11_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_MODULE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+ endif; // Context Aware Support
+
+ // Custom Pre/Post-Processing modules with GUID entered by user
+ checkbox varid = Setup.ScHdAudioPostProcessingMod[29],
+ prompt = STRING_TOKEN(STR_HDA_PP_MODULE_29_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_MODULE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+ suppressif ideqval Setup.ScHdAudioPostProcessingMod[29] == 0x0;
+ string varid = Setup.ScHdAudioPostProcessingModCustomGuid1,
+ prompt = STRING_TOKEN(STR_HDA_PP_CUSTOM_GUID_29_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_CUSTOM_GUID_HELP),
+ flags = 0 | RESET_REQUIRED, //INTERACTIVE,
+ key = 0,
+ minsize = 36, // GUID characters number in format 11111111-2222-3333-4444-1234567890ab (without ending null)
+ maxsize = 36,
+ endstring;
+ endif; // Custom module 29 disabled
+
+ checkbox varid = Setup.ScHdAudioPostProcessingMod[30],
+ prompt = STRING_TOKEN(STR_HDA_PP_MODULE_30_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_MODULE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+ suppressif ideqval Setup.ScHdAudioPostProcessingMod[30] == 0x0;
+ string varid = Setup.ScHdAudioPostProcessingModCustomGuid2,
+ prompt = STRING_TOKEN(STR_HDA_PP_CUSTOM_GUID_30_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_CUSTOM_GUID_HELP),
+ flags = 0 | RESET_REQUIRED, //INTERACTIVE,
+ key = 0,
+ minsize = 36, // GUID characters number in format 11111111-2222-3333-4444-1234567890ab (without ending null)
+ maxsize = 36,
+ endstring;
+ endif; // Custom module 30 disabled
+
+ checkbox varid = Setup.ScHdAudioPostProcessingMod[31],
+ prompt = STRING_TOKEN(STR_HDA_PP_MODULE_31_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_MODULE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ key = 0,
+ endcheckbox;
+ suppressif ideqval Setup.ScHdAudioPostProcessingMod[31] == 0x0;
+ string varid = Setup.ScHdAudioPostProcessingModCustomGuid3,
+ prompt = STRING_TOKEN(STR_HDA_PP_CUSTOM_GUID_31_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PP_CUSTOM_GUID_HELP),
+ flags = 0 | RESET_REQUIRED, //INTERACTIVE,
+ key = 0,
+ minsize = 36, // GUID characters number in format 11111111-2222-3333-4444-1234567890ab (without ending null)
+ maxsize = 36,
+ endstring;
+ endif; // Custom module 31 disabled
+ endif;
+
+ oneof varid = Setup.ScHdAudioMmt,
+ prompt = STRING_TOKEN(STR_HDA_CSME_MEM_TRANS_PROMPT),
+ help = STRING_TOKEN(STR_HDA_CSME_MEM_TRANS_HELP),
+ option text = STRING_TOKEN(STR_HDA_VC0), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_HDA_VC2), value= 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ScHdAudioHmt,
+ prompt = STRING_TOKEN(STR_HDA_HOST_MEM_TRANS_PROMPT),
+ help = STRING_TOKEN(STR_HDA_HOST_MEM_TRANS_HELP),
+ option text = STRING_TOKEN(STR_HDA_VC0), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_HDA_VC2), value= 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ScHdAudioIoBufferOwnership,
+ prompt = STRING_TOKEN(STR_HDA_IO_BUFF_PROMPT),
+ help = STRING_TOKEN(STR_HDA_IO_BUFF_HELP),
+ option text = STRING_TOKEN(STR_HDA_HDALINK), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_HDA_I2S), value = 3, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ScHdAudioBiosCfgLockDown,
+ prompt = STRING_TOKEN(STR_HDA_BIOS_CONFIG_LOCK_DOWN_PROMPT),
+ help = STRING_TOKEN(STR_HDA_BIOS_CONFIG_LOCK_DOWN_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ScHdAudioClkGate,
+ prompt = STRING_TOKEN(STR_HDA_CLOCK_GATE_PROMPT),
+ help = STRING_TOKEN(STR_HDA_CLOCK_GATE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ScHdAudioPwrGate,
+ prompt = STRING_TOKEN(STR_HDA_POWER_GATE_PROMPT),
+ help = STRING_TOKEN(STR_HDA_POWER_GATE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ScHdAudioPme,
+ prompt = STRING_TOKEN(STR_HDA_PME_PROMPT),
+ help = STRING_TOKEN(STR_HDA_PME_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ oneof varid = Setup.HdAudioLinkFrequency,
+ prompt = STRING_TOKEN(STR_HDA_HDAUDIO_LINK_FREQ),
+ help = STRING_TOKEN(STR_HDA_HDAUDIO_LINK_FREQ_HELP),
+ option text = STRING_TOKEN(STR_6MHZ), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_12MHZ), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_24MHZ), value = 2, flags = DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.IDispLinkFrequency,
+ prompt = STRING_TOKEN(STR_HDA_IDISP_LINK_FREQ),
+ help = STRING_TOKEN(STR_HDA_IDISP_LINK_FREQ_HELP),
+ option text = STRING_TOKEN(STR_48MHZ), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_96MHZ), value = 4, flags = DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.IDispLinkFrequency == 0x4;
+ oneof varid = Setup.IDispLinkTmode,
+ prompt = STRING_TOKEN(STR_HDA_IDISP_LINK_TMODE),
+ help = STRING_TOKEN(STR_HDA_IDISP_LINK_TMODE_HELP),
+ option text = STRING_TOKEN(STR_HDA_IDISP_2T_MODE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_HDA_IDISP_1T_MODE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ endif; // Setup.IDisplayLinkFreq == 0x4;
+
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+endform; // End of HDAUDIO_OPTIONS_FORM_ID
+
+//
+// GMM Configurations
+//
+form formid = GMM_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_GMM_OPTIONS_FORM_TITLE);
+ subtitle text = STRING_TOKEN(STR_GMM_OPTIONS_FORM_TITLE);
+
+ oneof varid = Setup.Gmm,
+ prompt = STRING_TOKEN(STR_GMM_PROMPT),
+ help = STRING_TOKEN(STR_GMM_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_GMM_CLOCK_GATE_SETTING_SUBTITLE);
+
+ oneof varid = Setup.GmmCgPGCBEnabled,
+ prompt = STRING_TOKEN(STR_GMM_CG_PGCB_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_GMM_CG_PGCB_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.GmmCgSBDEnabled,
+ prompt = STRING_TOKEN(STR_GMM_CG_SBD_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_GMM_CG_SBD_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.GmmCgSBTEnabled,
+ prompt = STRING_TOKEN(STR_GMM_CG_SBT_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_GMM_CG_SBT_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.GmmCgSBPEnabled,
+ prompt = STRING_TOKEN(STR_GMM_CG_SBP_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_GMM_CG_SBP_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.GmmCgCoreEnabled,
+ prompt = STRING_TOKEN(STR_GMM_CG_CORE_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_GMM_CG_CORE_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.GmmCgDmaEnabled,
+ prompt = STRING_TOKEN(STR_GMM_CG_DMA_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_GMM_CG_DMA_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.GmmCgRAEnabled,
+ prompt = STRING_TOKEN(STR_GMM_CG_RA_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_GMM_CG_RA_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.GmmCgHostEnabled,
+ prompt = STRING_TOKEN(STR_GMM_CG_HOST_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_GMM_CG_HOST_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.GmmCgPEnabled,
+ prompt = STRING_TOKEN(STR_GMM_CG_PARTITION_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_GMM_CG_PARTITION_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.GmmCgTEnabled,
+ prompt = STRING_TOKEN(STR_GMM_CG_TRUNK_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_GMM_CG_TRUNK_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_GMM_POWER_GATE_SETTING_SUBTITLE);
+
+ oneof varid = Setup.GmmPgHwAutoEnabled,
+ prompt = STRING_TOKEN(STR_GMM_PG_HW_AUTO_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_GMM_PG_HW_AUTO_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ grayoutif ideqval Setup.GmmPgHwAutoEnabled == 1;
+ oneof varid = Setup.GmmPgD3HotEnabled,
+ prompt = STRING_TOKEN(STR_GMM_PG_D3_HOT_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_GMM_PG_D3_HOT_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.GmmPgI3Enabled,
+ prompt = STRING_TOKEN(STR_GMM_PG_I3_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_GMM_PG_I3_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.GmmPgPMCREnabled,
+ prompt = STRING_TOKEN(STR_GMM_PG_PMCR_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_GMM_PG_PMCR_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+endform; // End of GMM_OPTIONS_FORM_ID \ No newline at end of file
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SystemComponent.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SystemComponent.vfi
new file mode 100644
index 0000000000..0893b59c51
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SystemComponent.vfi
@@ -0,0 +1,127 @@
+// /** @file
+// System Component Setup formset.
+//
+// Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
+//
+// 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.
+//
+// **/
+
+
+form formid = SYSTEM_COMPONENT_FORM_ID,
+
+ title = STRING_TOKEN(STR_SYSTEM_COMPONENT_TITLE);
+
+ oneof varid = Setup.CRIDSettings,
+ prompt = STRING_TOKEN(STR_CRID_PROMPT),
+ help = STRING_TOKEN(STR_CRID_SETTING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_CRID_0_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_CRID_1_STRING), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_CRID_2_STRING), value = 3, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PmicEnable,
+ prompt = STRING_TOKEN(STR_PMIC_ACPI_OBJECT_PROMPT),
+ help = STRING_TOKEN(STR_PMIC_ACPI_OBJECT_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PnpSettings,
+ prompt = STRING_TOKEN(STR_PNP_SETTING_PROMPT),
+ help = STRING_TOKEN(STR_PNP_SETTING_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+#if (PNP_DEBUG == 1)
+ option text = STRING_TOKEN(STR_PNP_POWER_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PNP_PERFORMANCE_STRING), value = 2, flags = RESET_REQUIRED;
+#endif
+ option text = STRING_TOKEN(STR_PNP_POWER_PERFORMANCE_STRING), value = 3, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ResetSelect,
+ prompt = STRING_TOKEN(STR_RESET_SELECT),
+ help = STRING_TOKEN(STR_RESET_SELECT_HELP),
+ option text = STRING_TOKEN(STR_WARM_RESET), value = 0x6, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_COLD_RESET), value = 0xE, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ // Embedded Power Instrumentation
+ oneof varid = Setup.EPIEnable,
+ prompt = STRING_TOKEN(STR_EPI_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_EPI_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.TypeCEnable,
+ prompt = STRING_TOKEN(STR_TYPEC_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_TYPEC_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTO), value = 2, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+//SSC
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ subtitle text = STRING_TOKEN(STR_SSC_SETTING_SUBTITLE);
+
+ oneof varid = Setup.DDRSSCEnable,
+ prompt = STRING_TOKEN(STR_DDR_SSC_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_DDR_SSC_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.DDRSSCEnable == 0;
+ oneof varid = Setup.DDRSSCSelection,
+ prompt = STRING_TOKEN(STR_DDR_SSC_SELECTION_TABLE_PROMPT),
+ help = STRING_TOKEN(STR_DDR_SSC_SELECTION_TABLE_HELP),
+ option text = STRING_TOKEN(STR_SSC_SELECTION_TABLE_0), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SSC_SELECTION_TABLE_M01), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SSC_SELECTION_TABLE_M02), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SSC_SELECTION_TABLE_M03), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SSC_SELECTION_TABLE_M04), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SSC_SELECTION_TABLE_M05), value = 5, flags = RESET_REQUIRED | DEFAULT | MANUFACTURING;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.DDRCLKBending,
+ prompt = STRING_TOKEN(STR_DDR_CLK_BENDING_SELECTION_TABLE_PROMPT),
+ help = STRING_TOKEN(STR_DDR_CLK_BENDING_SELECTION_TABLE_HELP),
+ option text = STRING_TOKEN(STR_CLK_BENDING_SELECTION_TABLE_13), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_CLK_BENDING_SELECTION_TABLE_06), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_CLK_BENDING_SELECTION_TABLE_0), value = 2, flags = RESET_REQUIRED | DEFAULT | MANUFACTURING;
+ option text = STRING_TOKEN(STR_CLK_BENDING_SELECTION_TABLE_M09), value = 3, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.HSSIOSSCEnable,
+ prompt = STRING_TOKEN(STR_HSSIO_SSC_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_HSSIO_SSC_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.HSSIOSSCEnable == 0;
+ oneof varid = Setup.HSSIOSSCSelection,
+ prompt = STRING_TOKEN(STR_HSSIO_SSC_SELECTION_TABLE_PROMPT),
+ help = STRING_TOKEN(STR_HSSIO_SSC_SELECTION_TABLE_HELP),
+ option text = STRING_TOKEN(STR_SSC_SELECTION_TABLE_0), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SSC_SELECTION_TABLE_M01), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SSC_SELECTION_TABLE_M02), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SSC_SELECTION_TABLE_M03), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SSC_SELECTION_TABLE_M04), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SSC_SELECTION_TABLE_M05), value = 5, flags = RESET_REQUIRED | DEFAULT | MANUFACTURING;
+ endoneof;
+ endif;
+
+endform;
+
+
+
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Thermal.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Thermal.vfi
new file mode 100644
index 0000000000..7c3c80edce
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Thermal.vfi
@@ -0,0 +1,819 @@
+// /** @file
+// Thermal Setup formset.
+//
+// Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
+//
+// 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.
+//
+// **/
+
+
+form formid = THERMAL_FORM_ID,
+
+ title = STRING_TOKEN(STR_THERMAL_TITLE);
+
+ subtitle text = STRING_TOKEN(STR_THERMAL_CONFIGURATION_HELP);
+
+ oneof varid = Setup.AutoThermalReporting,
+ prompt = STRING_TOKEN(STR_THERMAL_REPORTING_PROMPT),
+ help = STRING_TOKEN(STR_THERMAL_REPORTING_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.EnableDptf == 0x1 OR ideqval Setup.AutoThermalReporting == 0x1;
+ oneof varid = Setup.CriticalThermalTripPoint,
+ prompt = STRING_TOKEN(STR_ACPI_CRITICAL_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN(STR_ACPI_CRITICAL_THERMAL_TRIP_POINT_HELP),
+ option text = STRING_TOKEN (STR_POR), value = 100, flags=DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_15_C), value = 15, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_23_C), value = 23, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_31_C), value = 31, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_39_C), value = 39, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_47_C), value = 47, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_55_C), value = 55, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_63_C), value = 63, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_71_C), value = 71, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_79_C), value = 79, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_87_C), value = 87, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_95_C), value = 95, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_103_C), value = 103, flags=0 | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PassiveThermalTripPoint,
+ prompt = STRING_TOKEN (STR_ACPI_PASSIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_ACPI_PASSIVE_THERMAL_TRIP_POINT_HELP),
+ option text = STRING_TOKEN (STR_95_C), value = 95, flags=DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_DISABLE), value = 127, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_15_C), value = 15, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_23_C), value = 23, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_31_C), value = 31, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_39_C), value = 39, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_47_C), value = 47, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_55_C), value = 55, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_63_C), value = 63, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_71_C), value = 71, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_79_C), value = 79, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_87_C), value = 87, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_103_C), value = 103, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_111_C), value = 111, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_119_C), value = 119, flags=0 | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ActiveTripPoint,
+ prompt = STRING_TOKEN(STR_ACPI_ACTIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN(STR_ACPI_ACTIVE_THERMAL_TRIP_POINT_HELP),
+ option text = STRING_TOKEN (STR_15_C), value = 15, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_23_C), value = 23, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_31_C), value = 31, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_39_C), value = 39, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_47_C), value = 47, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_55_C), value = 55, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_60_C), value = 60, flags=DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_63_C), value = 63, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_71_C), value = 71, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_79_C), value = 79, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_87_C), value = 87, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_95_C), value = 95, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_103_C), value = 103, flags=0 | RESET_REQUIRED;
+ endoneof;
+
+ suppressif TRUE;
+ numeric varid = Setup.PassiveTc1Value,
+ prompt = STRING_TOKEN (STR_ACPI_PASSIVE_TC1_VALUE),
+ help = STRING_TOKEN (STR_ACPI_PASSIVE_TC1_VALUE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ minimum = 1,
+ maximum = 16,
+ step = 1,
+ default = 1,
+ endnumeric;
+
+ numeric varid = Setup.PassiveTc2Value,
+ prompt = STRING_TOKEN (STR_ACPI_PASSIVE_TC2_VALUE),
+ help = STRING_TOKEN (STR_ACPI_PASSIVE_TC2_VALUE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ minimum = 1,
+ maximum = 16,
+ step = 1,
+ default = 5,
+ endnumeric;
+
+ numeric varid = Setup.PassiveTspValue,
+ prompt = STRING_TOKEN (STR_ACPI_PASSIVE_TSP_VALUE),
+ help = STRING_TOKEN (STR_ACPI_PASSIVE_TSP_VALUE_HELP),
+ flags = 0 | RESET_REQUIRED,
+ minimum = 2,
+ maximum = 32,
+ step = 2,
+ default = 10,
+ endnumeric;
+ endif;
+ endif;
+ //
+ // DPTF Configuration
+ //
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_DYNAMIC_PLATFORM_THER_FRAME_PROMPT);
+
+ oneof varid = Setup.EnableDptf,
+ prompt = STRING_TOKEN(STR_DPTF_PROMPT),
+ help = STRING_TOKEN(STR_DPTF_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value=0x00, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value=0x01, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.EnableDptf == 0x0;
+ numeric varid = Setup.EnableDCFG,
+ prompt = STRING_TOKEN (STR_DPTF_CONFIG_PROMPT),
+ help = STRING_TOKEN (STR_DPTF_CONFIG_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 255,
+ step = 1,
+ default = 0,
+ endnumeric;
+
+ oneof varid = Setup.DptfProcessor,
+ prompt = STRING_TOKEN(STR_PROCESSOR_DPTF_PROMPT),
+ help = STRING_TOKEN(STR_PROCESSOR_DPTF_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value=0x00, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value=0x01, flags = DEFAULT | MANUFACTURING |RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.DptfProcessor == 0x0;
+ numeric varid = Setup.DptfProcActiveTemperature,
+ prompt = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 90,
+ endnumeric;
+
+ numeric varid = Setup.DptfProcPassiveTemperature,
+ prompt = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 100,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.DptfProcCriticalTemperatureS3,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 110,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.DptfProcHotThermalTripPoint,
+ prompt = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 110,
+ endnumeric;
+
+ numeric varid = Setup.DptfProcCriticalTemperature,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 105,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.ThermalSamplingPeriodTCPU,
+ prompt = STRING_TOKEN (STR_DPTF_SAMPLING_PERIOD),
+ help = STRING_TOKEN (STR_DPTF_SAMPLING_PERIOD_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 100,
+ step = 1,
+ default = 0,
+ endnumeric;
+ endif;
+
+ oneof varid = Setup.DptfDisplayDevice,
+ prompt = STRING_TOKEN(STR_DPTF_DISPLAY_PROMPT),
+ help = STRING_TOKEN(STR_DPTF_DISPLAY_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.DptfFanDevice,
+ prompt = STRING_TOKEN(STR_FAN_DPTF_PROMPT),
+ help = STRING_TOKEN(STR_FAN_DPTF_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.EnableSen1Participant,
+ prompt = STRING_TOKEN(STR_SEN1_DEVICE_PROMPT),
+ help = STRING_TOKEN(STR_PROC_MEMORY_DEVICE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.EnableSen1Participant == 0;
+ numeric varid = Setup.ActiveThermalTripPointSen1,
+ prompt = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ numeric varid = Setup.PassiveThermalTripPointSen1,
+ prompt = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 65,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.CriticalThermalTripPointSen1S3,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 70,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.HotThermalTripPointSen1,
+ prompt = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 75,
+ endnumeric;
+
+ numeric varid = Setup.CriticalThermalTripPointSen1,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 80,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.SensorSamplingPeriodSen1,
+ prompt = STRING_TOKEN (STR_DPTF_SAMPLING_PERIOD),
+ help = STRING_TOKEN (STR_DPTF_SAMPLING_PERIOD_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 100,
+ step = 1,
+ default = 10,
+ endnumeric;
+ endif;
+
+ oneof varid = Setup.DptfChargerDevice,
+ prompt = STRING_TOKEN(STR_DPTF_CHARGER_PROMPT),
+ help = STRING_TOKEN(STR_DPTF_CHARGER_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value=0x00, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value=0x01, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = SETUP_DATA.EnablePowerParticipant,
+ prompt = STRING_TOKEN(STR_POWER_DEVICE),
+ help = STRING_TOKEN(STR_POWER_DEVICE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval SETUP_DATA.EnablePowerParticipant == 0;
+ numeric varid = SETUP_DATA.PowerParticipantPollingRate,
+ prompt = STRING_TOKEN(STR_DPTF_PPPR),
+ help = STRING_TOKEN(STR_DPTF_PPPR_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 1000,
+ step = 1,
+ default = 0,
+ endnumeric;
+ endif;
+
+ //
+ // Gen Participants 1 to 4
+ //
+
+ oneof varid = SETUP_DATA.EnableGen1Participant,
+ prompt = STRING_TOKEN(STR_GEN1_DEVICE),
+ help = STRING_TOKEN(STR_GEN1_DEVICE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval SETUP_DATA.EnableGen1Participant == 0;
+ numeric varid = SETUP_DATA.ActiveThermalTripPointGen1,
+ prompt = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.PassiveThermalTripPointGen1,
+ prompt = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 65,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.CriticalThermalTripPointGen1S3,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 70,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.HotThermalTripPointGen1,
+ prompt = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 75,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.CriticalThermalTripPointGen1,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 80,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.ThermistorSamplingPeriodGen1,
+ prompt = STRING_TOKEN (STR_DPTF_SAMPLING_PERIOD),
+ help = STRING_TOKEN (STR_DPTF_SAMPLING_PERIOD_HELP),
+ minimum = 0,
+ maximum = 100,
+ step = 1,
+ default = 10,
+ endnumeric;
+ endif; // end of Gen1 Participant
+
+ oneof varid = SETUP_DATA.EnableGen2Participant,
+ prompt = STRING_TOKEN(STR_GEN2_DEVICE),
+ help = STRING_TOKEN(STR_GEN2_DEVICE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval SETUP_DATA.EnableGen2Participant == 0;
+ numeric varid = SETUP_DATA.ActiveThermalTripPointGen2,
+ prompt = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.PassiveThermalTripPointGen2,
+ prompt = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 65,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.CriticalThermalTripPointGen2S3,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 70,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.HotThermalTripPointGen2,
+ prompt = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 75,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.CriticalThermalTripPointGen2,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 80,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.ThermistorSamplingPeriodGen2,
+ prompt = STRING_TOKEN (STR_DPTF_SAMPLING_PERIOD),
+ help = STRING_TOKEN (STR_DPTF_SAMPLING_PERIOD_HELP),
+ minimum = 0,
+ maximum = 100,
+ step = 1,
+ default = 10,
+ endnumeric;
+ endif; //end of Gen2 Participant
+
+ oneof varid = SETUP_DATA.EnableGen3Participant,
+ prompt = STRING_TOKEN(STR_GEN3_DEVICE),
+ help = STRING_TOKEN(STR_GEN3_DEVICE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval SETUP_DATA.EnableGen3Participant == 0;
+ numeric varid = SETUP_DATA.ActiveThermalTripPointGen3,
+ prompt = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.PassiveThermalTripPointGen3,
+ prompt = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 65,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.CriticalThermalTripPointGen3S3,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 70,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.HotThermalTripPointGen3,
+ prompt = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 75,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.CriticalThermalTripPointGen3,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 80,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.ThermistorSamplingPeriodGen3,
+ prompt = STRING_TOKEN (STR_DPTF_SAMPLING_PERIOD),
+ help = STRING_TOKEN (STR_DPTF_SAMPLING_PERIOD_HELP),
+ minimum = 0,
+ maximum = 100,
+ step = 1,
+ default = 10,
+ endnumeric;
+ endif; //end of Gen3 Participant
+
+ oneof varid = SETUP_DATA.EnableGen4Participant,
+ prompt = STRING_TOKEN(STR_GEN4_DEVICE),
+ help = STRING_TOKEN(STR_GEN4_DEVICE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval SETUP_DATA.EnableGen4Participant == 0;
+ numeric varid = SETUP_DATA.ActiveThermalTripPointGen4,
+ prompt = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.PassiveThermalTripPointGen4,
+ prompt = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 65,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.CriticalThermalTripPointGen4S3,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 70,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.HotThermalTripPointGen4,
+ prompt = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 75,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.CriticalThermalTripPointGen4,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 80,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.ThermistorSamplingPeriodGen4,
+ prompt = STRING_TOKEN (STR_DPTF_SAMPLING_PERIOD),
+ help = STRING_TOKEN (STR_DPTF_SAMPLING_PERIOD_HELP),
+ minimum = 0,
+ maximum = 100,
+ step = 1,
+ default = 10,
+ endnumeric;
+ endif; // end of Gen4 Participant
+
+ //
+ // OEM Design Variables 0 to 5
+ //
+
+ numeric varid = SETUP_DATA.OemDesignVariable0,
+ prompt = STRING_TOKEN (STR_DPTF_OEM_DESIGN_VARIABLE_0),
+ help = STRING_TOKEN (STR_DPTF_OEM_DESIGN_VARIABLE_HELP),
+ minimum = 0,
+ maximum = 255,
+ step = 1,
+ default = 0,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.OemDesignVariable1,
+ prompt = STRING_TOKEN (STR_DPTF_OEM_DESIGN_VARIABLE_1),
+ help = STRING_TOKEN (STR_DPTF_OEM_DESIGN_VARIABLE_HELP),
+ minimum = 0,
+ maximum = 255,
+ step = 1,
+ default = 0,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.OemDesignVariable2,
+ prompt = STRING_TOKEN (STR_DPTF_OEM_DESIGN_VARIABLE_2),
+ help = STRING_TOKEN (STR_DPTF_OEM_DESIGN_VARIABLE_HELP),
+ minimum = 0,
+ maximum = 255,
+ step = 1,
+ default = 0,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.OemDesignVariable3,
+ prompt = STRING_TOKEN (STR_DPTF_OEM_DESIGN_VARIABLE_3),
+ help = STRING_TOKEN (STR_DPTF_OEM_DESIGN_VARIABLE_HELP),
+ minimum = 0,
+ maximum = 255,
+ step = 1,
+ default = 0,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.OemDesignVariable4,
+ prompt = STRING_TOKEN (STR_DPTF_OEM_DESIGN_VARIABLE_4),
+ help = STRING_TOKEN (STR_DPTF_OEM_DESIGN_VARIABLE_HELP),
+ minimum = 0,
+ maximum = 255,
+ step = 1,
+ default = 0,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.OemDesignVariable5,
+ prompt = STRING_TOKEN (STR_DPTF_OEM_DESIGN_VARIABLE_5),
+ help = STRING_TOKEN (STR_DPTF_OEM_DESIGN_VARIABLE_HELP),
+ minimum = 0,
+ maximum = 255,
+ step = 1,
+ default = 0,
+ endnumeric;
+
+ //
+ // Virtual Sensors
+ //
+ oneof varid = SETUP_DATA.EnableVS1Participant,
+ prompt = STRING_TOKEN(STR_VIRTUAL_SENSOR_DEVICE1),
+ help = STRING_TOKEN(STR_VIRTUAL_SENSOR_DEVICE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval SETUP_DATA.EnableVS1Participant == 0;
+ numeric varid = SETUP_DATA.ActiveThermalTripPointVS1,
+ prompt = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT_HELP),
+ minimum = 40,
+ maximum = 127,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.PassiveThermalTripPointVS1,
+ prompt = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 70,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.CriticalThermalTripPointVS1S3,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 90,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.HotThermalTripPointVS1,
+ prompt = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 95,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.CriticalThermalTripPointVS1,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 105,
+ endnumeric;
+ endif; // end of Vir1 Participant
+
+ oneof varid = SETUP_DATA.EnableVS2Participant,
+ prompt = STRING_TOKEN(STR_VIRTUAL_SENSOR_DEVICE2),
+ help = STRING_TOKEN(STR_VIRTUAL_SENSOR_DEVICE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval SETUP_DATA.EnableVS2Participant == 0;
+ numeric varid = SETUP_DATA.ActiveThermalTripPointVS2,
+ prompt = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT_HELP),
+ minimum = 40,
+ maximum = 127,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.PassiveThermalTripPointVS2,
+ prompt = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 70,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.CriticalThermalTripPointVS2S3,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 90,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.HotThermalTripPointVS2,
+ prompt = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 95,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.CriticalThermalTripPointVS2,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 105,
+ endnumeric;
+ endif; // end of Vir2 Participant
+
+ oneof varid = SETUP_DATA.EnableVS3Participant,
+ prompt = STRING_TOKEN(STR_VIRTUAL_SENSOR_DEVICE3),
+ help = STRING_TOKEN(STR_VIRTUAL_SENSOR_DEVICE_HELP),
+ option text = STRING_TOKEN(STR_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval SETUP_DATA.EnableVS3Participant == 0;
+ numeric varid = SETUP_DATA.ActiveThermalTripPointVS3,
+ prompt = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN(STR_DPTF_ACTIVE_THERMAL_TRIP_POINT_HELP),
+ minimum = 40,
+ maximum = 127,
+ step = 1,
+ default = 60,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.PassiveThermalTripPointVS3,
+ prompt = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_PASSIVE_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 70,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.CriticalThermalTripPointVS3S3,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_S3_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 90,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.HotThermalTripPointVS3,
+ prompt = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_HOT_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 95,
+ endnumeric;
+
+ numeric varid = SETUP_DATA.CriticalThermalTripPointVS3,
+ prompt = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT),
+ help = STRING_TOKEN (STR_DPTF_CRITICAL_THERMAL_TRIP_POINT_HELP),
+ minimum = 0,
+ maximum = 127,
+ step = 1,
+ default = 105,
+ endnumeric;
+ endif; // end of Vir3 Participant
+
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ //
+ // Jump to DPTF Policy Form
+ //
+ goto DPTF_POLICY_FORM_ID,
+ prompt = STRING_TOKEN(STR_DPTF_POLICY_TITLE),
+ help = STRING_TOKEN(STR_DPTF_POLICY_HELP);
+ //
+ //
+ //
+
+ endif; // supress if EnableDPTF
+
+endform;
+
+#include "DptfPolicy.vfi"
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/UnCore.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/UnCore.vfi
new file mode 100644
index 0000000000..32eea2005d
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/UnCore.vfi
@@ -0,0 +1,325 @@
+// /** @file
+// UnCore Setup formset.
+//
+// Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
+//
+// 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.
+//
+// **/
+
+
+form formid = UNCORE_FORM_ID,
+ title = STRING_TOKEN(STR_UNCORE_CONFIGURATION_TITLE);
+
+ subtitle text = STRING_TOKEN(STR_GOP_TITLE);
+
+ oneof varid = Setup.GOPEnable,
+ prompt = STRING_TOKEN(STR_GOP_VBIOS_SWITCH),
+ help = STRING_TOKEN(STR_GOP_VBIOS_SWITCH_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value =1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PeiGraphicsPeimInit,
+ prompt = STRING_TOKEN(STR_PEI_DISPLAY),
+ help = STRING_TOKEN(STR_PEI_DISPLAY_HELP),
+ option text = STRING_TOKEN (STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.GOPBrightnessLevel,
+ prompt = STRING_TOKEN(STR_GOP_BRIGHTNESS_LEVEL),
+ help = STRING_TOKEN(STR_GOP_BRIGHTNESS_LEVEL_HELP),
+ option text = STRING_TOKEN(STR_GOP_BRIGHT_20), value =2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_GOP_BRIGHT_40), value =3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_GOP_BRIGHT_60), value =4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_GOP_BRIGHT_80), value =5, flags = DEFAULT | MANUFACTURING| RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_GOP_BRIGHT_100), value =6, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_GOP_BRIGHT_120), value =7, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_GOP_BRIGHT_140), value =8, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_GOP_BRIGHT_160), value =9, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_GOP_BRIGHT_180), value =10, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_GOP_BRIGHT_200), value =11, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_GOP_BRIGHT_220), value =12, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_GOP_BRIGHT_240), value =13, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_GOP_BRIGHT_255), value =14, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.VbtSelect,
+ prompt = STRING_TOKEN(STR_VBT_SELECT_PROMPT),
+ help = STRING_TOKEN(STR_VBT_SELECT_HELP),
+ option text = STRING_TOKEN(STR_VBT_EDP), value = 0, flags = DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_VBT_MIPI_AUO), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_VBT_MIPI_SHARP), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_VBT_MIPI_JDI), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_VBT_LSPCON), value = 4, flags = RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ subtitle text = STRING_TOKEN(STR_IGD_TITLE);
+
+ oneof varid = Setup.Igd,
+ prompt = STRING_TOKEN (STR_IGD_PROMPT),
+ help = STRING_TOKEN (STR_IGD_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value=0, flags= RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value=1, flags= DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PrimaryVideoAdaptor,
+ prompt = STRING_TOKEN(STR_PRIMARY_DISPLAY),
+ help = STRING_TOKEN(STR_PRIMARY_DISPLAY_HELP),
+ option text = STRING_TOKEN(STR_IGD_STRING), value = 0, flags = DEFAULT | MANUFACTURING |RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCI_STRING), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_HG_STRING) , value = 4, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif NOT ideqval SETUP_DATA.PrimaryVideoAdaptor == 4;
+ numeric varid = SETUP_DATA.DelayAfterPwrEn,
+ prompt = STRING_TOKEN (STR_HG_DELAY_AFTR_PWR_EN),
+ help = STRING_TOKEN (STR_HG_DELAY_AFTR_PWR_EN_HELP),
+ minimum = 0,
+ maximum = 1000,
+ step = 0, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 300,
+ endnumeric;
+ endif;
+
+ suppressif NOT ideqval SETUP_DATA.PrimaryVideoAdaptor == 4;
+ numeric varid = SETUP_DATA.DelayAfterHoldReset,
+ prompt = STRING_TOKEN (STR_HG_DELAY_AFTR_HLD_RST),
+ help = STRING_TOKEN (STR_HG_DELAY_AFTR_HLD_RST_HELP),
+ minimum = 0,
+ maximum = 1000,
+ step = 0, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 100,
+ endnumeric;
+ endif;
+
+ oneof varid = Setup.EnableRenderStandby,
+ prompt = STRING_TOKEN(STR_VIDEO_RS2_PROMPT),
+ help = STRING_TOKEN(STR_VIDEO_RS2_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.GTTSize,
+ prompt = STRING_TOKEN(STR_GTT_SIZE),
+ help = STRING_TOKEN(STR_GTT_SIZE_HELP),
+ option text = STRING_TOKEN(GTT_SIZE_2MB), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(GTT_SIZE_4MB), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(GTT_SIZE_8MB), value = 3, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.IgdApertureSize,
+ prompt = STRING_TOKEN(STR_APERTURE_SIZE),
+ help = STRING_TOKEN(STR_APERTURE_SIZE_HELP),
+ option text = STRING_TOKEN(APERTURE_SIZE_128MB), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(APERTURE_SIZE_256MB), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(APERTURE_SIZE_512MB), value = 3, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.IgdDvmt50PreAlloc,
+ prompt = STRING_TOKEN(STR_DVMT50_PRE_ALLOC),
+ help = STRING_TOKEN(STR_DVMT50_PRE_ALLOC_HELP),
+ option text = STRING_TOKEN(STR_DVMT50_PRE_ALLOC_64M), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DVMT50_PRE_ALLOC_96M), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DVMT50_PRE_ALLOC_128M), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DVMT50_PRE_ALLOC_160M), value = 5, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DVMT50_PRE_ALLOC_192M), value = 6, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DVMT50_PRE_ALLOC_224M), value = 7, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DVMT50_PRE_ALLOC_256M), value = 8, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DVMT50_PRE_ALLOC_288M), value = 9, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DVMT50_PRE_ALLOC_320M), value = 10, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DVMT50_PRE_ALLOC_352M), value = 11, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DVMT50_PRE_ALLOC_384M), value = 12, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DVMT50_PRE_ALLOC_416M), value = 13, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DVMT50_PRE_ALLOC_448M), value = 14, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DVMT50_PRE_ALLOC_480M), value = 15, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DVMT50_PRE_ALLOC_512M), value = 16, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.IgdDvmt50TotalAlloc,
+ prompt = STRING_TOKEN(STR_DVMT50_DVMT ),
+ help = STRING_TOKEN(STR_DVMT50_DVMT_HELP),
+ option text = STRING_TOKEN(STR_DVMT50_ALLOC_128), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DVMT50_ALLOC_256), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DVMT50_ALLOC_MAX), value = 3, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = SETUP_DATA.CdClock,
+ prompt = STRING_TOKEN(STR_CD_CLOCK),
+ help = STRING_TOKEN(STR_CD_CLOCK_HELP),
+ option text = STRING_TOKEN(STR_CD_CLOCK_144), value= 0, flags= RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_CD_CLOCK_288), value= 1, flags= RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_CD_CLOCK_384), value= 2, flags= RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_CD_CLOCK_576), value= 3, flags= RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_CD_CLOCK_624), value= 4, flags= DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ //
+ //Gt Config
+ //
+ oneof varid = Setup.PmSupport,
+ prompt = STRING_TOKEN(STR_PM_SUPPORT),
+ help = STRING_TOKEN(STR_PM_SUPPORT_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value=1, flags= DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value=0, flags= RESET_REQUIRED;
+ endoneof;
+
+ //
+ //Gt Config - PAVP
+ //
+ oneof varid = Setup.PavpEnable,
+ prompt = STRING_TOKEN(STR_PAVP_ENABLE),
+ help = STRING_TOKEN(STR_PAVP_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value=1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value=0, flags = RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_IGD_LCD_CONTROL);
+
+ oneof varid = Setup.IgdLcdIBia,
+ prompt = STRING_TOKEN(STR_VIDEO_LCD_IBIA),
+ help = STRING_TOKEN(STR_VIDEO_LCD_IBIAHLP),
+ option text = STRING_TOKEN(STR_VIDEO_LCD_IBIAA), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_VIDEO_LCD_IBIAD), value = 1, flags = 0| RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_VIDEO_LCD_IBIAL1), value = 2, flags = 0| RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_VIDEO_LCD_IBIAL2), value = 3, flags = 0| RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_VIDEO_LCD_IBIAL3), value = 4, flags = 0| RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_VIDEO_LCD_IBIAL4), value = 5, flags = 0| RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_VIDEO_LCD_IBIAL5), value = 6, flags = 0| RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.AlsEnable,
+ prompt = STRING_TOKEN (STR_ACPI_ALS_ENABLE),
+ help = STRING_TOKEN (STR_ACPI_ALS_ENABLE_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value=0, flags= 0 | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value=1, flags= DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+
+ oneof varid = Setup.IgdFlatPanel,
+ prompt = STRING_TOKEN(STR_IGD_FLAT_PANEL_PROMPT),
+ help = STRING_TOKEN(STR_NULL_STRING),
+ option text = STRING_TOKEN(STR_AUTOMATIC), value=0x00, flags=DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_640X480), value=0x01, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_800X600), value=0x02, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_1024X768), value=0x03, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_1280X1024), value=0x04, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_1366X768), value=0x05, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_1680X1050), value=0x06, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_1920X1200), value=0x07, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_1280X800), value=0x08, flags=RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.BootDisplayDevice,
+ prompt = STRING_TOKEN(STR_BOOT_DISPLAY_DEVICE_PROMPT),
+ help = STRING_TOKEN(STR_BOOT_DISPLAY_DEVICE_HELP),
+ option text = STRING_TOKEN(STR_AUTOMATIC), value=0x00, flags=DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_VGAPORT), value=0x01, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_HDMIPORTB), value=0x02, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DPPORTB), value=0x03, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DPPORTC), value=0x04, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_EDPPORTC), value=0x05, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DSIPORTA), value=0x06, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DSIPORTC), value=0x07, flags=RESET_REQUIRED;
+
+ endoneof;
+
+ //
+ //Panel Scaling
+ //
+ oneof varid = Setup.PanelScaling,
+ prompt = STRING_TOKEN(STR_PANEL_SCALING_PROMPT),
+ help = STRING_TOKEN(STR_PANEL_SCALING_HELP),
+ option text = STRING_TOKEN(STR_AUTOMATIC), value=0x00, flags=DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PANEL_SCALING_STRETCH), value=0x01, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PANEL_SCALING_CENTER), value=0x02, flags=RESET_REQUIRED;
+ endoneof;
+
+ //
+ //GMCH BLC Control
+ //
+ oneof varid = Setup.IgdLcdIGmchBlc,
+ prompt = STRING_TOKEN(STR_VIDEO_LCD_IGMCHBLC_PROMPT),
+ help = STRING_TOKEN(STR_VIDEO_LCD_IGMCHBLC_HELP),
+ option text = STRING_TOKEN(STR_VIDEO_LCD_IGMCHBLC1), value=0x00, flags=DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_VIDEO_LCD_IGMCHBLC2), value=0x01, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_VIDEO_LCD_IGMCHBLC3), value=0x02, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_VIDEO_LCD_IGMCHBLC4), value=0x03, flags=RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ //
+ //Memory Configuration
+ //
+ subtitle text = STRING_TOKEN(STR_MEMORY_CONFIGURATION_TITLE);
+
+ oneof varid = Setup.ScramblerSupport,
+ prompt = STRING_TOKEN (STR_MEMORY_SCRAMBLER_PROMPT),
+ help = STRING_TOKEN (STR_MEMORY_SCRAMBLER_HELP),
+ option text = STRING_TOKEN (STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN (STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ //
+ //IPU Configuration
+ //
+ subtitle text = STRING_TOKEN(STR_IPU_CONFIGURATION_TITLE);
+
+ oneof varid = Setup.IpuEn,
+ questionid = 0x1002,
+ prompt = STRING_TOKEN(STR_IPU_ENABLED),
+ help = STRING_TOKEN(STR_IPU_ENABLED_HELP),
+ flags = INTERACTIVE,
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.IpuEn == 0;
+ oneof varid = Setup.IpuAcpiMode,
+ prompt = STRING_TOKEN (STR_IPU_ACPI_PROMPT),
+ help = STRING_TOKEN (STR_IPU_ACPI_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_IPU_ACPI_IGFX), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_IPU_ACPI_NOIGFX), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.WorldCameraSel,
+ prompt = STRING_TOKEN(STR_WORLDCAMERA_SELECTION_PROMPT),
+ help = STRING_TOKEN(STR_WORLDCAMERA_SELECTION_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_IMX214), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_IMX135), value = 2, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.UserCameraSel,
+ prompt = STRING_TOKEN(STR_USERCAMERA_SELECTION_PROMPT),
+ help = STRING_TOKEN(STR_USERCAMERA_SELECTION_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_OV2740), value = 1, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ // Rotation
+ oneof varid = Setup.CameraRotationAngle,
+ prompt = STRING_TOKEN(STR_CAM_DEGREE),
+ help = STRING_TOKEN(STR_CAM_DEGREE_HELP),
+ option text = STRING_TOKEN(STR_CAM_DEGREE_0), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_CAM_DEGREE_90), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_CAM_DEGREE_180), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_CAM_DEGREE_270), value = 6, flags = RESET_REQUIRED;
+ endoneof;
+
+ endif;
+
+endform;
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/UqiList.uni b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/UqiList.uni
new file mode 100644
index 0000000000..df597460ee
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/UqiList.uni
Binary files differ
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Vfr.vfr b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Vfr.vfr
new file mode 100644
index 0000000000..63d5e7f23f
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Vfr.vfr
@@ -0,0 +1,121 @@
+// /** @file
+//
+// Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
+//
+// 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.
+//
+// **/
+
+#include "Configuration.h"
+#include "PlatformSetupDxeStrDefs.h"
+#include "Guid/SetupVariable.h"
+
+
+formset
+ guid = SYSTEM_CONFIGURATION_GUID,
+ title = STRING_TOKEN(STR_SYSTEM_SETUP_TITLE),
+ help = STRING_TOKEN(STR_SYSTEM_SETUP_HELP),
+ class = 1,
+ subclass = 0,
+
+
+ varstore SYSTEM_CONFIGURATION, name = Setup, guid = SYSTEM_CONFIGURATION_GUID;
+ form formid = ROOT_FORM_ID,
+ title = STRING_TOKEN(STR_SYSTEM_SETUP_TITLE);
+
+ //
+ // Jump to 1)Main Form
+ //
+ goto ROOT_MAIN_FORM_ID,
+ prompt = STRING_TOKEN(STR_MAIN_TITLE),
+ help = STRING_TOKEN(STR_MAIN_HELP);
+
+ //
+ // Jump to 2)CPU Configuration Form
+ //
+ goto CPU_CONFIGURATION_FORM_ID,
+ prompt = STRING_TOKEN(STR_CPU_CONFIGURATION_TITLE),
+ help = STRING_TOKEN(STR_CPU_CONFIGURATION_HELP);
+
+ //
+ // Jump to 3)Uncore Configuration Form
+ //
+ goto UNCORE_FORM_ID,
+ prompt = STRING_TOKEN(STR_UNCORE_CONFIGURATION_TITLE),
+ help = STRING_TOKEN(STR_UNCORE_CONFIGURATION_HELP);
+
+ //
+ // Jump to 4)South Cluster Configuration Form
+ //
+ goto SOUTH_CLUSTER_FORM_ID,
+ prompt = STRING_TOKEN(STR_SOUTH_CLUSTER_TITLE),
+ help = STRING_TOKEN(STR_SOUTH_CLUSTER_HELP);
+
+ // Jump to 5)Boot Form
+ //
+ goto BOOT_CONFIGURATION_FORM_ID,
+ prompt = STRING_TOKEN(STR_BOOT_CONFIGURATION_TITLE),
+ help = STRING_TOKEN(STR_BOOT_CONFIGURATION_HELP);
+
+ //
+ // Jump to 6)Security Configuration Form
+ //
+ goto SECURITY_CONFIGURATION_FORM_ID,
+ prompt = STRING_TOKEN(STR_SECURITY_CONFIGURATION_TITLE),
+ help = STRING_TOKEN(STR_SECURITY_CONFIGURATION_HELP);
+
+ //
+ // Jump to 7)Thermal Form
+ //
+ goto THERMAL_FORM_ID,
+ prompt = STRING_TOKEN(STR_THERMAL_TITLE),
+ help = STRING_TOKEN(STR_THERMAL_HELP);
+
+ //
+ // Jump to 8) System Component Form
+ goto SYSTEM_COMPONENT_FORM_ID,
+ prompt = STRING_TOKEN(STR_SYSTEM_COMPONENT_TITLE),
+ help = STRING_TOKEN(STR_SYSTEM_COMPONENT_HELP);
+
+ //
+ // Jump to 10)Debug Configuration Form
+ //
+ goto DEBUG_CONFIGURATION_FORM_ID,
+ prompt = STRING_TOKEN(STR_DEBUG_CONFIGURATION_TITLE),
+ help = STRING_TOKEN(STR_DEBUG_CONFIGURATION_HELP);
+
+ //
+ // Jump to 11)ACPI Configuration Form
+ //
+ goto ACPI_SETUP_FORM_ID,
+ prompt = STRING_TOKEN(STR_ACPI_SETUP_TITLE),
+ help = STRING_TOKEN(STR_ACPI_SETUP_HELP);
+
+ //
+ // Jump to 12)RTD3 Configuration Form
+ //
+ goto RTD3_FORM_ID,
+ prompt = STRING_TOKEN(STR_RTD3_FORM),
+ help = STRING_TOKEN(STR_RTD3_FORM_HELP);
+
+ endform;
+
+ #include "Main.vfi"
+ #include "Cpu.vfi"
+ #include "UnCore.vfi"
+ #include "SouthClusterConfig.vfi"
+ #include "Boot.vfi"
+ #include "Security.vfi"
+ #include "Thermal.vfi"
+ #include "SystemComponent.vfi"
+ #include "DebugConfig.vfi"
+ #include "AcpiSetup.Vfi"
+ #include "RTD3.Vfi"
+
+endformset;
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/VfrStrings.uni b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/VfrStrings.uni
new file mode 100644
index 0000000000..47b84ee6a0
--- /dev/null
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/VfrStrings.uni
Binary files differ