summaryrefslogtreecommitdiff
path: root/BraswellPlatformPkg/Common
diff options
context:
space:
mode:
authorGuo Mang <mang.guo@intel.com>2016-08-03 10:46:52 +0800
committerGuo Mang <mang.guo@intel.com>2016-08-04 10:32:03 +0800
commitca87d6be09094df008d571c317d91c7d017c3374 (patch)
tree4f59f42146d6a21aaca545434ecd4dd80c611f11 /BraswellPlatformPkg/Common
parent5dd29bdf5181c66bd56ec4d0ec9da072007b131c (diff)
downloadedk2-platforms-ca87d6be09094df008d571c317d91c7d017c3374.tar.xz
BraswellPlatformPkg: Move Setup to Common/Setup
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Mang <mang.guo@intel.com> Reviewed-by: David Wei <david.wei@intel.com>
Diffstat (limited to 'BraswellPlatformPkg/Common')
-rw-r--r--BraswellPlatformPkg/Common/Setup/Boot.vfi66
-rw-r--r--BraswellPlatformPkg/Common/Setup/Configuration.h75
-rw-r--r--BraswellPlatformPkg/Common/Setup/DebugConfig.vfi59
-rw-r--r--BraswellPlatformPkg/Common/Setup/FwVersionStrings.uni38
-rw-r--r--BraswellPlatformPkg/Common/Setup/Main.vfi324
-rw-r--r--BraswellPlatformPkg/Common/Setup/PlatformSetupDxe.c482
-rw-r--r--BraswellPlatformPkg/Common/Setup/PlatformSetupDxe.h82
-rw-r--r--BraswellPlatformPkg/Common/Setup/PlatformSetupDxe.inf153
-rw-r--r--BraswellPlatformPkg/Common/Setup/SetupFunctions.c49
-rw-r--r--BraswellPlatformPkg/Common/Setup/SetupInfoRecords.c1232
-rw-r--r--BraswellPlatformPkg/Common/Setup/SouthClusterConfig.vfi1703
-rw-r--r--BraswellPlatformPkg/Common/Setup/SystemComponent.vfi72
-rw-r--r--BraswellPlatformPkg/Common/Setup/Thermal.vfi77
-rw-r--r--BraswellPlatformPkg/Common/Setup/UnCore.vfi228
-rw-r--r--BraswellPlatformPkg/Common/Setup/UqiList.uni443
-rw-r--r--BraswellPlatformPkg/Common/Setup/Vfr.vfr99
-rw-r--r--BraswellPlatformPkg/Common/Setup/VfrStrings.uni1690
17 files changed, 6872 insertions, 0 deletions
diff --git a/BraswellPlatformPkg/Common/Setup/Boot.vfi b/BraswellPlatformPkg/Common/Setup/Boot.vfi
new file mode 100644
index 0000000000..d84546b945
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/Boot.vfi
@@ -0,0 +1,66 @@
+// /** @file
+// Driver Setup formset.
+//
+// Copyright (c) 2004 - 2015, 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);
+
+
+ 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 | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value=1, flags= MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ 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= 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 = 0 | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | 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;
+
+endform;
+
+
+
+
diff --git a/BraswellPlatformPkg/Common/Setup/Configuration.h b/BraswellPlatformPkg/Common/Setup/Configuration.h
new file mode 100644
index 0000000000..6dc9bb8966
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/Configuration.h
@@ -0,0 +1,75 @@
+/** @file
+ Driver configuration include file.
+
+ Copyright (c) 2004 - 2015, 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 SENSOR_CONFIGURATION_ID 11
+#define LPSS_OPTIONS_FORM_ID 12
+#define UNCORE_FORM_ID 13
+#define TPM_FORM_ID 14
+#define THERMAL_FORM_ID 15
+#define PASSWORD_SETTING_ID 16
+#define PCH_PCIEX_S0IX_OPTIONS_FORM_ID 17
+#define AZALIA_OPTIONS_FORM_ID 18
+#define MISC_OPTIONS_FORM_ID 19
+#define USB_OPTIONS_FORM_ID 20
+#define PCIE_DEVICE_OPTIONS_FORM_ID 21
+#define SYSTEM_COMPONENT_FORM_ID 22
+#define DEBUG_CONFIGURATION_FORM_ID 23
+#define SCC_OPTIONS_FORM_ID 24
+#define PCH_PCIERP1_OPTIONS_FORM_ID 25
+#define PCH_PCIERP2_OPTIONS_FORM_ID 26
+#define PCH_PCIERP3_OPTIONS_FORM_ID 27
+#define PCH_PCIERP4_OPTIONS_FORM_ID 28
+#define ISH_OPTIONS_FORM_ID 29
+#define SECURITY_OPTIONS_FORM_ID 30
+#define ISCT_CONFIGURATION_ID 31
+#define ANDROID_OPTIONS_FORM_ID 32
+#define SATA_OPTIONS_FORM_ID 33
+#define SATA_SFMS_OPTIONS_FORM_ID 34
+#define THERMAL_DPTF_FORM_ID 35
+#define THERMAL_FAILSAFE_FORM_ID 36
+#define PSS_CHIP_OPTION_FORM_ID 37
+#define PSS_CHIP_FACTORY_FORM_ID 38
+#define PSS_CHIP_ENGINEERING_FORM_ID 39
+#define PSS_CHIP_LAB_FORM_ID 40
+#define MEMORY_CONFIGURATION_FORM_ID 41
+#define CHARGING_OPTIONS_FORM_ID 42
+#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
+#define SATA_MODE_IDE 0
+#define SATA_MODE_AHCI 1
+#define SATA_MODE_RAID 2
+#endif // #ifndef _CONFIGURATION_H
diff --git a/BraswellPlatformPkg/Common/Setup/DebugConfig.vfi b/BraswellPlatformPkg/Common/Setup/DebugConfig.vfi
new file mode 100644
index 0000000000..31197e60ad
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/DebugConfig.vfi
@@ -0,0 +1,59 @@
+// /** @file
+// Debug Configuration formset.
+//
+// Copyright (c) 2004 - 2015, 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_ACPIMEMDBG_STRING);
+
+ //ACPI Memory Debug Switch
+ oneof varid = Setup.ACPIMemDbg,
+ prompt = STRING_TOKEN (STR_ACPIMEMDBG_SWTICH),
+ help = STRING_TOKEN (STR_ACPIMEMDBG_SWTICH_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);
+
+ oneof varid = Setup.ExISupport,
+ prompt = STRING_TOKEN(STR_EXISUPPORT_PROMPT),
+ help = STRING_TOKEN(STR_EXISUPPORT_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ oneof varid = Setup.ENDBG2,
+ prompt = STRING_TOKEN (STR_ENABLE_DBG2),
+ help = STRING_TOKEN (STR_ENABLE_DBG2_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ oneof varid = Setup.DisableCodec262,
+ prompt = STRING_TOKEN(STR_CODEC262_DISABLED_PROMPT),
+ help = STRING_TOKEN(STR_CODEC262_DISABLED_HELP),
+ option text = STRING_TOKEN(STR_YES), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_NO), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+endform;
diff --git a/BraswellPlatformPkg/Common/Setup/FwVersionStrings.uni b/BraswellPlatformPkg/Common/Setup/FwVersionStrings.uni
new file mode 100644
index 0000000000..6d48e2a7e1
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/FwVersionStrings.uni
@@ -0,0 +1,38 @@
+// /** @file
+// String definitions for Inventory file.
+//
+// Copyright (c) 2004 - 2015, 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.
+//
+// **/
+
+
+/=#
+
+#langdef en-US "English"
+#langdef fr-FR "Francais"
+
+#string STR_SOC_STRING #language en-US "VLV SOC"
+#string STR_SOC_VALUE #language en-US "N/A"
+#string STR_MRC_VERSION_STRING #language en-US "MRC Version"
+#string STR_MRC_VERSION_VALUE #language en-US "N/A"
+#string STR_PUNIT_FW_STRING #language en-US "PUNIT FW Patch"
+#string STR_PUNIT_FW_VALUE #language en-US "N/A"
+#string STR_ULPMC_FW_STRING #language en-US "ULPMC FW"
+#string STR_ULPMC_FW_VALUE #language en-US "N/A"
+#string STR_KSC_FW_STRING #language en-US "KSC FW"
+#string STR_KSC_FW_VALUE #language en-US "N/A"
+#string STR_SEC_FW_STRING #language en-US "TXE FW"
+#string STR_SEC_FW_VALUE #language en-US "N/A"
+#string STR_GOP_STRING #language en-US "GOP"
+#string STR_GOP_VALUE #language en-US "N/A"
+#string STR_PMC_FW_STRING #language en-US "PMC FW Patch"
+#string STR_PMC_FW_VALUE #language en-US "N/A"
+
diff --git a/BraswellPlatformPkg/Common/Setup/Main.vfi b/BraswellPlatformPkg/Common/Setup/Main.vfi
new file mode 100644
index 0000000000..1e7491ec29
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/Main.vfi
@@ -0,0 +1,324 @@
+// /** @file
+// Driver Setup formset.
+//
+// Copyright (c) 2004 - 2015, 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_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_SKU_STRING),
+ text = STRING_TOKEN(STR_PROCESSOR_SKU_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_SEC_VERSION_STRING),
+ text = STRING_TOKEN(STR_SEC_VERSION_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_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/BraswellPlatformPkg/Common/Setup/PlatformSetupDxe.c b/BraswellPlatformPkg/Common/Setup/PlatformSetupDxe.c
new file mode 100644
index 0000000000..d678d5c008
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/PlatformSetupDxe.c
@@ -0,0 +1,482 @@
+/** @file
+ Entry and initialization module for platform browser.
+
+ Copyright (c) 2004 - 2015, 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/FormBrowserEx2.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)
+
+typedef struct {
+ UINTN Signature;
+ EFI_HANDLE DriverHandle;
+ EFI_HII_HANDLE RegisteredHandle;
+ SYSTEM_CONFIGURATION FakeNvData;
+ SYSTEM_CONFIGURATION BackupNvData;
+ 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[];
+
+//
+// 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;
+BOOLEAN GlobalReset=FALSE;
+
+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)
+ }
+ }
+};
+
+
+/**
+ 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;
+
+ 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);
+ Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);
+ ConfigRequest = AllocateZeroPool (Size);
+ ASSERT (ConfigRequest != NULL);
+ AllocatedRequest = TRUE;
+ BufferSize = sizeof (SYSTEM_CONFIGURATION);
+ UnicodeSPrint (ConfigRequest, Size, L"%s&OFFSET=0&WIDTH=%016LX", ConfigRequestHdr, (UINT64)BufferSize);
+ FreePool (ConfigRequestHdr);
+ }
+ SystemConfigPtr = PcdGetPtr (PcdSystemConfiguration);
+
+ if (SystemConfigPtr == NULL) {
+ ZeroMem(&Private->FakeNvData, sizeof(SYSTEM_CONFIGURATION));
+ ZeroMem(&Private->BackupNvData, sizeof(SYSTEM_CONFIGURATION));
+ } else {
+ CopyMem(&Private->FakeNvData, SystemConfigPtr, sizeof(SYSTEM_CONFIGURATION));
+ CopyMem(&Private->BackupNvData, 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;
+ SYSTEM_CONFIGURATION *FakeNvData;
+ UINTN Size;
+
+ if (Configuration == NULL || Progress == NULL) {
+ return EFI_INVALID_PARAMETER;
+ }
+ *Progress = Configuration;
+
+ if (!HiiIsConfigHdrMatch (Configuration, &mSystemConfigGuid, mVariableName)) {
+ return EFI_NOT_FOUND;
+ }
+
+ *Progress = Configuration + StrLen (Configuration);
+ Private = EFI_CALLBACK_INFO_FROM_THIS (This);
+ FakeNvData = &Private->FakeNvData;
+ if (!HiiGetBrowserData (&mSystemConfigGuid, mVariableName, sizeof (SYSTEM_CONFIGURATION), (UINT8 *) FakeNvData)) {
+ //
+ // FakeNvData can't be got from SetupBrowser, which doesn't need to be set.
+ //
+ return EFI_SUCCESS;
+ }
+
+ Size = sizeof (SYSTEM_CONFIGURATION);
+ PcdSetPtr (PcdSystemConfiguration, &Size, &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 'commint 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 Always returned.
+
+**/
+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
+ )
+{
+ if ((This == NULL) || (Value == NULL) || (ActionRequest == NULL)) {
+ return EFI_INVALID_PARAMETER;
+ }
+
+ return EFI_UNSUPPORTED;
+}
+
+/**
+ The driver Entry Point. The funciton 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;
+ EFI_FORM_BROWSER_EXTENSION_PROTOCOL *FormBrowserEx;
+ EFI_INPUT_KEY HotKey;
+ EFI_STRING HelpString;
+
+ Status = gBS->LocateProtocol (&gEfiFormBrowserExProtocolGuid, NULL, (VOID **) &FormBrowserEx);
+ ASSERT_EFI_ERROR (Status);
+
+ //
+ // 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;
+ }
+
+ Status = FormBrowserEx->SetScope (SystemLevel);
+ //
+ // First unregister the default hot key F9 and F10.
+ //
+ HotKey.UnicodeChar = CHAR_NULL;
+ HotKey.ScanCode = SCAN_F9;
+ Status = FormBrowserEx->RegisterHotKey (&HotKey, BROWSER_ACTION_UNREGISTER, 0, NULL);
+
+ HotKey.ScanCode = SCAN_F10;
+ Status = FormBrowserEx->RegisterHotKey (&HotKey, BROWSER_ACTION_UNREGISTER, 0, NULL);
+
+ //
+ // Register the global HotKey F8, F9 and F10.
+ //
+ HotKey.ScanCode = SCAN_F10;
+ HelpString = HiiGetString (mHiiHandle, STRING_TOKEN (STR_COMMIT_CHANGE_F10), NULL);
+ Status = FormBrowserEx->RegisterHotKey (&HotKey, BROWSER_ACTION_SUBMIT, 0, HelpString);
+ FreePool (HelpString);
+
+ HotKey.ScanCode = SCAN_F9;
+ HelpString = HiiGetString (mHiiHandle, STRING_TOKEN (STR_LOAD_DEFAULT_F9), NULL);
+ Status = FormBrowserEx->RegisterHotKey (&HotKey, BROWSER_ACTION_DEFAULT, EFI_HII_DEFAULT_CLASS_STANDARD, HelpString);
+ FreePool (HelpString);
+
+ HotKey.ScanCode = SCAN_F8;
+ HelpString = HiiGetString (mHiiHandle, STRING_TOKEN (STR_DISCARD_CHANGE_F8), NULL);
+ Status = FormBrowserEx->RegisterHotKey (&HotKey, BROWSER_ACTION_DISCARD, 0, HelpString);
+ FreePool (HelpString);
+
+ //
+ // Clear all the globle variable
+ //
+ 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/BraswellPlatformPkg/Common/Setup/PlatformSetupDxe.h b/BraswellPlatformPkg/Common/Setup/PlatformSetupDxe.h
new file mode 100644
index 0000000000..cef103456e
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/PlatformSetupDxe.h
@@ -0,0 +1,82 @@
+/** @file
+ Entry and initialization module for platform browser.
+
+ Copyright (c) 2004 - 2015, 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 <Guid/MdeModuleHii.h>
+#include <Guid/VariableFormat.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/CpuIA32.h>
+#include <Library/HobLib.h>
+#include <Guid/PlatformInfo.h>
+#include <IndustryStandard/Pci22.h>
+#include "Guid/SetupVariable.h"
+#include <Protocol/SimpleTextIn.h>
+#include <Protocol/FrameworkFormBrowser.h>
+
+extern EFI_HII_HANDLE mHiiHandle;
+
+EFI_STATUS
+GetStringFromToken (
+ IN EFI_GUID *ProducerGuid,
+ IN STRING_REF Token,
+ OUT CHAR16 **String
+ );
+
+VOID
+SwapEntries (
+ IN CHAR8 *Data
+ );
+
+VOID
+AsciiToUnicode (
+ IN CHAR8 *AsciiString,
+ IN CHAR16 *UnicodeString
+ );
+
+VOID
+EFIAPI
+SetupInfo (
+ );
+
+#endif
diff --git a/BraswellPlatformPkg/Common/Setup/PlatformSetupDxe.inf b/BraswellPlatformPkg/Common/Setup/PlatformSetupDxe.inf
new file mode 100644
index 0000000000..748ed702db
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/PlatformSetupDxe.inf
@@ -0,0 +1,153 @@
+## @file
+# Component description file for PlatformSetupDxe module
+#
+# 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 dynamicly locate all controller device path.
+# 2. It dynamicly locate all drivers which support binding protocol.
+# 3. It export and dynamicly 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) 1999 - 2015, 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
+ PlatformSetupDxe.c
+ SetupInfoRecords.c
+ PlatformSetupDxe.h
+ SouthClusterConfig.vfi
+ Thermal.vfi
+ SetupFunctions.c
+ UnCore.vfi
+ SystemComponent.vfi
+ DebugConfig.vfi
+ UqiList.uni
+
+[Packages]
+ MdePkg/MdePkg.dec
+ MdeModulePkg/MdeModulePkg.dec
+ IntelFrameworkPkg/IntelFrameworkPkg.dec
+ BraswellPlatformPkg/BraswellPlatformPkg.dec
+ ChvRefCodePkg/ChvRefCodePkg.dec #for PchAccess.h
+ SecurityPkg/SecurityPkg.dec
+
+[LibraryClasses]
+ BaseLib
+ DebugLib
+ UefiLib
+ UefiDriverEntryPoint
+ UefiBootServicesTableLib
+ HiiLib
+ BaseMemoryLib
+ MemoryAllocationLib
+ DevicePathLib
+ DxeServicesTableLib
+ UefiRuntimeServicesTableLib
+ PrintLib
+ BiosIdLib
+ CpuIA32Lib
+ IoLib
+
+[Guids]
+ ## SOMETIMES_CONSUMES ## GUID
+ gEfiProcessorSubClassGuid
+
+ ## SOMETIMES_CONSUMES ## GUID
+ gEfiMiscSubClassGuid
+
+ ## SOMETIMES_CONSUMES ## GUID
+ gEfiCacheSubClassGuid
+
+ ## SOMETIMES_CONSUMES ## GUID
+ gEfiMemorySubClassGuid
+
+[Protocols]
+ ## SOMETIMES_CONSUMES
+ gEfiDriverBindingProtocolGuid
+
+ ## PRODUCES
+ gEfiDevicePathProtocolGuid
+
+ ## CONSUMES
+ gEfiFormBrowser2ProtocolGuid
+
+ ## CONSUMES
+ gEfiHiiConfigRoutingProtocolGuid
+
+ ## PRODUCES
+ gEfiHiiConfigAccessProtocolGuid
+
+ ## CONSUMES
+ gEdkiiFormBrowserEx2ProtocolGuid
+
+ ## SOMETIMES_CONSUMES
+ gEfiLegacyBiosProtocolGuid
+
+ ## SOMETIMES_CONSUMES
+ gEfiDiskInfoProtocolGuid
+
+ ## SOMETIMES_CONSUMES
+ gEfiMpServiceProtocolGuid
+
+ ## SOMETIMES_CONSUMES
+ gDxePchPlatformPolicyProtocolGuid
+
+ ## CONSUMES
+ gEfiSmbiosProtocolGuid
+
+ ## CONSUMES
+ gEfiFormBrowserExProtocolGuid
+
+[Pcd]
+ ## CONSUMES
+ gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
+
+ gEfiEdkIIPlatformTokenSpaceGuid.PcdPlatformInfo
+
+ gEfiEdkIIPlatformTokenSpaceGuid.PcdSystemConfiguration
+
+[Depex]
+ gEfiFormBrowser2ProtocolGuid AND
+ gEfiHiiConfigRoutingProtocolGuid AND
+ gEfiFormBrowserExProtocolGuid AND
+ gEdkiiFormDisplayEngineProtocolGuid
+
diff --git a/BraswellPlatformPkg/Common/Setup/SetupFunctions.c b/BraswellPlatformPkg/Common/Setup/SetupFunctions.c
new file mode 100644
index 0000000000..d8e4c3bb53
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/SetupFunctions.c
@@ -0,0 +1,49 @@
+/** @file
+ Copyright (c) 2004 - 2015, 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
+AsciiToUnicode (
+ IN CHAR8 *AsciiString,
+ IN CHAR16 *UnicodeString
+ )
+{
+ UINT8 Index;
+
+ Index = 0;
+ while (AsciiString[Index] != 0) {
+ UnicodeString[Index] = (CHAR16)AsciiString[Index];
+ Index++;
+ }
+}
+
+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;
+}
+
diff --git a/BraswellPlatformPkg/Common/Setup/SetupInfoRecords.c b/BraswellPlatformPkg/Common/Setup/SetupInfoRecords.c
new file mode 100644
index 0000000000..8ae8e927d4
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/SetupInfoRecords.c
@@ -0,0 +1,1232 @@
+/** @file
+ The filter driver to retrieve data hub entries.
+
+ Copyright (c) 2004 - 2015, 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/PchPlatformPolicy.h>
+#include <Protocol/CpuIo2.h>
+#include <Protocol/Smbios.h>
+#include <IndustryStandard/SmBios.h>
+#include <Library/IoLib.h>
+#include <Library/I2CLib.h>
+#include <Guid/GlobalVariable.h>
+#include "Cherryview.h"
+#include "ChvAccess.h"
+#include "PchAccess.h"
+#include <PlatformBaseAddresses.h>
+
+typedef struct {
+ UINT8 ID;
+ CHAR8 String[16];
+} VLV_REV;
+
+typedef struct {
+ UINT8 RevId;
+ CHAR8 String[16];
+} SB_REV;
+
+
+#define LEFT_JUSTIFY 0x01
+#define PREFIX_SIGN 0x02
+#define PREFIX_BLANK 0x04
+#define COMMA_TYPE 0x08
+#define LONG_TYPE 0x10
+#define PREFIX_ZERO 0x20
+
+#define ICH_REG_REV 0x08
+#define MSR_IA32_PLATFORM_ID 0x17
+
+BOOLEAN mSetupInfoDone = FALSE;
+UINT8 mUseProductKey = 0;
+EFI_GUID mProcessorProducerGuid;
+EFI_HII_HANDLE mHiiHandle;
+SYSTEM_CONFIGURATION mSystemConfiguration;
+EFI_PLATFORM_INFO_HOB *mPlatformInfo;
+
+#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 enum {
+ PCH_SATA_MODE_IDE = 0,
+ PCH_SATA_MODE_AHCI,
+ PCH_SATA_MODE_RAID,
+ PCH_SATA_MODE_MAX
+} PCH_SATA_MODE;
+
+/**
+ Acquire the string associated with the Index from smbios structure and return it.
+ The caller is responsible for free the string buffer.
+
+ @param[in] OptionalStrStart The start position to search the string
+ @param[in] Index The index of the string to extract
+ @param[out] String The string that is extracted
+
+ @retval EFI_SUCCESS The function returns EFI_SUCCESS always
+
+**/
+EFI_STATUS
+GetOptionalStringByIndex (
+ IN CHAR8 *OptionalStrStart,
+ IN UINT8 Index,
+ OUT CHAR16 **String
+ )
+{
+ UINTN StrSize;
+
+ if (Index == 0) {
+ *String = AllocateZeroPool (sizeof (CHAR16));
+ return EFI_SUCCESS;
+ }
+
+ StrSize = 0;
+ do {
+ Index--;
+ OptionalStrStart += StrSize;
+ StrSize = AsciiStrSize (OptionalStrStart);
+ } while (OptionalStrStart[StrSize] != 0 && Index != 0);
+
+ if ((Index != 0) || (StrSize == 1)) {
+ //
+ // Meet the end of strings set but Index is non-zero, or
+ // Find an empty string
+ //
+ return EFI_NOT_FOUND;
+ } else {
+ *String = AllocatePool (StrSize * sizeof (CHAR16));
+ AsciiStrToUnicodeStr (OptionalStrStart, *String);
+ }
+
+ return EFI_SUCCESS;
+}
+
+/**
+ 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.
+
+ @retval 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.
+
+ @retval 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[out] String string that will contain the value
+ @param[in] MacAddr add argument and description to function comment
+ @param[in] AddrSize add argument and description to function comment
+
+ @retval Unicode string of MAC address
+
+**/
+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;
+}
+
+
+/**
+ Setup data filter function. This function is invoked when there is data records
+ available in the Data Hub.
+
+ @param None
+
+ @retval EFI_STATUS
+
+**/
+VOID
+PrepareSetupInformation (
+ )
+{
+ EFI_STATUS Status;
+ CHAR16 *NewString;
+ CHAR16 *NewString2;
+ STRING_REF TokenToUpdate;
+ UINT16 EeState;
+
+ 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
+
+ NewString = AllocateZeroPool (0x100);
+ NewString2 = AllocateZeroPool (0x100);
+ 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;
+
+
+ Status = GetBiosVersionDateTime (
+ Version,
+ ReleaseDate,
+ ReleaseTime
+ );
+
+ DEBUG ((EFI_D_ERROR, "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));
+ StrCpy (BuildDateTime, ReleaseDate);
+ StrCat (BuildDateTime, L" ");
+ StrCat (BuildDateTime, ReleaseTime);
+
+ TokenToUpdate = (STRING_REF) STR_BIOS_VERSION_VALUE;
+ DEBUG ((EFI_D_ERROR, "update STR_BIOS_VERSION_VALUE\n"));
+ HiiSetString (mHiiHandle, TokenToUpdate, Version, NULL);
+
+ TokenToUpdate = (STRING_REF) STR_BIOS_BUILD_TIME_VALUE;
+ DEBUG ((EFI_D_ERROR, "update STR_BIOS_BUILD_TIME_VALUE\n"));
+ HiiSetString (mHiiHandle, TokenToUpdate, BuildDateTime, NULL);
+ }
+
+ //
+ // Calculate and update memory speed display in Main Page
+ //
+ //
+ // Update the overall memory speed
+ //
+ if (mMemorySpeed != 0xffff) {
+ EfiValueToString (NewString, mMemorySpeed, PREFIX_ZERO, 0);
+ StrCat (NewString, L" MHz");
+
+ TokenToUpdate = (STRING_REF)STR_SYSTEM_MEMORY_SPEED_VALUE;
+ HiiSetString (mHiiHandle, TokenToUpdate, NewString, NULL);
+ }
+
+ gBS->FreePool (NewString);
+ gBS->FreePool (NewString2);
+
+ return;
+}
+
+/**
+ Update the SETUP info for "Additional Information" which is SMBIOS info.
+
+ @param None
+
+ @retval EFI_STATUS
+
+**/
+EFI_STATUS
+UpdateAdditionalInformation (
+ )
+{
+ EFI_STATUS Status;
+ UINT64 MonotonicCount;
+ UINTN Size;
+ EFI_SMBIOS_PROTOCOL *Smbios;
+ EFI_SMBIOS_HANDLE SmbiosHandle;
+ EFI_SMBIOS_TABLE_HEADER *SmbiosRecord;
+ SMBIOS_TABLE_TYPE0 *Type0Record;
+ UINT8 StrIndex;
+ CHAR16 *BiosVersion = NULL;
+ CHAR16 *IfwiVersion = NULL;
+ UINT16 SearchIndex;
+ EFI_STRING_ID TokenToUpdate;
+
+
+ Size = 3;
+
+ MonotonicCount = 0;
+ Status = gBS->LocateProtocol (
+ &gEfiSmbiosProtocolGuid,
+ NULL,
+ (VOID **) &Smbios
+ );
+ ASSERT_EFI_ERROR (Status);
+
+ SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;
+ do {
+ Status = Smbios->GetNext (
+ Smbios,
+ &SmbiosHandle,
+ NULL,
+ &SmbiosRecord,
+ NULL
+ );
+ if (SmbiosRecord->Type == EFI_SMBIOS_TYPE_BIOS_INFORMATION) {
+ Type0Record = (SMBIOS_TABLE_TYPE0 *) SmbiosRecord;
+ StrIndex = Type0Record->BiosVersion;
+ GetOptionalStringByIndex ((CHAR8*) ((UINT8*) Type0Record + Type0Record->Hdr.Length), StrIndex, &BiosVersion);
+ TokenToUpdate = STRING_TOKEN (STR_BIOS_VERSION_VALUE);
+ for (SearchIndex = 0x0; SearchIndex < SMBIOS_STRING_MAX_LENGTH; SearchIndex++) {
+ if (BiosVersion[SearchIndex] == 0x0020) {
+ BiosVersion[SearchIndex] = 0x0000;
+ IfwiVersion = (CHAR16 *) (&BiosVersion[SearchIndex+1]);
+ break;
+ } else if (BiosVersion[SearchIndex] == 0x0000) {
+ break;
+ }
+ }
+ HiiSetString (mHiiHandle, TokenToUpdate, BiosVersion, NULL);
+
+ //
+ // Check IfwiVersion, to avoid no IFWI version in SMBIOS Type 0 strucntion
+ //
+ if (IfwiVersion) {
+ TokenToUpdate = STRING_TOKEN (STR_IFWI_VERSION_VALUE);
+ HiiSetString (mHiiHandle, TokenToUpdate, IfwiVersion, NULL);
+ }
+ }
+ } while (!EFI_ERROR (Status));
+
+ 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;
+ UINT32 Buffer32 = 0xFFFFFFFF; // Keep buffer with unknown device
+
+ EfiCpuVersion (&FamilyId, &Model, &SteppingId, &ProcessorType);
+
+ //
+ //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);
+ }
+ //
+ // Update Mobile / Desktop / Tablet SKU
+ //
+ Buffer32 =(UINT32) RShiftU64 (EfiReadMsr (MSR_IA32_PLATFORM_ID), 50) & 0x07;
+
+ switch (Buffer32) {
+ case 0x0:
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"(%d) - ISG SKU SOC", Buffer32);
+ break;
+ case 0x01:
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"(%d) - Mobile SKU SOC", Buffer32);
+ break;
+ case 0x02:
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"(%d) - Desktop SKU SOC", Buffer32);
+ break;
+ case 0x03:
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"(%d) - Mobile SKU SOC", Buffer32);
+ break;
+ default:
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"(%d) - Unknown SKU SOC", Buffer32);
+ break;
+ }
+
+ HiiSetString (mHiiHandle,STRING_TOKEN(STR_PROCESSOR_SKU_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 mHandleCount;
+ EFI_HANDLE *mHandleBuffer= NULL;
+
+ //
+ // Retrieve the list of all handles from the handle database
+ //
+ Status = gBS->LocateHandleBuffer (
+ AllHandles,
+ NULL,
+ NULL,
+ &mHandleCount,
+ &mHandleBuffer
+ );
+
+ for (HandleIndex = 0; HandleIndex < mHandleCount; HandleIndex++) {
+ //
+ // Retrieve the list of all the protocols on each handle
+ //
+ Status = gBS->ProtocolsPerHandle (
+ mHandleBuffer[HandleIndex],
+ &ProtocolGuidArray,
+ &ArrayCount
+ );
+ if (!EFI_ERROR (Status)) {
+ for (ProtocolIndex = 0; ProtocolIndex < ArrayCount; ProtocolIndex++) {
+ Status = gBS->OpenProtocolInformation (
+ mHandleBuffer[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 = mHandleBuffer[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 (mHandleBuffer != NULL) {
+ FreePool (mHandleBuffer);
+ mHandleBuffer = 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;
+ UINT16 *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 = (UINT16*)&Version;
+ UnicodeSPrint(Name, 40, L"%d.%d.%d", Version >> 24 , (Version >>16)& 0x0f ,*(Ptr));
+
+ 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
+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_PLATFORM_INFO_HOB *mPlatformInfo=NULL;
+ UINTN NumHandles;
+ EFI_HANDLE *HandleBuffer;
+ UINTN Index;
+ DXE_PCH_PLATFORM_POLICY_PROTOCOL *PchPlatformPolicy;
+ UINTN PciD31F0RegBase;
+ UINT8 Data8;
+ UINT8 PIDData8;
+ CHAR16 Name[40];
+ UINT32 MrcVersion;
+
+ mPlatformInfo = PcdGetPtr (PcdPlatformInfo);
+
+ //
+ // VBIOS version
+ //
+ Status = gBS->LocateProtocol (
+ &gEfiLegacyBiosProtocolGuid,
+ NULL,
+ (void **) &LegacyBios
+ );
+ if (!EFI_ERROR (Status)) {
+ RegSet.X.AX = 0x5f01;
+ Status = LegacyBios->Int86 (LegacyBios, 0x10, &RegSet);
+ ASSERT_EFI_ERROR (Status);
+
+ //
+ // simulate AMI int15 (ax=5f01) handler
+ // check NbInt15.asm in AMI code for asm edition
+ //
+ 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);
+ }
+
+ //
+ // CpuFlavor
+ // ISG-DC Tablet 000
+ // VLV-QC Tablet 001
+ // VLV-QC Desktop 010
+ // VLV-QC Notebook 011
+ //
+ CpuFlavor = RShiftU64 (EfiReadMsr (MSR_IA32_PLATFORM_ID), 50) & 0x07;
+
+ switch (CpuFlavor) {
+ case 0x0:
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%s (%01x)", L"VLV-DC Tablet", CpuFlavor);
+ break;
+ case 0x01:
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%s (%01x)", L"VLV-QC Notebook", CpuFlavor);
+ break;
+ case 0x02:
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%s (%01x)", L"VLV-QC Desktop", CpuFlavor);
+ break;
+ case 0x03:
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%s (%01x)", L"VLV-QC Notebook", 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);
+
+ //
+ //Update MRC Version
+ //
+ MrcVersion = 0x00000000;
+ MrcVersion &= 0xffff;
+ Index = EfiValueToString (Buffer, MrcVersion/100, PREFIX_ZERO, 0);
+ StrCat (Buffer, L".");
+ EfiValueToString (Buffer + Index + 1, (MrcVersion%100)/10, PREFIX_ZERO, 0);
+ EfiValueToString (Buffer + Index + 2, (MrcVersion%100)%10, PREFIX_ZERO, 0);
+ HiiSetString (mHiiHandle,STRING_TOKEN (STR_MRC_VERSION_VALUE), Buffer, NULL);
+
+ //
+ //Update Soc Version
+ //
+
+ //
+ // Retrieve all instances of PCH Platform Policy protocol
+ //
+ Status = gBS->LocateHandleBuffer (
+ ByProtocol,
+ &gDxePchPlatformPolicyProtocolGuid,
+ NULL,
+ &NumHandles,
+ &HandleBuffer
+ );
+ if (!EFI_ERROR (Status)) {
+ //
+ // Find the matching PCH Policy protocol
+ //
+ for (Index = 0; Index < NumHandles; Index++) {
+ Status = gBS->HandleProtocol (
+ HandleBuffer[Index],
+ &gDxePchPlatformPolicyProtocolGuid,
+ (void **) &PchPlatformPolicy
+ );
+ if (!EFI_ERROR (Status)) {
+ PciD31F0RegBase = MmPciAddress (
+ 0,
+ PchPlatformPolicy->BusNumber,
+ PCI_DEVICE_NUMBER_PCH_LPC,
+ PCI_FUNCTION_NUMBER_PCH_LPC,
+ 0
+ );
+ break;
+ }
+ }
+ }
+
+ //
+ // Microcode Revision
+ //
+ EfiWriteMsr (EFI_MSR_IA32_BIOS_SIGN_ID, 0);
+ EfiCpuid (EFI_CPUID_VERSION_INFO, NULL);
+ MicroCodeVersion = (UINT32) RShiftU64 (EfiReadMsr (EFI_MSR_IA32_BIOS_SIGN_ID), 32);
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"%x", MicroCodeVersion);
+ HiiSetString (mHiiHandle,STRING_TOKEN (STR_PROCESSOR_MICROCODE_VALUE), Buffer, NULL);
+
+ //
+ // Punit Version
+ //
+ Data8 = 0;
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"0x%x", Data8);
+ HiiSetString (mHiiHandle,STRING_TOKEN (STR_PUNIT_FW_VALUE), Buffer, NULL);
+
+ //
+ // PMC Version
+ //
+ Data8 = (UINT8) ((MmioRead32 (PMC_BASE_ADDRESS + R_PCH_PMC_PRSTS)>>16)&0x00FF);
+ PIDData8 = (UINT8) ((MmioRead32 (PMC_BASE_ADDRESS + R_PCH_PMC_PRSTS)>>24)&0x00FF);
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"0x%X_%X",PIDData8, Data8);
+ HiiSetString (mHiiHandle,STRING_TOKEN (STR_PMC_FW_VALUE), Buffer, NULL);
+
+ return EFI_SUCCESS;
+}
+
+/**
+ Update SATA Drivesize Strings for Setup and Boot order
+
+ @param NewString pointer to string.
+ @param DeviceSpeed speed of drive.
+
+**/
+VOID
+GetDeviceSpeedString (
+ CHAR16 *NewString,
+ IN UINTN DeviceSpeed
+ )
+{
+ if (DeviceSpeed == 0x01) {
+ StrCat (NewString, L"1.5Gb/s");
+ } else if (DeviceSpeed == 0x02) {
+ StrCat (NewString, L"3.0Gb/s");
+ } else if (DeviceSpeed == 0x03) {
+ StrCat (NewString, 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_PCH_SATA;
+ MemBaseAddress = 0x0ffffffff;
+ Status = gDS->AllocateMemorySpace (
+ EfiGcdAllocateMaxAddressSearchBottomUp,
+ EfiGcdMemoryTypeMemoryMappedIo,
+ N_PCH_SATA_ABAR_ALIGNMENT, // 2^11: 2K Alignment
+ V_PCH_SATA_ABAR_LENGTH, // 2K Length
+ &MemBaseAddress,
+ gImageHandle,
+ NULL
+ );
+ IdeAhciBar = MmioRead32 (
+ MmPciAddress (
+ 0,
+ 0,
+ PCI_DEVICE_NUMBER_PCH_SATA,
+ FunNum,
+ R_PCH_SATA_ABAR
+ )
+ );
+ IdeAhciBar &= 0xFFFFF800;
+ DeviceConfigStatus = 0;
+ if (IdeAhciBar == 0) {
+ DeviceConfigStatus = 1;
+ IdeAhciBar = (UINT32) MemBaseAddress;
+ MmioWrite32 (
+ MmPciAddress (0, 0, PCI_DEVICE_NUMBER_PCH_SATA, FunNum, R_PCH_SATA_ABAR),
+ IdeAhciBar
+ );
+ MmioOr16 (
+ MmPciAddress (0, 0, PCI_DEVICE_NUMBER_PCH_SATA, FunNum, R_PCH_SATA_COMMAND),
+ B_PCH_SATA_COMMAND_MSE
+ );
+ }
+
+ switch (PortNum) {
+ case 0:
+ DeviceSpeed = *(volatile UINT32 *)(UINTN)(IdeAhciBar + R_PCH_SATA_AHCI_P0SSTS);
+ break;
+ case 1:
+ DeviceSpeed = *(volatile UINT32 *)(UINTN)(IdeAhciBar + R_PCH_SATA_AHCI_P1SSTS);
+ break;
+ }
+
+ if (MemBaseAddress) {
+ gDS->FreeMemorySpace (
+ MemBaseAddress,
+ V_PCH_SATA_ABAR_LENGTH
+ );
+ }
+
+ if (DeviceConfigStatus) {
+ IdeAhciBar = 0;
+ MmioWrite32 (
+ MmPciAddress (0, 0, PCI_DEVICE_NUMBER_PCH_SATA, FunNum, R_PCH_SATA_ABAR),
+ IdeAhciBar
+ );
+ }
+
+ DeviceSpeed = (UINT8) ((DeviceSpeed >> 4) & 0x0F);
+
+ return (UINT8)DeviceSpeed;
+}
+
+/**
+ IDE data filter function.
+
+**/
+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);
+ 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_PCH_SATA) {
+ Status = gBS->HandleProtocol (
+ HandleBuffer[Index],
+ &gEfiDiskInfoProtocolGuid,
+ (VOID **) &DiskInfo
+ );
+ ASSERT_EFI_ERROR (Status);
+
+ Status = DiskInfo->WhichIde (
+ DiskInfo,
+ &IdeChannel,
+ &IdeDevice
+ );
+ ASSERT_EFI_ERROR (Status);
+
+ IdentifyDriveInfo = AllocatePool (sizeof (EFI_ATA_IDENTIFY_DATA));
+
+ 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_PCH_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);
+ AsciiToUnicode (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);
+ }
+
+ StrCat (NewString, L"(");
+ EfiValueToString (SizeString, DriveSize/1000, PREFIX_BLANK, 0);
+ StrCat (NewString, SizeString);
+ StrCat (NewString, L".");
+ EfiValueToString (SizeString, (DriveSize%1000)/100, PREFIX_BLANK, 0);
+ StrCat (NewString, SizeString);
+ StrCat (NewString, L"GB");
+ } else {
+ StrCat (NewString, L"(ATAPI");
+ }
+
+ //
+ // Update SPEED.
+ //
+ PortNumber = (IdeDevice << 1) + IdeChannel;
+ DeviceSpeed = GetChipsetSataPortSpeed (PortNumber);
+
+ if (DeviceSpeed) {
+ StrCat (NewString, L"-");
+ GetDeviceSpeedString (NewString, DeviceSpeed);
+ }
+
+ StrCat (NewString, L")");
+ HiiSetString (mHiiHandle, NameToUpdate, NewString, NULL);
+ }
+ }
+
+ if (HandleBuffer != NULL) {
+ gBS->FreePool (HandleBuffer);
+ }
+
+ gBS->FreePool (NewString);
+
+ return;
+}
+
+VOID
+EFIAPI
+SetupInfo (VOID)
+{
+ if (mSetupInfoDone) {
+ return;
+ }
+
+ CopyMem (&mSystemConfiguration, PcdGetPtr (PcdSystemConfiguration), sizeof(SYSTEM_CONFIGURATION));
+
+ mPlatformInfo = PcdGetPtr (PcdPlatformInfo);
+
+ PrepareSetupInformation ();
+ UpdateAdditionalInformation ();
+ UpdatePlatformInformation ();
+ UpdateCPUInformation ();
+ IdeDataFilter ();
+ mSetupInfoDone = TRUE;
+
+ return;
+}
diff --git a/BraswellPlatformPkg/Common/Setup/SouthClusterConfig.vfi b/BraswellPlatformPkg/Common/Setup/SouthClusterConfig.vfi
new file mode 100644
index 0000000000..0847d05289
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/SouthClusterConfig.vfi
@@ -0,0 +1,1703 @@
+// /** @file
+// Driver Setup formset.
+//
+// Copyright (c) 2004 - 2015, 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 Azalia Configuration Form
+ //
+ goto AZALIA_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_AZALIA_OPTIONS_FORM_TITLE),
+ help = STRING_TOKEN(STR_AZALIA_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);
+
+#ifdef PCIESC_SUPPORT
+ //
+ // 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);
+#endif
+
+#ifdef SATA_SUPPORT
+ //
+ // Jump to SATA Configuration Form
+ //
+ goto SATA_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_SATA_DEVICE_OPTIONS_FORM_TITLE),
+ help = STRING_TOKEN(STR_SATA_DEVICE_OPTIONS_FORM_HELP);
+#endif
+ //
+ // 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 ISCT Configuration Form
+ //
+ goto ISCT_CONFIGURATION_ID,
+ prompt = STRING_TOKEN(STR_ISCT_FORM_TITLE),
+ help = STRING_TOKEN(STR_ISCT_FORM_HELP);
+
+ //
+ // Jump to Security Configuration Form
+ //
+ goto SECURITY_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_SECURITY_OPTIONS_FORM_TITLE),
+ help = STRING_TOKEN(STR_SECURITY_OPTIONS_FORM_HELP);
+
+ //
+ // Jump to PSS Chip Form
+ //
+
+ //
+ // 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 = 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 = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_S5_AFTER_G3_STRING), 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.EnableSataClockSpreadSpec,
+// prompt = STRING_TOKEN(STR_SATA_CLOCK_SPREAD_SPEC_ENABLE),
+// help = STRING_TOKEN(STR_SATA_CLOCK_SPREAD_SPEC_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.MmioSize,
+ prompt = STRING_TOKEN(STR_MMIO_PROMPT),
+ help = STRING_TOKEN(STR_MMIO_HELP),
+#if defined (MDE_CPU_IA32)
+ option text = STRING_TOKEN(STR_MMIO_0_75G_STRING), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MMIO_1G_STRING), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MMIO_1_25G_STRING), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MMIO_1_5G_STRING), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MMIO_2G_STRING), value = 4, flags = RESET_REQUIRED;
+#else
+ option text = STRING_TOKEN(STR_MMIO_0_75G_STRING), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MMIO_1G_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MMIO_1_25G_STRING), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MMIO_1_5G_STRING), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_MMIO_2G_STRING), value = 4, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+#endif
+ endoneof;
+
+endform; // Enf of Misc Configurations
+
+
+//
+// ISCT Configuration
+//
+form formid = ISCT_CONFIGURATION_ID,
+
+ title = STRING_TOKEN(STR_ISCT_FORM_TITLE);
+
+ subtitle text = STRING_TOKEN(STR_ISCT_FORM_TITLE);
+
+ oneof varid = Setup.IsctConfiguration,
+ prompt = STRING_TOKEN(STR_ISCT_CONFIGURATION),
+ help = STRING_TOKEN(STR_ISCT_CONFIGURATION_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.IsctConfiguration == 0;
+ oneof varid = Setup.IsctNotificationControl,
+ prompt = STRING_TOKEN(STR_ISCT_NOTIFICATION_CONTROL_PROMPT),
+ help = STRING_TOKEN(STR_ISCT_NOTIFICATION_CONTROL_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.IsctWlanPowerControl,
+ prompt = STRING_TOKEN(STR_ISCT_WLAN_CONTROL_PROMPT),
+ help = STRING_TOKEN(STR_ISCT_WLAN_CONTROL_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.IsctWwanPowerControl,
+ prompt = STRING_TOKEN(STR_ISCT_WWAN_CONTROL_PROMPT),
+ help = STRING_TOKEN(STR_ISCT_WWAN_CONTROL_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.IsctSleepDurationFormat,
+ prompt = STRING_TOKEN(STR_ISCT_SLEEP_DURATION_FORMAT),
+ help = STRING_TOKEN(STR_ISCT_SLEEP_DURATION_FORMAT_HELP),
+ option text = STRING_TOKEN(STR_SECONDS), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+// option text = STRING_TOKEN(STR_ACTUAL_TIME), value = 0, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.IsctRFKillSupport,
+ prompt = STRING_TOKEN(STR_ISCT_RF_KILL_SUPPORT),
+ help = STRING_TOKEN(STR_ISCT_RF_KILL_SUPPORT_HELP),
+ option text = STRING_TOKEN(STR_RF_KILL_SOFT), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_RF_KILL_PHYSICAL), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ endif;
+
+endform;
+
+//
+// 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.GpioAcpiEnabled,
+ prompt = STRING_TOKEN(STR_GPIO_ACPI_PROMPT),
+ help = STRING_TOKEN(STR_GPIO_ACPI_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.GpioAcpiEnabled == 0;
+ oneof varid = Setup.LpssDma1Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_DMA1_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_DMA1_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = 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 = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ grayoutif ideqval Setup.LpssDma1Enabled == 0 OR ideqval Setup.GpioAcpiEnabled == 0;
+ 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 = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ 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 = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ 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 = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ 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 = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.BoardId == 0x44 OR ideqval Setup.BoardId == 0x80; // Refer BOARD_ID_BSW & BOARD_ID_BSW_CH in PlatformInfo.h
+ 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 = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = DEFAULT | MANUFACTURING | 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 = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ 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 = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ grayoutif ideqval Setup.GpioAcpiEnabled == 0;
+ oneof varid = Setup.LpssDma0Enabled,
+ prompt = STRING_TOKEN(STR_LPSS_DMA0_PROMPT),
+ help = STRING_TOKEN(STR_LPSS_DMA0_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = 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 = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ grayoutif ideqval Setup.LpssDma0Enabled == 0 OR ideqval Setup.GpioAcpiEnabled == 0;
+
+ 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 = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = DEFAULT | MANUFACTURING | 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 = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ endif;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_I2C_DEVICE_SETTING_SUBTITLE);
+ suppressif ideqval Setup.BoardId == 0x80; // Refer BOARD_ID_BSW_CH in PlatformInfo.h
+ oneof varid = Setup.I2CTouchAd,
+ prompt = STRING_TOKEN(STR_I2C_TOUCH_PROMPT),
+ help = STRING_TOKEN(STR_I2C_TOUCH_HELP_BSW),
+ option text = STRING_TOKEN(STR_AUTO), value=0, flags=DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_FVP), value=0x4C, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_I2C_FFRD), value=0x4A, flags=0 | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_BTH_DEVICE_SETTING_SUBTITLE);
+
+ oneof varid = Setup.BTModule,
+ prompt = STRING_TOKEN(STR_BTH_MODULE_PROMPT),
+ help = STRING_TOKEN(STR_BTH_MODULE_HELP),
+ option text = STRING_TOKEN(STR_BTH_BCRM), value=1, flags=DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_BTH_STP), value=2, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_BTH_LNP), value=3, flags=RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.BTModule == 2 OR ideqval Setup.BTModule == 3;
+ oneof varid = Setup.BTHStatus,
+ prompt = STRING_TOKEN(STR_BTH_DEVICE_PROMPT),
+ help = STRING_TOKEN(STR_BTH_DEVICE_HELP),
+ option text = STRING_TOKEN(STR_BTH_DEVICE1), value=1, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_BTH_DEVICE2), value=2, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_BTH_DEVICE4), value=4, flags=DEFAULT | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ subtitle text = STRING_TOKEN(STR_CAMERA_DEVICE_SETTING_SUBTITLE);
+
+ suppressif ideqval Setup.Ellensburg == 1;
+ oneof varid = Setup.RvpCameraDevSel,
+ prompt = STRING_TOKEN(STR_CAMERA_SELECTION_PROMPT),
+ help = STRING_TOKEN(STR_CAMERA_SELECTION_HELP),
+ option text = STRING_TOKEN(STR_CYNTHIANA_A), value=0, flags=0 | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_CRD_B_V2_X), value=1, flags=DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ suppressif ideqval Setup.Ellensburg == 0;
+ oneof varid = Setup.EbCameraDevSel,
+ prompt = STRING_TOKEN(STR_COMBO_AIC_PROMPT),
+ help = STRING_TOKEN(STR_COMBO_AIC_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;
+
+suppressif ideqval Setup.BoardId == 0x1 OR ideqval Setup.BoardId == 0x9 OR ideqval Setup.BoardId == 0xA; // For CHT CR, HR RVP and HR FFD
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ subtitle text = STRING_TOKEN(STR_NFC_DEVICE_SETTING_SUBTITLE);
+ oneof varid = Setup.SecureNfc,
+ prompt = STRING_TOKEN(STR_SECURE_NFC_PROMPT),
+ help = STRING_TOKEN(STR_SECURE_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;
+ endif;
+
+
+endform; // End of LPSS_OPTIONS_FORM_ID
+
+form formid = SCC_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_SCC_OPTIONS_FORM_TITLE);
+
+ 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_PCI_MODE_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ 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 = 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.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_PCI_MODE_STRING), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ACPI_MODE_STRING), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+suppressif ideqval Setup.SccSdcardEnabled == 1;
+ numeric varid = Setup.Sdcard1p8vSwitchingDelay,
+ prompt = STRING_TOKEN(STR_SDCARD_1P8V_SWITCHING_DELAY_PROMPT),
+ help = STRING_TOKEN(STR_SDCARD_1P8V_SWITCHING_DELAY_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 999,
+ step = 0, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 0, // 0 ms by default
+ endnumeric;
+ numeric varid = Setup.Sdcard3p3vDischargeDelay,
+ prompt = STRING_TOKEN(STR_SDCARD_3P3V_DISCHARGE_DELAY_PROMPT),
+ help = STRING_TOKEN(STR_SDCARD_3P3V_DISCHARGE_DELAY_HELP),
+ flags = RESET_REQUIRED,
+ minimum = 0,
+ maximum = 999,
+ step = 0, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 250, // 250 ms by default
+ endnumeric;
+endif;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ oneof varid = Setup.EmmcRxTuningEnable,
+ prompt = STRING_TOKEN(STR_EMMC_RX_TUNING_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_EMMC_RX_TUNING_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.EmmcTxTuningEnable,
+ prompt = STRING_TOKEN(STR_EMMC_TX_TUNING_ENABLE_PROMPT),
+ help = STRING_TOKEN(STR_EMMC_TX_TUNING_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;
+
+ suppressif ideqval Setup.EmmcTxTuningEnable == 1 OR ideqval Setup.EmmcRxTuningEnable == 1;
+ oneof varid = Setup.EmmcDriverMode,
+ prompt = STRING_TOKEN(STR_EMMC_DRIVER_MODE_PROMPT),
+ help = STRING_TOKEN(STR_EMMC_DRIVER_MODE_HELP),
+ option text = STRING_TOKEN(STR_EMMC_DRIVER_MODE_AUTO), value = 0, flags = DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_EMMC_DRIVER_MODE_52MHZ), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_EMMC_DRIVER_MODE_26MHZ), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_EMMC_DRIVER_MODE_BASIC), value = 3, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ oneof varid = Setup.LpssSdioMode,
+ prompt = STRING_TOKEN(STR_SCC_SDIO_MODE_PROMPT),
+ help = STRING_TOKEN(STR_SCC_SDIO_MODE_HELP),
+ option text = STRING_TOKEN(STR_SDIO_DEFAULT_MODE), value = 3, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SDIO_DDR50_MODE), value= 2 , flags = 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);
+
+ goto PCH_PCIERP1_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_PCH_PCIERP1_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIERP_HELP);
+
+ goto PCH_PCIERP2_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_PCH_PCIERP2_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIERP_HELP);
+
+ goto PCH_PCIERP3_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_PCH_PCIERP3_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIERP_HELP);
+
+
+endform; //End of PCIE_DEVICE_OPTIONS_FORM_ID
+
+//------------------------------------------------------------------------------------
+
+form formid = PCH_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),
+#if PCIESC_SUPPORT
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+#else
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+#endif
+ endoneof;
+
+ suppressif ideqval Setup.PcieRootPortEn[OFFSET_0] == 0x0;
+ oneof varid = Setup.PcieRootPortAspm[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCIE_ASPM_PROMPT0),
+ help = STRING_TOKEN(STR_PCIE_ASPM_HELP),
+
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 4, 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;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortURE[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_URE_PROMPT0),
+ 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_PROMPT0),
+ 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_PROMPT0),
+ 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_PROMPT0),
+ 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.PcieRootPortSFE[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SFE_PROMPT0),
+ 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_PROMPT0),
+ 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_PROMPT0),
+ 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_PROMPT0),
+ 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.PcieRootPortESE[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_ESE_PROMPT0),
+ help = STRING_TOKEN(STR_PCH_PCIE_ESE_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_PROMPT0),
+ 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_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_THS_PROMPT0),
+ 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;
+
+ 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_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_1_2_STRING), value = 3, flags = DEFAULT | MANUFACTURING | 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;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortNccSsc[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NCC_SSC_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NCC_SSC_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.PcieRootPortTxEqDeemphSelection[OFFSET_0],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_TXEQDEEMPH_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_TXEQDEEMPH_HELP),
+ option text = STRING_TOKEN(STR_DEEMPH_6DB), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DEEMPH_3P5DB), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ numeric varid = Setup.PcieExtraBusRsvd[OFFSET_0],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RBUS_PROMPT0),
+ 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_PROMPT0),
+ 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_PROMPT0),
+ 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;
+
+ endif;
+endform; //End of PCH_PCIERP1_OPTIONS_FORM_ID
+
+//------------------------------------------------------------------------------------
+
+form formid = PCH_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),
+#if PCIESC_SUPPORT
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+#else
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+#endif
+ endoneof;
+
+ suppressif ideqval Setup.PcieRootPortEn[OFFSET_1] == 0x0;
+ oneof varid = Setup.PcieRootPortAspm[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCIE_ASPM_PROMPT1),
+ help = STRING_TOKEN(STR_PCIE_ASPM_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 4, 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;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortURE[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_URE_PROMPT1),
+ 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_PROMPT1),
+ 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_PROMPT1),
+ 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_PROMPT1),
+ 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.PcieRootPortSFE[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SFE_PROMPT1),
+ 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_PROMPT1),
+ 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_PROMPT1),
+ 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_PROMPT1),
+ 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.PcieRootPortESE[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_ESE_PROMPT1),
+ help = STRING_TOKEN(STR_PCH_PCIE_ESE_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_PROMPT1),
+ 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_PROMPT1),
+ 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;
+
+ 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_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_1_2_STRING), value = 3, flags = DEFAULT | MANUFACTURING | 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;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortNccSsc[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NCC_SSC_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NCC_SSC_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.PcieRootPortTxEqDeemphSelection[OFFSET_1],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_TXEQDEEMPH_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_TXEQDEEMPH_HELP),
+ option text = STRING_TOKEN(STR_DEEMPH_6DB), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DEEMPH_3P5DB), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ numeric varid = Setup.PcieExtraBusRsvd[OFFSET_1],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RBUS_PROMPT1),
+ 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_PROMPT1),
+ 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_PROMPT1),
+ 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;
+
+ endif;
+endform; //End of PCH_PCIERP2_OPTIONS_FORM_ID
+
+//------------------------------------------------------------------------------------
+
+form formid = PCH_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),
+#if PCIESC_SUPPORT
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+#else
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+#endif
+ endoneof;
+
+ suppressif ideqval Setup.PcieRootPortEn[OFFSET_2] == 0x0;
+ oneof varid = Setup.PcieRootPortAspm[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCIE_ASPM_PROMPT2),
+ help = STRING_TOKEN(STR_PCIE_ASPM_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 4, 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;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortURE[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_URE_PROMPT2),
+ 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_PROMPT2),
+ 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_PROMPT2),
+ 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_PROMPT2),
+ 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.PcieRootPortSFE[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SFE_PROMPT2),
+ 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_PROMPT2),
+ 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_PROMPT2),
+ 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_PROMPT2),
+ 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.PcieRootPortESE[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_ESE_PROMPT2),
+ help = STRING_TOKEN(STR_PCH_PCIE_ESE_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_PROMPT2),
+ 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_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_THS_PROMPT2),
+ 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;
+
+ 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_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_1_2_STRING), value = 3, flags = DEFAULT | MANUFACTURING | 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;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortNccSsc[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NCC_SSC_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NCC_SSC_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.PcieRootPortTxEqDeemphSelection[OFFSET_2],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_TXEQDEEMPH_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_TXEQDEEMPH_HELP),
+ option text = STRING_TOKEN(STR_DEEMPH_6DB), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DEEMPH_3P5DB), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ numeric varid = Setup.PcieExtraBusRsvd[OFFSET_2],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RBUS_PROMPT2),
+ 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_PROMPT2),
+ 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_PROMPT2),
+ 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;
+
+ endif;
+endform; //End of PCH_PCIERP3_OPTIONS_FORM_ID
+
+//------------------------------------------------------------------------------------
+
+form formid = PCH_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),
+#if PCIESC_SUPPORT
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+#else
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+#endif
+ endoneof;
+
+ suppressif ideqval Setup.PcieRootPortEn[OFFSET_3] == 0x0;
+ oneof varid = Setup.PcieRootPortAspm[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCIE_ASPM_PROMPT3),
+ help = STRING_TOKEN(STR_PCIE_ASPM_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 4, 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;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortURE[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_URE_PROMPT3),
+ 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_PROMPT3),
+ 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_PROMPT3),
+ 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_PROMPT3),
+ 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.PcieRootPortSFE[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_SFE_PROMPT3),
+ 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_PROMPT3),
+ 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_PROMPT3),
+ 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_PROMPT3),
+ 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.PcieRootPortESE[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_ESE_PROMPT3),
+ help = STRING_TOKEN(STR_PCH_PCIE_ESE_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_PROMPT3),
+ 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_PROMPT3),
+ 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;
+
+ 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_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCIE_L1SUB_1_2_STRING), value = 3, flags = DEFAULT | MANUFACTURING | 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;
+ endoneof;
+
+ oneof varid = Setup.PcieRootPortNccSsc[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_NCC_SSC_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_NCC_SSC_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.PcieRootPortTxEqDeemphSelection[OFFSET_3],
+ prompt = STRING_TOKEN(STR_PCH_PCIE_TXEQDEEMPH_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_TXEQDEEMPH_HELP),
+ option text = STRING_TOKEN(STR_DEEMPH_6DB), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DEEMPH_3P5DB), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+ numeric varid = Setup.PcieExtraBusRsvd[OFFSET_3],
+ prompt = STRING_TOKEN (STR_PCH_PCIE_RBUS_PROMPT3),
+ 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_PROMPT3),
+ 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_PROMPT3),
+ 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;
+
+ endif;
+endform; //End of PCH_PCIERP4_OPTIONS_FORM_ID
+
+form formid = PCH_PCIEX_S0IX_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_PCH_PCIEX_S0IX_PROMPT);
+ oneof varid = Setup.PcieS0iX,
+ prompt = STRING_TOKEN(STR_PCI_S0IX_PROMPT),
+ help = STRING_TOKEN(STR_PCI_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;
+
+ suppressif ideqval Setup.PcieS0iX == 0x0;
+ oneof varid = Setup.D0S0IxPolicy,
+ prompt = STRING_TOKEN(STR_PCH_PCIE_D0_S0IX_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_D0_S0IX_HELP),
+ option text = STRING_TOKEN(STR_D0_S0IX_STRING0), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_D0_S0IX_STRING1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_D0_S0IX_STRING2), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_D0_S0IX_STRING3), value = 3, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.ClkReqEnable,
+ prompt = STRING_TOKEN(STR_PCH_PCIE_CLKREQ_STS_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_CLKREQ_STS_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.ClkReqEnable == 0x0;
+ oneof varid = Setup.ClkReq,
+ prompt = STRING_TOKEN(STR_PCH_PCIE_CLKREQ_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_CLKREQ_HELP),
+ option text = STRING_TOKEN(STR_CLKREQ_STRING0), value = 0, flags = DEFAULT | MANUFACTURING |RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_CLKREQ_STRING1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_CLKREQ_STRING2), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_CLKREQ_STRING3), value = 3, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ oneof varid = Setup.LtrLatencyScale,
+ prompt = STRING_TOKEN(STR_PCH_PCIE_LTR_LATSC_PROMPT),
+ help = STRING_TOKEN(STR_PCH_PCIE_LTR_LATSC_HELP),
+ option text = STRING_TOKEN(STR_LTR_LAT_SCL_STRING0), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_LAT_SCL_STRING1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_LAT_SCL_STRING2), value = 2, flags = DEFAULT | MANUFACTURING |RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_LAT_SCL_STRING3), value = 3, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_LAT_SCL_STRING4), value = 4, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LTR_LAT_SCL_STRING5), value = 5, flags = RESET_REQUIRED;
+ endoneof;
+
+ numeric varid = Setup.LtrLatencyValue,
+ prompt = STRING_TOKEN (STR_PCH_PCIE_LTR_LATVAL_PROMPT),
+ help = STRING_TOKEN (STR_PCH_PCIE_LTR_LATVAL_HELP),
+ minimum = 1,
+ maximum = 200,
+ step = 1, // Stepping of 0 equates to a manual entering of a value, otherwise it will auto-increment with a left/right arrow
+ default = 150,
+ endnumeric;
+ endif;
+endform; //End of PCH_PCIEX_S0IX_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);
+
+ oneof varid = Setup.PchUsb30Mode,
+ 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 | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ endoneof;
+
+ suppressif ideqval Setup.PchUsb30Mode == 0;
+ suppressif ideqval Setup.BoardId == 0x80; // Refer BOARD_ID_BSW_CH in PlatformInfo.h
+ oneof varid = Setup.PchSsicEnable,
+ prompt = STRING_TOKEN(STR_PCH_SSIC_SUPPORT_PROMPT),
+ help = STRING_TOKEN(STR_PCH_SSIC_SUPPORT_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.PchUsbSsicInitSequence,
+ prompt = STRING_TOKEN(STR_PCH_SSIC_INIT_SEQ_SUPPORT_PROMPT),
+ help = STRING_TOKEN(STR_PCH_SSIC_INIT_SEQ_SUPPORT_HELP),
+ option text = STRING_TOKEN(STR_PCH_SSIC_INIT_SEQ_1), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCH_SSIC_INIT_SEQ_2), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PchUsbSsicHsRate,
+ prompt = STRING_TOKEN(STR_PCH_SSIC_HSRATE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_SSIC_HSRATE_HELP),
+ option text = STRING_TOKEN(STR_PCH_SSIC_HSRATE_A_PROMPT), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PCH_SSIC_HSRATE_B_PROMPT), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.PchUsbSsicPort[0],
+ prompt = STRING_TOKEN(STR_PCH_USB_SSIC_PORT1_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_SSIC_PORT1_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.PchUsbSsicPort[1],
+ prompt = STRING_TOKEN(STR_PCH_USB_SSIC_PORT2_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_SSIC_PORT2_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.PchUsbHsicPort[0],
+ prompt = STRING_TOKEN(STR_PCH_USB_HSIC_PORT1_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_HSIC_PORT1_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.PchUsbHsicPort[1],
+ prompt = STRING_TOKEN(STR_PCH_USB_HSIC_PORT2_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_HSIC_PORT2_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;
+ endif;
+ oneof varid = Setup.PchUsb2PhyPgEnabled,
+ prompt = STRING_TOKEN(STR_PCH_USB2_PHY_PG_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB2_PHY_PG_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_AUTOMATIC), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ oneof varid = Setup.PchUsbOtg,
+ prompt = STRING_TOKEN(STR_PCH_USB_OTG_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_OTG_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;
+
+ suppressif TRUE;
+ oneof varid = Setup.PchUsbVbusOn,
+ prompt = STRING_TOKEN(STR_PCH_USB_VBUS_PROMPT),
+ help = STRING_TOKEN(STR_PCH_USB_VBUS_HELP),
+#if PPV_ENABLE
+ option text = STRING_TOKEN(STR_OFF), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ON), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTO), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+#else
+ option text = STRING_TOKEN(STR_OFF), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ON), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_AUTO), value = 2, flags = RESET_REQUIRED;
+#endif
+ endoneof;
+ endif;
+
+endform; // end of USB_OPTIONS_FORM_ID
+
+//
+// SATA Configurations
+//
+form formid = SATA_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_SATA_DEVICE_OPTIONS_FORM_TITLE);
+
+ //
+ // Title on SATA Configuration Page
+ //
+ text
+ help = STRING_TOKEN(STR_NULL_STRING),
+ text = STRING_TOKEN(STR_SATA_DEVICE_OPTIONS_FORM_TITLE),
+ text = STRING_TOKEN(STR_NULL_STRING),
+ flags = 0,
+ key = 0;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ oneof varid = Setup.PchSata,
+ prompt = STRING_TOKEN(STR_PCH_SATA_PROMPT),
+ help = STRING_TOKEN(STR_PCH_SATA_HELP),
+#if SATA_SUPPORT
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+#else
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+#endif
+ endoneof;
+
+ suppressif ideqval Setup.PchSata == 0;
+ 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 = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+
+ oneof varid = Setup.SataInterfaceSpeed,
+ prompt = STRING_TOKEN(STR_SATA_INTERFACE_SPEED_PROMPT),
+ help = STRING_TOKEN(STR_SATA_INTERFACE_SPEED_HELP),
+ option text = STRING_TOKEN(STR_SATA_SPEED_GEN1), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SATA_SPEED_GEN2), value = 2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_SATA_SPEED_GEN3), value = 3, flags = DEFAULT | MANUFACTURING | 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_ENABLE), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ endoneof;
+ endif;
+
+ suppressif ideqval Setup.SataInterfaceMode == SATA_MODE_IDE;
+ goto SATA_SFMS_OPTIONS_FORM_ID,
+ prompt = STRING_TOKEN(STR_SATA_SFMS_OPTIONS_FORM_TITLE),
+ help = STRING_TOKEN(STR_SATA_SFMS_OPTIONS_FORM_HELP);
+
+ oneof varid = Setup.SataSalp,
+ prompt = STRING_TOKEN(STR_SATA_AHCI_SALP),
+ help = STRING_TOKEN(STR_SATA_AHCI_SALP_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;
+
+ suppressif NOT ideqval Setup.SataInterfaceMode == SATA_MODE_RAID;
+ oneof varid = Setup.SataAlternateId,
+ prompt = STRING_TOKEN(STR_SATA_ALTERNATE_ID_PROMPT),
+ help = STRING_TOKEN(STR_SATA_ALTERNATE_ID_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;
+
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_SATA0_STRING),
+ text = STRING_TOKEN(STR_SATA0_NAME),
+ flags = 0,
+ key = 0;
+
+ suppressif ideqval Setup.SataInterfaceMode == SATA_MODE_IDE;
+ oneof varid = Setup.SataPort[OFFSET_0],
+ prompt = STRING_TOKEN(STR_SATA_PORT_0),
+ help = STRING_TOKEN(STR_SATA_PORT_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;
+
+ suppressif ideqval Setup.SataInterfaceMode == SATA_MODE_IDE OR ideqval Setup.SataExternal[OFFSET_0] == 1;
+ oneof varid = Setup.SataHotPlug[OFFSET_0],
+ prompt = STRING_TOKEN(STR_SATA_HOTPLUG0),
+ help = STRING_TOKEN(STR_SATA_PORT_HOTPLUG_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;
+
+ suppressif ideqval Setup.SataInterfaceMode == SATA_MODE_IDE OR NOT ideqval Setup.SataExternal[OFFSET_0] == 1;
+ 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;
+
+ suppressif ideqval Setup.SataInterfaceMode == SATA_MODE_IDE OR ideqval Setup.SataHotPlug[OFFSET_0] == 0;
+ oneof varid = Setup.SataMechanicalSw[OFFSET_0],
+ prompt = STRING_TOKEN(STR_SATA_MECHANICAL_SW0),
+ help = STRING_TOKEN(STR_SATA_MECHANICAL_SW_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;
+
+ suppressif ideqval Setup.SataInterfaceMode == SATA_MODE_IDE;
+ oneof varid = Setup.SataSpinUp[OFFSET_0],
+ prompt = STRING_TOKEN(STR_SATA_SPIN_UP0),
+ help = STRING_TOKEN(STR_SATA_SPIN_UP_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;
+
+ suppressif ideqval Setup.SataInterfaceMode == SATA_MODE_IDE;
+ oneof varid = Setup.SataDevSlp[OFFSET_0],
+ prompt = STRING_TOKEN(STR_SATA_DEV_SLP0),
+ help = STRING_TOKEN(STR_SATA_DEV_SLP_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;
+
+ text
+ help = STRING_TOKEN(STR_EMPTY_STRING),
+ text = STRING_TOKEN(STR_SATA1_STRING),
+ text = STRING_TOKEN(STR_SATA1_NAME),
+ flags = 0,
+ key = 0;
+
+ suppressif ideqval Setup.SataInterfaceMode == SATA_MODE_IDE;
+ oneof varid = Setup.SataPort[OFFSET_1],
+ prompt = STRING_TOKEN(STR_SATA_PORT_1),
+ help = STRING_TOKEN(STR_SATA_PORT_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;
+
+ suppressif ideqval Setup.SataInterfaceMode == SATA_MODE_IDE OR ideqval Setup.SataExternal[OFFSET_1] == 1;
+ oneof varid = Setup.SataHotPlug[OFFSET_1],
+ prompt = STRING_TOKEN(STR_SATA_HOTPLUG1),
+ help = STRING_TOKEN(STR_SATA_PORT_HOTPLUG_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;
+
+ suppressif ideqval Setup.SataInterfaceMode == SATA_MODE_IDE OR NOT ideqval Setup.SataExternal[OFFSET_1] == 1;
+ 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;
+
+ suppressif ideqval Setup.SataInterfaceMode == SATA_MODE_IDE OR ideqval Setup.SataHotPlug[OFFSET_1] == 0;
+ oneof varid = Setup.SataMechanicalSw[OFFSET_1],
+ prompt = STRING_TOKEN(STR_SATA_MECHANICAL_SW1),
+ help = STRING_TOKEN(STR_SATA_MECHANICAL_SW_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;
+
+ suppressif ideqval Setup.SataInterfaceMode == SATA_MODE_IDE;
+ oneof varid = Setup.SataSpinUp[OFFSET_1],
+ prompt = STRING_TOKEN(STR_SATA_SPIN_UP1),
+ help = STRING_TOKEN(STR_SATA_SPIN_UP_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;
+
+ suppressif ideqval Setup.SataInterfaceMode == SATA_MODE_IDE;
+ oneof varid = Setup.SataDevSlp[OFFSET_1],
+ prompt = STRING_TOKEN(STR_SATA_DEV_SLP1),
+ help = STRING_TOKEN(STR_SATA_DEV_SLP_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 SATA_OPTIONS_FORM_ID
+
+form formid = SATA_SFMS_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_SATA_SFMS_OPTIONS_FORM_TITLE);
+
+ oneof varid = Setup.SataHddlk,
+ prompt = STRING_TOKEN(STR_PCH_HDDLK_PROMPT),
+ help = STRING_TOKEN(STR_PCH_HDDLK_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.SataLedl,
+ prompt = STRING_TOKEN(STR_PCH_LEDL_PROMPT),
+ help = STRING_TOKEN(STR_PCH_LEDL_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 NOT ideqval Setup.SataInterfaceMode == SATA_MODE_RAID;
+ oneof varid = Setup.SataRaidR0,
+ prompt = STRING_TOKEN(STR_PCH_RAID0_PROMPT),
+ help = STRING_TOKEN(STR_PCH_RAID0_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.SataRaidR1,
+ prompt = STRING_TOKEN(STR_PCH_RAID1_PROMPT),
+ help = STRING_TOKEN(STR_PCH_RAID1_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.SataRaidR10,
+ prompt = STRING_TOKEN(STR_PCH_RAID10_PROMPT),
+ help = STRING_TOKEN(STR_PCH_RAID10_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.SataRaidR5,
+ prompt = STRING_TOKEN(STR_PCH_RAID5_PROMPT),
+ help = STRING_TOKEN(STR_PCH_RAID5_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.SataRaidIrrt,
+ prompt = STRING_TOKEN(STR_PCH_IRRT_PROMPT),
+ help = STRING_TOKEN(STR_PCH_IRRT_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.SataRaidOub,
+ prompt = STRING_TOKEN(STR_PCH_OUB_PROMPT),
+ help = STRING_TOKEN(STR_PCH_OUB_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.SataRaidIooe,
+ prompt = STRING_TOKEN(STR_PCH_IOOE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_IOOE_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 SATA_SFMS_OPTIONS_FORM_ID
+
+//
+// Azalia Configuration
+//
+form formid = AZALIA_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_AZALIA_OPTIONS_FORM_TITLE);
+ subtitle text = STRING_TOKEN(STR_AZALIA_OPTIONS_FORM_TITLE);
+
+ oneof varid = Setup.PchLpeEnabled,
+ prompt = STRING_TOKEN(STR_LPE_AUDIO_PROMPT),
+ help = STRING_TOKEN(STR_LPE_AUDIO_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;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ oneof varid = Setup.AudioCodecSuppport,
+ prompt = STRING_TOKEN(STR_AUDIO_CODEC_PROMPT),
+ help = STRING_TOKEN(STR_AUDIO_CODEC_HELP),
+ option text = STRING_TOKEN(CODEC_RVP), value=0, flags= DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(CODEC_EB), value=1, flags= 0 | RESET_REQUIRED;
+ endoneof;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ suppressif ideqval Setup.AzaliaDs == 0x1;
+ oneof varid = Setup.PchAzalia,
+ prompt = STRING_TOKEN(STR_PCH_AZALIA_PROMPT),
+ help = STRING_TOKEN(STR_PCH_AZALIA_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;
+
+ suppressif ideqval Setup.AzaliaDs == 0x0;
+ text
+ help = STRING_TOKEN(STR_PCH_AZALIA_DS_SUPPORT),
+ text = STRING_TOKEN(STR_PCH_AZALIA_PROMPT),
+ text = STRING_TOKEN(STR_ENABLE),
+ flags = 0,
+ key = 0;
+ endif;
+
+ suppressif ideqval Setup.PchAzalia == 0x0;
+ oneof varid = Setup.AzaliaVCiEnable,
+ prompt = STRING_TOKEN(STR_AZALIA_VC_PROMPT),
+ help = STRING_TOKEN(STR_AZALIA_VC_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;
+
+ suppressif ideqval Setup.PchAzalia == 0x0;
+ oneof varid = Setup.AzaliaDs,
+ prompt = STRING_TOKEN(STR_AZALIA_DS_PROMPT),
+ help = STRING_TOKEN(STR_AZALIA_DS_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;
+
+ suppressif ideqval Setup.PchAzalia == 0x0;
+ oneof varid = Setup.AzaliaPme,
+ prompt = STRING_TOKEN(STR_AZALIA_PME_PROMPT),
+ help = STRING_TOKEN(STR_AZALIA_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;
+
+ oneof varid = Setup.HdmiCodec,
+ prompt = STRING_TOKEN(STR_HDMI_CODEC_PROMPT),
+ help = STRING_TOKEN(STR_HDMI_CODEC_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.PchAzalia == 0x0 OR ideqval Setup.HdmiCodec == 0;
+ oneof varid = Setup.HdmiCodecPortB,
+ prompt = STRING_TOKEN(STR_HDMI_CODEC_PORTB_PROMPT),
+ help = STRING_TOKEN(STR_HDMI_CODEC_PORT_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.HdmiCodecPortC,
+ prompt = STRING_TOKEN(STR_HDMI_CODEC_PORTC_PROMPT),
+ help = STRING_TOKEN(STR_HDMI_CODEC_PORT_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.HdmiCodecPortD,
+ prompt = STRING_TOKEN(STR_HDMI_CODEC_PORTD_PROMPT),
+ help = STRING_TOKEN(STR_HDMI_CODEC_PORT_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;
+ endif;
+
+endform; // End of AZALIA_OPTIONS_FORM_ID
+
+//
+// Security Configuration
+//
+form formid = SECURITY_OPTIONS_FORM_ID,
+ title = STRING_TOKEN(STR_SECURITY_OPTIONS_FORM_TITLE);
+
+ oneof varid = Setup.PchRtcLock,
+ prompt = STRING_TOKEN(STR_PCH_RTC_LOCK_PROMPT),
+ help = STRING_TOKEN(STR_PCH_RTC_LOCK_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.PchBiosLock,
+ prompt = STRING_TOKEN(STR_PCH_BLE_PROMPT),
+ help = STRING_TOKEN(STR_PCH_BLE_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 SECURITY_OPTIONS_FORM_ID
diff --git a/BraswellPlatformPkg/Common/Setup/SystemComponent.vfi b/BraswellPlatformPkg/Common/Setup/SystemComponent.vfi
new file mode 100644
index 0000000000..38ea9b5a26
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/SystemComponent.vfi
@@ -0,0 +1,72 @@
+// /** @file
+// Driver Setup formset.
+//
+// Copyright (c) 2004 - 2015, 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;
+*/
+
+ subtitle text = STRING_TOKEN(STR_PNP_CONFIGURATION_TITLE);
+ 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 = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PNP_POWER_PERFORMANCE_STRING_A0), value = 4, flags = 0 | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PNP_POWER_PERFORMANCE_STRING_B0), value = 5, flags = 0 | RESET_REQUIRED;
+ endoneof;
+
+// oneof varid = Setup.CfioPnpSettings,
+// prompt = STRING_TOKEN(STR_CFIO_PNP_SETTING_PROMPT),
+// help = STRING_TOKEN(STR_CFIO_PNP_SETTING_HELP),
+// option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+// option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = 0 | RESET_REQUIRED;
+// endoneof;
+ oneof varid = Setup.TristateLpc,
+ prompt = STRING_TOKEN(STR_TRISTATE_LPC_PROMPT),
+ help = STRING_TOKEN(STR_TRISTATE_LPC_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = 0 | RESET_REQUIRED;
+ endoneof;
+
+
+
+
+
+
+ oneof varid = Setup.PchFSAOn,
+ prompt = STRING_TOKEN(STR_PCH_FSA_PROMPT),
+ help = STRING_TOKEN(STR_PCH_FSA_HELP),
+ option text = STRING_TOKEN(STR_OFF), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ON), value = 1, flags = RESET_REQUIRED;
+ endoneof;
+
+
+
+endform;
diff --git a/BraswellPlatformPkg/Common/Setup/Thermal.vfi b/BraswellPlatformPkg/Common/Setup/Thermal.vfi
new file mode 100644
index 0000000000..763a7bfb32
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/Thermal.vfi
@@ -0,0 +1,77 @@
+// /** @file
+// Driver Setup formset.
+//
+// Copyright (c) 2004 - 2015, 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);
+
+
+ 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 = 50,
+ step = 2,
+ default = 50,
+ endnumeric;
+ endif;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ oneof varid = Setup.DisableActiveTripPoints,
+ prompt = STRING_TOKEN(STR_DATP_PROMPT),
+ help = STRING_TOKEN(STR_DATP_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 TRUE;
+ 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 = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = MANUFACTURING |RESET_REQUIRED |DEFAULT;
+ endoneof;
+ endif;
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+
+
+endform;
diff --git a/BraswellPlatformPkg/Common/Setup/UnCore.vfi b/BraswellPlatformPkg/Common/Setup/UnCore.vfi
new file mode 100644
index 0000000000..7ad90f14ed
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/UnCore.vfi
@@ -0,0 +1,228 @@
+// /** @file
+// Driver Setup formset.
+//
+// Copyright (c) 2004 - 2015, 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 = MANUFACTURING | DEFAULT | 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 = MANUFACTURING| DEFAULT| 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;
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+ subtitle text = STRING_TOKEN(STR_IGD_TITLE);
+
+ suppressif ideqval Setup.PrimaryVideoAdaptor == 0x2;
+ 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;
+ endif;
+
+ oneof varid = Setup.PrimaryVideoAdaptor,
+ prompt = STRING_TOKEN(STR_PRIMARY_DISPLAY),
+ help = STRING_TOKEN(STR_PRIMARY_DISPLAY_HELP),
+ option text = STRING_TOKEN(STR_AUTOMATIC), value = 3, flags = RESET_REQUIRED;
+ 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;
+ endoneof;
+
+
+ oneof varid = Setup.PavpMode,
+ prompt = STRING_TOKEN(STR_PAVC_PROMPT),
+ help = STRING_TOKEN(STR_PAVC_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PAVP_LITE_MODE), value = 1, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PAVP_SERPENT_MODE), value = 2, 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_1MB), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(GTT_SIZE_2MB), value = 2, 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 = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(APERTURE_SIZE_256MB), value = 2, 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_32M), value = 1, flags = RESET_REQUIRED;
+ 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;
+
+ //
+ //Igd Thermal
+ //
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ subtitle text = STRING_TOKEN(STR_IGD_LCD_CONTROL);
+
+ oneof varid = Setup.LidStatus,
+ prompt = STRING_TOKEN(STR_FORCE_LID_STATUS_PROMPT),
+ help = STRING_TOKEN(STR_FORCE_LID_STATUS_ENBDT_HELP),
+ option text = STRING_TOKEN(STR_LID_STATUS__OFF_PROMPT), value = 0, flags = 0 | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LID_STATUS__ON_PROMPT), value = 1, flags = 0 | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_LID_STATUS__AUTO_PROMPT), value = 2, flags = MANUFACTURING| DEFAULT| RESET_REQUIRED;
+ endoneof;
+
+ 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 =MANUFACTURING| DEFAULT| 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=DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ENABLE), value=1, flags=0 | RESET_REQUIRED;
+ endoneof;
+
+
+ oneof varid = Setup.IgdFlatPanel,
+ prompt = STRING_TOKEN(STR_IGD_FLAT_PANEL_PROMPT),
+ help = STRING_TOKEN(STR_IGD_FLAT_PANEL_HELP),
+ 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;
+ //
+ //Pannel Scaling
+ //
+ oneof varid = Setup.PanelScaling,
+ prompt = STRING_TOKEN(STR_PANNEL_SCALING_PROMPT),
+ help = STRING_TOKEN(STR_PANNEL_SCALING_HELP),
+ option text = STRING_TOKEN(STR_AUTOMATIC), value=0x00, flags=DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PANNEL_SCALING_STRETCH), value=0x01, flags=RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_PANNEL_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);
+ //
+ //ISP Configuration
+ //
+ subtitle text = STRING_TOKEN(STR_ISP_CONFIGURATION_TITLE);
+
+ oneof varid = Setup.ISPEn,
+ prompt = STRING_TOKEN(STR_ISP_ENABLED),
+ help = STRING_TOKEN(STR_ISP_ENABLED_HELP),
+ option text = STRING_TOKEN(STR_ENABLE), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = DEFAULT |RESET_REQUIRED;
+ endoneof;
+
+ grayoutif ideqval Setup.ISPEn == 0;
+ oneof varid = Setup.ISPDevSel,
+ prompt = STRING_TOKEN (STR_ISP_PCICONFIGURATION_TITLE),
+ help = STRING_TOKEN (STR_ISP_PCICONFIGURATION_HELP),
+ option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ISP_PCICONFIG_B0D2F0_TITLE), value = 1, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_ISP_PCICONFIG_B0D3F0_TITLE), value = 2, flags = RESET_REQUIRED;
+ endoneof;
+ endif;
+
+endform;
diff --git a/BraswellPlatformPkg/Common/Setup/UqiList.uni b/BraswellPlatformPkg/Common/Setup/UqiList.uni
new file mode 100644
index 0000000000..fd46c8bb4b
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/UqiList.uni
@@ -0,0 +1,443 @@
+// /** @file
+// UQI (Universal Question Identifier) allocation for setup options.
+// This file should define UQIs in the following range only: [0x0000...0x7FFF]
+//
+// Copyright (c) 2013 - 2015, 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.
+//
+// **/
+
+//----------------------------------------------------------------------------
+//
+// Purpose: The translations in this file are intended to be globally
+// consistent. All products should use the same translation for the
+// same functional question.
+//
+// Usage:
+//
+// 1. DO NOT OVERRIDE THIS FILE!
+// The translations in this file should be globally consistent across
+// all of our products.
+//
+// 2. Never delete tokens from this file
+//
+// 3. When adding a new question:
+//
+// * Always do a thorough check of the tokens below to determine if
+// a question is already represented. This is important, because
+// we want to generate scripts based on these tokens which will
+// work on our entire product line.
+//
+// * Always choose the first available new token number for your
+// new token. Do not worry about "grouping" your questions
+// together. That goal will only make it more difficult to manage
+// the token numbering. Always add your new token to the correct
+// place to preserve numerical ordering. This makes it easy to
+// determine which token should be used next.
+//
+//----------------------------------------------------------------------------
+
+#langdef uqi "uqi"
+
+//
+// Keep in numerical order to prevent token reuse
+//
+#string STR_FAST_BOOT_PROMPT #language uqi "\x0001"
+#string STR_MEMORY_CHECK_SETUP #language uqi "\x0002"
+#string STR_NUM_AUTO_BOOT #language uqi "\x0003"
+#string STR_LOAD_OPTION_FORCE_RECON #language uqi "\x0004"
+#string STR_ONE_OF_PROMPT #language uqi "\x0005"
+#string STR_CHECK_BOX_PROMPT #language uqi "\x0006"
+#string STR_TEST_OPCODE #language uqi "\x0007"
+#string STR_TEST_OPCODE2 #language uqi "\x0008"
+#string STR_ERROR_POPUP #language uqi "\x0009"
+#string STR_NUMERIC_READONLY_PROMPT #language uqi "\x000A"
+#string STR_NUMERIC_MANUAL_PROMPT #language uqi "\x000B"
+#string STR_TALL_HEX_PROMPT #language uqi "\x000C"
+#string STR_NAME_VALUE_VAR_NAME0 #language uqi "\x000D"
+#string STR_NAME_VALUE_VAR_NAME1 #language uqi "\x000E"
+#string STR_NUMERIC_STEP_PROMPT #language uqi "\x000F"
+#string STR_DEFAULT_VALUE_FROM_ACCESS_PROMPT #language uqi "\x0010"
+#string STR_DEFAULT_VALUE_FROM_CALLBACK_PROMPT #language uqi "\x0011"
+#string STR_SERIAL_PORT #language uqi "\x0012"
+#string STR_SERIAL_PORT_STATUS #language uqi "\x0013"
+#string STR_SERIAL_PORT_IO_ADDRESS #language uqi "\x0014"
+#string STR_SERIAL_PORT_IRQ #language uqi "\x0015"
+#string STR_TEXT_REFRESH_GUID_COUNT #language uqi "\x0016"
+#string STR_IP4_CONFIGURE #language uqi "\x0017"
+#string STR_IP4_ENABLE_DHCP #language uqi "\x0018"
+#string STR_ISCSI_DEVICE_ENABLE #language uqi "\x0019"
+#string STR_ISCSI_ENABLE_DHCP #language uqi "\x001A"
+#string STR_ISCSI_ENABLE_DHCP_ON_TARGET #language uqi "\x001B"
+#string STR_ISCSI_TARGET_PORT #language uqi "\x001C"
+#string STR_CHAP_TYPE_PROMPT #language uqi "\x001D"
+#string STR_VLAN_VID_PROMPT #language uqi "\x001E"
+#string STR_VLAN_PRIORITY_PROMPT #language uqi "\x001F"
+#string STR_PCI_DEVICE_FILTER_PROMPT #language uqi "\x0020"
+#string STR_IP6_DAD_TRANSMIT_COUNT #language uqi "\x0021"
+#string STR_POLICY_TYPE_PROMPT #language uqi "\x0022"
+#string STR_ISCSI_MODE_PROMPT #language uqi "\x0023"
+#string STR_IP_MODE_PROMPT #language uqi "\x0024"
+#string STR_ISCSI_CONFIG_RETRY #language uqi "\x0025"
+#string STR_ISCSI_CONFIG_TIMEOUT #language uqi "\x0026"
+#string STR_AUTHEN_TYPE_PROMPT #language uqi "\x0027"
+#string STR_NULL #language uqi "\x0028"
+#string STR_HIDE_TPM_PROMPT #language uqi "\x0029"
+#string STR_TPM_OPERATION #language uqi "\x002A"
+#string STR_MOR_PROMPT #language uqi "\x002B"
+#string STR_SECURE_BOOT_PROMPT #language uqi "\x002C"
+#string STR_USB_SUPPORT #language uqi "\x002D"
+#string STR_USB_LEGACY_SUPPORT #language uqi "\x002E"
+#string STR_USB_XHCI_SUPPORT #language uqi "\x002F"
+#string STR_USB_BIOS_XHCI_HANDOFF #language uqi "\x0030"
+#string STR_USB_BIOS_EHCI_HANDOFF #language uqi "\x0031"
+#string STR_USB_6064 #language uqi "\x0032"
+#string STR_USB_HOTPLUG_FDD #language uqi "\x0033"
+#string STR_USB_HOTPLUG_HDD #language uqi "\x0034"
+#string STR_USB_HOTPLUG_CDROM #language uqi "\x0035"
+#string STR_USB_CONTROL_TIME_OUT #language uqi "\x0036"
+#string STR_USB_MASS_RESET_DELAY #language uqi "\x0037"
+#string STR_USB_POWERGOOD_DELAY #language uqi "\x0038"
+#string STR_USB_DELAY_NUM_VALUE #language uqi "\x0039"
+#string STR_USB_MASS_DEVICE1 #language uqi "\x003A"
+#string STR_USB_MASS_DEVICE2 #language uqi "\x003B"
+#string STR_USB_MASS_DEVICE3 #language uqi "\x003C"
+#string STR_USB_MASS_DEVICE4 #language uqi "\x003D"
+#string STR_USB_MASS_DEVICE5 #language uqi "\x003E"
+#string STR_USB_MASS_DEVICE6 #language uqi "\x003F"
+#string STR_USB_MASS_DEVICE7 #language uqi "\x0040"
+#string STR_USB_MASS_DEVICE8 #language uqi "\x0041"
+#string STR_USB_MASS_DEVICE9 #language uqi "\x0042"
+#string STR_USB_MASS_DEVICE10 #language uqi "\x0043"
+#string STR_USB_MASS_DEVICE11 #language uqi "\x0044"
+#string STR_USB_MASS_DEVICE12 #language uqi "\x0045"
+#string STR_USB_MASS_DEVICE13 #language uqi "\x0046"
+#string STR_USB_MASS_DEVICE14 #language uqi "\x0047"
+#string STR_USB_MASS_DEVICE15 #language uqi "\x0048"
+#string STR_USB_MASS_DEVICE16 #language uqi "\x0049"
+#string STR_SECURITY_BOOT_PROMPT #language uqi "\x004A"
+#string STR_QUIETBOOT_PROMPT #language uqi "\x004B"
+#string STR_LOG_BOOT_TIME_PROMPT #language uqi "\x004C"
+#string STR_EXECUTE_DISABLE_BIT_PROMPT #language uqi "\x004D"
+#string STR_LIMIT_CPUID_MAX_PROMPT #language uqi "\x004E"
+#string STR_PROC_HOT_ENABLE #language uqi "\x004F"
+#string STR_VTX2_PROMPT #language uqi "\x0050"
+#string STR_CORE_FRE_MULTIP_SELECT_PROMPT #language uqi "\x0051"
+#string STR_TM1_PROMPT #language uqi "\x0052"
+#string STR_TM2_PROMPT #language uqi "\x0053"
+#string STR_DTS_PROMPT #language uqi "\x0054"
+#string STR_ACTIVE_PROCESSOR_CORES_PROMPT #language uqi "\x0055"
+#string STR_CPU_IST_PROMPT #language uqi "\x0056"
+#string STR_BOOT_P_STATE #language uqi "\x0057"
+#string STR_PROCESSOR_TURBO_MODE #language uqi "\x0058"
+#string STR_CSTATE_PROMPT #language uqi "\x0059"
+#string STR_CXE_PROMPT #language uqi "\x005A"
+#string STR_HARDC4E_PROMPT #language uqi "\x005B"
+#string STR_MAX_C_STATE_SUPPORT_PROMPT #language uqi "\x005C"
+#string STR_PPM_C4_EXIT_PROMPT #language uqi "\x005D"
+#string STR_CX_POPDOWN_PROMPT #language uqi "\x005E"
+#string STR_CX_POPUP_PROMPT #language uqi "\x005F"
+#string STR_SEC_SETTING_PROMPT #language uqi "\x0060"
+#string STR_SEC_FLASH_UPDATE_PROMPT #language uqi "\x0061"
+#string STR_SEC_FIRMWARE_UPDATE_PROMPT #language uqi "\x0062"
+#string STR_FIRMWARE_TPM_PROMPT #language uqi "\x0063"
+#string STR_TPM_PROMPT #language uqi "\x0064"
+#string STR_TDT_CONFIG_PROMPT #language uqi "\x0065"
+#string STR_TDT_RECOVERY_PROMPT #language uqi "\x0066"
+#string STR_TDT_SUSPEND_PROMPT #language uqi "\x0067"
+#string STR_ICH_PCIERP1_PROMPT #language uqi "\x0068"
+#string STR_ICH_PCIERP2_PROMPT #language uqi "\x0069"
+#string STR_ICH_PCIERP3_PROMPT #language uqi "\x006A"
+#string STR_ICH_PCIERP4_PROMPT #language uqi "\x006B"
+#string STR_USB_DEBUG_PROMPT #language uqi "\x006C"
+#string STR_USB_XHCI_SUPPORT_PROMPT #language uqi "\x006D"
+#string STR_PCH_USB21_PROMPT #language uqi "\x006E"
+#string STR_PCH_USB30_MODE_PROMPT #language uqi "\x006F"
+#string STR_PCH_USB30_STREAMS #language uqi "\x0070"
+#string STR_PCH_USB_PER_PORT_PROMPT #language uqi "\x0071"
+#string STR_PCH_USB_PORT0_PROMPT #language uqi "\x0072"
+#string STR_PCH_USB_PORT1_PROMPT #language uqi "\x0073"
+#string STR_PCH_USB_PORT2_PROMPT #language uqi "\x0074"
+#string STR_PCH_USB_PORT3_PROMPT #language uqi "\x0075"
+#string STR_PCH_USBRMH_PROMPT #language uqi "\x0076"
+#string STR_SATA_PROMPT #language uqi "\x0077"
+#string STR_SATA_TYPE_PROMPT #language uqi "\x0078"
+#string STR_SATA0_HOTPLUG_CAP_PROMPT #language uqi "\x0079"
+#string STR_SATA1_HOTPLUG_CAP_PROMPT #language uqi "\x007A"
+#string STR_LPSS_EMMC_PROMPT #language uqi "\x007B"
+#string STR_LPSS_SDIO_PROMPT #language uqi "\x007C"
+#string STR_LPSS_SDCARD_PROMPT #language uqi "\x007D"
+#string STR_LPSS_DMA_PROMPT #language uqi "\x007E"
+#string STR_LPSS_I2C1_PROMPT #language uqi "\x007F"
+#string STR_LPSS_I2C2_PROMPT #language uqi "\x0080"
+#string STR_LPSS_PCM_PROMPT #language uqi "\x0081"
+#string STR_LPSS_I2S_PROMPT #language uqi "\x0082"
+#string STR_LPSS_HSUART1_PROMPT #language uqi "\x0083"
+#string STR_LPSS_HSUART2_PROMPT #language uqi "\x0084"
+#string STR_LPSS_SPI_PROMPT #language uqi "\x0085"
+#string STR_PCH_LAN_CONTROLLER #language uqi "\x0086"
+#string STR_PCH_LAN_WOL_PROMPT #language uqi "\x0087"
+#string STR_PCH_SLP_LAN_LOW_DC_PROMPT #language uqi "\x0088"
+#string STR_PCH_PXEROM_CONTROL #language uqi "\x0089"
+#string STR_LPE_PROMPT #language uqi "\x008A"
+#string STR_PCH_AZALIA_PROMPT #language uqi "\x008B"
+#string STR_AZALIA_VC_PROMPT #language uqi "\x008C"
+#string STR_AZALIA_DS_PROMPT #language uqi "\x008D"
+#string STR_AZALIA_PME_PROMPT #language uqi "\x008E"
+#string STR_HDMI_CODEC_PROMPT #language uqi "\x008F"
+#string STR_HPET_PROMPT #language uqi "\x0090"
+#string STR_HPET_BOOTTIME_PROMPT #language uqi "\x0091"
+#string STR_STATE_AFTER_G3 #language uqi "\x0092"
+#string STR_PCH_UART_SELECT #language uqi "\x0093"
+#string STR_PCU_UART_A #language uqi "\x0094"
+#string STR_PCU_UART_B #language uqi "\x0095"
+#string STR_ACPI_CRITICAL_THERMAL_TRIP_POINT #language uqi "\x0096"
+#string STR_ACPI_PASSIVE_THERMAL_TRIP_POINT #language uqi "\x0097"
+#string STR_ACPI_PASSIVE_TC1_VALUE #language uqi "\x0098"
+#string STR_ACPI_PASSIVE_TC2_VALUE #language uqi "\x0099"
+#string STR_ACPI_PASSIVE_TSP_VALUE #language uqi "\x009A"
+#string STR_DPTF_PROMPT #language uqi "\x009B"
+#string STR_LPM_PROMPT #language uqi "\x009C"
+#string STR_CTDP_PROMPT #language uqi "\x009D"
+#string STR_MEMORY_PROMPT #language uqi "\x009E"
+#string STR_DPTF_ACTIVE_TRIP_POINT_PROMPT #language uqi "\x009F"
+#string STR_DPTF_PASSIVE_TRIP_POINT_PROMPT #language uqi "\x00A0"
+#string STR_SKIN_SENSOR_PROMPT #language uqi "\x00A1"
+#string STR_PCH_PROMPT #language uqi "\x00A2"
+#string STR_PRIMARY_DISPLAY #language uqi "\x00A3"
+#string STR_VIDEO_RS2_PROMPT #language uqi "\x00A4"
+#string STR_DVMT40_PRE_ALLOC #language uqi "\x00A5"
+#string STR_GFX_BOOST_PROMPT #language uqi "\x00A6"
+#string STR_IGD_THERMAL_PROMPT #language uqi "\x00A7"
+#string STR_SPREAD_SPECTRUM_CLOCK_PROMPT #language uqi "\x00A8"
+#string STR_VIDEO_LCD_IBIA #language uqi "\x00A9"
+#string STR_ACPI_ALS_ENABLE #language uqi "\x00AA"
+#string STR_IGD_FLAT_PANEL_PROMPT #language uqi "\x00AB"
+#string STR_BOOT_DISPLAY_DEVICE_PROMPT #language uqi "\x00AC"
+#string STR_PANNEL_SCALING_PROMPT #language uqi "\x00AD"
+#string STR_VIDEO_LCD_IGMCHBLC_PROMPT #language uqi "\x00AE"
+#string STR_MEMORY_SCRAMBLER_PROMPT #language uqi "\x00AF"
+#string STR_CSTATE_C4 #language uqi "\x00B0"
+#string STR_CSTATE_C6 #language uqi "\x00B1"
+#string STR_SEC_EOP_PROMPT #language uqi "\x00B2"
+#string STR_PCH_USB_PORT4_PROMPT #language uqi "\x00B3"
+#string STR_PCH_USB_PORT5_PROMPT #language uqi "\x00B4"
+#string STR_PCH_USB_PORT6_PROMPT #language uqi "\x00B5"
+#string STR_PCH_USB_PORT7_PROMPT #language uqi "\x00B6"
+#string STR_HDMI_CODEC_PORTB_PROMPT #language uqi "\x00B7"
+#string STR_HDMI_CODEC_PORTC_PROMPT #language uqi "\x00B8"
+#string STR_HDMI_CODEC_PORTD_PROMPT #language uqi "\x00B9"
+#string STR_CONVERT_BOARD_SELECT #language uqi "\x00BA"
+#string STR_DPTF_CLPM_PROMPT #language uqi "\x00BB"
+#string STR_PROCESSOR_DPTF_PROMPT #language uqi "\x00BC"
+#string STR_DPTF_SYSTHERM0_PROMPT #language uqi "\x00BD"
+#string STR_DPTF_SYSTHERM1_PROMPT #language uqi "\x00BE"
+#string STR_DPTF_SYSTHERM2_PROMPT #language uqi "\x00BF"
+#string STR_DPTF_SYSTHERM3_PROMPT #language uqi "\x00C0"
+#string STR_DPTF_CHARGER_PROMPT #language uqi "\x00C1"
+#string STR_DPTF_DISPLAY_PROMPT #language uqi "\x00C2"
+#string STR_DPTF_SOC_PROMPT #language uqi "\x00C3"
+#string STR_GOP_VBIOS_SWITCH #language uqi "\x00C4"
+#string STR_PAVC_PROMPT #language uqi "\x00C5"
+#string STR_GTT_SIZE #language uqi "\x00C6"
+#string STR_APERTURE_SIZE #language uqi "\x00C7"
+#string STR_DVMT50_PRE_ALLOC #language uqi "\x00C8"
+#string STR_FORCE_LID_STATUS_PROMPT #language uqi "\x00C9"
+#string STR_TREE_DEVICE_PROMPT #language uqi "\x00CA"
+#string STR_TPM2_REVOKE_TRUST_PROMPT #language uqi "\x00CB"
+#string STR_PCH_USB_OTG_PROMPT #language uqi "\x00CC"
+#string STR_LPSS_PCI_PROMPT #language uqi "\x00CD"
+#string STR_SCC_EMMC_PROMPT #language uqi "\x00CE"
+#string STR_SCC_SDIO_PROMPT #language uqi "\x00CF"
+#string STR_SCC_SDCARD_PROMPT #language uqi "\x00D0"
+#string STR_MIPI_HSI_PROMPT #language uqi "\x00D1"
+#string STR_LPSS_DMA1_PROMPT #language uqi "\x00D2"
+#string STR_LPSS_DMA2_PROMPT #language uqi "\x00D3"
+#string STR_LPSS_I2C3_PROMPT #language uqi "\x00D4"
+#string STR_LPSS_I2C4_PROMPT #language uqi "\x00D5"
+#string STR_LPSS_I2C5_PROMPT #language uqi "\x00D6"
+#string STR_LPSS_I2C6_PROMPT #language uqi "\x00D7"
+#string STR_LPSS_I2C7_PROMPT #language uqi "\x00D8"
+#string STR_PWM1_PROMPT #language uqi "\x00D9"
+#string STR_PWM2_PROMPT #language uqi "\x00DA"
+#string STR_LPSS_LPE_PROMPT #language uqi "\x00DB"
+#string STR_PMIC_ACPI_OBJECT_PROMPT #language uqi "\x00DC"
+#string STR_S0IX_PROMPT #language uqi "\x00DD"
+#string STR_DPTF_CRITICAL_TEMP #language uqi "\x00DE"
+#string STR_DPTF_PASSIVE_TEMP #language uqi "\x00DF"
+#string STR_DPTF_SDBG #language uqi "\x00E0"
+#string STR_DPTF_CLPO #language uqi "\x00E1"
+#string STR_DPTF_CLPO_START_PINDEX #language uqi "\x00E2"
+#string STR_DPTF_CLPO_STEP_SIZE #language uqi "\x00E3"
+#string STR_DPTF_CLPO_PWR_CTRL #language uqi "\x00E4"
+#string STR_DPTF_CLPO_PERF_CTRL #language uqi "\x00E5"
+#string STR_DPTF_DPPM #language uqi "\x00E6"
+#string STR_ISP_ENABLED #language uqi "\x00E7"
+#string STR_ISP_PCICONFIGURATION_TITLE #language uqi "\x00E8"
+#string STR_IGD_PROMPT #language uqi "\x00E9"
+#string STR_PNP_SETTING_PROMPT #language uqi "\x00EA"
+#string STR_DPTF_SYSTHERM4_PROMPT #language uqi "\x00EB"
+#string STR_ACPIMEMDBG_SWTICH #language uqi "\x00EC"
+#string STR_SECURE_BOOT #language uqi "\x00ED"
+#string STR_SECURE_BOOT_MODE #language uqi "\x00EE"
+#string STR_PCIE_SPEED_PROMPT0 #language uqi "\x00EF"
+#string STR_PCIE_SPEED_PROMPT1 #language uqi "\x00F0"
+#string STR_PCIE_SPEED_PROMPT2 #language uqi "\x00F1"
+#string STR_PCIE_SPEED_PROMPT3 #language uqi "\x00F2"
+#string STR_SATA_TEST_MODE_PROMPT #language uqi "\x00F3"
+#string STR_CLOCK_SPREAD_SPEC_ENABLE #language uqi "\x00F4"
+#string STR_BATTERY_ACPI_OBJECT_PROMPT #language uqi "\x00F5"
+#string STR_MFGMODE #language uqi "\x00F6"
+#string STR_PCH_USB_VBUS_PROMPT #language uqi "\x00F7"
+#string STR_PCH_USB_EHCIDEBUG_PROMPT #language uqi "\x00F8"
+#string STR_CRID_PROMPT #language uqi "\x00F9"
+#string STR_GOP_BRIGHTNESS_LEVEL #language uqi "\x00FA"
+#string STR_ULPMC_FW_LOCK_PROMPT #language uqi "\x00FC"
+#string STR_SECURE_BOOT_MODE_PROMPT #language uqi "\x00FD"
+#string STR_DELETE_PK #language uqi "\x00FE"
+#string STR_I2C_TOUCH_PROMPT #language uqi "\x00FF"
+#string STR_PCH_SPI_WP_PROMPT #language uqi "\x0100"
+#string STR_PMWEIGHTS_PROMPT #language uqi "\x0101"
+#string STR_FORM_BOOT_CHG_TITLE #language uqi "\x0102"
+#string STR_FORM_DRV_CHG_TITLE #language uqi "\x0103"
+#string STR_TALL_MANUAL_PROMPT #language uqi "\x0104"
+#string STR_NUMERIC_PROMPT #language uqi "\x0105"
+#string STR_NUMERIC_PROMPT1 #language uqi "\x0106"
+#string STR_ACTIVE_CORE_COUNT_PROMPT #language uqi "\x0107"
+#string STR_PBA_CONFIG_PROMPT #language uqi "\x0108"
+#string STR_IGD_TURBO_PROMPT #language uqi "\x0109"
+#string STR_IGD_TURBO_HELP #language uqi "\x010A"
+#string STR_EHCI_PLL_CFG_PROMPT #language uqi "\x010B"
+#string STR_EHCI_PLL_CFG_RTD3_DIS_HELP #language uqi "\x010C"
+#string STR_LM_MEMORY_PROMPT #language uqi "\x010D"
+#string STR_PDM_OUTPUT_CONFIG_SWTICH #language uqi "\x010E"
+#string STR_PUINT_BIOS_CONFIG_DISPLAY #language uqi "\x010F"
+#string STR_SCC_SDIO_MODE_PROMPT #language uqi "\x0110"
+#string STR_ISCT_CONFIGURATION #language uqi "\x0111"
+#string STR_ISCT_NOTIFICATION_CONTROL_PROMPT #language uqi "\x0112"
+#string STR_ISCT_WLAN_CONTROL_PROMPT #language uqi "\x0113"
+#string STR_ISCT_WWAN_CONTROL_PROMPT #language uqi "\x0114"
+#string STR_EXISUPPORT_PROMPT #language uqi "\x0115"
+#string STR_PCH_FSA_PROMPT #language uqi "\x0116"
+#string STR_PCH_FSA_HELP #language uqi "\x0117"
+#string STR_USB_AUTO_MODE_PROMPT #language uqi "\x0118"
+#string STR_SCC_EMMC45_PROMPT #language uqi "\x0119"
+#string STR_SCC_EMMC45_HELP #language uqi "\x011A"
+#string STR_SCC_EMMC45_DDR50_PROMPT #language uqi "\x011B"
+#string STR_SCC_EMMC45_DDR50_HELP #language uqi "\x011C"
+#string STR_SCC_EMMC45_HS200_PROMPT #language uqi "\x011D"
+#string STR_SCC_EMMC45_HS200_HELP #language uqi "\x011E"
+#string STR_SCC_EMMC45_RE_TUNE_TIMER_VALUE #language uqi "\x011F"
+#string STR_SCC_EMMC45_RE_TUNE_TIMER_VALUE_HELP #language uqi "\x0120"
+#string STR_CFIO_PNP_SETTING_PROMPT #language uqi "\x0121"
+#string STR_CFIO_PNP_SETTING_HELP #language uqi "\x0122"
+#string STR_EMMC_BOOT_PROMPT #language uqi "\x0123"
+#string STR_EMMC_BOOT_HELP #language uqi "\x0124"
+#string STR_WITT_PROMPT #language uqi "\x0125"
+#string STR_SECURE_BOOT_TEST_PROMPT #language uqi "\x0126"
+#string STR_TRISTATE_LPC_PROMPT #language uqi "\x0127"
+#string STR_DOP_CG_PROMPT #language uqi "\x0128"
+#string STR_PSS_ENABLE_PROMPT #language uqi "\x0129"
+#string STR_PSS_ENABLE_HELP #language uqi "\x012A"
+#string STR_ISCT_SLEEP_DURATION_FORMAT #language uqi "\x012B"
+#string STR_ISCT_RF_KILL_SUPPORT #language uqi "\x012C"
+#string STR_SECURE_BOOT_UPP_PROMPT #language uqi "\x012D"
+#string STR_MEASURED_BOOT_ENABLE_PROMPT #language uqi "\x012E"
+#string STR_MEASURED_BOOT_ENABLE_HELP #language uqi "\x012F"
+#string STR_PTT_PROMPT #language uqi "\x0130"
+#string STR_CHECK_SHA256_HASH_MASTER_BOOT_CODES #language uqi "\x0131"
+#string STR_USB_XHCI_LPM_SUPPORT_PROMPT #language uqi "\x0132"
+
+#string STR_VIRTUAL_KB_PROMPT #language uqi "\x0135"
+#string STR_VIRTUAL_KB_HELP #language uqi "\x0136"
+#string STR_TREE_OPERATION #language uqi "\x0137"
+#string STR_SLP_S0IX_N_PROMPT #language uqi "\x0138"
+#string STR_SLP_S0IX_N_HELP #language uqi "\x0139"
+#string STR_DPTF_AMBIENTTRIPPOINTCHANGE_PROMPT #language uqi "\x013A"
+#string STR_DPTF_THERM0_PCAT_PROMPT #language uqi "\x013B"
+#string STR_DPTF_THERM1_PCAT_PROMPT #language uqi "\x013C"
+#string STR_DPTF_THERM2_PCAT_PROMPT #language uqi "\x013D"
+#string STR_MMIO_PROMPT #language uqi "\x013E"
+#string STR_UTS_PROMPT #language uqi "\x013F"
+#string STR_UTS_HELP #language uqi "\x0140"
+#string STR_WLAN_NGFF_CARD #language uqi "\x0141"
+#string STR_WLAN_UHPAM_CARD #language uqi "\x0142"
+#string STR_ENABLE_DBG2 #language uqi "\x0143"
+#string STR_DPTF_ALLOWHIGHERPERFORMANCE_PROMPT #language uqi "\x0144"
+#string STR_DATP_PROMPT #language uqi "\x0145"
+#string STR_DPTF_OFFLINING #language uqi "\x0146"
+#string STR_SAR_SENSOR_PROMPT #language uqi "\x0147"
+#string STR_DPTF_BRAND_STRING #language uqi "\x0148"
+#string STR_CODEC262_DISABLED_PROMPT #language uqi "\x0149"
+#string STR_CODEC262_DISABLED_HELP #language uqi "\x014A"
+
+//SD CARD SDR25 and DDR50
+#string STR_SCC_SD_SDR25_PROMPT #language uqi "\x014B"
+#string STR_SCC_SD_SDR25_HELP #language uqi "\x014C"
+#string STR_SCC_SD_DDR50_PROMPT #language uqi "\x014D"
+#string STR_SCC_SD_DDR50_HELP #language uqi "\x014E"
+#string STR_SB_PROFILE_PROMPT #language uqi "\x014F"
+#string STR_SECURE_BOOT_PRO_KEY_PROMPT #language uqi "\x0150"
+
+#string STR_OS_SELETION_PROMPT #language uqi "\x0151"
+#string STR_OS_SELETION_HELP #language uqi "\x0152"
+#string STR_WINDOWS #language uqi "\x0153"
+#string STR_ANDROID #language uqi "\x0154"
+#string STR_AESNI_PROMPT #language uqi "\x0155"
+
+#string STR_LPSS_I2C1_HELP_ENBDT_DEV_LIST #language uqi "\x0156"
+#string STR_LPSS_I2C2_HELP_ENBDT_DEV_LIST #language uqi "\x0157"
+#string STR_LPSS_I2C3_HELP_ENBDT_DEV_LIST #language uqi "\x0158"
+#string STR_LPSS_I2C4_HELP_ENBDT_DEV_LIST #language uqi "\x0159"
+#string STR_LPSS_I2C5_HELP_ENBDT_DEV_LIST #language uqi "\x015A"
+#string STR_LPSS_I2C6_HELP_ENBDT_DEV_LIST #language uqi "\x015B"
+#string STR_LPSS_I2C7_HELP_ENBDT_DEV_LIST #language uqi "\x015C"
+#string STR_LPSS_HSUART1_HELP_ENBDT_DEV_LIST #language uqi "\x015D"
+#string STR_LPSS_HSUART2_HELP_ENBDT_DEV_LIST #language uqi "\x015E"
+
+#string STR_SECURE_ERASE_PROMPT #language uqi "\x015F"
+
+#string STR_SEC_FIRMWARE_WRITE_PROMPT #language uqi "\x0160"
+
+#string STR_BOOT_DISPLAY_MIPIDSI_PROMPT #language uqi "\x0161"
+#string STR_SEC_FIRMWARE_TOGGLE_PROMPT #language uqi "\x0162"
+#string STR_PCIEDYNCLK_PROMPT #language uqi "\x0163"
+#string STR_PAVP_LITE_MODE #language uqi "\x0164"
+#string STR_PAVP_SERPENT_MODE #language uqi "\x0165"
+#string STR_SCC_SDCARD_FORWIN_PROMPT #language uqi "\x0166"
+#string STR_DROIDBOOT_PROMPT #language uqi "\x0167"
+#string STR_ANDROIDBOOT_PROMPT #language uqi "\x0168"
+
+#string STR_CRITICAL_BATTERY_LIMIT_PROMPT #language uqi "\x0169"
+#string STR_CRITICAL_BATTERY_LIMIT_HELP #language uqi "\x016A"
+#string STR_CRITICAL_BATTERY_LIMIT_FEATURE_PROMPT #language uqi "\x016B"
+#string STR_CRITICAL_BATTERY_LIMIT_FEATURE_HELP #language uqi "\x016C"
+#string STR_WINDOWS7 #language uqi "\x016D"
+#string STR_LPSSDEVHIDE_PROMPT #language uqi "\x016E"
+#string STR_EM1_IAAPPSRUN_PROMPT #language uqi "\x016F"
+#string STR_EM1_IAAPPSCAP_PROMPT #language uqi "\x0170"
+#string STR_EM1_CAP_OR_VOLTAGE_PROMPT #language uqi "\x0171"
+#string STR_EM1_BOOT_ON_INVALID_BAT_PROMPT #language uqi "\x0172"
+
+#string STR_USB_HSIC_0_PROMPT #language uqi "\x0173"
+#string STR_USB_HSIC_0_HELP #language uqi "\x0174"
+#string STR_LEGACYUSBBOOTING_PROMPT #language uqi "\x0175"
+#string STR_STR_LEGACYUSBBOOTING_HELP #language uqi "\x0176"
+#string STR_LWINDOWS7 #language uqi "\x0177"
+#string STR_WEC7 #language uqi "\x0178"
+#string STR_LINUX #language uqi "\x0179"
+#string STR_WARNING_POPUP #language uqi "\x017A"
+#string STR_LPSS_HSUART1_FLOWCONTROL_PROMPT #language uqi "\x017B"
+#string STR_LPSS_HSUART2_FLOWCONTROL_PROMPT #language uqi "\x017C"
+#string STR_SCC_SDCARD_REMOVABILITY #language uqi "\x017D"
+#string STR_SCC_SDCARD_REMOVABLE #language uqi "\x017E"
+#string STR_SCC_SDCARD_NON_REMOVABLE #language uqi "\x017F"
+#string STR_SCC_SDCARD_REMOVABILITY_HELP #language uqi "\x0180"
+
diff --git a/BraswellPlatformPkg/Common/Setup/Vfr.vfr b/BraswellPlatformPkg/Common/Setup/Vfr.vfr
new file mode 100644
index 0000000000..839e8f5368
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/Vfr.vfr
@@ -0,0 +1,99 @@
+// /** @file
+//
+// Copyright (c) 2004 - 2015, 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 2)Main Form
+ //
+ goto ROOT_MAIN_FORM_ID,
+ prompt = STRING_TOKEN(STR_MAIN_TITLE),
+ help = STRING_TOKEN(STR_MAIN_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
+ //
+#if (BYTI_PF_ENABLE == 0)
+ goto DEBUG_CONFIGURATION_FORM_ID,
+ prompt = STRING_TOKEN(STR_DEBUG_CONFIGURATION_TITLE),
+ help = STRING_TOKEN(STR_DEBUG_CONFIGURATION_HELP);
+#endif
+
+ subtitle text = STRING_TOKEN(STR_NULL_STRING);
+
+ endform;
+
+ #include "Main.vfi"
+ #include "UnCore.vfi"
+ #include "SouthClusterConfig.vfi"
+ #include "Boot.vfi"
+ #include "Thermal.vfi"
+ #include "SystemComponent.vfi"
+ #include "DebugConfig.vfi"
+endformset;
diff --git a/BraswellPlatformPkg/Common/Setup/VfrStrings.uni b/BraswellPlatformPkg/Common/Setup/VfrStrings.uni
new file mode 100644
index 0000000000..f094ed27b8
--- /dev/null
+++ b/BraswellPlatformPkg/Common/Setup/VfrStrings.uni
@@ -0,0 +1,1690 @@
+// /** @file
+// String definitions for Platform Setup formset.
+//
+// Copyright (c) 2004 - 2015, 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.
+//
+// **/
+
+//
+// NOTE: for SETUP engine spacing, the following character spaces denote how much room in each section you have.
+// In the Help Text section " " -this is 23 spaces wide.
+// In the Far left panel " " -this is 37 spaces wide.
+// In the middle section " " -this is 37 spaces wide.
+//
+/=#
+
+#langdef en-US "English"
+#langdef fr-FR "Français"
+
+// STR_LANG_NAME is dummy for font extrace tool. Without this,
+// some characters for language selection menu will not be displayed
+// correctly.
+#string STR_LANG_NAME #language fr-FR "Français"
+#string STR_LANG_NAME #language en-US "English"
+
+//Root form
+#string STR_SYSTEM_SETUP_TITLE #language en-US "System Setup"
+#string STR_SYSTEM_SETUP_HELP #language en-US "Press <Enter> to select the System Configuration Setup options."
+
+#string STR_MAIN_TITLE #language en-US "Main"
+#string STR_MAIN_HELP #language en-US ""
+
+#string STR_CPU_CONFIGURATION_TITLE #language en-US "CPU Configuration"
+#string STR_CPU_CONFIGURATION_HELP #language en-US ""
+
+#string STR_CPU_POWERMNG_TITLE #language en-US "CPU Power Management"
+#string STR_CPU_POWERMNG_HELP #language en-US ""
+
+#string STR_BOOT_CONFIGURATION_TITLE #language en-US "Boot"
+#string STR_BOOT_CONFIGURATION_HELP #language en-US ""
+
+#string STR_IGD_TITLE #language en-US "IGD Configuration"
+#string STR_IGD_HELP #language en-US ""
+
+#string STR_MEMORY_CONFIGURATION_TITLE #language en-US "Memory Configuration"
+#string STR_MEMORY_CONFIGURATION_HELP #language en-US ""
+
+#string STR_ISP_ENABLED #language en-US "ISP Enable/Disable"
+#string STR_ISP_ENABLED_HELP #language en-US "Enable/Disable ISP PCI Device Selection."
+
+#string STR_ISP_CONFIGURATION_TITLE #language en-US "ISP PCI Device Configuration"
+#string STR_ISP_PCICONFIGURATION_TITLE #language en-US "ISP PCI Device Selection"
+#string STR_ISP_PCICONFIGURATION_HELP #language en-US "Default ISP is PCI B0D2F0 for Window Boot. Linux Boot to select B0D3F0"
+#string STR_ISP_PCICONFIG_B0D2F0_TITLE #language en-US "ISP PCI Device as B0D2F0"
+#string STR_ISP_PCICONFIG_B0D3F0_TITLE #language en-US "ISP PCI Device as B0D3F0"
+
+#string STR_SECURITY_CONFIGURATION_TITLE #language en-US "Security Configuration"
+#string STR_SECURITY_CONFIGURATION_HELP #language en-US ""
+
+#string STR_SOUTH_CLUSTER_TITLE #language en-US "South Cluster Configuration"
+#string STR_SOUTH_CLUSTER_HELP #language en-US ""
+
+#string STR_UNCORE_CONFIGURATION_TITLE #language en-US "Uncore Configuration"
+#string STR_UNCORE_CONFIGURATION_HELP #language en-US ""
+
+#string STR_DPTF_CONFIGURATION_TITLE #language en-US "DPTF"
+#string STR_DPTF_CONFIGURATION_HELP #language en-US ""
+
+#string STR_THERMAL_TITLE #language en-US "Thermal"
+#string STR_THERMAL_HELP #language en-US ""
+
+#string STR_SYSTEM_COMPONENT_TITLE #language en-US "System Component"
+#string STR_SYSTEM_COMPONENT_HELP #language en-US ""
+
+#string STR_DEBUG_CONFIGURATION_TITLE #language en-US "Debug Configuration"
+#string STR_DEBUG_CONFIGURATION_HELP #language en-US ""
+
+//
+// Main form definition
+//
+#string STR_DATE_PROMPT #language en-US "System Date"
+
+
+#string STR_DATE_YEAR_HELP #language en-US "Displays and changes the System Date from the Real-Time Clock. Format is Month/Day/Year. "
+#string STR_DATE_MONTH_HELP #language en-US "Displays and changes the System Date from the Real-Time Clock. Format is Month/Day/Year. "
+#string STR_DATE_DAY_HELP #language en-US "Displays and changes the System Date from the Real-Time Clock. Format is Month/Day/Year. "
+#string STR_ERROR_POPUP #language en-US "Try Again"
+#string STR_BIOS_INFORMATION_TITLE #language en-US "Bios Information"
+
+#string STR_NULL_STRING #language en-US ""
+#string STR_NULL_STRING #language fr-FR ""
+
+#string STR_BIOS_VENDOR_STRING #language en-US "BIOS Vendor"
+#string STR_BIOS_VENDOR_STRING #language fr-FR "Verdor du BIOS"
+
+#string STR_BIOS_VENDOR_VALUE #language en-US "Intel Corporation"
+#string STR_BIOS_VENDOR_VALUE #language fr-FR ""
+
+#string STR_BIOS_VERSION_STRING #language en-US "BIOS Version"
+#string STR_BIOS_VERSION_STRING #language fr-FR "Version du BIOS"
+
+#string STR_BIOS_VERSION_VALUE #language en-US ""
+#string STR_BIOS_VERSION_VALUE #language fr-FR ""
+
+#string STR_IFWI_VERSION_STRING #language en-US "IFWI Version"
+#string STR_IFWI_VERSION_STRING #language fr-FR "Version du IFWI"
+
+#string STR_IFWI_VERSION_VALUE #language en-US ""
+#string STR_IFWI_VERSION_VALUE #language fr-FR ""
+
+#string STR_BIOS_BUILD_TIME_STRING #language en-US "Build Time"
+#string STR_BIOS_BUILD_TIME_VALUE #language en-US "NA"
+
+#string STR_CORE_VERSION_STRING #language en-US "Core Version"
+#string STR_CORE_VERSION_VALUE #language en-US "UEFI 2.3.1"
+
+#string STR_SEC_VERSION_STRING #language en-US "TXE FW Version"
+#string STR_SEC_VERSION_VALUE #language en-US ""
+
+#string STR_SEC_CAPABILITY_STRING #language en-US "TXE FW Capabilities"
+#string STR_SEC_CAPABILITY_VALUE #language en-US ""
+
+#string STR_SEC_FEATURE_STRING #language en-US "TXE FW Features"
+#string STR_SEC_FEATURE_VALUE #language en-US ""
+
+#string STR_SEC_OEMTAG_STRING #language en-US "TXE FW OEM Tag"
+#string STR_SEC_OEMTAG_VALUE #language en-US ""
+
+#string STR_SEC_FILE_SYSTEM_INTEGRITY_VALUE_STRING #language en-US "TXE File System Integrity Value"
+#string STR_SEC_FILE_SYSTEM_INTEGRITY_VALUE #language en-US ""
+
+#string STR_SEC_TEMP_DISABLE_HELP #language en-US "TXE Temporary Disable"
+#string STR_SEC_TEMP_DISABLE_STRING #language en-US "TXE Firmware Mode"
+#string STR_SEC_TEMP_DISABLE_PROMPT #language en-US "TXE Temporary Disable"
+
+#string STR_SEC_LOCAL_FW_UPDATE_HELP #language en-US "TXE Disable/Enable TXE Local Fw Update"
+#string STR_SEC_LOCAL_FW_UPDATE_STRING #language en-US "TXE Local Fw Update"
+#string STR_SEC_LOCAL_FW_UPDATE_PROMPT #language en-US "TXE Temporary Disable"
+
+#string STR_SEC_FIRMWARE_WRITE_PROMPT #language en-US "TXE Firmware R/W Mode"
+#string STR_SEC_FIRMWARE_WRITE_VALUE #language en-US ""
+
+#string STR_SEC_FIRMWARE_TOGGLE_PROMPT #language en-US "TXE Firmware R/W Toggle"
+#string STR_SEC_FIRMWARE_TOGGLE_HELP #language en-US "Use to Toggle between R/W and R/O"
+#string STR_SEC_FIRMWARE_TOGGLE_NO #language en-US "No"
+#string STR_SEC_FIRMWARE_TOGGLE_YES #language en-US "Yes"
+
+#string STR_SEC_HMRFPO_HELP #language en-US "TXE HMRFPO Disable"
+#string STR_SEC_HMRFPO_STRING #language en-US "TXE HMRFPO "
+#string STR_SEC_HMRFPO_PROMPT #language en-US "TXE HMRFPO Disable"
+
+#string STR_SEC_EOP_HELP #language en-US "Send EOP Message Befor Enter OS"
+#string STR_SEC_EOP_PROMPT #language en-US "TXE EOP Message"
+
+#string STR_PLATFORM_INFORMATION_TITLE #language en-US "Platform Information"
+#string STR_PLATFORM_INFORMATION_HELP #language en-US "Display platform information"
+
+#string STR_PROCESSOR_INFO_STRING #language en-US "Processor Information"
+#string STR_PROCESSOR_VERSION_STRING #language en-US "Processor Type"
+#string STR_PROCESSOR_VERSION_VALUE #language en-US "N/A"
+#string STR__STRING #language en-US " "
+#string STR__VALUE #language en-US ""
+#string STR_PROCESSOR_SPEED_STRING #language en-US "Processor Speed"
+#string STR_PROCESSOR_SPEED_VALUE #language en-US ""
+#string STR_PROCESSOR_MICROCODE_STRING #language en-US "Microcode Revision"
+#string STR_PROCESSOR_MICROCODE_VALUE #language en-US "Not loaded"
+#string STR_PROCESSOR_CORE_STRING #language en-US "Number of Cores"
+#string STR_PROCESSOR_CORE_VALUE #language en-US "1"
+#string STR_EM64T_CAPABILITY_STRING #language en-US "Intel(r) 64 Architecture Capable"
+#string STR_EM64T_CAPABILITY_VALUE #language en-US "Support"
+
+#string STR_PLATFORM_FIRMWARE_STRING #language en-US "Platform firmware Information"
+
+#string STR_MFGMODE #language en-US "Manufacture Mode"
+#string STR_MFGMODE_HELP #language en-US "Manufacture Mode Status"
+
+
+
+#string STR_MEMORY_INFORMATION_STRING #language en-US "Memory Information"
+#string STR_TOTAL_MEMORY_SIZE_PROMPT #language en-US "Total Memory"
+#string STR_TOTAL_MEMORY_SIZE_VALUE #language en-US ""
+#string STR_MEMORY_SPEED_PROMPT #language en-US "DIMM Frequency"
+#string STR_MEMORY_SPEED_PROMPT_VALUE #language en-US ""
+#string STR_PROCESSOR_L1_DATA_CACHE_STRING #language en-US "L1 Data Cache"
+#string STR_PROCESSOR_L1_DATA_CACHE_VALUE #language en-US "N/A"
+#string STR_PROCESSOR_L1_INSTR_CACHE_STRING #language en-US "L1 Instruction Cache"
+#string STR_PROCESSOR_L1_INSTR_CACHE_VALUE #language en-US "N/A"
+#string STR_PROCESSOR_L2_CACHE_STRING #language en-US "L2 Cache RAM"
+#string STR_PROCESSOR_L2_CACHE_VALUE #language en-US "NO"
+#string STR_SYSTEM_MEMORY_SPEED_STRING #language en-US "Memory Speed"
+#string STR_SYSTEM_MEMORY_SPEED_VALUE #language en-US ""
+
+#string STR_CHIP_IGD_VBIOS_REV_HELP #language en-US "IGD VBIOS Version"
+#string STR_CHIP_IGD_VBIOS_REV_NAME #language en-US "IGD VBIOS Version"
+#string STR_CHIP_IGD_VBIOS_REV_VALUE #language en-US "N/A"
+
+#string STR_CPU_FLAVOR_HELP #language en-US "CPU Flavor"
+#string STR_CPU_FLAVOR_NAME #language en-US "CPU Flavor"
+#string STR_CPU_FLAVOR_VALUE #language en-US "N/A"
+
+#string STR_BOARD_INFORMATION_STRING #language en-US "Board Information"
+#string STR_BOARD_ID_HELP #language en-US "Displays the Board ID."
+#string STR_BOARD_ID_NAME #language en-US "Board ID"
+#string STR_BOARD_ID_VALUE #language en-US "N/A"
+
+//
+// CPU INFORMATION
+//
+#string STR_CPU_FORM_SUBTITLE #language en-US "Processor Information"
+
+#string STR_PROCESSOR_VERSION_HELP #language en-US "Displays the Processor Type."
+#string STR_PROCESSOR_VERSION_STRING #language en-US "Type"
+#string STR_PROCESSOR_VERSION_VALUE #language en-US "N/A"
+
+#string STR_PROCESSOR_SKU_HELP #language en-US "Displays the Processor SKU Type."
+#string STR_PROCESSOR_SKU_STRING #language en-US "SKU Type"
+#string STR_PROCESSOR_SKU_VALUE #language en-US "N/A"
+
+#string STR_PROCESSOR_SPEED_STRING #language en-US "Speed"
+#string STR_PROCESSOR_SPEED_VALUE #language en-US "N/A"
+#string STR_PROCESSOR_SPEED_HELP #language en-US "Displays the Processor Speed."
+
+#string STR_PROCESSOR_ID_STRING #language en-US "Family/Model/Step"
+#string STR_PROCESSOR_ID_VALUE #language en-US "N/A"
+#string STR_PROCESSOR_ID_HELP #language en-US "Family/Model/Step of Processor"
+
+#string STR_PROCESSOR_STEPPING_STRING #language en-US "Stepping"
+#string STR_PROCESSOR_STEPPING_VALUE #language en-US "Unknown"
+#string STR_PROCESSOR_STEPPING_HELP #language en-US "Displays the Processor Stepping."
+
+
+#string STR_FAB_ID_HELP #language en-US "Displays the Fab ID"
+#string STR_FAB_ID_STRING #language en-US "Fab ID"
+#string STR_FAB_ID_VALUE #language en-US "N/A"
+
+#string STR_TIME_PROMPT #language en-US "System Time"
+#string STR_TIME_HOUR_HELP #language en-US "Displays and changes the System Time from the Real-Time Clock. Clock is displayed in 24-hour format. "
+#string STR_TIME_MINUTE_HELP #language en-US "Displays and changes the System Time from the Real-Time Clock. Clock is displayed in 24-hour format. 9"
+#string STR_TIME_SECOND_HELP #language en-US "Displays and changes the System Time from the Real-Time Clock. Clock is displayed in 24-hour format. "
+
+//
+// Boot form definition
+//
+#string STR_FAST_BOOT_PROMPT #language en-US "Fast Boot"
+#string STR_FAST_BOOT_HELP #language en-US "Enable or Disable FastBoot features. \n Most probes are skipped to reduce time cost during boot."
+#string STR_SECURITY_BOOT_PROMPT #language en-US "UEFI Security Boot"
+#string STR_SECURITY_BOOT_HELP #language en-US "Disable/Enable UEFI Security boot feature"
+#string STR_LOG_BOOT_TIME_PROMPT #language en-US "BootTime Log"
+#string STR_LOG_BOOT_TIME_HELP #language en-US "BootTime for OS Booting"
+#string STR_LOG_BOOT_TIME_RECORD #language en-US " Latest BootTime"
+#string STR_LOG_BOOT_TIME_VALUE #language en-US "No Record"
+#string STR_QUIETBOOT_PROMPT #language en-US "Silent Boot"
+#string STR_QUIETBOOT_HELP #language en-US "Disable console output and show logo if it is enabled."
+#string STR_LEGACYUSBBOOTING_PROMPT #language en-US "Legacy USB Booting"
+#string STR_STR_LEGACYUSBBOOTING_HELP #language en-US "Enable or Disable Legacy USB Booting features."
+#string STR_DROIDBOOT_PROMPT #language en-US "Droid Boot"
+#string STR_DROIDBOOT_HELP #language en-US "Go to Droidboot to flash Android Image"
+#string STR_ANDROIDBOOT_PROMPT #language en-US "Android Boot"
+#string STR_ANDROIDBOOT_HELP #language en-US "Boot android OS"
+
+// Enable or Disable or Automatic
+#string STR_ENABLE #language en-US "Enable"
+#string STR_ENABLE #language fr-FR "Activé"
+
+#string STR_DISABLE #language en-US "Disable"
+#string STR_DISABLE #language fr-FR "Désactivé"
+
+#string STR_PCI_MODE #language en-US "PCI Mode"
+#string STR_ACPI_MODE #language en-US "ACPI Mode"
+
+#string STR_ENABLED #language en-US "Enabled"
+#string STR_ENABLED #language fr-FR "Activé"
+
+#string STR_DISABLED #language en-US "Disabled"
+#string STR_DISABLED #language fr-FR "Désactivé"
+#string STR_AUTOMATIC #language en-US "Auto"
+#string STR_AUTOMATIC #language fr-FR "Auto"
+
+#string STR_ON #language en-US "ON"
+#string STR_OFF #language en-US "OFF"
+
+#string STR_YES #language en-US "YES"
+#string STR_NO #language en-US "NO"
+
+//
+//CPU Features Configuration
+//
+#string STR_ACTIVE_CORE_COUNT_PROMPT #language en-US "Active Processor Cores"
+#string STR_ACTIVE_CORE_COUNT_PROMPT_HELP #language en-US "Number of cores to enable in each processor package."
+
+#string STR_AESNI_PROMPT #language en-US "AESNI Feature"
+#string STR_AESNI_PROMPT_HELP #language en-US "Enable/Disable AESNI ."
+
+#string STR_EXECUTE_DISABLE_BIT_PROMPT #language en-US "Execute Disable Bit"
+#string STR_EXECUTE_DISABLE_BIT_HELP #language en-US "Execute Disable Bit prevent certain classes of malicious buffer overflow attacks when combined with a supporting OS"
+
+#string STR_LIMIT_CPUID_MAX_PROMPT #language en-US "Limit CPUID Maximum"
+#string STR_LIMIT_CPUID_MAX_HELP #language en-US "Disabled for Windows XP"
+
+#string STR_CORE_FRE_MULTIP_SELECT_PROMPT #language en-US "Core Frequency Multiplier select"
+#string STR_CORE_FRE_MULTIP_SELECT_HELP #language en-US "for Debug only"
+
+#string STR_VTX2_PROMPT #language en-US "VTX-2"
+#string STR_VTX2_HELP #language en-US "To enable or disable the VTX-2 Mode support"
+
+#string STR_PROC_HOT_ENABLE #language en-US "Bi-directional PROCHOT#"
+#string STR_PROC_HOT_ENABLE_HELP #language en-US "When a processor thermal sensor trips (either core), the PROCHOT# will be driven.\nIf bi-direction is enabled, external agents can drive PROCHOT# to throttle the processor."
+#string STR_TM1_PROMPT #language en-US "TM1 "
+#string STR_TM1_PROMPT_HELP #language en-US "Enable/Disable TM1"
+#string STR_TM2_PROMPT #language en-US "TM2 "
+#string STR_TM2_PROMPT_HELP #language en-US "Enable/Disable TM2"
+#string STR_DTS_PROMPT #language en-US "DTS "
+#string STR_DTS_PROMPT_HELP #language en-US "Enabled/Disable Digital Thermal Sensor"
+#string STR_ACTIVE_PROCESSOR_CORES_PROMPT #language en-US "Active Processor Cores"
+#string STR_ACTIVE_PROCESSOR_CORES_HELP #language en-US "Number of cores to enable in each processor package"
+#string STR_PROCESSOR_HT_MODE #language en-US "Intel(r) Hyper-Threading Technology"
+#string STR_PROCESSOR_HT_MODE_HELP #language en-US "When disabled, only one thread per active core will be available."
+#string STR_CAPABILITY_NOT_SUPPORT #language en-US "Not Supported"
+
+#string STR_ALL #language en-US "ALL"
+#string STR_1 #language en-US "1"
+
+//
+//CPU Power Option
+//
+#string STR_SYSTEM_POWER_OPTIONS #language en-US "System Power Options"
+#string STR_BOOT_P_STATE #language en-US "Boot performance mode"
+#string STR_BOOT_P_STATE_HELP #language en-US "Select the performance state that the BIOS will set before OS handoff."
+#string STR_BOOT_P_STATE_MAX #language en-US "Max Performance"
+#string STR_BOOT_P_STATE_MIN #language en-US "Max Battery"
+#string STR_BOOT_P_STATE_FLEX #language en-US "Flexible Ratio(Override)"
+#string STR_CPU_IST_PROMPT #language en-US "Intel(R) SpeedStep(tm)"
+#string STR_CPU_IST_HELP #language en-US "Allows more than two frequency ranges to be supported."
+#string STR_CSTATE_PROMPT #language en-US "C-States"
+#string STR_CSTATE_PROMPT_HELP #language en-US "Enable/Disable C States"
+#string STR_CXE_PROMPT #language en-US " Enhanced C-states"
+#string STR_CXE_PROMPT_HELP #language en-US "Enable/Disable C1E, C2E and C4E. When enabled, CPU will switch to minimum speed when all cores enter C-State."
+#string STR_HARDC4E_PROMPT #language en-US "Hard C4E"
+#string STR_HARDC4E_PROMPT_HELP #language en-US "Enable/Disable Hard C4E"
+#string STR_PROCESSOR_TURBO_MODE #language en-US "Intel(r) Turbo Boost Technology"
+#string STR_PROCESSOR_TURBO_MODE_HELP #language en-US "Enable to automatically allow processor cores to run faster than the base operating frequency if it's operating below power, current, and temperature specification limits. Turbo will be disabled under auto mode if SoC is B0 Stepping"
+#string STR_MAX_C_STATE_SUPPORT_PROMPT #language en-US " Max C State"
+#string STR_MAX_C_STATE_SUPPORT_HELP #language en-US "This option controls the Max C State that the processor will support."
+#string STR_CSTATE_C7 #language en-US "C7"
+#string STR_CSTATE_C6 #language en-US "C6"
+#string STR_CSTATE_C4 #language en-US "C4"
+#string STR_CSTATE_C1 #language en-US "C1"
+#string STR_CX_POPDOWN_PROMPT #language en-US "C-state POPDOWN"
+#string STR_CX_POPDOWN_PROMPT_HELP #language en-US "Disabling the option, prevents automatic return to a previous C3 or C4 states"
+#string STR_CX_POPUP_PROMPT #language en-US "C-state POPUP"
+#string STR_CX_POPUP_PROMPT_HELP #language en-US "On enabled, SB observes bus master request, will take system from a C3/C4 state to a C2 state and auto enables bus masters."
+#string STR_PPM_C4_EXIT_PROMPT #language en-US "C4 Exit Timing"
+#string STR_PPM_C4_EXIT_HELP #language en-US "This option controls a programmable time for the CPU voltage to stabilize when exiting from a C4 state."
+#string STR_PPM_DEFAULT_C4_EXIT #language en-US "Default"
+#string STR_PPM_FAST_C4_EXIT #language en-US "Fast"
+#string STR_PPM_SLOW_C4_EXIT #language en-US "Slow"
+#string STR_PPM_FORCE_SLOW_C4_EXIT #language en-US "Force Slow"
+
+
+//
+// IGD Configuration form
+//
+#string STR_IGD_LCD_CONTROL #language en-US "IGD - LCD Control"
+#string STR_BOOT_DISPLAY_DEVICE_PROMPT #language en-US "IGD Boot Type"
+#string STR_BOOT_DISPLAY_DEVICE_HELP #language en-US "Select preference for Integrated Graphics Device (IGD) display interface used when system boots."
+#string STR_EDP #language en-US "eDP"
+#string STR_HDMI #language en-US "HDMI"
+#string STR_MIPI2DSI #language en-US "MIPI-DSI"
+#string STR_VGAPORT #language en-US "VGA Port"
+#string STR_HDMIPORTB #language en-US "HDMI"
+#string STR_DPPORTB #language en-US "DP Port B"
+#string STR_DPPORTC #language en-US "DP Port C"
+#string STR_EDPPORTC #language en-US "eDP"
+#string STR_DSIPORTA #language en-US "DSI PORT A"
+#string STR_DSIPORTC #language en-US "DSI PORT C"
+
+#string STR_IGD_FLAT_PANEL_PROMPT #language en-US "LCD Panel Type"
+#string STR_IGD_FLAT_PANEL_HELP #language en-US "Select the LCD panel used by Internal Graphics Device by selecting the appropriate setup item."
+#string STR_640X480 #language en-US "640 x 480"
+#string STR_800X600 #language en-US "800 x 600"
+#string STR_1024X768 #language en-US "1024 x 768"
+#string STR_1280X1024 #language en-US "1280 x 1024"
+#string STR_1366X768 #language en-US "1366 x 768"
+#string STR_1680X1050 #language en-US "1680 x 1050"
+#string STR_1920X1200 #language en-US "1920 x 1200"
+#string STR_1280X800 #language en-US "1280 x 800"
+
+#string STR_IGD_LCD_CONTROL #language en-US "IGD - LCD Control"
+#string STR_IGD_FIXED_GRAPHICS_MEMORY_SIZE #language en-US "IGD Fixed Graphics Memory"
+#string STR_128MB #language en-US "128 MB"
+#string STR_256MB #language en-US "256 MB"
+
+#string STR_IGD_THERMAL_PROMPT #language en-US "IGD Thermal"
+#string STR_IGD_THERMAL_HELP #language en-US "Check to enable thermal monitoring on IGD."
+
+#string STR_GFX_BOOST_PROMPT #language en-US "GFX Boost"
+#string STR_GFX_BOOST_HELP #language en-US "Enable/Disable GFX boost"
+
+#string STR_SPREAD_SPECTRUM_CLOCK_PROMPT #language en-US "Spread Spectrum clock"
+#string STR_SPREAD_SPECTRUM_CLOCK_HELP #language en-US "Enable/Disable Spread Spectrum clock"
+
+#string STR_FORCE_LID_STATUS_PROMPT #language en-US "Force Lid Status"
+#string STR_LID_STATUS__AUTO_PROMPT #language en-US "Auto"
+#string STR_LID_STATUS__ON_PROMPT #language en-US "ON"
+#string STR_LID_STATUS__OFF_PROMPT #language en-US "OFF"
+#string STR_FORCE_LID_STATUS_TABLET_HELP #language en-US "For test: force to set lid status as on or off"
+#string STR_FORCE_LID_STATUS_ENBDT_HELP #language en-US "For AUTO: BIOS updates LID Status as per Virtual LID Switch. For ON/OFF: BIOS force to set lid status as ON or OFF"
+
+#string STR_PANNEL_SCALING_PROMPT #language en-US "Panel Scaling"
+#string STR_PANNEL_SCALING_HELP #language en-US "Select the LCD panel scaling option used by Internal Graphics Device."
+#string STR_PANNEL_SCALING_STRETCH #language en-US "Centering"
+#string STR_PANNEL_SCALING_CENTER #language en-US "Stretching"
+
+#string STR_VIDEO_LCD_IGMCHBLC_PROMPT #language en-US "GMCH BLC Control"
+#string STR_VIDEO_LCD_IGMCHBLC_HELP #language en-US "Back Light Control Setting"
+#string STR_VIDEO_LCD_IGMCHBLC1 #language en-US "PWM-Inverted"
+#string STR_VIDEO_LCD_IGMCHBLC2 #language en-US "GMBus-Inverted"
+#string STR_VIDEO_LCD_IGMCHBLC3 #language en-US "PWM-Normal"
+#string STR_VIDEO_LCD_IGMCHBLC4 #language en-US "GMBus-Normal"
+
+
+#string STR_VIDEO_LCD_IBIA #language en-US "BIA"
+#string STR_VIDEO_LCD_IBIAA #language en-US "Auto"
+#string STR_VIDEO_LCD_IBIAD #language en-US "Disabled"
+#string STR_VIDEO_LCD_IBIAL1 #language en-US "Level 1"
+#string STR_VIDEO_LCD_IBIAL2 #language en-US "Level 2"
+#string STR_VIDEO_LCD_IBIAL3 #language en-US "Level 3"
+#string STR_VIDEO_LCD_IBIAL4 #language en-US "Level 4"
+#string STR_VIDEO_LCD_IBIAL5 #language en-US "Level 5"
+#string STR_VIDEO_LCD_IBIAHLP #language en-US ">>Auto: GMCH Use VBIOS Default; >>Level n: Enabled with Selected Aggressiveness Level."
+
+#string STR_PRIMARY_DISPLAY #language en-US "Primary Display"
+#string STR_PRIMARY_DISPLAY_HELP #language en-US "Select which of IGD/PCI Graphics device should be Primary Display"
+#string STR_IGD_STRING #language en-US "IGD"
+#string STR_PCI_STRING #language en-US "PCIe"
+
+#string STR_VIDEO_RS2_PROMPT #language en-US "RC6(Render Standby)"
+#string STR_VIDEO_RS2_HELP #language en-US "Check to enable render standby support, RC6 should be enabled if S0ix is enabled.\n\nThis item will be read only if S0ix is enabled"
+
+#string STR_PAVC_PROMPT #language en-US "PAVC"
+#string STR_PAVC_HELP #language en-US "Enable/Disable Protected Audio Video Control"
+#string STR_PAVP_LITE_MODE #language en-US "LITE Mode"
+#string STR_PAVP_SERPENT_MODE #language en-US "SERPENT Mode"
+#string STR_DVMT40_TITLE #language en-US "DVMT4.0 Graphic memory setting"
+#string STR_DVMT40_PRE_ALLOC #language en-US "DVMT Pre-Allocated"
+#string STR_DVMT40_PRE_ALLOC_1M #language en-US "1M"
+#string STR_DVMT40_PRE_ALLOC_8M #language en-US "8M"
+#string STR_DVMT40_PRE_ALLOC_HELP #language en-US "Select DVMT 4.0 Pre-Allocated (UMA) Graphics Memory size used by the Internal Graphics Device."
+#string STR_LOCK_ECO_PROMPT #language en-US "ECO Lock"
+#string STR_LOCK_ECO_HELP #language en-US "Enable/Disable ECO Lock"
+#string STR_DOP_CG_PROMPT #language en-US "DOP CG"
+#string STR_DOP_CG__HELP #language en-US "Enable/Disable DOP Clock Gating"
+
+//
+// DVMT5.0 Graphics Memory
+//
+#string STR_DVMT50_TITLE #language en-US "DVMT5.0 Graphic memory setting"
+#string STR_DVMT50_PRE_ALLOC #language en-US "DVMT Pre-Allocated"
+#string STR_DVMT50_PRE_ALLOC_0M #language en-US "0M"
+#string STR_DVMT50_PRE_ALLOC_32M #language en-US "32M"
+#string STR_DVMT50_PRE_ALLOC_64M #language en-US "64M"
+#string STR_DVMT50_PRE_ALLOC_96M #language en-US "96M"
+#string STR_DVMT50_PRE_ALLOC_128M #language en-US "128M"
+#string STR_DVMT50_PRE_ALLOC_160M #language en-US "160M"
+#string STR_DVMT50_PRE_ALLOC_192M #language en-US "192M"
+#string STR_DVMT50_PRE_ALLOC_224M #language en-US "224M"
+#string STR_DVMT50_PRE_ALLOC_256M #language en-US "256M"
+#string STR_DVMT50_PRE_ALLOC_288M #language en-US "288M"
+#string STR_DVMT50_PRE_ALLOC_320M #language en-US "320M"
+#string STR_DVMT50_PRE_ALLOC_352M #language en-US "352M"
+#string STR_DVMT50_PRE_ALLOC_384M #language en-US "384M"
+#string STR_DVMT50_PRE_ALLOC_416M #language en-US "416M"
+#string STR_DVMT50_PRE_ALLOC_448M #language en-US "448M"
+#string STR_DVMT50_PRE_ALLOC_480M #language en-US "480M"
+#string STR_DVMT50_PRE_ALLOC_512M #language en-US "512M"
+
+#string STR_DVMT50_PRE_ALLOC_HELP #language en-US "Select DVMT 5.0 Pre-Allocated (Fixed) Graphics Memory size used by the Internal Graphics Device"
+#string STR_DVMT50_DVMT #language en-US "DVMT Total Gfx Mem"
+#string STR_DVMT50_DVMT_HELP #language en-US "Select DVMT5.0 Total Graphic Memory size used by the Internal Graphics Device"
+#string STR_DVMT50_ALLOC_128 #language en-US "128M"
+#string STR_DVMT50_ALLOC_256 #language en-US "256M"
+#string STR_DVMT50_ALLOC_MAX #language en-US "MAX"
+#string STR_GTT_SIZE #language en-US "GTT Size"
+#string STR_GTT_SIZE_HELP #language en-US "Select the GTT Size "
+#string GTT_SIZE_1MB #language en-US "1MB"
+#string GTT_SIZE_2MB #language en-US "2MB"
+#string STR_APERTURE_SIZE #language en-US "Aperture Size"
+#string STR_APERTURE_SIZE_HELP #language en-US "Select the Aperture Size"
+#string APERTURE_SIZE_128MB #language en-US "128MB"
+#string APERTURE_SIZE_256MB #language en-US "256MB"
+#string APERTURE_SIZE_512MB #language en-US "512MB"
+
+#string STR_IGD_PROMPT #language en-US "Integrated Graphics Device"
+#string STR_IGD_HELP #language en-US "Enable : Enable Integrated Graphics Device (IGD) when selected as the Primary Video Adaptor. Disable: Alwarys disable IGD"
+
+#string STR_ACPI_ALS_ENABLE #language en-US "ALS Support"
+#string STR_ACPI_ALS_ENABLE_HELP #language en-US "Valid only for ACPI."
+
+#string STR_SEC_CONFIGURATION_SUBTITLE #language en-US "TXE Configuration"
+
+#string STR_SEC_SETTING_PROMPT #language en-US "TXE"
+#string STR_SEC_SETTING_HELP #language en-US ""
+
+#string STR_TPM_CONFIGURATION_PROMPT #language en-US "TPM Configuration"
+
+#string STR_FIRMWARE_TPM_PROMPT #language en-US "fTPM"
+#string STR_FIRMWARE_TPM_HELP #language en-US "Enable/Disable fTPM"
+
+#string STR_PTT_PROMPT #language en-US "PTT"
+#string STR_PTT_HELP #language en-US "Enable/Disable PTT"
+
+#string STR_TPM_PROMPT #language en-US "Discrete TPM"
+#string STR_TPM_HELP #language en-US "Enable/Disable TPM"
+
+#string STR_MEASURED_BOOT_ENABLE_PROMPT #language en-US "Measured Boot"
+#string STR_MEASURED_BOOT_ENABLE_HELP #language en-US "Enable/Disable Measured Boot"
+
+#string STR_SEC_FLASH_UPDATE_PROMPT #language en-US "TXE HMRFPO "
+#string STR_SEC_FLASH_UPDATE_HELP #language en-US ""
+
+#string STR_SEC_FIRMWARE_UPDATE_PROMPT #language en-US "TXE Firmware Update"
+#string STR_SEC_FIRMWARE_UPDATE_HELP #language en-US ""
+#string STR_SEC_UNCONFIGURATION_PROMPT #language en-US "TXE Unconfiguration Perform"
+#string STR_SEC_UNCONFIGURATION_HELP #language en-US "Revert TXE settings to factory defaults"
+#string STR_PTT_SUBTITLE #language en-US "Platform Trust Technology"
+#string STR_PTT_DISABLE_PROMPT #language en-US "PTT Disable"
+#string STR_PTT_DISABLE_HELP #language en-US "Disable PTT "
+
+#string STR_REVOKE_TRUST_PROMPT #language en-US "Revoke Trust"
+#string STR_REVOKE_TRUST_HELP #language en-US "Enable/Disable Revoke Trust"
+
+#string STR_PASSWORD_CONFIGURATION_SUBTITLE #language en-US "Password Setting"
+#string STR_PASSWORD_CONFIGURATION_HELP #language en-US "Password Setting"
+
+#string STR_TDT_TITLE #language en-US "Intel(R) Anti-Theft Technology Configuration"
+
+#string STR_TDT_CONFIG_PROMPT #language en-US "Intel(R) ATAM"
+#string STR_TDT_CONFIG_HELP #language en-US "Enable/Disable BIOS AT Code from Running."
+
+#string STR_PBA_CONFIG_PROMPT #language en-US "Intel(R) AT Platform PBA"
+#string STR_PBA_CONFIG_HELP #language en-US "Enable/Disable BIOS AT Code from Running."
+
+#string STR_TDT_RECOVERY_PROMPT #language en-US "AT Recovery"
+#string STR_TDT_RECOVERY_HELP #language en-US "Set the number of times AT Recovery attempts will be allowed"
+
+#string STR_TDT_SUSPEND_PROMPT #language en-US "Intel(R) AT Suspend Mode"
+#string STR_TDT_SUSPEND_HELP #language en-US "Request that platform enter AT Suspend Mode - Only Available when AT Enrolled"
+
+#string STR_ADMIN_PASSWORD #language en-US "Setup Administrator Password"
+#string STR_ADMIN_PASSWORD_HELP #language en-US "Set Setup Administrator Password"
+#string STR_USER_PASSWORD #language en-US "User Password"
+#string STR_USER_PASSWORD_HELP #language en-US "Set User Password"
+#string STR_CHANGE_ADMIN_PASSWORD #language en-US "Change Supervisor Password"
+#string STR_CHANGE_ADMIN_PASSWORD_HELP #language en-US "Change Setup Administrator Password"
+#string STR_CHANGE_USER_PASSWORD #language en-US "Change User Password"
+#string STR_CHANGE_USER_PASSWORD_HELP #language en-US "Change User Password"
+#string STR_SB_TITLE #language en-US "Secure Boot Configuration"
+#string STR_CHECK_SHA256_HASH_MASTER_BOOT_CODES #language en-US "Check SHA256 Hash of Master Boot Codes"
+#string STR_CHECK_SHA256_HASH_MASTER_BOOT_CODES_HELP #language en-US "Enable/Disable the checking of SHA256 hash of Master Boot Codes"
+//
+//South Cluster Configuration
+//
+#string STR_PCI_MODE_STRING #language en-US "PCI Mode"
+#string STR_ACPI_MODE_STRING #language en-US "ACPI Mode"
+#string STR_EMPTY_STRING #language en-US ""
+#string STR_AUTO_STRING #language en-US "AUTO Mode"
+#string STR_HPET_PROMPT #language en-US "High Precision Timer"
+#string STR_HPET_HELP #language en-US "Enable or Disable the High Precision Event Timer."
+#string STR_HPET_BOOTTIME_PROMPT #language en-US "Boot Time with HPET Timer"
+#string STR_HPET_BOOTTIME_HELP #language en-US "Boot time calculation with High Precision Event Timer enabled."
+
+#string STR_HPET_SUBTITLE #language en-US "High Precision Event Timer Configuration"
+
+#string STR_USB_CONFIG_SUBTITLE #language en-US "USB Configuration"
+#string STR_USB_DEBUG_PROMPT #language en-US "USB Debug"
+#string STR_USB_DEBUG_HELP #language en-US "Enable or Disable USB debug feature"
+#string STR_USB_XHCI_SUPPORT_PROMPT #language en-US "XHCI Controller"
+#string STR_USB_XHCI_SUPPORT_HELP #language en-US "Enable/Disable XHCI Controller "
+
+#string STR_USB_HSIC_0_PROMPT #language en-US " HSIC #0"
+#string STR_USB_HSIC_0_HELP #language en-US "Enable/Disable HSIC #0. Enabling HSIC #0 will also enable USB4640 USB HUB with an useless card reader and impact responsiveness."
+
+#string STR_USB_XHCI_LPM_SUPPORT_PROMPT #language en-US "USB2 Link Power Management"
+#string STR_USB_XHCI_LPM_SUPPORT_HELP #language en-US "Enable/Disable USB2 Link Power Management "
+
+#string STR_USB_AUTO_MODE_PROMPT #language en-US "USB Controller Auto Mode"
+#string STR_USB_AUTO_MODE_HELP #language en-US "If enabled, EHCI is enabled as default for A0. For A1 and later, XHCI is enabled as default."
+
+#string STR_PCH_USB30_MODE_PROMPT #language en-US "XHCI Mode"
+#string STR_PCH_USB30_MODE_HELP #language en-US "Mode of operation of xHCI controller."
+#string STR_PCH_USB30_STREAMS #language en-US "XHCI Streams"
+#string STR_PCH_USB30_STREAMS_HELP #language en-US "Enable/Disable XHCI Streams"
+//
+// USB Configuration
+//
+#string STR_USB_OPTIONS_FORM_TITLE #language en-US "USB Configuration"
+#string STR_USB_OPTIONS_FORM_HELP #language en-US "USB Configuration Settings"
+#string STR_PCH_USB30_MODE_PROMPT #language en-US "xHCI Mode"
+#string STR_PCH_USB30_MODE_HELP #language en-US "Mode of operation of xHCI controller."
+#string STR_PCH_SSIC_SUPPORT_PROMPT #language en-US " SSIC Support Enable"
+#string STR_PCH_SSIC_SUPPORT_HELP #language en-US "Enable / Disable SSIC Support"
+#string STR_PCH_SSIC_HSRATE_PROMPT #language en-US " SSIC HS Rate Series"
+#string STR_PCH_SSIC_HSRATE_HELP #language en-US "Select SSIC HS Rate Series"
+#string STR_PCH_SSIC_HSRATE_A_PROMPT #language en-US "Series A"
+#string STR_PCH_SSIC_HSRATE_B_PROMPT #language en-US "Series B"
+#string STR_PCH_USB_SSIC_PORT1_PROMPT #language en-US " SSIC Port 1"
+#string STR_PCH_USB_SSIC_PORT1_HELP #language en-US "Enable/Disable SSIC Port 1."
+#string STR_PCH_USB_SSIC_PORT2_PROMPT #language en-US " SSIC Port 2"
+#string STR_PCH_USB_SSIC_PORT2_HELP #language en-US "Enable/Disable SSIC Port 2."
+#string STR_PCH_USB_HSIC_PORT1_PROMPT #language en-US " HSIC Port 1"
+#string STR_PCH_USB_HSIC_PORT1_HELP #language en-US "Enable/Disable HSIC Port 1."
+#string STR_PCH_USB_HSIC_PORT2_PROMPT #language en-US " HSIC Port 2"
+#string STR_PCH_USB_HSIC_PORT2_HELP #language en-US "Enable/Disable HSIC Port 2."
+#string STR_PCH_USB2_PHY_PG_PROMPT #language en-US " USB2 PHY Power Gating"
+#string STR_PCH_USB2_PHY_PG_HELP #language en-US "Configure USB2 PHY Power Gating"
+#string STR_DRD_CFG_PROMPT #language en-US "Default DRD Config"
+#string STR_DRD_CFG_HELP #language en-US "Default DRD Configuration"
+#string STR_DRD_DEVICEMODE_DEFAULT #language en-US "DeviceMode"
+#string STR_DRD_HOSTMODE_DEFAULT #language en-US "HostMode"
+#string STR_DRD_ACCESS_MTD_PROMPT #language en-US "DRD Access Method"
+#string STR_DRD_ACCESS_MTD_HELP #language en-US "Configure Dual Role Register using Sideband or MMIO"
+#string STR_DRDACCESS_USING_MMIO #language en-US "Mmio"
+#string STR_DRDACCESS_USING_SIDEBAND #language en-US "Sideband"
+
+
+#string STR_PCH_SSIC_INIT_SEQ_SUPPORT_PROMPT #language en-US "SSIC Init Sequence"
+#string STR_PCH_SSIC_INIT_SEQ_SUPPORT_HELP #language en-US "SSIC Initialization Sequence 1 - Windows, SSIC Initialization Sequence 2 - Android"
+#string STR_PCH_SSIC_INIT_SEQ_1 #language en-US "SSIC Initialization Sequence 1"
+#string STR_PCH_SSIC_INIT_SEQ_2 #language en-US "SSIC Initialization Sequence 2"
+#string STR_PCH_USB_OTG_PROMPT #language en-US "USB OTG Support"
+#string STR_PCH_USB_OTG_HELP #language en-US "Enable/Disable USB OTG Support"
+#string STR_PCH_USB_VBUS_PROMPT #language en-US "USB VBUS"
+#string STR_PCH_USB_VBUS_HELP #language en-US "VBUS should be ON in HOST mode. It should be OFF in OTG device mode. VBUS is forced to Auto mode for FFRD-PR1 since FSA mux will control it."
+#string STR_PCH_FSA_PROMPT #language en-US "FSA ON"
+#string STR_PCH_FSA_HELP #language en-US "FSA should be ON for PR1"
+
+#string STR_PCI_MODE_STRING #language en-US "PCI Mode"
+#string STR_ACPI_MODE_STRING #language en-US "ACPI Mode"
+
+#string STR_SMARTAUTO_STRING #language en-US "Smart Auto"
+
+#string STR_DEVICE_SUBTITLE #language en-US "Onboard Devices"
+
+#string STR_LAN_PROMPT #language en-US "LAN"
+#string STR_LAN_HELP #language en-US "Enables or Disables the Onboard LAN Controller."
+
+//
+// GbE
+//
+#string STR_LAN_OPTIONS_FORM_TITLE #language en-US "LAN Configuration"
+#string STR_LAN_OPTIONS_FORM_HELP #language en-US "LAN Configuration Settings"
+
+#string STR_PCH_LAN_CONTROLLER #language en-US "LAN Controller"
+#string STR_PCH_LAN_CONTROLLER_HELP #language en-US "Enable/Disable onboard NIC"
+#string STR_PCH_LAN_WOL_PROMPT #language en-US " Wake on LAN Enable"
+#string STR_PCH_LAN_WOL_HELP #language en-US "Enable/Disable integrated LAN to wake the system"
+#string STR_PCH_SLP_LAN_LOW_DC_PROMPT #language en-US " SLP_LAN# Low on DC Power"
+#string STR_PCH_SLP_LAN_LOW_DC_HELP #language en-US "Enable/Disable SLP_LAN# Low on DC Power"
+
+#string STR_PCH_PXEROM_CONTROL #language en-US "PXE ROM"
+#string STR_PCH_PXEROM_CONTROL_HELP #language en-US "Enable/Disable PXE Option ROM execution for onboard LAN"
+
+//
+// Azalia
+//
+#string STR_AZALIA_OPTIONS_FORM_TITLE #language en-US "Audio Configuration"
+#string STR_AZALIA_OPTIONS_FORM_HELP #language en-US "Audio Configuration Settings"
+
+#string STR_LPE_AUDIO_PROMPT #language en-US "LPE Audio Support"
+#string STR_LPE_AUDIO_HELP #language en-US "Enable/Disable LPE Audio Support"
+
+#string STR_AUDIO_CODEC_PROMPT #language en-US "Audio Codec Support"
+#string STR_AUDIO_CODEC_HELP #language en-US "Select audio codec between EB/RVP"
+#string CODEC_EB #language en-US "5645"
+#string CODEC_RVP #language en-US "5640/5672"
+
+
+#string STR_PCH_AZALIA_PROMPT #language en-US "Azalia Controller"
+#string STR_PCH_AZALIA_HELP #language en-US "Control Detection of the Azalia device.\n\nDisabled = Azalia will be unconditionally disabled\n\nEnabled = Azalia will be unconditionally Enabled\n\nAuto = Azalia will be enabled if present, disabled otherwise"
+#string STR_PCH_AZALIA_DS_SUPPORT #language en-US "Always enable Azalia while Azalia Docking Support is enabled"
+
+#string STR_AZALIA_VC_PROMPT #language en-US " Azalia VCi Enable"
+#string STR_AZALIA_VC_HELP #language en-US "Enable/Disable Virtual Channel 1 of Audio Controller"
+#string STR_AZALIA_DS_PROMPT #language en-US " Azalia Docking Support Enable"
+#string STR_AZALIA_DS_HELP #language en-US "Enable/Disable Azalia Docking Support of Audio Controller"
+#string STR_AZALIA_PME_PROMPT #language en-US " Azalia PME Enable"
+#string STR_AZALIA_PME_HELP #language en-US "Enable/Disable Power Management capability of Audio Controller"
+#string STR_HDMI_CODEC_PROMPT #language en-US " Azalia HDMI Codec"
+#string STR_HDMI_CODEC_HELP #language en-US "Enable/Disable internal HDMI codec for Azalia"
+
+#string STR_HDMI_CODEC_PORTB_PROMPT #language en-US " Azalia HDMI codec Port B"
+#string STR_HDMI_CODEC_PORTC_PROMPT #language en-US " Azalia HDMI codec Port C"
+#string STR_HDMI_CODEC_PORTD_PROMPT #language en-US " Azalia HDMI codec Port D"
+#string STR_HDMI_CODEC_PORT_HELP #language en-US "Enable/Disable internal HDMI codec Port for Azalia"
+//
+// Misc.
+//
+#string STR_MISC_OPTION_FORM_TITLE #language en-US "Miscellaneous Configuration"
+#string STR_MISC_OPTION_FORM_HELP #language en-US "Enable/Disable Misc. Features"
+
+#string STR_HPET_PROMPT #language en-US "High Precision Timer"
+#string STR_HPET_HELP #language en-US "Enable or Disable the High Precision Event Timer"
+#string STR_HPET_BOOTTIME_PROMPT #language en-US "Boot Time with HPET Timer"
+#string STR_HPET_BOOTTIME_HELP #language en-US "Boot time calculation with High Precision Event Timer enabled"
+
+
+#string STR_CLOCK_SPREAD_SPEC_ENABLE #language en-US "Clock Spread Spectrum"
+#string STR_CLOCK_SPREAD_SPEC_ENABLE_HELP #language en-US "Enable Clock Chip's Spread Spectrum feature"
+
+
+#string STR_STATE_AFTER_G3 #language en-US "State After G3"
+#string STR_STATE_AFTER_G3_HELP #language en-US "Specify what state to go to when power is re-applied after a power failure (G3 state)"
+#string STR_S0_AFTER_G3_STRING #language en-US "S0 State"
+#string STR_S5_AFTER_G3_STRING #language en-US "S5 State"
+
+#string STR_PCH_UART_SELECT #language en-US "UART Interface Selection"
+#string STR_PCH_UART_SELECT_HELP #language en-US "Select which UART interface to use"
+#string STR_UART_SELECT_PCU #language en-US "Internal UART"
+#string STR_UART_SELECT_SIO #language en-US "SuperIO UART"
+
+#string STR_PCU_UART_A #language en-US "PCU UART COM 1"
+#string STR_PCU_UART_A_HELP #language en-US "Enable/Disable Onboard PCU UART COM 1"
+#string STR_PCU_UART_B #language en-US "PCU UART COM 2"
+#string STR_PCU_UART_B_HELP #language en-US "Enable/Disable Onboard PCU UART COM 2"
+
+#string STR_AUDIO_PROMPT #language en-US "Audio"
+#string STR_AUDIO_HELP #language en-US "Enables or Disables Onboard Audio."
+
+#string STR_LPE_PROMPT #language en-US "LPE"
+#string STR_LPE_HELP #language en-US "Enables or Disables Onboard LPE Sub-System."
+
+#string STR_GPIO_WAKE_CAPABILITY_ENABLE #language en-US "GPIO Wake Capability"
+#string STR_GPIO_WAKE_CAPABILITY_ENABLE_HELP #language en-US "Enable or Disable GPIO Wake Capability"
+
+//
+// PCI Express Configuration
+//
+#string STR_PCIE_OPTIONS_FORM_TITLE #language en-US "PCI Express Configuration"
+#string STR_PCIE_OPTIONS_FORM_HELP #language en-US "PCI Express Configuration Settings"
+
+#string STR_PCIE_ASPM_PROMPT0 #language en-US "ASPM"
+#string STR_PCIE_ASPM_PROMPT1 #language en-US "ASPM"
+#string STR_PCIE_ASPM_PROMPT2 #language en-US "ASPM"
+#string STR_PCIE_ASPM_PROMPT3 #language en-US "ASPM"
+#string STR_PCIE_ASPM_HELP #language en-US "PCI Express Active State Power Management settings"
+#string STR_PCIE_ASPM_L0S_STRING #language en-US "L0s"
+#string STR_PCIE_ASPM_L1_STRING #language en-US "L1"
+#string STR_PCIE_ASPM_L0SL1_STRING #language en-US "L0sL1"
+
+#string STR_PCH_PCIERP1_PROMPT #language en-US "PCI Express Root Port 1"
+#string STR_PCH_PCIERP2_PROMPT #language en-US "PCI Express Root Port 2"
+#string STR_PCH_PCIERP3_PROMPT #language en-US "PCI Express Root Port 3"
+#string STR_PCH_PCIERP4_PROMPT #language en-US "PCI Express Root Port 4"
+#string STR_PCH_PCIERP_HELP #language en-US "Control the PCI Express Root Port"
+
+#string STR_PCIE_EXT_SYNCH_PROMPT #language en-US "Extended Synch"
+#string STR_PCIE_EXT_SYNCH_HELP #language en-US "Enable PCIe Extended Synchronization for Logic Analyzer use"
+
+#string STR_PCH_PCIE_URE_PROMPT0 #language en-US " URR"
+#string STR_PCH_PCIE_URE_PROMPT1 #language en-US " URR"
+#string STR_PCH_PCIE_URE_PROMPT2 #language en-US " URR"
+#string STR_PCH_PCIE_URE_PROMPT3 #language en-US " URR"
+#string STR_PCH_PCIE_URE_HELP #language en-US "PCI Express Unsupported Request Reporting Enable/Disable"
+
+#string STR_PCH_PCIE_FEE_PROMPT0 #language en-US " FER"
+#string STR_PCH_PCIE_FEE_PROMPT1 #language en-US " FER"
+#string STR_PCH_PCIE_FEE_PROMPT2 #language en-US " FER"
+#string STR_PCH_PCIE_FEE_PROMPT3 #language en-US " FER"
+#string STR_PCH_PCIE_FEE_HELP #language en-US "PCI Express Device Fatal Error Reporting Enable/Disable"
+
+#string STR_PCH_PCIE_NFE_PROMPT0 #language en-US " NFER"
+#string STR_PCH_PCIE_NFE_PROMPT1 #language en-US " NFER"
+#string STR_PCH_PCIE_NFE_PROMPT2 #language en-US " NFER"
+#string STR_PCH_PCIE_NFE_PROMPT3 #language en-US " NFER"
+#string STR_PCH_PCIE_NFE_HELP #language en-US "PCI Express Device Non-Fatal Error Reporting Enable/Disable"
+
+#string STR_PCH_PCIE_CEE_PROMPT0 #language en-US " CER"
+#string STR_PCH_PCIE_CEE_PROMPT1 #language en-US " CER"
+#string STR_PCH_PCIE_CEE_PROMPT2 #language en-US " CER"
+#string STR_PCH_PCIE_CEE_PROMPT3 #language en-US " CER"
+#string STR_PCH_PCIE_CEE_HELP #language en-US "PCI Express Device Correctable Error Reporting Enable/Disable"
+
+#string STR_PCH_PCIE_SFE_PROMPT0 #language en-US " SEFE"
+#string STR_PCH_PCIE_SFE_PROMPT1 #language en-US " SEFE"
+#string STR_PCH_PCIE_SFE_PROMPT2 #language en-US " SEFE"
+#string STR_PCH_PCIE_SFE_PROMPT3 #language en-US " SEFE"
+#string STR_PCH_PCIE_SFE_HELP #language en-US "Root PCI Express System Error on Fatal Error Enable/Disable"
+
+#string STR_PCH_PCIE_SNE_PROMPT0 #language en-US " SENFE"
+#string STR_PCH_PCIE_SNE_PROMPT1 #language en-US " SENFE"
+#string STR_PCH_PCIE_SNE_PROMPT2 #language en-US " SENFE"
+#string STR_PCH_PCIE_SNE_PROMPT3 #language en-US " SENFE"
+#string STR_PCH_PCIE_SNE_HELP #language en-US "Root PCI Express System Error on Non-Fatal Error Enable/Disable"
+
+#string STR_PCH_PCIE_SCE_PROMPT0 #language en-US " SECE"
+#string STR_PCH_PCIE_SCE_PROMPT1 #language en-US " SECE"
+#string STR_PCH_PCIE_SCE_PROMPT2 #language en-US " SECE"
+#string STR_PCH_PCIE_SCE_PROMPT3 #language en-US " SECE"
+#string STR_PCH_PCIE_SCE_HELP #language en-US "Root PCI Express System Error on Correctable Error Enable/Disable"
+
+#string STR_PCH_PCIE_PMCE_PROMPT0 #language en-US " PME SCI"
+#string STR_PCH_PCIE_PMCE_PROMPT1 #language en-US " PME SCI"
+#string STR_PCH_PCIE_PMCE_PROMPT2 #language en-US " PME SCI"
+#string STR_PCH_PCIE_PMCE_PROMPT3 #language en-US " PME SCI"
+#string STR_PCH_PCIE_PMCE_HELP #language en-US "PCI Express PME SCI Enable/Disable"
+
+#string STR_PCH_PCIE_ESE_PROMPT0 #language en-US " Ext Sync"
+#string STR_PCH_PCIE_ESE_PROMPT1 #language en-US " Ext Sync"
+#string STR_PCH_PCIE_ESE_PROMPT2 #language en-US " Ext Sync"
+#string STR_PCH_PCIE_ESE_PROMPT3 #language en-US " Ext Sync"
+#string STR_PCH_PCIE_ESE_HELP #language en-US "PCI Express Ext Sync Enable/Disable"
+
+#if !(ENBDT_PF_ENABLE)
+#string STR_PCH_PCIE_HPE_PROMPT0 #language en-US " Hot Plug"
+#string STR_PCH_PCIE_HPE_PROMPT1 #language en-US " Hot Plug"
+#string STR_PCH_PCIE_HPE_PROMPT2 #language en-US " Hot Plug"
+#string STR_PCH_PCIE_HPE_PROMPT3 #language en-US " Hot Plug"
+#string STR_PCH_PCIE_HPE_HELP #language en-US "PCI Express Hot Plug Enable/Disable"
+#endif
+
+#string STR_PCIE_SPEED_PROMPT0 #language en-US "PCIe Speed"
+#string STR_PCIE_SPEED_PROMPT1 #language en-US "PCIe Speed"
+#string STR_PCIE_SPEED_PROMPT2 #language en-US "PCIe Speed"
+#string STR_PCIE_SPEED_PROMPT3 #language en-US "PCIe Speed"
+#string STR_PCIE_SPEED_HELP #language en-US "Configure PCIe Speed, CHV A1 always with Gen1 Speed."
+#string STR_AUTO #language en-US "Auto"
+#string STR_GEN1 #language en-US "Gen1"
+#string STR_GEN2 #language en-US "Gen2"
+
+#string STR_PCH_PCIE_THS_PROMPT0 #language en-US " Transmitter Half Swing"
+#string STR_PCH_PCIE_THS_PROMPT1 #language en-US " Transmitter Half Swing"
+#string STR_PCH_PCIE_THS_PROMPT2 #language en-US " Transmitter Half Swing"
+#string STR_PCH_PCIE_THS_PROMPT3 #language en-US " Transmitter Half Swing"
+#string STR_PCH_PCIE_THS_HELP #language en-US "Transmitter Half Swing Enable/Disable."
+
+#string STR_PCIE_L1SUB_PROMPT #language en-US "L1 Substates"
+#string STR_PCIE_L1SUB_HELP #language en-US "PCI Express L1 Substates settings."
+#string STR_PCIE_L1SUB_1_STRING #language en-US "L1.1"
+#string STR_PCIE_L1SUB_2_STRING #language en-US "L1.2"
+#string STR_PCIE_L1SUB_1_2_STRING #language en-US "L1.1 & L1.2"
+
+#string STR_PCH_PCIE_RBUS_PROMPT0 #language en-US "Extra Bus Reserved"
+#string STR_PCH_PCIE_RBUS_PROMPT1 #language en-US "Extra Bus Reserved"
+#string STR_PCH_PCIE_RBUS_PROMPT2 #language en-US "Extra Bus Reserved"
+#string STR_PCH_PCIE_RBUS_PROMPT3 #language en-US "Extra Bus Reserved"
+#string STR_PCH_PCIE_RBUS_HELP #language en-US "Extra Bus Reserved (0-7) for bridges behind this Root Bridge"
+
+#string STR_PCH_PCIE_RMEM_PROMPT0 #language en-US "Reseved Memory"
+#string STR_PCH_PCIE_RMEM_PROMPT1 #language en-US "Reseved Memory"
+#string STR_PCH_PCIE_RMEM_PROMPT2 #language en-US "Reseved Memory"
+#string STR_PCH_PCIE_RMEM_PROMPT3 #language en-US "Reseved Memory"
+#string STR_PCH_PCIE_RMEM_HELP #language en-US "Reserved Memory and Prefetchable Memory (1-20MB) Range for this Root Bridge"
+
+#string STR_PCH_PCIE_RVIO_PROMPT0 #language en-US "Reserved I/O"
+#string STR_PCH_PCIE_RVIO_PROMPT1 #language en-US "Reserved I/O"
+#string STR_PCH_PCIE_RVIO_PROMPT2 #language en-US "Reserved I/O"
+#string STR_PCH_PCIE_RVIO_PROMPT3 #language en-US "Reserved I/O"
+#string STR_PCH_PCIE_RVIO_HELP #language en-US "Reserved I/O (4K/8K/12K/16K/20K) Range for this Root Bridge"
+#string STR_PCH_PCIEX_S0IX_PROMPT #language en-US "PCI Express S0ix Settings"
+#string STR_PCH_PCIEX_S0IX_HELP #language en-US "PCI Express S0ix Settings"
+
+#string STR_PCI_S0IX_PROMPT #language en-US "PCIe S0iX"
+#string STR_PCI_S0IX_HELP #language en-US "Enable/disable S0iX for PCIe"
+#string STR_PCH_PCIE_CLKREQ_STS_PROMPT #language en-US "Evaluate CLKREQ State"
+#string STR_PCH_PCIE_CLKREQ_STS_HELP #language en-US "Enable/disable evaluation of CLKREQ state"
+
+#string STR_PCH_PCIE_D0_S0IX_PROMPT #language en-US "D0 S0ix Policy"
+#string STR_PCH_PCIE_D0_S0IX_HELP #language en-US "PCIe D0 S0ix Policy"
+#string STR_D0_S0IX_STRING0 #language en-US "PCIe RC shall be in D3"
+#string STR_D0_S0IX_STRING1 #language en-US "S0i1 is the deepest S0ix state"
+#string STR_D0_S0IX_STRING2 #language en-US "PCIe RC is in D0 when entering S0IX"
+#string STR_D0_S0IX_STRING3 #language en-US "Reserved"
+
+#string STR_PCH_PCIE_CLKREQ_PROMPT #language en-US "CLKREQ# Enables"
+#string STR_PCH_PCIE_CLKREQ_HELP #language en-US "CLKREQ#[x] shall be evaludated during PCIe in D0 S0ix entry and exit criteria checking"
+#string STR_CLKREQ_STRING0 #language en-US "CLKREQ#[0]"
+#string STR_CLKREQ_STRING1 #language en-US "CLKREQ#[1]"
+#string STR_CLKREQ_STRING2 #language en-US "CLKREQ#[2]"
+#string STR_CLKREQ_STRING3 #language en-US "CLKREQ#[3]"
+
+#string STR_PCH_PCIE_LTR_LATSC_PROMPT #language en-US "S0ix LTR Threshold (Latency Scale)"
+#string STR_PCH_PCIE_LTR_LATSC_HELP #language en-US "PCIe S0ix LTR Threshold : Latency Scale"
+#string STR_LTR_LAT_SCL_STRING0 #language en-US "1ns"
+#string STR_LTR_LAT_SCL_STRING1 #language en-US "32ns"
+#string STR_LTR_LAT_SCL_STRING2 #language en-US "1024ns"
+#string STR_LTR_LAT_SCL_STRING3 #language en-US "32,768ns"
+#string STR_LTR_LAT_SCL_STRING4 #language en-US "1,048,576ns"
+#string STR_LTR_LAT_SCL_STRING5 #language en-US "33,554,432ns"
+
+#string STR_PCH_PCIE_LTR_LATVAL_PROMPT #language en-US "PCIe S0ix LTR Threshold (Latency Value)"
+#string STR_PCH_PCIE_LTR_LATVAL_HELP #language en-US "PCIe S0ix LTR Threshold: Latency Value – This value is multiplied by Latency Scale"
+
+#string STR_PCH_PCIE_NCC_SSC_PROMPT #language en-US "Non-Common Clock with SSC Enabled Mode"
+#string STR_PCH_PCIE_NCC_SSC_HELP #language en-US "Assume the root port is operating at non-common clock with SSC enabled."
+
+#string STR_PCH_PCIE_TXEQDEEMPH_PROMPT #language en-US "Tx Eq Deemphasis Selection"
+#string STR_PCH_PCIE_TXEQDEEMPH_HELP #language en-US "Select the level of de-emphasis for an Upstream component"
+#string STR_DEEMPH_3P5DB #language en-US "3.5dB"
+#string STR_DEEMPH_6DB #language en-US "6dB"
+#string STR_ICH_PCIERP1_PROMPT #language en-US "PCI Express Root Port 1"
+#string STR_ICH_PCIERP2_PROMPT #language en-US "PCI Express Root Port 2"
+#string STR_ICH_PCIERP3_PROMPT #language en-US "PCI Express Root Port 3"
+#string STR_ICH_PCIERP4_PROMPT #language en-US "PCI Express Root Port 4"
+#string STR_ICH_PCIERP_HELP #language en-US "Control the PCI Express Root Port."
+#string STR_ICH_PCIERP_DISABLE_HELP #language en-US "This Root Port is disabled because Root Port 1 is disabled."
+#string STR_PCIEDYNCLK_PROMPT #language en-US "PCI Express Dynamic Clock Gating"
+#string STR_PCIEDYNCLK_HELP #language en-US "Enable/Disable PCIE Dynamic Clock Gating"
+
+#string STR_IDE_FORM_TITLE #language en-US "SATA Drives"
+#string STR_IDE_FORM_HELP #language en-US "Press <Enter> to select the SATA Device Configuration Setup options."
+
+#string STR_DISCRETE_SATA_STRING #language en-US "Discrete-SATA Controller Configuration"
+#string STR_CHIPSET_SATA_STRING #language en-US "Chipset-SATA Controller Configuration"
+
+#string STR_SATA_PROMPT #language en-US " Chipset SATA"
+#string STR_SATA_HELP #language en-US "Enables or Disables the Chipset SATA Controller. The Chipset SATA controller supports the 2 black internal SATA ports (up to 3Gb/s supported per port)."
+
+#string STR_SATA_TYPE_PROMPT #language en-US " Chipset SATA Mode"
+#string STR_SATA_TYPE_PROMPT #language fr-FR " Configurer SATA comme"
+
+#string STR_SATA_TYPE_HELP #language en-US "This will configure SATA into the corresponding types."
+#string STR_SATA_TYPE_HELP #language fr-FR "Configure SATA selon les types correspondants."
+#string STR_SATA_TYPE_HELP1 #language en-US "IDE: Compatibility mode disables AHCI support. AHCI: Supports advanced SATA features such as Native Command Queuing. \nWarning: OS may not boot if this setting is changed after OS install."
+
+//
+// SATA Configurations
+//
+#string STR_SATA_DEVICE_OPTIONS_FORM_TITLE #language en-US "SATA Configuration"
+#string STR_SATA_DEVICE_OPTIONS_FORM_HELP #language en-US "SATA Device Options Settings"
+
+#string STR_PCH_SATA_PROMPT #language en-US "SATA Controller"
+#string STR_PCH_SATA_HELP #language en-US "Enable/Disable SATA Device"
+
+#string STR_SATA_MODE_SELECTION_PROMPT #language en-US "SATA Mode Selection"
+#string STR_SATA_MODE_SELECTION_HELP #language en-US "Determines how SATA controller operate"
+#string STR_SATA_IDE #language en-US "IDE"
+#string STR_SATA_AHCI #language en-US "AHCI"
+#string STR_SATA_RAID #language en-US "RAID"
+#string STR_SATA_INTERFACE_SPEED_PROMPT #language en-US "SATA Interface Speed"
+#string STR_SATA_INTERFACE_SPEED_HELP #language en-US "Select SATA Interface Speed, CHV A1 always with Gen1 Speed."
+#string STR_SATA_SPEED_GEN1 #language en-US "Gen1"
+#string STR_SATA_SPEED_GEN2 #language en-US "Gen2"
+#string STR_SATA_SPEED_GEN3 #language en-US "Gen3"
+
+#string STR_SATA_TEST_MODE_PROMPT #language en-US "SATA Test Mode"
+#string STR_SATA_TEST_MODE_HELP #language en-US "Test Mode Enable/Disable"
+
+#string STR_SATA_ALTERNATE_ID_PROMPT #language en-US "Alternate ID"
+#string STR_SATA_ALTERNATE_ID_HELP #language en-US "Report alternate Device ID"
+#string STR_SATA_SFMS_OPTIONS_FORM_TITLE #language en-US "Software Feature Mask Configuration"
+#string STR_SATA_SFMS_OPTIONS_FORM_HELP #language en-US "RAID OROM/RST driver will refer to the SWFM configuration to enable/disable the storage features"
+#string STR_PCH_RAID0_PROMPT #language en-US "RAID0"
+#string STR_PCH_RAID0_HELP #language en-US "Enable/Disable RAID0 feature"
+#string STR_PCH_RAID1_PROMPT #language en-US "RAID1"
+#string STR_PCH_RAID1_HELP #language en-US "Enable/Disable RAID1 feature"
+#string STR_PCH_RAID10_PROMPT #language en-US "RAID10"
+#string STR_PCH_RAID10_HELP #language en-US "Enable/Disable RAID10 feature"
+#string STR_PCH_RAID5_PROMPT #language en-US "RAID5"
+#string STR_PCH_RAID5_HELP #language en-US "Enable/Disable RAID5 feature"
+#string STR_PCH_IRRT_PROMPT #language en-US "Intel Rapid Recovery Technology"
+#string STR_PCH_IRRT_HELP #language en-US "Enable/Disable Intel Rapid Recovery Technology"
+#string STR_PCH_OUB_PROMPT #language en-US "OROM UI and BANNER"
+#string STR_PCH_OUB_HELP #language en-US "If enabled, then the OROM UI is shown. Otherwise, no OROM banner or information will be displayed if all disks and RAID volumes are Normal"
+#string STR_PCH_HDDLK_PROMPT #language en-US "HDD Unlock"
+#string STR_PCH_HDDLK_HELP #language en-US "If enabled, indicates that the HDD password unlock in the OS is enabled"
+#string STR_PCH_LEDL_PROMPT #language en-US "LED Locate"
+#string STR_PCH_LEDL_HELP #language en-US "If enabled, indicates that the LED/SGPIO hardware is attached and ping to locate feature is enabled on the OS"
+#string STR_PCH_IOOE_PROMPT #language en-US "IRRT Only on eSATA"
+#string STR_PCH_IOOE_HELP #language en-US "If enabled, then only IRRT volumes can span internal and eSATA drives. If disabled, then any RAID volume can span internal and eSATA drives"
+
+#string STR_SATA0_STRING #language en-US "Serial ATA Port 0"
+#string STR_SATA0_NAME #language en-US "Empty"
+#string STR_SATA1_STRING #language en-US "Serial ATA Port 1"
+#string STR_SATA1_NAME #language en-US "Empty"
+
+#string STR_SATA_PORT_0 #language en-US " Port 0"
+#string STR_SATA_PORT_1 #language en-US " Port 1"
+#string STR_SATA_PORT_HELP #language en-US "Enable or Disable SATA Port"
+
+#string STR_SATA_HOTPLUG0 #language en-US " Hot Plug"
+#string STR_SATA_HOTPLUG1 #language en-US " Hot Plug"
+#string STR_SATA_PORT_HOTPLUG_HELP #language en-US "Designates this port as Hot Pluggable"
+
+#string STR_SATA_MECHANICAL_SW0 #language en-US " Mechanical Presence Switch"
+#string STR_SATA_MECHANICAL_SW1 #language en-US " Mechanical Presence Switch"
+#string STR_SATA_MECHANICAL_SW_HELP #language en-US "Controls reporting if this port has an Mechanical Presence Switch.\n\nNote: Requires hardware support"
+
+#string STR_SATA_AHCI_SALP #language en-US "Aggressive LPM Support"
+#string STR_SATA_AHCI_SALP_HELP #language en-US "Enable PCH to aggressively enter link power state"
+
+#string STR_SATA_SPIN_UP0 #language en-US " Spin Up Device"
+#string STR_SATA_SPIN_UP1 #language en-US " Spin Up Device"
+#string STR_SATA_SPIN_UP_HELP #language en-US "If enabled for any of ports Staggerred Spin Up will be performed and only the drives witch have this option enabled will spin up at boot. Otherwise all drives spin up at boot"
+
+#string STR_SATA_DEV_SLP0 #language en-US " Device Sleep Support"
+#string STR_SATA_DEV_SLP1 #language en-US " Device Sleep Support"
+#string STR_SATA_DEV_SLP_HELP #language en-US "Enable/Disable Device Sleep Support on that port"
+
+#string STR_SATA_ESATA #language en-US " Configured as eSATA"
+#string STR_SATA_HOTPLUG_SUPPORT #language en-US "Hot Plug supported"
+
+//
+// Sensor Settings
+//
+#string STR_SENSOR_FORM_TITLE #language en-US "Sensor setting"
+#string STR_SENSOR_FORM_HELP #language en-US "Press <Enter> to select the Sensor Configuration Setup options."
+#string STR_SENSOR_SUBTITLE #language en-US "Sensor Modules Setting"
+#string STR_ACCELEROMETER_PROMPT #language en-US "Accelerometer"
+#string STR_ACCELEROMETER_HELP #language en-US "This will configure disable/enable Accelerometer."
+#string STR_GYROMETER_PROMPT #language en-US "Gyrometer"
+#string STR_GYROMETER_HELP #language en-US "This will configure disable/enable Gyrometer."
+#string STR_BAROMETER_PROMPT #language en-US "Barometer"
+#string STR_BAROMETER_HELP #language en-US "This will configure disable/enable Barometer."
+#string STR_PROXIMITY_SENSOR_PROMPT #language en-US "Proximity Sensor"
+#string STR_PROXIMITY_SENSOR_HELP #language en-US "This will configure disable/enable Proximity Sensor."
+#string STR_COMPASS_PROMPT #language en-US "Compass"
+#string STR_COMPASS_HELP #language en-US "This will configure disable/enable Compass."
+#string STR_NFS_PROMPT #language en-US "NFS"
+#string STR_NFS_HELP #language en-US "This will configure disable/enable NFS."
+
+//
+// SCC Configuration
+//
+#string STR_SCC_OPTIONS_FORM_TITLE #language en-US "SCC Configuration"
+#string STR_SCC_OPTIONS_FORM_HELP #language en-US "SCC Configuration Settings"
+#string STR_SCC_EMMC_PROMPT #language en-US "SCC eMMC Support (D16:F0)"
+#string STR_SCC_EMMC_HELP #language en-US "Enable/Disable SCC eMMC Support"
+#string STR_SCC_SDIO_PROMPT #language en-US "SCC SDIO Support (D17:F0)"
+#string STR_SCC_SDIO_HELP #language en-US "Enable/Disable SCC SDIO Support"
+#string STR_SCC_SDCARD_PROMPT #language en-US "SCC SD Card Support (D18:F0)"
+#string STR_SCC_SDCARD_HELP #language en-US "Enable/Disable SCC SD Card Support"
+#string STR_SDCARD_1P8V_SWITCHING_DELAY_PROMPT #language en-US " SD Card 1.8v Switching Delay"
+#string STR_SDCARD_1P8V_SWITCHING_DELAY_HELP #language en-US "Set SD Card 1.8v Switching Delay from 0 to 999 ms"
+#string STR_SDCARD_3P3V_DISCHARGE_DELAY_PROMPT #language en-US " SD Card 3.3v Discharge Delay"
+#string STR_SDCARD_3P3V_DISCHARGE_DELAY_HELP #language en-US "Set SD Card 3.3v Discharge Delay from 0 to 999 ms"
+#string STR_EMMC_DRIVER_MODE_PROMPT #language en-US " eMMC Driver Operating Mode"
+#string STR_EMMC_DRIVER_MODE_HELP #language en-US "Selects the operating frequency in eMMC Driver"
+#string STR_EMMC_DRIVER_MODE_AUTO #language en-US "Auto Detect"
+#string STR_EMMC_DRIVER_MODE_52MHZ #language en-US "Up to 52 MHz"
+#string STR_EMMC_DRIVER_MODE_26MHZ #language en-US "Up to 26 MHz"
+#string STR_EMMC_DRIVER_MODE_BASIC #language en-US "Basic Frequency"
+
+#string STR_EMMC_RX_TUNING_ENABLE_PROMPT #language en-US " eMMC RX DLL Tuning Support"
+#string STR_EMMC_RX_TUNING_ENABLE_HELP #language en-US " Enable/Disable eMMC RX DLL Tuning Support"
+
+#string STR_EMMC_TX_TUNING_ENABLE_PROMPT #language en-US " eMMC TX DLL Tuning Support"
+#string STR_EMMC_TX_TUNING_ENABLE_HELP #language en-US " Enable/Disable eMMC TX DLL Tuning Support"
+#string STR_SCC_SDIO_MODE_PROMPT #language en-US "SCC SDIO Mode for WIFI"
+#string STR_SCC_SDIO_MODE_HELP #language en-US "Select SDIO mode for WIFI, only for A0/A1 stepping."
+#string STR_SCC_SDCARD_REMOVABILITY #language en-US "ACPI Reporting MMC/SD Media As"
+#string STR_SCC_SDCARD_REMOVABLE #language en-US "Removable"
+#string STR_SCC_SDCARD_NON_REMOVABLE #language en-US "Non-Removable"
+#string STR_SCC_SDCARD_REMOVABILITY_HELP #language en-US "ACPI Reporting MMC/SD Media to Win 8 as non-Removable."
+
+#string STR_SDIO_DEFAULT_MODE #language en-US "Default"
+#string STR_SDIO_DDR50_MODE #language en-US "DDR50"
+
+//
+// LPSS Configuration
+//
+#string STR_LPSS_FORM_TITLE #language en-US "LPSS Configuration"
+#string STR_LPSS_FORM_HELP #language en-US "LPSS Configuration Settings"
+#string STR_LPSS_SETTING_SUBTITLE #language en-US "Low Power Sub System"
+#string STR_GPIO_ACPI_PROMPT #language en-US "LPSS with GPIO Devices Support"
+#string STR_GPIO_ACPI_HELP #language en-US "Enable/Disable GPIO ACPI Devices Support, disable it would disable all LPSS devices"
+#string STR_LPSS_DMA1_PROMPT #language en-US "LPSS DMA #2 Support (D24:F0)"
+#string STR_LPSS_DMA1_HELP #language en-US "Enable/Disable LPSS DMA #2 Support"
+#string STR_LPSS_I2C0_PROMPT #language en-US "LPSS I2C #1 Support (D24:F1)"
+#string STR_LPSS_I2C0_HELP #language en-US "Enable/Disable LPSS I2C #1 Support"
+#string STR_LPSS_I2C1_PROMPT #language en-US "LPSS I2C #2 Support (D24:F2)"
+#string STR_LPSS_I2C1_HELP #language en-US "Enable/Disable LPSS I2C #2 Support"
+#string STR_LPSS_I2C2_PROMPT #language en-US "LPSS I2C #3 Support (D24:F3)"
+#string STR_LPSS_I2C2_HELP #language en-US "Enable/Disable LPSS I2C #3 Support"
+#string STR_LPSS_I2C3_PROMPT #language en-US "LPSS I2C #4 Support (D24:F4)"
+#string STR_LPSS_I2C3_HELP #language en-US "Enable/Disable LPSS I2C #4 Support"
+#string STR_LPSS_I2C4_PROMPT #language en-US "LPSS I2C #5 Support (D24:F5)"
+#string STR_LPSS_I2C4_HELP #language en-US "Enable/Disable LPSS I2C #5 Support"
+#string STR_LPSS_I2C5_PROMPT #language en-US "LPSS I2C #6 Support (D24:F6)"
+#string STR_LPSS_I2C5_HELP #language en-US "Enable/Disable LPSS I2C #6 Support"
+#string STR_LPSS_I2C6_PROMPT #language en-US "LPSS I2C #7 Support (D24:F7)"
+#string STR_LPSS_I2C6_HELP #language en-US "Enable/Disable LPSS I2C #7 Support"
+#string STR_LPSS_DMA0_PROMPT #language en-US "LPSS DMA #1 Support (D30:F0)"
+#string STR_LPSS_DMA0_HELP #language en-US "Enable/Disable LPSS DMA #1 Support"
+#string STR_LPSS_PWM0_PROMPT #language en-US "LPSS PWM #1 Support (D30:F1)"
+#string STR_LPSS_PWM0_HELP #language en-US "Enable/Disable LPSS PWM #1 Support"
+#string STR_LPSS_PWM1_PROMPT #language en-US "LPSS PWM #2 Support (D30:F2)"
+#string STR_LPSS_PWM1_HELP #language en-US "Enable/Disable LPSS PWM #2 Support"
+#string STR_LPSS_HSUART0_PROMPT #language en-US "LPSS HSUART #1 Support (D30:F3)"
+#string STR_LPSS_HSUART0_HELP #language en-US "Enable/Disable LPSS HSUART #1 Support"
+#string STR_LPSS_HSUART1_PROMPT #language en-US "LPSS HSUART #2 Support (D30:F4)"
+#string STR_LPSS_HSUART1_HELP #language en-US "Enable/Disable LPSS HSUART #2 Support"
+#string STR_LPSS_SPI0_PROMPT #language en-US "LPSS SPI #1 Support (D30:F5)"
+#string STR_LPSS_SPI0_HELP #language en-US "Enable/Disable LPSS SPI #1 Support"
+#string STR_LPSS_SPI1_PROMPT #language en-US "LPSS SPI #2 Support (D30:F6)"
+#string STR_LPSS_SPI1_HELP #language en-US "Enable/Disable LPSS SPI #2 Support"
+#string STR_LPSS_SPI2_PROMPT #language en-US "LPSS SPI #3 Support (D30:F7)"
+#string STR_LPSS_SPI2_HELP #language en-US "Enable/Disable LPSS SPI #3 Support"
+
+
+#string STR_I2C_DEVICE_SETTING_SUBTITLE #language en-US "I2C Devices Configuration"
+#string STR_I2C_TOUCH_PROMPT #language en-US "I2C Touch Device Address"
+#string STR_I2C_TOUCH_HELP #language en-US "I2C Touch Address Select:\n RVP/iCDK(0x4B)\n FFRD(0x4A)"
+#string STR_I2C_TOUCH_HELP_BSW #language en-US "I2C Touch Address Select:\n CHIMEI(0x4C)\n SHARP (0x4A)"
+#string STR_I2C_FFRD #language en-US "0x4A"
+#string STR_I2C_FVP #language en-US "0x4C"
+
+#string STR_BTH_DEVICE_SETTING_SUBTITLE #language en-US "Bluetooth Devices Configuration"
+#string STR_BTH_DEVICE_PROMPT #language en-US "Bluetooth Devices"
+#string STR_BTH_MODULE_PROMPT #language en-US "Bluetooth Module Selection"
+#string STR_BTH_MODULE_HELP #language en-US "Bluetooth Module:\n BCRM \n STP\n LNP"
+#string STR_BTH_BCRM #language en-US "BCRM"
+#string STR_BTH_STP #language en-US "STP"
+#string STR_BTH_LNP #language en-US "LNP"
+#string STR_BTH_DEVICE_HELP #language en-US "Bluetooth Devices Select:\n BCM2E3A \n BCM2E64"
+#string STR_BTH_DEVICE1 #language en-US "BCM2E3A"
+#string STR_BTH_DEVICE2 #language en-US "BCM2E64"
+#string STR_BTH_DEVICE4 #language en-US "BCM2E7B"
+
+#string STR_CAMERA_DEVICE_SETTING_SUBTITLE #language en-US "Camera Devices Configuration"
+#string STR_CAMERA_SELECTION_PROMPT #language en-US "RVP Camera Selection"
+#string STR_CAMERA_SELECTION_HELP #language en-US "Select Camera Device"
+#string STR_CYNTHIANA_A #language en-US "Cynthiana_A"
+#string STR_CYNTHIANA_2B #language en-US "Cynthiana_2B"
+#string STR_CRD_B_V2_X #language en-US "CRD_B v2.x"
+#string STR_CYNTHIANA_2B_CR #language en-US "Cynthiana_2B_CR"
+#string STR_COMBO_AIC_PROMPT #language en-US "COMBO AIC"
+#string STR_COMBO_AIC_HELP #language en-US "Enable/Disable COMBO AIC"
+
+#string STR_NFC_DEVICE_SETTING_SUBTITLE #language en-US "Secure NFC Configuration"
+#string STR_SECURE_NFC_PROMPT #language en-US "Secure NFC"
+#string STR_SECURE_NFC_HELP #language en-US "Secure NFC - Enable/Disable"
+#string STR_GPS_DEVICE_SETTING_SUBTITLE #language en-US "GPS Configuration"
+#string STR_GPS_PROMPT #language en-US "GPS"
+#string STR_GPS_HELP #language en-US "Enable/Disable GPS"
+//
+// Security Configuration
+//
+#string STR_SECURITY_OPTIONS_FORM_TITLE #language en-US "Security Configuration"
+#string STR_SECURITY_OPTIONS_FORM_HELP #language en-US "Security Configuration settings"
+
+#string STR_PCH_RTC_LOCK_PROMPT #language en-US "RTC Lock"
+#string STR_PCH_RTC_LOCK_HELP #language en-US "Enable will lock bytes 38h-3Fh in the lower/upper 128-byte bank of RTC RAM"
+
+#string STR_PCH_BLE_PROMPT #language en-US "BIOS Lock"
+#string STR_PCH_BLE_HELP #language en-US "Enable/Disable the BIOS Lock Enable feature."
+
+//
+// ISCT Configuration
+//
+#string STR_ISCT_FORM_TITLE #language en-US "ISCT Configuration"
+#string STR_ISCT_FORM_HELP #language en-US "ISCT / AOAC Configuration Settings"
+
+#string STR_ISCT_CONFIGURATION #language en-US "ISCT Configuration"
+#string STR_ISCT_CONFIGURATION_HELP #language en-US "Enable/Disable ISCT Feature"
+
+#string STR_ISCT_NOTIFICATION_CONTROL_PROMPT #language en-US "ISCT Notification Control"
+#string STR_ISCT_NOTIFICATION_CONTROL_HELP #language en-US "Enable/Disable ISCT Notification Control"
+#string STR_ISCT_WLAN_CONTROL_PROMPT #language en-US "ISCT WLAN Power Control"
+#string STR_ISCT_WLAN_CONTROL_HELP #language en-US "Enable/Disable ISCT WLAN Power Control"
+#string STR_ISCT_WWAN_CONTROL_PROMPT #language en-US "ISCT WWAN Power Control"
+#string STR_ISCT_WWAN_CONTROL_HELP #language en-US "Enable/Disable ISCT WWAN Power Control"
+
+#string STR_ISCT_SLEEP_DURATION_FORMAT #language en-US "ISCT Sleep Duration Value Format"
+#string STR_ISCT_SLEEP_DURATION_FORMAT_HELP #language en-US "ISCT Sleep Duration is only in Seconds Format, Actual time format is not supported"
+
+#string STR_ISCT_RF_KILL_SUPPORT #language en-US "ISCT RF Kill Support"
+#string STR_ISCT_RF_KILL_SUPPORT_HELP #language en-US "ISCT RF Kill (Radio On/Off) is based on Soft switch, No physical switch available"
+
+#string STR_SECONDS #language en-US "Seconds"
+#string STR_ACTUAL_TIME #language en-US "Actual Time"
+
+#string STR_RF_KILL_SOFT #language en-US "Soft Switch"
+#string STR_RF_KILL_PHYSICAL #language en-US "Physical Switch"
+
+#string STR_WLAN_PRESENCE_FORM_TITLE #language en-US "WLAN Card Presence"
+#string STR_WLAN_NGFF_CARD #language en-US "NGFF Card Inserted"
+#string STR_WLAN_NGFF_HELP #language en-US "Set 'YES' If NGFF Card is Inserted"
+#string STR_WLAN_UHPAM_CARD #language en-US "UHPAM Card Inserted"
+#string STR_WLAN_UHPAM_HELP #language en-US "Set 'YES' If UHPAM Card is Inserted"
+
+//
+// THERMAL INFORMATION
+//
+
+//
+// S0iX supported or not
+//
+#string STR_S0IX_PROMPT #language en-US "S0ix"
+#string STR_S0IX_HELP #language en-US "Set platform to configure S0ix supported or not"
+
+#string STR_THERMAL_CONFIGURATION #language en-US "Processor Participant"
+#string STR_THERMAL_CONFIGURATION_HELP #language en-US "Thermal Configuration Parameters"
+
+
+#string STR_ACPI_PASSIVE_THERMAL_TRIP_POINT #language en-US "Passive Trip Point"
+#string STR_ACPI_PASSIVE_THERMAL_TRIP_POINT_HELP #language en-US "This value controls the temperature of the ACPI Passive Trip Point - the point in which the OS will begin throttling the processor."
+#string STR_ACPI_CRITICAL_THERMAL_TRIP_POINT #language en-US "Critical Trip Point"
+#string STR_ACPI_CRITICAL_THERMAL_TRIP_POINT_HELP #language en-US "This value controls the temperature of the ACPI Critical Trip Point - the point in which the OS will shut the system off.\n\nNOTE: 100C is the Plan Of Record (POR) for all Intel mobile processors."
+#string STR_15_C #language en-US "15 C"
+#string STR_23_C #language en-US "23 C"
+#string STR_31_C #language en-US "31 C"
+#string STR_39_C #language en-US "39 C"
+#string STR_47_C #language en-US "47 C"
+#string STR_55_C #language en-US "55 C"
+#string STR_63_C #language en-US "63 C"
+#string STR_71_C #language en-US "71 C"
+#string STR_79_C #language en-US "79 C"
+#string STR_85_C #language en-US "85 C"
+#string STR_87_C #language en-US "87 C"
+#string STR_90_C #language en-US "90 C"
+#string STR_95_C #language en-US "95 C"
+#string STR_103_C #language en-US "103 C"
+#string STR_111_C #language en-US "111 C"
+#string STR_119_C #language en-US "119 C"
+#string STR_POR #language en-US "POR"
+#string STR_0LEN #language en-US ""
+
+#string STR_ACPI_PASSIVE_TC1_VALUE #language en-US " Passive TC1 Value"
+#string STR_ACPI_PASSIVE_TC1_VALUE_HELP #language en-US "This value sets the TC1 value for the ACPI Passive Cooling Formula. Range 1 - 16"
+#string STR_ACPI_PASSIVE_TC2_VALUE #language en-US " Passive TC2 Value"
+#string STR_ACPI_PASSIVE_TC2_VALUE_HELP #language en-US "This value value sets the TC2 value for the ACPI Passive Cooling Formula. Range 1 - 16"
+#string STR_ACPI_PASSIVE_TSP_VALUE #language en-US " Passive TSP Value"
+#string STR_ACPI_PASSIVE_TSP_VALUE_HELP #language en-US "This item sets the TSP value for the ACPI Passive Cooling Formula. It represents in tenths of a second how often the OS will read the temperature when passive cooling is enabled. Range 2 - 32"
+
+#string STR_DPTF_CONFIGURATION #language en-US "DPTF Configuration"
+
+#string STR_DATP_PROMPT #language en-US "Active Trip Points"
+#string STR_DATP_HELP #language en-US "Disable Active Trip Points"
+
+#string STR_DTS_PROMPT #language en-US "DTS "
+#string STR_DTS_PROMPT_HELP #language en-US "Enabled/Disable Digital Thermal Sensor"
+
+//
+// DPTF Form
+//
+#string STR_DPTF_PROMPT #language en-US "DPTF"
+#string STR_DPTF_HELP #language en-US "Enable/Disable DPTF"
+#string STR_ACTIVE_PROMPT #language en-US "Active"
+#string STR_ACTIVE_HELP #language en-US ""
+#string STR_CTDP_PROMPT #language en-US "CTDP"
+#string STR_CTDP_HELP #language en-US ""
+#string STR_COOLING_MODE_PROMPT #language en-US "Cooling Mode"
+#string STR_COOLING_MODE_HELP #language en-US ""
+#string STR_CRITICAL_PROMPT #language en-US "Critical"
+#string STR_CRITICAL_HELP #language en-US ""
+
+#string STR_DPTF_CLPM_PROMPT #language en-US "CLPM"
+
+#string STR_DPTF_CLPM_HELP #language en-US "Current Low Power Mode"
+
+#string STR_DPTF_LPM_APP #language en-US "Application specific"
+
+#string STR_DPTF_LPM_OS #language en-US "OS level"
+
+#string STR_DPTF_SYSTHERM0_PROMPT #language en-US "T1 Sensor" // Skin Temperature Sensor 0
+#string STR_DPTF_SYSTHERM0_HELP #language en-US "Enable/Disable T1 skin sensor"
+#string STR_DPTF_THERM0_PCAT_PROMPT #language en-US "CPU Sensors"
+#string STR_DPTF_THERM0_PCAT_HELP #language en-US "Enable/Disable CPU Temperature Sensors"
+
+#string STR_DPTF_SYSTHERM1_PROMPT #language en-US "Display Board Sensor" //System Thermal Sensor 1
+#string STR_DPTF_SYSTHERM1_HELP #language en-US "Enable/Disable Display Board skin Sensor"
+#string STR_DPTF_THERM1_PCAT_PROMPT #language en-US "Ambient Sensors"
+#string STR_DPTF_THERM1_PCAT_HELP #language en-US "Enable/Disable Ambient Temperature Sensors"
+
+#string STR_DPTF_SYSTHERM2_PROMPT #language en-US "SOC Board Sensor" //System Thermal Sensor 2
+#string STR_DPTF_SYSTHERM2_HELP #language en-US "Enable/Disable SOC Board skin Sensor"
+#string STR_DPTF_THERM2_PCAT_PROMPT #language en-US "DDR Sensors"
+#string STR_DPTF_THERM2_PCAT_HELP #language en-US "Enable/Disable DDR Temperature Sensors"
+
+#string STR_DPTF_SYSTHERM3_PROMPT #language en-US "Charger Board Sensor" //System Thermal Sensor 3
+#string STR_DPTF_SYSTHERM3_HELP #language en-US "Enable/Disable ULPMC Skin Temperature Sensor"
+#string STR_DPTF_SYSTHERM4_PROMPT #language en-US "Ambient Temperature"
+#string STR_DPTF_SYSTHERM4_HELP #language en-US "Enable/Disable Ambient Temperature"
+#string STR_DPTF_AMBIENTTRIPPOINTCHANGE_PROMPT #language en-US "Ambient based Trip Point Change"
+#string STR_DPTF_AMBIENTTRIPPOINTCHANGE_HELP #language en-US "This controls the Action part of the Ambient participant. When disabled, trip points would not be changed when Ambient participant notifies the FW of a new ambient temperature via _ATI."
+#string STR_DPTF_ALLOWHIGHERPERFORMANCE_PROMPT #language en-US "Allow higher performance on AC/USB"
+#string STR_DPTF_ALLOWHIGHERPERFORMANCE_HELP #language en-US "On AC/USB power source allow for higher performance and relax tablet skin temperature to higher limits. Warning: Note users may feel warm tablet skin."
+#string STR_DPTF_CHARGER_PROMPT #language en-US "Charger Participant"
+#string STR_DPTF_CHARGER_HELP #language en-US "Enable/Disable Charger Participant Device"
+#string STR_DPTF_DISPLAY_PROMPT #language en-US "Display Participant"
+#string STR_DPTF_DISPLAY_HELP #language en-US "Enable/Disable Display Participant Device"
+#string STR_DPTF_SOC_PROMPT #language en-US "Power Participant"
+#string STR_DPTF_SOC_HELP #language en-US "Enable/Disable Power Participant Device"
+#string STR_PROCESSOR_DPTF_PROMPT #language en-US "DPTF Processor"
+#string STR_PROCESSOR_DPTF_HELP #language en-US "Enable/Disable Processor Participant Device"
+
+#string STR_PASSIVE_PROMPT #language en-US "Passive"
+#string STR_PASSIVE_HELP #language en-US ""
+
+#string STR_DPTF_GENERIC_PARTICIPANT #language en-US "DPTF Generic Sensor Participant"
+#string STR_DPTF_CRITICAL_TEMP #language en-US "Critical"
+#string STR_DPTF_PASSIVE_TEMP #language en-US "Passive"
+#string STR_DPTF_CRITICAL_TEMP_HELP #language en-US "Critical Temperature"
+#string STR_DPTF_PASSIVE_TEMP_HELP #language en-US "Passive Temperature"
+#string STR_DPTF_25_C #language en-US "25 C"
+#string STR_DPTF_30_C #language en-US "30 C"
+#string STR_DPTF_35_C #language en-US "35 C"
+#string STR_DPTF_40_C #language en-US "40 C"
+#string STR_DPTF_45_C #language en-US "45 C"
+#string STR_DPTF_50_C #language en-US "50 C"
+#string STR_DPTF_55_C #language en-US "55 C"
+#string STR_DPTF_60_C #language en-US "60 C"
+#string STR_DPTF_65_C #language en-US "65 C"
+#string STR_DPTF_70_C #language en-US "70 C"
+#string STR_DPTF_75_C #language en-US "75 C"
+#string STR_DPTF_80_C #language en-US "80 C"
+#string STR_DPTF_85_C #language en-US "85 C"
+#string STR_DPTF_90_C #language en-US "90 C"
+#string STR_DPTF_95_C #language en-US "95 C"
+#string STR_DPTF_100_C #language en-US "100 C"
+#string STR_DPTF_105_C #language en-US "105 C"
+#string STR_DPTF_110_C #language en-US "110 C"
+#string STR_DPTF_115_C #language en-US "115 C"
+#string STR_DPTF_120_C #language en-US "120 C"
+#string STR_DPTF_125_C #language en-US "125 C"
+#string STR_DPTF_52_C #language en-US "52 C"
+#string STR_DPTF_61_C #language en-US "61 C"
+#string STR_DPTF_64_C #language en-US "64 C"
+#string STR_DPTF_43_C #language en-US "43 C"
+#string STR_DPTF_57_C #language en-US "57 C"
+#string STR_DPTF_62_C #language en-US "62 C"
+#string STR_DPTF_78_C #language en-US "78 C"
+#string STR_DPTF_81_C #language en-US "81 C"
+
+#string STR_DPTF_GENERIC0_PART_PCAT #language en-US "CPU Sensor Participants"
+#string STR_DPTF_GENERIC1_PART_PCAT #language en-US "Ambient Sensor Participants"
+#string STR_DPTF_GENERIC2_PART_PCAT #language en-US "DDR Sensor Participants"
+#string STR_DPTF_GENERIC0_PARTICIPANT #language en-US "DPTF T1 Sensor Participant"
+#string STR_DPTF_GENERIC1_PARTICIPANT #language en-US "DPTF Display Board Sensor Participant"
+#string STR_DPTF_GENERIC2_PARTICIPANT #language en-US "DPTF SOC Board Sensor Participant"
+#string STR_DPTF_SDP #language en-US "Scenario Design Power"
+
+#string STR_DPTF_BRAND_STRING #language en-US "Brand String"
+#string STR_DPTF_BRAND_STRING_HELP #language en-US "Brand string for the processor, example Nxxx or Jxxx"
+
+#string STR_DPTF_N3510 #language en-US "N3510/20"
+#string STR_DPTF_N2910 #language en-US "N2910/20"
+#string STR_DPTF_N2810 #language en-US "N2810/15/20"
+#string STR_DPTF_N2805 #language en-US "N2805/06"
+#string STR_DPTF_J2850 #language en-US "J2850/2900"
+#string STR_DPTF_J1850 #language en-US "J1850/1900"
+#string STR_DPTF_J1750 #language en-US "J1750/1800"
+
+#string STR_DPTF_GENERIC3_PARTICIPANT #language en-US "DPTF Charger Board Sensor Participant"
+#string STR_DPTF_GENERIC4_PARTICIPANT #language en-US "DPTF Generic Sensor4 Participant"
+#string STR_DPTF_CRITICAL_TEMP #language en-US "Critical"
+#string STR_DPTF_PASSIVE_TEMP #language en-US "Passive"
+#string STR_DPTF_CRITICAL_TEMP_HELP #language en-US "Critical Temperature"
+#string STR_DPTF_PASSIVE_TEMP_HELP #language en-US "Passive Temperature"
+#string STR_DPTF_CLPM #language en-US "CLPM"
+#string STR_DPTF_CLPM_HELP #language en-US "Current Low Power Mode"
+#string STR_DPTF_LPM_APP #language en-US "Application specific"
+#string STR_DPTF_LPM_OS #language en-US "OS level"
+#string STR_DPTF_SDBG #language en-US "Super Debug"
+#string STR_DPTF_SDBG_HELP #language en-US "Super debug is for validation purpose"
+#string STR_DPTF_OFFLINING #language en-US "Processor Offlining"
+#string STR_DPTF_OFFLINING_HELP #language en-US "Enable or disable processor offlining, passive policy only"
+#string STR_DPTF_CLPO #language en-US "Current Logical Processor Offlining"
+#string STR_DPTF_CLPO_HELP #language en-US "Controls LPO Control preferences. Used only by Passive policy"
+#string STR_DPTF_CLPO_START_PINDEX #language en-US "Start P-State"
+#string STR_DPTF_CLPO_START_PINDEX_HELP #language en-US "Instructs the policy when to initiate Active Core control if enabled"
+#string STR_DPTF_CLPO_PSTATE_INDEX0 #language en-US "P0"
+#string STR_DPTF_CLPO_PSTATE_INDEX1 #language en-US "P1"
+#string STR_DPTF_CLPO_PSTATE_INDEX2 #language en-US "P2"
+#string STR_DPTF_CLPO_PSTATE_INDEX3 #language en-US "P3"
+#string STR_DPTF_CLPO_PSTATE_INDEX4 #language en-US "P4"
+#string STR_DPTF_CLPO_PSTATE_INDEX5 #language en-US "P5"
+#string STR_DPTF_CLPO_PSTATE_INDEX6 #language en-US "P6"
+#string STR_DPTF_CLPO_PSTATE_INDEX7 #language en-US "P7"
+#string STR_DPTF_CLPO_PSTATE_INDEX8 #language en-US "P8"
+#string STR_DPTF_CLPO_PSTATE_INDEX9 #language en-US "P9"
+#string STR_DPTF_CLPO_PSTATE_INDEX10 #language en-US "P10"
+#string STR_DPTF_CLPO_PSTATE_INDEX11 #language en-US "P11"
+#string STR_DPTF_CLPO_PSTATE_INDEX12 #language en-US "P12"
+#string STR_DPTF_CLPO_STEP_SIZE #language en-US "Step size"
+#string STR_DPTF_CLPO_STEP_SIZE_HELP #language en-US "Instructs the policy to take away logical processors in the specified percentage steps."
+#string STR_DPTF_CLPO_STEP_SIZE_VALUE_25 #language en-US "25%"
+#string STR_DPTF_CLPO_STEP_SIZE_VALUE_50 #language en-US "50%"
+#string STR_DPTF_CLPO_STEP_SIZE_VALUE_75 #language en-US "75%"
+#string STR_DPTF_CLPO_PWR_CTRL #language en-US "Power Control Setting"
+#string STR_DPTF_CLPO_PWR_CTRL_HELP #language en-US "Instructs the policy whether to use Core offliing if Active core control is enabled to be used in P0 or when power control is applied"
+#string STR_DPTF_CLPO_PERF_CTRL #language en-US "Performance Control Setting"
+#string STR_DPTF_CLPO_PERF_CTRL_HELP #language en-US "Instructs the policy whether to use Core offliing if Active core control is enabled to be used in P1 or when performance control is applied"
+#string STR_DPTF_SMT_OFFFLINING #language en-US "SMT Offlining"
+#string STR_DPTF_CORE_OFFFLINING #language en-US "Core Offlining"
+#string STR_DPTF_DPPM #language en-US "DPPM"
+#string STR_DPTF_DPPM_HELP #language en-US "Controls DPPM policies"
+
+#string STR_DYNAMIC_PLATFORM_THER_FRAME_PROMPT #language en-US "Dynamic Platform&Thermal Framework"
+#string STR_DYNAMIC_PLATFORM_THER_FRAME_HELP #language en-US ""
+#string STR_DYNAMIC_PLATFORM_THER_FRAME_PROMPT #language en-US "Dynamic Platform&Thermal Framework"
+#string STR_DYNAMIC_PLATFORM_THER_FRAME_HELP #language en-US ""
+
+#string STR_DPTF_PASSIVE_TRIP_POINT_PROMPT #language en-US " Passive Trip Point"
+#string STR_DPTF_PASSIVE_TRIP_POINT_HELP #language en-US ""
+#string STR_DPTF_ACTIVE_TRIP_POINT_PROMPT #language en-US " Active Trip Point"
+#string STR_DPTF_ACTIVE_TRIP_POINT_HELP #language en-US ""
+#string STR_DPTF_CRITICAL_TRIP_POINT_PROMPT #language en-US " Critical Trip Point"
+#string STR_DPTF_CRITICAL_TRIP_POINT_HELP #language en-US ""
+#string STR_DPTF_HOT_TRIP_POINT_PROMPT #language en-US " Hot Trip Point"
+#string STR_DPTF_HOT_TRIP_POINT_HELP #language en-US ""
+#string STR_NEW #language en-US "New"
+#string STR_LEGACY #language en-US "Legacy"
+#string STR_CPU #language en-US "CPU"
+#string STR_SA #language en-US "SA"
+
+//
+//Memory
+//
+#string STR_MEMORY_SCRAMBLER_PROMPT #language en-US "Memory Scrambler"
+#string STR_MEMORY_SCRAMBLER_HELP #language en-US "Enable/Disable Memory Scrambler support."
+
+#string STR_GOP_TITLE #language en-US "GOP Configuration"
+#string STR_GOP_VBIOS_SWITCH #language en-US "GOP Driver"
+#string STR_GOP_BRIGHTNESS_LEVEL #language en-US "GOP Brightness Level"
+#string STR_GOP_BRIGHTNESS_LEVEL_HELP #language en-US "Set GOP Brightness Level; Value ranges from 0-255"
+#string STR_GOP_VBIOS_SWITCH_HELP #language en-US "Enable GOP Driver will unload VBIOS; Disable it will load VBIOS"
+#string STR_GOP_BRIGHT_0 #language en-US "0"
+#string STR_GOP_BRIGHT_20 #language en-US "20"
+#string STR_GOP_BRIGHT_40 #language en-US "40"
+#string STR_GOP_BRIGHT_60 #language en-US "60"
+#string STR_GOP_BRIGHT_80 #language en-US "80"
+#string STR_GOP_BRIGHT_100 #language en-US "100"
+#string STR_GOP_BRIGHT_120 #language en-US "120"
+#string STR_GOP_BRIGHT_140 #language en-US "140"
+#string STR_GOP_BRIGHT_160 #language en-US "160"
+#string STR_GOP_BRIGHT_180 #language en-US "180"
+#string STR_GOP_BRIGHT_200 #language en-US "200"
+#string STR_GOP_BRIGHT_220 #language en-US "220"
+#string STR_GOP_BRIGHT_240 #language en-US "240"
+#string STR_GOP_BRIGHT_255 #language en-US "255"
+
+
+//
+//System Components
+//
+#string STR_PMIC_CONFIGURATION_TITLE #language en-US "PMIC Congfiguration"
+#string STR_PMIC_ACPI_OBJECT_PROMPT #language en-US "PMIC ACPI OBJECT"
+#string STR_PMIC_ACPI_OBJECT_HELP #language en-US "Enable/Disable PMIC ACPI Device."
+
+#string STR_PNP_CONFIGURATION_TITLE #language en-US "System Power and Performance(PnP) Congfiguration"
+#string STR_PNP_SETTING_PROMPT #language en-US "SoC PnP Setting"
+#string STR_PNP_SETTING_HELP #language en-US "Select SoC PnP setting mode. Auto detect mode will load the SoC PnP table against stepping."
+#string STR_PNP_POWER_STRING #language en-US "Performance"
+#string STR_PNP_PERFORMANCE_STRING #language en-US "Power"
+#string STR_PNP_POWER_PERFORMANCE_STRING #language en-US "Auto Detect"
+#string STR_PNP_POWER_PERFORMANCE_STRING_A0 #language en-US "Ax Stepping"
+#string STR_PNP_POWER_PERFORMANCE_STRING_B0 #language en-US "Bx Stepping"
+
+#string STR_CFIO_PNP_SETTING_PROMPT #language en-US "CFIO/GPIO PnP Setting"
+#string STR_CFIO_PNP_SETTING_HELP #language en-US "Enable/Disable CFIO/GPIO PnP setting mode. When enabled, CFIO/GPIO unused pins will be in tri-state for power saving."
+
+#string STR_TRISTATE_LPC_PROMPT #language en-US "LPC PnP Setting"
+#string STR_TRISTATE_LPC_HELP #language en-US "Enable/Disable LPC PnP Setting. When enabled, the Lpc will diable clock and be placed in tri-state for power saveing when Bios hands over control to OS. If there is device connected to LPC bus, this setting should not be enabled."
+
+#string STR_SLP_S0IX_N_PROMPT #language en-US "Asset SLP_S0IX_N in S0ix"
+#string STR_SLP_S0IX_N_HELP #language en-US "Auto/Enable/Disable Asset SLP_S0IX_N in S0ix. In Auto mode, PMC will assert SLP_S0IX_N ONLY for PR1.4 and beyond, RVP plus Rohm B3 or Dialog C0 or Maxim. In Enable mode, PMC will assert the SLP_S0IX_N to save power regardless the board type."
+
+#string STR_CRID_SETTING_HELP #language en-US "Select the Revision ID reflected in PCI config space"
+#string STR_CRID_PROMPT #language en-US "CRID Setting"
+#string STR_CRID_0_STRING #language en-US "CRID_0"
+#string STR_CRID_1_STRING #language en-US "CRID_1"
+#string STR_CRID_2_STRING #language en-US "CRID_2"
+
+#string STR_PCIE_SPEED_PROMPT0 #language en-US "PCIe 0 Speed"
+#string STR_PCIE_SPEED_PROMPT1 #language en-US "PCIe 1 Speed"
+#string STR_PCIE_SPEED_PROMPT2 #language en-US "PCIe 2 Speed"
+#string STR_PCIE_SPEED_PROMPT3 #language en-US "PCIe 3 Speed"
+#string STR_SATA_TEST_MODE_PROMPT #language en-US "SATA Test Mode"
+#string STR_PCIE_SPEED_HELP #language en-US "Configure PCIe Speed"
+#string STR_AUTO #language en-US "Auto"
+#string STR_GEN1 #language en-US "Gen1"
+#string STR_GEN2 #language en-US "Gen2"
+#string STR_SATA_TEST_MODE_HELP #language en-US "Test Mode Enable/Disable"
+
+#string STR_SECURE_BOOT_MODE_HELP #language en-US "Secure Boot Mode - Custom & Standard"
+#string STR_SECURE_BOOT #language en-US "SecureBoot"
+#string STR_CLEAR_ALL_KEYS #language en-US "Clear all Keys"
+#string STR_CLEAR_ALL_KEYS_HELP #language en-US "Clears PK, KEK, DB and DBx. Clearing Keys should be done in Custom Mode"
+#string STR_LOAD_DEFAULTS_KEYS #language en-US "Load UEFI Secure Boot Defaults and Exit"
+#string STR_LOAD_DEFAULTS_KEYS_HELP #language en-US "Loads PK,KEK, DBx and DB. Should be done in Custom Mode"
+#string STR_SECURE_BOOT_UPP_PROMPT #language en-US "User Physical Present"
+#string STR_SECURE_BOOT_UPP_HELP #language en-US "User is Physical Present User"
+#string STR_SECURE_BOOT_MODE_PROMPT #language en-US "UEFI Secure Boot Mode"
+#string STR_SECURE_BOOT_MODE_HELP #language en-US "Set UEFI Secure Boot Mode to STANDARD mode or CUSTOM mode, this change is effect after save. And after reset, the mode will return to STANDARD mode"
+#string STR_SB_STANDARD_MODE #language en-US "STANDARD"
+#string STR_SB_CUSTOM_MODE #language en-US "CUSTOM"
+#string STR_SECURE_BOOT_PRO_KEY_PROMPT #language en-US "UEFI Secure Boot Key"
+#string STR_SECURE_BOOT_PRO_KEY_HELP #language en-US "Set the UEFI Secure Boot Key to Development Key or Production Key, Change Key should be done in Custom Mode"
+#string STR_DEV_KEY #language en-US "Development Key"
+#string STR_PRO_KEY #language en-US "Production Key"
+
+// ACPI Memory Debug
+//
+#string STR_ACPIMEMDBG_STRING #language en-US "ACPI Memory Debug Switch"
+#string STR_ACPIMEMDBG_SWTICH #language en-US "ACPI Memory Debug"
+#string STR_ACPIMEMDBG_SWTICH_HELP #language en-US "Enable or Disable ACPI Memory Debug"
+
+#string STR_EXISUPPORT_PROMPT #language en-US "ExI"
+#string STR_EXISUPPORT_HELP #language en-US "Enabled/Disabled ExI"
+
+#string STR_PMWEIGHTS_PROMPT #language en-US "PM Weights"
+#string STR_PMWEIGHTS_HELP #language en-US "Enabled/Disabled PM Weights"
+
+#string STR_LPSSDEVHIDE_PROMPT #language en-US "Unsupported LPSS Device"
+#string STR_LPSSDEVHIDE_HELP #language en-US "Hide unsupported LPSS devices when in ACPI Mode"
+#string STR_HIDE #language en-US "Hide"
+#string STR_UNHIDE #language en-US "UnHide"
+
+#string STR_BATTERY_CONFIGURATION_TITLE #language en-US "Battery Charging Congfiguration"
+#string STR_BATTERY_ACPI_OBJECT_PROMPT #language en-US "Battery solution"
+#string STR_BATTERY_ACPI_OBJECT_HELP #language en-US "If it does not match, battery will not work properly."
+#string STR_NON_ULPMC #language en-US "Non ULPMC solution"
+#string STR_ULPMC #language en-US "ULPMC solution"
+
+#string STR_CRITICAL_BATTERY_LIMIT_PROMPT #language en-US "Critical Battery Limit"
+#string STR_CRITICAL_BATTERY_LIMIT_HELP #language en-US "Limit in percentage below which the system is not allowed to boot.
+
+#string STR_CRITICAL_BATTERY_LIMIT_FEATURE_PROMPT #language en-US "Critical Battery Limit Feature"
+#string STR_CRITICAL_BATTERY_LIMIT_FEATURE_HELP #language en-US "Enable or Disable Critical Battery Limit Feature."
+
+#string STR_ULPMC_FW_LOCK_PROMPT #language en-US "ULPMC Firmware Lock"
+#string STR_ULPMC_FW_LOCK_HELP #language en-US "Enable or Disable Lock ULPMC Firmware Update."
+#string STR_WITT_CONFIGURATION_TITLE #language en-US "WITT Configuration"
+#string STR_WITT_PROMPT #language en-US "Enable WITT"
+#string STR_WITT_HELP #language en-US "Enable or Disable WITT"
+#string STR_UTS_PROMPT #language en-US "Enable UTS(Uart Test Suite)"
+#string STR_UTS_HELP #language en-US "Enable or Disable Uart Test suite"
+#string STR_PCH_SPI_WP_PROMPT #language en-US "BIOS Read/Write Protection"
+#string STR_PCH_SPI_WP_HELP #language en-US "Enable or Disable BIOS SPI region read/write protect."
+#string STR_PCH_SPI_WP_DISABLE #language en-US "Disable"
+#string STR_PCH_SPI_WP_ENABLE #language en-US "Enable"
+#string STR_IGD_TURBO_PROMPT #language en-US "IGD Turbo"
+#string STR_IGD_TURBO_HELP #language en-US "Select the IGD Turbo feature, if Auto selected, IGD Turbo will only be enabled when SOC stepping is B0 or above."
+#string STR_EHCI_PLL_CFG_PROMPT #language en-US "EHCI PLL Configure"
+#string STR_EHCI_PLL_CFG_RTD3_DIS_HELP #language en-US "Enable/Disable EHCI PLL Configure For RTD3"
+
+// Codec ALC-262 disabled
+#string STR_CODEC262_DISABLED_PROMPT #language en-US "Disable Codec ALC-262"
+#string STR_CODEC262_DISABLED_HELP #language en-US "Enable/Disable Codec ALC-262."
+
+// SAR Sensor
+#string STR_SAR_SENSOR_PROMPT #language en-US "SAR Sensor"
+#string STR_SAR_SENSOR_HELP #language en-US "Enable or Disable SAR sensor"
+
+//Lakemore
+//
+#string STR_LM_INFORMATION_TITLE #language en-US "Lakemore Configuration:"
+#string STR_LM_MEMORY_HELP #language en-US "Specify the amount of main memory to be reserved for Lakemore. The memory will be allocated right after MRC initialization and its location will be stored into the Lakemore STOREMEMBAR registers."
+#string STR_LM_MEMORY_PROMPT #language en-US "Memory Allocation Size"
+#string STR_LM_MEMORY_16MB #language en-US "16000 KiB"
+#string STR_LM_MEMORY_8MB #language en-US "8000 KiB"
+#string STR_LM_MEMORY_1MB #language en-US "1000 KiB"
+#string STR_LM_MEMORY_128KB #language en-US "128 KiB"
+#string STR_LM_MEMORY_0MB #language en-US "0 KiB"
+
+#string STR_PUINT_BIOS_CONFIG_DISPLAY #language en-US "PDM/Dfx Setting"
+#string STR_PUINT_BIOS_CONFIG_DISPLAY_HELP #language en-US "PDM On: Enable PDM and keep Dfx powered.\n\nPerf Mode: Disable PDM and keep Dfx powered. Allows more VISA signals to be used for HW debug.\n\nPower Save: Disable PDM, turn off Dfx power and Visa clocks.\n\nNOTE: If previous setting was POWERSAVE, then cold boot will be needed for Dfx to come back up."
+#string STR_PUINT_BIOS_PDM #language en-US "PDM On"
+#string STR_PUINT_BIOS_PERFORMANCE #language en-US "Perf Mode"
+#string STR_PUINT_BIOS_POWERSAVE #language en-US "Power Save"
+#string STR_PUINT_BIOS_RESERVED #language en-US "Debug Reserved"
+
+#string STR_PDM_OUTPUT_CONFIG_SWTICH #language en-US "PDM Msg Output"
+#string STR_PDM_OUTPUT_CONFIG_SWTICH_HELP #language en-US "Configure VISA and Lakemore for PDM with the given output.\n\nIf MainMem is selected then be sure to allocate memory for the output msgs in the above setting."
+#string STR_PDM_OUTPUT_MEM #language en-US "Main Memory"
+#string STR_PDM_OUTPUT_IO #language en-US "IO - TBD"
+
+#string STR_ENABLE_DBG2 #language en-US "Enable DBG2 Table"
+#string STR_ENABLE_DBG2_HELP #language en-US "Enable/Disable DBG2 ACPI Table for Windbg"
+
+//eMMC
+//
+#string STR_SCC_EMMC_PROMPT #language en-US "SCC eMMC 4.41 Support"
+#string STR_SCC_EMMC_HELP #language en-US "Enable/Disable SCC eMMC 4.41 Support"
+
+#string STR_SCC_EMMC45_PROMPT #language en-US "SCC eMMC45 Support"
+#string STR_SCC_EMMC45_HELP #language en-US "Enable/Disable SCC eMMC 4.5 Support"
+#string STR_SCC_EMMC45_DDR50_PROMPT #language en-US "DDR50 Capability Support"
+#string STR_SCC_EMMC45_DDR50_HELP #language en-US "Enable/Disable SCC eMMC 4.5 DDR 50 support"
+#string STR_SCC_EMMC45_HS200_PROMPT #language en-US "HS200 Capability Support"
+#string STR_SCC_EMMC45_HS200_HELP #language en-US "Enable/Disable SCC eMMC 4.5 HS 200 support"
+#string STR_SCC_EMMC45_RE_TUNE_TIMER_VALUE #language en-US "Re Tune Timer Value"
+#string STR_SCC_EMMC45_RE_TUNE_TIMER_VALUE_HELP #language en-US "Set the re tune timer value"
+
+#string STR_SCC_EMMC45_SETTING_SUBTITLE #language en-US "SCC eMMC 4.5 Configuration"
+#string STR_EMMC45_TIMER_0 #language en-US "0"
+#string STR_EMMC45_TIMER_1 #language en-US "1"
+#string STR_EMMC45_TIMER_2 #language en-US "2"
+#string STR_EMMC45_TIMER_3 #language en-US "3"
+#string STR_EMMC45_TIMER_4 #language en-US "4"
+#string STR_EMMC45_TIMER_5 #language en-US "5"
+#string STR_EMMC45_TIMER_6 #language en-US "6"
+#string STR_EMMC45_TIMER_7 #language en-US "7"
+#string STR_EMMC45_TIMER_8 #language en-US "8"
+#string STR_EMMC45_TIMER_9 #language en-US "9"
+#string STR_EMMC45_TIMER_10 #language en-US "10"
+#string STR_EMMC45_TIMER_11 #language en-US "11"
+#string STR_EMMC45_TIMER_12 #language en-US "12"
+#string STR_EMMC45_TIMER_13 #language en-US "13"
+#string STR_EMMC45_TIMER_14 #language en-US "14"
+#string STR_EMMC45_TIMER_15 #language en-US "15"
+
+#string STR_EMMC_BOOT_PROMPT #language en-US "SCC eMMC Boot Controller"
+#string STR_EMMC_BOOT_HELP #language en-US "Disable/Select eMMC Boot mode; Auto Detect mode can switch the eMMC controller against the stepping"
+#string STR_AUTO_DETECT #language en-US "Auto Detect"
+#string STR_EMMC_BOOT_41 #language en-US "eMMC 4.41"
+#string STR_EMMC_BOOT_45 #language en-US "eMMC 4.5"
+
+// SD card DDR50 and SD25
+#string STR_SCC_SD_SDR25_PROMPT #language en-US "SDR25 Capability Support for SDCard"
+#string STR_SCC_SD_SDR25_HELP #language en-US "Disable/Enable SDR25 Capability in SD Card controller;
+#string STR_SCC_SD_DDR50_PROMPT #language en-US "DDR50 Capability Support for SDCard"
+#string STR_SCC_SD_DDR50_HELP #language en-US "Disable/Enable DDR50 Capability in SD Card controller;
+
+#string STR_SECURE_ERASE_PROMPT #language en-US "eMMC Secure Erase"
+#string STR_SECURE_ERASE_HELP #language en-US "Disable/Enable eMMC Secure Erase. When enabled, all the data on eMMC will be erased."
+
+
+//
+//Exit Option
+//
+#string STR_COMMIT_CHANGE_AND_EXIT_PROMPT #language en-US "Commit Changes and Exit"
+#string STR_COMMIT_CHANGE_AND_EXIT_HELP #language en-US "Save the setup changes and exit"
+
+#string STR_DISCARD_CHANGE_AND_EXIT_PROMPT #language en-US "Discard Changes and Exit"
+#string STR_DISCARD_CHANGE_AND_EXIT_HELP #language en-US "Discard the setup changes and exit"
+
+#string STR_LOAD_DEFAULT_AND_EXIT_PROMPT #language en-US "Load Defaults and Exit"
+#string STR_LOAD_DEFAULT_AND_EXIT_HELP #language en-US "Load the setup defaults and Exit"
+
+#string STR_COMMIT_CHANGE_F10 #language en-US "F10=Commit Changes"
+#string STR_DISCARD_CHANGE_F8 #language en-US "F8=Discard Changes"
+#string STR_LOAD_DEFAULT_F9 #language en-US "F9=Load Defaults"
+
+#string STR_PSS_ENABLE_PROMPT #language en-US "PSS Storage"
+#string STR_PSS_ENABLE_HELP #language en-US "Disable/Enable PSS-based secure boot"
+#string STR_PSS_CONFIGURATION_TITLE #language en-US "PSS Settings"
+
+//
+//Virtual Keyboard Option
+//
+#string STR_VIRTUAL_KB_TITLE #language en-US "Virtual Keyboard Configuration"
+#string STR_VIRTUAL_KB_PROMPT #language en-US "Virtual Keyboard Support"
+#string STR_VIRTUAL_KB_HELP #language en-US "Enable/Disable Virtual Keyboard"
+
+//
+// MMIO Option
+//
+#string STR_MMIO_PROMPT #language en-US "PCI MMIO Size"
+#string STR_MMIO_0_75G_STRING #language en-US "0.75GB"
+#string STR_MMIO_1G_STRING #language en-US "1GB"
+#string STR_MMIO_1_25G_STRING #language en-US "1.25GB"
+#string STR_MMIO_1_5G_STRING #language en-US "1.5GB"
+#string STR_MMIO_2G_STRING #language en-US "2GB"
+#string STR_MMIO_HELP #language en-US "Setup PCI MMIO Size 0.75G, 1G, 1.25G, 1.5G, 2GB Size"
+
+//
+// OS Selection Option
+//
+#string STR_OS_SELETION_PROMPT #language en-US "OS Selection"
+#string STR_OS_SELETION_HELP #language en-US "OS Selection"
+#string STR_WINDOWS #language en-US "Windows 8.X"
+#string STR_ANDROID #language en-US "Android"
+#string STR_WINDOWS7 #language en-US "Windows 7 UEFI 64bit"
+#string STR_LWINDOWS7 #language en-US "Win7 32/64 Legacy"
+#string STR_WEC7 #language en-US "WEC7"
+#string STR_LINUX #language en-US "Linux"
+#string STR_BOOT_DISPLAY_MIPIDSI_PROMPT #language en-US "MIPI DSI"
+#string STR_BOOT_DISPLAY_MIPIDSI_HELP #language en-US "Disable/enable MIPI DSI."
+
+
+//
+// EM-1 Selection Option
+//
+#string STR_EM1_IAAPPSRUN_PROMPT #language en-US "IA_APPS_RUN"
+#string STR_EM1_IAAPPSRUN_HELP #language en-US "Voltage in mV"
+#string STR_EM1_IAAPPSCAP_PROMPT #language en-US "IA_APPS_CAP"
+#string STR_EM1_IAAPPSCAP_HELP #language en-US "Percentage"
+#string STR_EM1_CAP_OR_VOLTAGE_PROMPT #language en-US "USE IA_APPS_RUN or CAP"
+#string STR_EM1_CAP_OR_VOLTAGE_HELP #language en-US "Use Voltage or Capacity to decide boot flow"
+#string STR_EM1_BOOT_ON_INVALID_BAT_PROMPT #language en-US "Boot on invalid battery"
+#string STR_EM1_BOOT_ON_INVALID_BAT_HELP #language en-US "Allow to boot from invalid battery"