// /** @file
// Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR>
// This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution.  The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php
//
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
//
//
// Module Name:
//
//   Strings.vfr
//
// Abstract:
//
//   String definitions for Platform Setup formset.
//
// Revision History:
//
// **/

//
// 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.40"

#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_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 Devices
//
#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_USB21_PROMPT                           #language en-US "EHCI Controller"
#string STR_PCH_USB2_HELP                              #language en-US "Control the USB EHCI (USB 2.0) functions."
#string STR_PCH_USB_PER_PORT_PROMPT                    #language en-US "USB Per-Port Control"
#string STR_PCH_USB_PER_PORT_HELP                      #language en-US "Control each of the USB ports (0~3) enable/disable"
#string STR_PCH_USB_PORT0_PROMPT                       #language en-US "USB Port #0"
#string STR_PCH_USB_PORT1_PROMPT                       #language en-US "USB Port #1"
#string STR_PCH_USB_PORT2_PROMPT                       #language en-US "USB Port #2"
#string STR_PCH_USB_PORT3_PROMPT                       #language en-US "USB Port #3"
#string STR_PCH_USB_PORT4_PROMPT                       #language en-US "USB Port #4"
#string STR_PCH_USB_PORT5_PROMPT                       #language en-US "USB Port #5"
#string STR_PCH_USB_PORT6_PROMPT                       #language en-US "USB Port #6"
#string STR_PCH_USB_PORT7_PROMPT                       #language en-US "USB Port #7"
#string STR_PCH_USB_PORT_DIS_HELP                      #language en-US "Enable/Disable USB port"
#string STR_PCH_USBRMH_PROMPT                          #language en-US "USB RMH Mode"
#string STR_PCH_USBRMH_HELP                            #language en-US "Enable/Disable PCH USB Rate Matching Hubs mode"
#string STR_PCH_USB_EHCIDEBUG_PROMPT                   #language en-US "USB EHCI debug"
#string STR_PCH_USB_EHCIDEBUG_HELP                     #language en-US "Enable/Disable PCH EHCI debug capability"

#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_PCH_AZALIA_PROMPT                          #language en-US "Audio 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"

#string STR_RTC_BATTERY                                #language en-US "RTC Battery Presence"
#string STR_RTC_BATTERY_PRESENT                        #language en-US "Present"
#string STR_RTC_BATTERY_NOT_PRESENT                    #language en-US "Not Present"
#string STR_RTC_BATTERY_HELP                           #language en-US "RTC Battery is Present or Not Present"

#string STR_LPE_REPORTED_BY_DSDT_PROMPT                #language en-US  "LPE Audio Reported By DSDT"
#string STR_LPE_REPORTED_BY_DSDT_HELP                  #language en-US  "Recommended solution is to keep option disabled and expose LPE Audio device with an EFI application that updates the SSDT"

//
// PCI Express
//
#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_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."

#string STR_SATA_IDE                                   #language en-US  "IDE"
#string STR_SATA_AHCI                                  #language en-US  "AHCI"

#string STR_SATA0_STRING                               #language en-US "  SATA Port 0"
#string STR_SATA0_STRING                               #language fr-FR "  Port SATA 0"

#string STR_SATA0_NAME                                 #language en-US  "[Not Installed]"
#string STR_SATA0_NAME                                 #language fr-FR  "[Absent]"

#string STR_MSATA_STRING                               #language en-US "  mSATA Port"

#string STR_SATA1_STRING                               #language en-US "  SATA Port 1"
#string STR_SATA1_STRING                               #language fr-FR "  Port SATA 1"

#string STR_SATA1_NAME                                 #language en-US  "[Not Installed]"
#string STR_SATA1_NAME                                 #language fr-FR  "[Absent]"

#string STR_SATA0_HOTPLUG_CAP_PROMPT                   #language en-US "  SATA Port 0 Hot Plug Capability"
#string STR_SATA1_HOTPLUG_CAP_PROMPT                   #language en-US "  SATA Port 1 Hot Plug Capability"
#string STR_SATA_HOTPLUG_CAP_HELP                      #language en-US "If enabled, SATA port will be reported as Hot Plug capable."

#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."

//
//Sensor Settings
//
#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."

#string STR_LPSS_SCC_FORM_TITLE                        #language en-US  "LPSS & SCC Configuration"
#string STR_LPSS_SCC_FORM_HELP                         #language en-US  ""

#string STR_LPSS_PCI_PROMPT                            #language en-US  "LPSS & SCC Devices Mode"
#string STR_LPSS_PCI_HELP                              #language en-US  "Enable/Disable LPSS & SCC Devices Mode"

#string STR_SCC_SETTING_SUBTITLE                       #language en-US  "SCC Configuration"
#string STR_SCC_EMMC_PROMPT                            #language en-US  "SCC eMMC Support"
#string STR_SCC_EMMC_HELP                              #language en-US  "Enable/Disable SCC eMMC Support"
#string STR_SCC_SDIO_PROMPT                            #language en-US  "SCC SDIO Support "
#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"
#string STR_SCC_SDCARD_HELP                            #language en-US  "Enable/Disable SCC SD Card Support"
#string STR_SCC_SDCARD_FORWIN_PROMPT                   #language en-US  "SCC SD Card for Windows"
#string STR_SCC_SDCARD_FORWIN_HELP                     #language en-US  "Enable/Disable SCC SD Card for Windows"
#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"

#string STR_LPSS1_SETTING_SUBTITLE                     #language en-US  "LPSS 1 Configuration"
#string STR_LPSS2_SETTING_SUBTITLE                     #language en-US  "LPSS 2 Configuration"
#string STR_LPSS_DMA1_PROMPT                           #language en-US  "LPSS DMA #1 Support"
#string STR_LPSS_DMA1_HELP                             #language en-US  "Enable/Disable LPSS DMA #1 Support"
#string STR_LPSS_DMA2_PROMPT                           #language en-US  "LPSS DMA #2 Support"
#string STR_LPSS_DMA2_HELP                             #language en-US  "Enable/Disable LPSS DMA #2 Support"
#string STR_LPSS_I2C1_PROMPT                           #language en-US  "LPSS I2C #1 Support"
#string STR_LPSS_I2C1_HELP                             #language en-US  "Enable/Disable LPSS I2C #1 Support"
#string STR_LPSS_I2C2_PROMPT                           #language en-US  "LPSS I2C #2 Support"
#string STR_LPSS_I2C2_HELP                             #language en-US  "Enable/Disable LPSS I2C #2 Support"
#string STR_LPSS_I2C3_PROMPT                           #language en-US  "LPSS I2C #3 Support"
#string STR_LPSS_I2C3_HELP                             #language en-US  "Enable/Disable LPSS I2C #3 Support"
#string STR_LPSS_I2C4_PROMPT                           #language en-US  "LPSS I2C #4 Support"
#string STR_LPSS_I2C4_HELP                             #language en-US  "Enable/Disable LPSS I2C #4 Support"
#string STR_LPSS_I2C5_PROMPT                           #language en-US  "LPSS I2C #5 Support"
#string STR_LPSS_I2C5_HELP                             #language en-US  "Enable/Disable LPSS I2C #5 Support"
#string STR_LPSS_I2C6_PROMPT                           #language en-US  "Low Speed Expansion I2C (#5)"
#string STR_LPSS_I2C6_HELP                             #language en-US  "Enable/Disable Low Speed Expansion I2C (#5);I2C Controller PCI device Dev24: Func6; Schematic names it I2C5, ACPI table names it I2C6"
#string STR_LPSS_I2C7_PROMPT                           #language en-US  "High Speed Expansion I2C (#6)"
#string STR_LPSS_I2C7_HELP                             #language en-US  "Enable/Disable High Speed Expansion I2C (#6);I2C Controller PCI device Dev24: Func7; Schematic names it I2C6, ACPI table names it I2C7"
#string STR_LPSS_I2S_PROMPT                            #language en-US  "LPSS I2S Support"
#string STR_LPSS_I2S_HELP                              #language en-US  "Enable/Disable LPSS I2S Support"
#string STR_LPSS_HSUART1_PROMPT                        #language en-US  "LPSS HSUART #1 Support"
#string STR_LPSS_HSUART1_FLOWCONTROL_PROMPT            #language en-US  "LPSS HSUART #1 FlowCtrl"
#string STR_LPSS_HSUART2_FLOWCONTROL_PROMPT            #language en-US  "LPSS HSUART #2 FlowCtrl"
#string STR_LPSS_HSUART1_HELP                          #language en-US  "Enable/Disable LPSS HSUART #1 Support"
#string STR_LPSS_HSUART2_PROMPT                        #language en-US  "LPSS HSUART #2 Support"
#string STR_LPSS_HSUART2_HELP                          #language en-US  "Enable/Disable LPSS HSUART #2 Support"
#string STR_LPSS_SPI_PROMPT                            #language en-US  "LPSS SPI Support"
#string STR_LPSS_SPI_HELP                              #language en-US  "Enable/Disable LPSS SPI Support"

#string STR_LPSS_I2C1_HELP_ENBDT_DEV_LIST              #language en-US  "Disable/Enable LPSS I2C #1 Support\n\n  "
#string STR_LPSS_I2C2_HELP_ENBDT_DEV_LIST              #language en-US  "Disable/Enable LPSS I2C #2 Support\n\n  "
#string STR_LPSS_I2C3_HELP_ENBDT_DEV_LIST              #language en-US  "Disable/Enable LPSS I2C #3 Support\n\n  "
#string STR_LPSS_I2C4_HELP_ENBDT_DEV_LIST              #language en-US  "Disable/Enable LPSS I2C #4 Support\n\n  "
#string STR_LPSS_I2C5_HELP_ENBDT_DEV_LIST              #language en-US  "Disable/Enable LPSS I2C #5 Support\n\n  "
#string STR_LPSS_I2C6_HELP_ENBDT_DEV_LIST              #language en-US  "Enable/Disable Low Speed Expansion I2C (#5);I2C Controller PCI device Dev24: Func6; Schematic names it I2C5, ACPI table names it I2C6\n\n  "
#string STR_LPSS_I2C7_HELP_ENBDT_DEV_LIST              #language en-US  "Enable/Disable High Speed Expansion I2C (#6);I2C Controller PCI device Dev24: Func7; Schematic names it I2C6, ACPI table names it I2C7\n\n  "
#string STR_LPSS_HSUART1_HELP_ENBDT_DEV_LIST           #language en-US  "Disable/Enable LPSS High Speed UART #1\n\nEnabled(RX/TX/RTS/CTS)\nW\O FlowCtrl(RX/TX+GPIOx2)\nDisabled(GPIOx4)"
#string STR_LPSS_HSUART2_HELP_ENBDT_DEV_LIST           #language en-US  "Disable/Enable LPSS High Speed UART #2\n\nEnabled(RX/TX/RTS/CTS)\nW\O FlowCtrl(RX/TX+GPIOx2)\nDisabled(GPIOx4)"

#string STR_I2C_DEVICE_SETTING_SUBTITLE                #language en-US  "I2C Devics Configuration"
#string STR_I2C_TOUCH_PROMPT                           #language en-US  "I2C Touch Devic Address"
#string STR_I2C_TOUCH_HELP                             #language en-US  "I2C Touch Address Select:\n  RVP/iCDK(0x4B)\n  FFRD(0x4A)"
#string STR_I2C_FFRD                                   #language en-US  "0x4A"
#string STR_I2C_FVP                                    #language en-US  "0x4B"


#string STR_PWM1_PROMPT                                #language en-US  "LPSS PWM #1 Support"
#string STR_PWM1_HELP                                  #language en-US  "Enable/DisableLPSS PWM #1 Support"
#string STR_PWM2_PROMPT                                #language en-US  "LPSS PWM #2 Support"
#string STR_PWM2_HELP                                  #language en-US  Enable/Disable"LPSS PWM #2 Support"
#string STR_MIPI_HSI_PROMPT                            #language en-US  "MIPI HSI Support"
#string STR_MIPI_HSI_HELP                              #language en-US  "Enable/Disable MIPI HSI Support \n Note: Official BIOS cannot support MIPI display directly even you select enable here. MIPI VBT is specific to different panel, user need replace VBT manually."
#string STR_LPE_PROMPT                                 #language en-US  "LPE Audio Support"
#string STR_LPE_HELP                                   #language en-US  "Enable/Disable LPE Audio Support"
#string STR_LPE_PCI_MODE                               #language en-US  "LPE Audio PCI mode"
#string STR_LPE_ACPI_MODE                              #language en-US  "LPE Audio ACPI mode"

//
// 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."
#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_100_C                                      #language en-US "100 C"
#string STR_103_C                                      #language en-US "103 C"
#string STR_105_C                                      #language en-US "105 C"
#string STR_110_C                                      #language en-US "110 C"
#string STR_111_C                                      #language en-US "111 C"
#string STR_119_C                                      #language en-US "119 C"
#string STR_180_C                                      #language en-US "180 C"
#string STR_200_C                                      #language en-US "200 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"


//
// 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 Configuration"
#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) Configuration"
#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 Configuration"
#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_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"

