Home | History | Annotate | Download | only in Guid
      1 /** @file
      2 
      3   Copyright (c) 2004  - 2016, Intel Corporation. All rights reserved.<BR>
      4 
      5 
      6   This program and the accompanying materials are licensed and made available under
      7 
      8   the terms and conditions of the BSD License that accompanies this distribution.
      9 
     10   The full text of the license may be found at
     11 
     12   http://opensource.org/licenses/bsd-license.php.
     13 
     14 
     15 
     16   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     17 
     18   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     19 
     20 
     21 
     22 
     23 Module Name:
     24 
     25     SetupVariable.h
     26 
     27 Abstract:
     28 
     29     Driver configuration include file
     30 
     31 
     32 **/
     33 
     34 #ifndef _SETUP_VARIABLE_H
     35 #define _SETUP_VARIABLE_H
     36 
     37 //
     38 // ---------------------------------------------------------------------------
     39 //
     40 // Driver Configuration
     41 //
     42 // ---------------------------------------------------------------------------
     43 //
     44 
     45 //
     46 // {EC87D643-EBA4-4bb5-A1E5-3F3E36B20DA9}
     47 //
     48 #define SYSTEM_CONFIGURATION_GUID\
     49   { \
     50     0xec87d643, 0xeba4, 0x4bb5, 0xa1, 0xe5, 0x3f, 0x3e, 0x36, 0xb2, 0xd, 0xa9 \
     51   }
     52 
     53 #define ROOT_SECURITY_GUID\
     54   { \
     55     0xd387d688, 0xeba4, 0x45b5, 0xa1, 0xe5, 0x3f, 0x3e, 0x36, 0xb2, 0xd, 0x37 \
     56   }
     57 
     58 //
     59 // {6936B3BD-4350-46d9-8940-1FA20961AEB1}
     60 //
     61 #define SYSTEM_ROOT_MAIN_GUID\
     62   { \
     63      0x6936b3bd, 0x4350, 0x46d9, 0x89, 0x40, 0x1f, 0xa2, 0x9, 0x61, 0xae, 0xb1 \
     64   }
     65 
     66 //
     67 // {21FEE8DB-0D29-477e-B5A9-96EB343BA99C}
     68 //
     69 #define ADDITIONAL_SYSTEM_INFO_GUID\
     70   { \
     71      0x21fee8db, 0xd29, 0x477e, 0xb5, 0xa9, 0x96, 0xeb, 0x34, 0x3b, 0xa9, 0x9c \
     72   }
     73 
     74 #define SETUP_GUID { 0xEC87D643, 0xEBA4, 0x4BB5, 0xA1, 0xE5, 0x3F, 0x3E, 0x36, 0xB2, 0x0D, 0xA9 }
     75 
     76 // {1B838190-4625-4ead-ABC9-CD5E6AF18FE0}
     77 #define EFI_HII_EXPORT_DATABASE_GUID { 0x1b838190, 0x4625, 0x4ead, 0xab, 0xc9, 0xcd, 0x5e, 0x6a, 0xf1, 0x8f, 0xe0 }
     78 
     79 #define PASSWORD_MAX_SIZE               20
     80 
     81 #define MAX_CUSTOM_VID_TABLE_STATES 6
     82 //
     83 // Overclocking Source Defines
     84 //
     85 #define OVERCLOCK_SOURCE_BIOS       0
     86 #define OVERCLOCK_SOURCE_OS         1
     87 
     88 #define PCH_PCIE_MAX_ROOT_PORTS     4
     89 
     90 #pragma pack(1)
     91 
     92 // NOTE: When you add anything to this structure,
     93 //   you MUST add it to the very bottom!!!!
     94 //   You must make sure the structure size is able to divide by 32!
     95 typedef struct {
     96 
     97   //
     98   // Floppy
     99   //
    100   UINT8         Floppy;
    101   UINT8         FloppyLockHide;
    102 
    103   UINT8         FloppyWriteProtect;
    104   UINT8         FloppyWriteProtectLockHide;
    105 
    106   //
    107   // System ports
    108   //
    109   UINT8         Serial;
    110   UINT8         SerialLockHide;
    111 
    112   UINT8         Serial2;
    113   UINT8         Serial2LockHide;
    114 
    115   UINT8         Parallel;
    116   UINT8         ParallelLockHide;
    117 
    118   UINT8         ParallelMode;
    119   UINT8         ParallelModeLockHide;
    120 
    121   UINT8         AllUsb;
    122   UINT8         UsbPortsLockHide;
    123 
    124   UINT8         Usb2;
    125   UINT8         Usb2LockHide;
    126 
    127   UINT8         UsbLegacy;
    128   UINT8         UsbLegacyLockHide;
    129 
    130   UINT8         Audio;
    131   UINT8         AudioLockHide;
    132 
    133   UINT8         Lan;
    134   UINT8         LanLockHide;
    135 
    136   //
    137   // Keyboard
    138   //
    139   UINT8         Numlock;
    140   UINT8         NumlockLockHide;
    141 
    142   //
    143   // ECIR
    144   //
    145   UINT8         ECIR;
    146   UINT8         ECIRLockHide;
    147 
    148   //
    149   // Power State
    150   //
    151   UINT8         PowerState;
    152   UINT8         PowerStateLockHide;
    153 
    154   //
    155   // Wake on RTC variables
    156   //
    157   UINT8         WakeOnRtcS5;
    158   UINT8         WakeOnRtcS5LockHide;
    159   UINT8         RTCWakeupDate;
    160   UINT8         RTCWakeupDateLockHide;
    161   UINT8         RTCWakeupTimeHour;
    162   UINT8         RTCWakeupHourLockHide;
    163   UINT8         RTCWakeupTimeMinute;
    164   UINT8         RTCWakeupMinuteLockHide;
    165   UINT8         RTCWakeupTimeSecond;
    166   UINT8         RTCWakeupSecondLockHide;
    167 
    168   //
    169   // Wake On Lan
    170   //
    171   UINT8         WakeOnLanS5;
    172   UINT8         WakeOnLanS5LockHide;
    173 
    174   //Spread spectrum
    175   UINT8         SpreadSpectrum;
    176 
    177   //
    178   // Boot Order
    179   //
    180   UINT8         BootOrder[8];
    181   UINT8         BootOrderLockHide;
    182 
    183   //
    184   // Hard Drive Boot Order
    185   //
    186   UINT8         HardDriveBootOrder[8];
    187   UINT8         HardDriveBootOrderLockHide;
    188 
    189   //
    190   // CD Drive Boot Order
    191   //
    192   UINT8         CdDriveBootOrder[4];
    193   UINT8         CdDriveBootOrderLockHide;
    194 
    195   //
    196   // FDD Drive Boot Order
    197   //
    198   UINT8         FddDriveBootOrder[4];
    199   UINT8         FddDriveBootOrderLockHide;
    200 
    201   //
    202   // Drive Boot Order
    203   //
    204   UINT8         DriveBootOrder[16];
    205   UINT8         DriveBootOrderLockHide;
    206 
    207   //
    208   // Boot Menu Type
    209   //
    210   UINT8         BootMenuType;
    211   UINT8         BootMenuTypeLockHide;
    212 
    213   //
    214   // Boot from Removable Devices
    215   //
    216   UINT8         BootFloppy;
    217   UINT8         BootFloppyLockHide;
    218 
    219   //
    220   // Boot from Optical Devices
    221   //
    222   UINT8         BootCd;
    223   UINT8         BootCdLockHide;
    224 
    225   //
    226   // Boot from Network
    227   //
    228   UINT8         BootNetwork;
    229   UINT8         BootNetworkLockHide;
    230 
    231   //
    232   // Boot USB
    233   //
    234   UINT8         BootUsb;
    235   UINT8         BootUsbLockHide;
    236 
    237   //
    238   // USB Zip Emulation Type
    239   //
    240   UINT8         UsbZipEmulation;
    241   UINT8         UsbZipEmulationLockHide;
    242 
    243   //
    244   // USB Devices Boot First in Boot Order
    245   //
    246   UINT8         UsbDevicesBootFirst;
    247   UINT8         UsbDevicesBootFirstLockHide;
    248 
    249   //
    250   // USB Boot Device SETUP Emulation
    251   //
    252   UINT8         UsbSetupDeviceEmulation;
    253   UINT8         UsbSetupDeviceEmulationLockHide;
    254 
    255   //
    256   // BIOS INT13 Emulation for USB Mass Devices
    257   //
    258   UINT8         UsbBIOSINT13DeviceEmulation;
    259   UINT8         UsbBIOSINT13DeviceEmulationLockHide;
    260 
    261   //
    262   // BIOS INT13 Emulation Size for USB Mass Devices
    263   //
    264   UINT16        UsbBIOSINT13DeviceEmulationSize;
    265   UINT8         UsbBIOSINT13DeviceEmulationSizeLockHide;
    266 
    267   //
    268   // Dummy place holder to prevent VFR compiler problem.
    269   //
    270   UINT16        DummyDataForVfrBug;  // Don't change or use.
    271 
    272   //
    273   // Language Select
    274   //
    275   UINT8         LanguageSelect;
    276 
    277   //
    278   // SATA Type (Ide, Ahci, Raid)
    279   //
    280   UINT8         SataType;
    281   UINT8         SataTypeLockHide;
    282   UINT8         SataTestMode;
    283 
    284   //
    285   // Fixed Disk Boot Sector (Fdbs)
    286   //
    287   UINT8         Fdbs;
    288   UINT8         FdbsLockHide;
    289 
    290   //
    291   // DisplaySetupPrompt
    292   //
    293   UINT8         DisplaySetupPrompt;
    294   UINT8         DisplaySetupPromptLockHide;
    295 
    296   //
    297   // ASF
    298   //
    299   UINT8         Asf;
    300   UINT8         AsfLockHide;
    301 
    302   //
    303   // Event Logging
    304   //
    305   UINT8         EventLogging;
    306   UINT8         EventLoggingLockHide;
    307 
    308   //
    309   // Clear Event Log
    310   //
    311   UINT8         ClearEvents;
    312   UINT8         ClearEventsLockHide;
    313 
    314   //
    315   // Expansion Card Text
    316   //
    317   UINT8         ExpansionCardText;
    318   UINT8         ExpansionCardTextLockHide;
    319 
    320   //
    321   // Video Adaptor
    322   //
    323   UINT8         PrimaryVideoAdaptor;
    324   UINT8         PrimaryVideoAdaptorLockHide;
    325 
    326   //
    327   // Chassis intrusion
    328   //
    329   UINT8         IntruderDetection;
    330   UINT8         IntruderDetectionLockHide;
    331 
    332   //
    333   // User Access Level
    334   //
    335   UINT8         UserPasswordLevel;
    336   UINT8         UserPasswordLevelLockHide;
    337 
    338   //
    339   // Maximum FSB Automatic/Disable
    340   //
    341   UINT8         MaxFsb;
    342   UINT8         MaxFsbLockHide;
    343 
    344   //
    345   // Hard Disk Pre-delay
    346   //
    347   UINT8         HddPredelay;
    348   UINT8         HddPredelayLockHide;
    349 
    350   //
    351   // S.M.A.R.T. Mode
    352   //
    353   UINT8         SmartMode;
    354   UINT8         SmartModeLockHide;
    355 
    356   //
    357   // ACPI Suspend State
    358   //
    359   UINT8         AcpiSuspendState;
    360   UINT8         AcpiSuspendStateLockHide;
    361 
    362   //
    363   // PCI Latency Timer
    364   //
    365   UINT8         PciLatency;
    366   UINT8         PciLatencyLockHide;
    367 
    368   //
    369   // Fan Control
    370   //
    371   UINT8         FanControl;
    372   UINT8         FanControlLockHide;
    373 
    374   //
    375   // CPU Fan Control
    376   //
    377   UINT8         CpuFanControl;
    378   UINT8         CpuFanControlLockHide;
    379 
    380   //
    381   // Lowest Fan Speed
    382   //
    383   UINT8         LowestFanSpeed;
    384   UINT8         LowestFanSpeedLockHide;
    385 
    386   //
    387   // Processor (CPU)
    388   //
    389   UINT8         CpuFlavor;
    390 
    391   UINT8         CpuidMaxValue;
    392   UINT8         CpuidMaxValueLockHide;
    393 
    394   UINT8         ExecuteDisableBit;
    395   UINT8         ExecuteDisableBitLockHide;
    396 
    397   //
    398   // EIST or GV3 setup option
    399   //
    400   UINT8         ProcessorEistEnable;
    401   UINT8         ProcessorEistEnableLockHide;
    402 
    403   //
    404   // C1E Enable
    405   //
    406   UINT8         ProcessorC1eEnable;
    407   UINT8         ProcessorC1eEnableLockHide;
    408 
    409   //
    410   // Enabling CPU C-States of processor
    411   //
    412   UINT8         ProcessorCcxEnable;
    413   UINT8         ProcessorCcxEnableLockHide;
    414 
    415   //
    416   // Package C-State Limit
    417   //
    418   UINT8         PackageCState;
    419   UINT8         PackageCStateLockHide;
    420 
    421   //
    422   // Enable/Disable NHM C3(ACPI C2) report to OS
    423   //
    424   UINT8         OSC2Report;
    425   UINT8         OSC2ReportLockHide;
    426 
    427   //
    428   // Enable/Disable NHM C6(ACPI C3) report to OS
    429   //
    430   UINT8         C6Enable;
    431   UINT8         C6EnableLockHide;
    432 
    433   //
    434   // Enable/Disable NHM C7(ACPI C3) report to OS
    435   //
    436   UINT8         C7Enable;
    437   UINT8         C7EnableLockHide;
    438 
    439   //
    440   // EIST/PSD Function select option
    441   //
    442   UINT8         ProcessorEistPsdFunc;
    443   UINT8         ProcessorEistPsdFuncLockHide;
    444 
    445   //
    446   //
    447   //
    448   UINT8         CPU00;
    449   UINT8         CPU01;
    450 
    451   //
    452   //
    453   //
    454   UINT8         CPU02;
    455   UINT8         CPU03;
    456 
    457   //
    458   //
    459   //
    460   UINT8         CPU04;
    461   UINT8         CPU05;
    462 
    463   //
    464   //
    465   //
    466   UINT8         CPU06;
    467   UINT8         CPU07;
    468 
    469   //
    470   //
    471   //
    472   UINT8         CPU08;
    473   UINT8         CPU09;
    474 
    475   //
    476   //
    477   //
    478   UINT8         CPU10;
    479   UINT8         CPU11;
    480 
    481   //
    482   //
    483   //
    484   UINT8         CPU12;
    485   UINT8         CPU13;
    486 
    487   //
    488   //
    489   //
    490   UINT8         CPU14;
    491   UINT8         CPU15;
    492 
    493   //
    494   //
    495   //
    496   UINT8         CPU16;
    497   UINT8         CPU17;
    498 
    499   //
    500   //
    501   //
    502   UINT8         CPU18;
    503   UINT8         CPU19;
    504 
    505   //
    506   //
    507   //
    508   UINT8         CPU20;
    509   UINT8         CPU21;
    510 
    511   //
    512   //
    513   //
    514   UINT8         CPU22;
    515   UINT8         CPU23;
    516 
    517   //
    518   //
    519   //
    520   UINT8         CPU24;
    521   UINT8         CPU25;
    522 
    523   //
    524   //
    525   //
    526   UINT8         CPU26;
    527   UINT8         CPU27;
    528 
    529   //
    530   //
    531   //
    532   UINT8         CPU28;
    533   UINT8         CPU29;
    534 
    535   //
    536   //
    537   //
    538   UINT8         CPU30;
    539   UINT8         CPU31;
    540 
    541   //
    542   //
    543   //
    544   UINT8         CPU32;
    545   UINT8         CPU33;
    546 
    547   //
    548   //
    549   //
    550   UINT8         CPU34;
    551   UINT8         CPU35;
    552 
    553   //
    554   //
    555   //
    556   UINT8         CPU36;
    557   UINT8         CPU37;
    558 
    559   //
    560   //
    561   //
    562   UINT8         CPU38;
    563   UINT8         CPU39;
    564 
    565   //
    566   //
    567   //
    568   UINT16        CPU40;
    569   UINT8         CPU41;
    570 
    571   //
    572   //
    573   //
    574   UINT8         CPU42;
    575   UINT8         CPU43;
    576 
    577   //
    578   //
    579   //
    580   UINT16        CPU44;
    581   UINT8         CPU45;
    582 
    583   //
    584   //
    585   //
    586   UINT8         CPU46;
    587   UINT8         CPU47;
    588 
    589   //
    590   //
    591   //
    592   UINT8         CPU48;
    593   UINT8         CPU49;
    594 
    595   //
    596   //
    597   //
    598   UINT8         CPU50;
    599   UINT8         CPU51;
    600 
    601   //
    602   //
    603   //
    604   UINT8         CPU52;
    605   UINT8         CPU53;
    606 
    607   //
    608   //
    609   //
    610   UINT8         CPU54;
    611   UINT8         CPU55;
    612 
    613   //
    614   //
    615   //
    616   UINT8         CPU56;
    617   UINT8         CPU57;
    618 
    619   //
    620   //
    621   //
    622   UINT8         CPU58;
    623   UINT8         CPU59;
    624 
    625   //
    626   //
    627   //
    628   UINT8         CPU60;
    629   UINT8         CPU61;
    630 
    631   //
    632   //
    633   //
    634   UINT8         CPU62;
    635   UINT8         CPU63;
    636 
    637   //
    638   //
    639   //
    640   UINT8         CPU64;
    641   UINT8         CPU65;
    642 
    643   //
    644   //
    645   //
    646   UINT8         CPU66;
    647   UINT8         CPU67;
    648 
    649   //
    650   //
    651   //
    652   UINT16        CPU68;
    653   UINT8         CPU69;
    654 
    655   //
    656   //
    657   //
    658   UINT16        CPU70;
    659 
    660   //
    661   //
    662   //
    663   UINT8         CPU71;
    664 
    665   //
    666   //
    667   //
    668   UINT8         MEM00;
    669   UINT8         MEM01;
    670 
    671   //
    672   //
    673   //
    674   UINT8         MEM02;
    675   UINT8         MEM03;
    676 
    677   UINT16        MEM04;
    678   UINT8         MEM05;
    679 
    680   UINT8         MEM06;
    681   UINT8         MEM07;
    682 
    683   UINT8         MEM08;
    684   UINT8         MEM09;
    685 
    686   UINT8         MEM10;
    687   UINT8         MEM11;
    688 
    689   UINT8         MEM12;
    690   UINT8         MEM13;
    691 
    692   UINT8         MEM14;
    693   UINT8         MEM15;
    694 
    695   UINT8         MEM16;
    696   UINT8         MEM17;
    697 
    698   UINT16        MEM18;
    699   UINT8         MEM19;
    700 
    701   UINT8         MEM20;
    702   UINT8         MEM21;
    703 
    704   UINT8         MEM22;
    705   UINT8         MEM23;
    706 
    707   UINT8         MEM24;
    708   UINT8         MEM25;
    709 
    710   UINT8         MEM26;
    711   UINT8         MEM27;
    712 
    713   UINT8         MEM28;
    714   UINT8         MEM29;
    715 
    716   UINT8         MEM30;
    717   UINT8         MEM31;
    718 
    719   UINT8         MEM32;
    720   UINT8         MEM33;
    721 
    722   UINT8         MEM34;
    723   UINT8         MEM35;
    724 
    725   //
    726   //
    727   //
    728   UINT8         MEM36;
    729   UINT8         MEM37;
    730   UINT8         MEM38;
    731   UINT8         MEM39;
    732 
    733   //
    734   //
    735   //
    736   UINT8         MEM40;
    737   UINT8         MEM41;
    738   UINT8         MEM42;
    739   UINT8         MEM43;
    740   UINT8         MEM44;
    741   UINT8         MEM45;
    742   UINT8         MEM46;
    743   UINT8         MEM47;
    744 
    745 
    746   //
    747   // Port 80 decode 0/1 - PCI/LPC
    748   UINT8         Port80Route;
    749   UINT8         Port80RouteLockHide;
    750 
    751   //
    752   // ECC Event Logging
    753   //
    754   UINT8         EccEventLogging;
    755   UINT8         EccEventLoggingLockHide;
    756 
    757   //
    758   // TPM Enable/Disable
    759   //
    760   UINT8         ETpm;
    761 
    762   //
    763   // TPM question  0 = Disabled, 1 = Enabled
    764   //
    765   UINT8         ETpmClear;
    766 
    767   //
    768   // Secondary SATA Controller question  0 = Disabled, 1 = Enabled
    769   //
    770   UINT8         ExtSata;
    771   UINT8         ExtSataLockHide;
    772 
    773   //
    774   // Mode selection for Secondary SATA Controller (0=IDE, 1=RAID)
    775   //
    776   UINT8         ExtSataMode;
    777   UINT8         ExtSataModeLockHide;
    778 
    779   //
    780   // LT Technology 0/1 -> Disable/Enable
    781   //
    782   UINT8         LtTechnology;
    783   UINT8         LtTechnologyLockHide;
    784 
    785   //
    786   // HPET Support 0/1 -> Disable/Enable
    787   //
    788   UINT8         Hpet;
    789   UINT8         HpetLockHide;
    790 
    791   //
    792   // ICH Function Level Reset enable/disable
    793   //
    794   UINT8         FlrCapability;
    795   UINT8         FlrCapabilityLockHide;
    796 
    797   // VT-d Option
    798   UINT8         VTdSupport;
    799   UINT8         VTdSupportLockHide;
    800 
    801   UINT8         InterruptRemap;
    802   UINT8         InterruptRemapLockHide;
    803 
    804   UINT8         Isoc;
    805   UINT8         IsocLockHide;
    806 
    807   UINT8         CoherencySupport;
    808   UINT8         CoherencySupportLockHide;
    809 
    810   UINT8         ATS;
    811   UINT8         ATSLockHide;
    812 
    813   UINT8         PassThroughDma;
    814   UINT8         PassThroughDmaLockHide;
    815 
    816   //
    817   // IGD option
    818   //
    819   UINT8         GraphicsDriverMemorySize;
    820   UINT8         GraphicsDriverMemorySizeLockHide;
    821 
    822 
    823   //
    824   // Discrete SATA Type (Ide, Raid, Ahci)
    825   //
    826   UINT8         ExtSataMode2;
    827   UINT8         ExtSataMode2LockHide;
    828 
    829   UINT8         ProcessorReserve00;
    830   UINT8         ProcessorReserve01;
    831 
    832   //
    833   // IGD Aperture Size question
    834   //
    835   UINT8         IgdApertureSize;
    836   UINT8         IgdApertureSizeLockHide;
    837 
    838   //
    839   // Boot Display Device
    840   //
    841   UINT8         BootDisplayDevice;
    842   UINT8         BootDisplayDeviceLockHide;
    843 
    844 
    845   //
    846   // System fan speed duty cycle
    847   //
    848   UINT8         SystemFanDuty;
    849   UINT8         SystemFanDutyLockHide;
    850 
    851 
    852   //
    853   // S3 state LED indicator
    854   //
    855   UINT8         S3StateIndicator;
    856   UINT8         S3StateIndicatorLockHide;
    857 
    858   //
    859   // S1 state LED indicator
    860   //
    861   UINT8         S1StateIndicator;
    862   UINT8         S1StateIndicatorLockHide;
    863 
    864   //
    865   // PS/2 Wake from S5
    866   //
    867   UINT8         WakeOnS5Keyboard;
    868   UINT8         WakeOnS5KeyboardLockHide;
    869 
    870 
    871   //
    872   // SATA Controller question  0 = Disabled, 1 = Enabled
    873   //
    874   UINT8         Sata;
    875   UINT8         SataLockHide;
    876 
    877   //
    878   // PS2 port
    879   //
    880   UINT8         PS2;
    881 
    882   //
    883   // No VideoBeep
    884   //
    885   UINT8         NoVideoBeepEnable;
    886 
    887   //
    888   // Integrated Graphics Device
    889   //
    890   UINT8         Igd;
    891 
    892   //
    893   // Video Device select order
    894   //
    895   UINT8         VideoSelectOrder[8];
    896 
    897   // Flash update sleep delay
    898   UINT8         FlashSleepDelay;
    899   UINT8         FlashSleepDelayLockHide;
    900 
    901   //
    902   // Boot Display Device2
    903   //
    904   UINT8         BootDisplayDevice2;
    905   UINT8         BootDisplayDevice2LockHide;
    906 
    907   //
    908   // Flat Panel
    909   //
    910   UINT8         EdpInterfaceType;
    911   UINT8         EdpInterfaceTypeLockHide;
    912 
    913   UINT8         LvdsInterfaceType;
    914   UINT8         LvdsInterfaceTypeLockHide;
    915 
    916   UINT8         ColorDepth;
    917   UINT8         ColorDepthLockHide;
    918 
    919   UINT8         EdidConfiguration;
    920   UINT8         EdidConfigurationLockHide;
    921 
    922   UINT8         PwmReserved;
    923   UINT8         MaxInverterPWMLockHide;
    924 
    925   UINT8         PreDefinedEdidConfiguration;
    926   UINT8         PreDefinedEdidConfigurationLockHide;
    927 
    928   UINT16        ScreenBrightnessResponseTime;
    929   UINT8         ScreenBrightnessResponseTimeLockHide;
    930 
    931   UINT8         Serial3;
    932   UINT8         Serial3LockHide;
    933 
    934   UINT8         Serial4;
    935   UINT8         Serial4LockHide;
    936 
    937   UINT8         CurrentSetupProfile;
    938   UINT8         CurrentSetupProfileLockHide;
    939 
    940   //
    941   // FSC system Variable
    942   //
    943   UINT8         CPUFanUsage;
    944   UINT8         CPUFanUsageLockHide;
    945   UINT16        CPUUnderSpeedthreshold;
    946   UINT8         CPUUnderSpeedthresholdLockHide;
    947   UINT8         CPUFanControlMode;
    948   UINT8         CPUFanControlModeLockHide;
    949   UINT16        Voltage12UnderVolts;
    950   UINT8         Voltage12UnderVoltsLockHide;
    951   UINT16        Voltage12OverVolts;
    952   UINT8         Voltage12OverVoltsLockHide;
    953   UINT16        Voltage5UnderVolts;
    954   UINT8         Voltage5UnderVoltsLockHide;
    955   UINT16        Voltage5OverVolts;
    956   UINT8         Voltage5OverVoltsLockHide;
    957   UINT16        Voltage3p3UnderVolts;
    958   UINT8         Voltage3p3UnderVoltsLockHide;
    959   UINT16        Voltage3p3OverVolts;
    960   UINT8         Voltage3p3OverVoltsLockHide;
    961   UINT16        Voltage2p5UnderVolts;
    962   UINT8         Voltage2p5UnderVoltsLockHide;
    963   UINT16        Voltage2p5OverVolts;
    964   UINT8         Voltage2p5OverVoltsLockHide;
    965   UINT16        VoltageVccpUnderVolts;
    966   UINT8         VoltageVccpUnderVoltsLockHide;
    967   UINT16        VoltageVccpOverVolts;
    968   UINT8         VoltageVccpOverVoltsLockHide;
    969   UINT16        Voltage5BackupUnderVolts;
    970   UINT8         Voltage5BackupUnderVoltsLockHide;
    971   UINT16        Voltage5BackupOverVolts;
    972   UINT8         Voltage5BackupOverVoltsLockHide;
    973   UINT16        VS3p3StbyUnderVolt;
    974   UINT8         VS3p3StbyUnderVoltLockHide;
    975   UINT16        VS3p3StbyOverVolt;
    976   UINT8         VS3p3StbyOverVoltLockHide;
    977   UINT8         CPUFanMinDutyCycle;
    978   UINT8         CPUFanMinDutyCycleLockHide;
    979   UINT8         CPUFanMaxDutyCycle;
    980   UINT8         CPUFanMaxDutyCycleLockHide;
    981   UINT8         CPUFanOnDutyCycle;
    982   UINT8         CPUFanOnDutyCycleLockHide;
    983   UINT16        CpuOverTemp;
    984   UINT8         CpuOverTempLockHide;
    985   UINT16        CpuControlTemp;
    986   UINT8         CpuControlTempLockHide;
    987   UINT16        CpuAllOnTemp;
    988   UINT8         CpuAllOnTempLockHide;
    989   UINT8         CpuResponsiveness;
    990   UINT8         CpuResponsivenessLockHide;
    991   UINT8         CpuDamping;
    992   UINT8         CpuDampingLockHide;
    993   UINT16        PchOverTemp;
    994   UINT8         PchOverTempLockHide;
    995   UINT16        PchControlTemp;
    996   UINT8         PchControlTempLockHide;
    997   UINT16        PchAllOnTemp;
    998   UINT8         PchAllOnTempLockHide;
    999   UINT8         PchResponsiveness;
   1000   UINT8         PchResponsivenessLockHide;
   1001   UINT8         PchDamping;
   1002   UINT8         PchDampingLockHide;
   1003   UINT16        MemoryOverTemp;
   1004   UINT8         MemoryOverTempLockHide;
   1005   UINT16        MemoryControlTemp;
   1006   UINT8         MemoryControlTempLockHide;
   1007   UINT16        MemoryAllOnTemp;
   1008   UINT8         MemoryAllOnTempLockHide;
   1009   UINT8         MemoryResponsiveness;
   1010   UINT8         MemoryResponsivenessLockHide;
   1011   UINT8         MemoryDamping;
   1012   UINT8         MemoryDampingLockHide;
   1013   UINT16        VROverTemp;
   1014   UINT8         VROverTempLockHide;
   1015   UINT16        VRControlTemp;
   1016   UINT8         VRControlTempLockHide;
   1017   UINT16        VRAllOnTemp;
   1018   UINT8         VRAllOnTempLockHide;
   1019   UINT8         VRResponsiveness;
   1020   UINT8         VRResponsivenessLockHide;
   1021   UINT8         VRDamping;
   1022   UINT8         VRDampingLockHide;
   1023 
   1024   UINT8         LvdsBrightnessSteps;
   1025   UINT8         LvdsBrightnessStepsLockHide;
   1026   UINT8         EdpDataRate;
   1027   UINT8         EdpDataRateLockHide;
   1028   UINT16        LvdsPowerOnToBacklightEnableDelayTime;
   1029   UINT8         LvdsPowerOnToBacklightEnableDelayTimeLockHide;
   1030   UINT16        LvdsPowerOnDelayTime;
   1031   UINT8         LvdsPowerOnDelayTimeLockHide;
   1032   UINT16        LvdsBacklightOffToPowerDownDelayTime;
   1033   UINT8         LvdsBacklightOffToPowerDownDelayTimeLockHide;
   1034   UINT16        LvdsPowerDownDelayTime;
   1035   UINT8         LvdsPowerDownDelayTimeLockHide;
   1036   UINT16        LvdsPowerCycleDelayTime;
   1037   UINT8         LvdsPowerCycleDelayTimeLockHide;
   1038 
   1039   UINT8         IgdFlatPanel;
   1040   UINT8         IgdFlatPanelLockHide;
   1041   UINT8         Lan2;
   1042   UINT8         Lan2LockHide;
   1043 
   1044   UINT8         SwapMode;
   1045   UINT8         SwapModeLockHide;
   1046 
   1047   UINT8         Sata0HotPlugCap;
   1048   UINT8         Sata0HotPlugCapLockHide;
   1049   UINT8         Sata1HotPlugCap;
   1050   UINT8         Sata1HotPlugCapLockHide;
   1051 
   1052   UINT8         UsbCharging;
   1053   UINT8         UsbChargingLockHide;
   1054 
   1055   UINT8         Cstates;
   1056   UINT8         EnableC4;
   1057   UINT8         EnableC6;
   1058 
   1059   UINT8          FastBoot;
   1060   UINT8          EfiNetworkSupport;
   1061   UINT8          PxeRom;
   1062 
   1063   //Add for PpmPlatformPlicy
   1064   UINT8          PPM00;
   1065   UINT8          PPM01;
   1066   UINT8          PPM02;
   1067   UINT8          PPM03;
   1068   UINT8          PPM04;
   1069   UINT8          PPM05;
   1070   UINT8          PPM06;
   1071   UINT8          PPM07;
   1072   UINT8          PPM08;
   1073   UINT8          PPM09;
   1074   UINT8          PPM10;
   1075   UINT8          QuietBoot;
   1076   UINT8          LegacyUSBBooting;
   1077 
   1078   UINT8          PwmReserved02;
   1079   //
   1080   // Thermal Policy Values
   1081   //
   1082   UINT8           EnableDigitalThermalSensor;
   1083   UINT8           PassiveThermalTripPoint;
   1084   UINT8           PassiveTc1Value;
   1085   UINT8           PassiveTc2Value;
   1086   UINT8           PassiveTspValue;
   1087   UINT8           DisableActiveTripPoints;
   1088   UINT8           CriticalThermalTripPoint;
   1089   UINT8           IchPciExp[4];
   1090   UINT8           DeepStandby;
   1091   UINT8           AlsEnable;
   1092   UINT8           IgdLcdIBia;
   1093   UINT8           LogBootTime;
   1094 
   1095 
   1096   UINT8           PcieRootPortIOApic[4];
   1097   UINT8           IffsEnable;
   1098   UINT8           IffsOnS3RtcWake;
   1099   UINT8           IffsS3WakeTimerMin;
   1100   UINT8           IffsOnS3CritBattWake;
   1101   UINT8           IffsCritBattWakeThreshold;
   1102   UINT8           ScramblerSupport;
   1103   UINT8           SecureBoot;
   1104   UINT8           SecureBootCustomMode;
   1105   UINT8           SecureBootUserPhysicalPresent;
   1106   UINT8           CoreFreMultipSelect;
   1107   UINT8           MaxCState;
   1108   UINT8           PanelScaling;
   1109   UINT8           IgdLcdIGmchBlc;
   1110   UINT8           GfxBoost;
   1111   UINT8           IgdThermal;
   1112   UINT8           SEC00;
   1113   UINT8           fTPM;
   1114   UINT8           SEC02;
   1115   UINT8           SEC03;
   1116   UINT8           MeasuredBootEnable;
   1117   UINT8           UseProductKey;
   1118   //Image Signal Processor PCI Device Configuration
   1119   //
   1120   UINT8         ISPDevSel;
   1121   UINT8         ISPEn;
   1122   // Passwords
   1123   UINT16          UserPassword[PASSWORD_MAX_SIZE];
   1124   UINT16          AdminPassword[PASSWORD_MAX_SIZE];
   1125   UINT8           Tdt;
   1126   UINT8           Recovery;
   1127   UINT8           Suspend;
   1128   UINT8           TdtState;
   1129   UINT8           TdtEnrolled;
   1130   UINT8           PBAEnable;
   1131 
   1132   UINT8           HpetBootTime;
   1133   UINT8           UsbDebug;
   1134   UINT8           Lpe;
   1135   //
   1136   // LPSS Configuration
   1137   //
   1138   UINT8           LpssPciModeEnabled;
   1139   //Scc
   1140   UINT8           LpsseMMCEnabled;
   1141   UINT8           LpssSdioEnabled;
   1142   UINT8           LpssSdcardEnabled;
   1143   UINT8           LpssSdCardSDR25Enabled;
   1144   UINT8           LpssSdCardDDR50Enabled;
   1145   UINT8           LpssMipiHsi;
   1146   UINT8           LpsseMMC45Enabled;
   1147   UINT8           LpsseMMC45DDR50Enabled;
   1148   UINT8           LpsseMMC45HS200Enabled;
   1149   UINT8           LpsseMMC45RetuneTimerValue;
   1150   UINT8           eMMCBootMode;
   1151 
   1152   //LPSS2
   1153   UINT8           LpssDma1Enabled;
   1154   UINT8           LpssI2C0Enabled;
   1155   UINT8           LpssI2C1Enabled;
   1156   UINT8           LpssI2C2Enabled;
   1157   UINT8           LpssI2C3Enabled;
   1158   UINT8           LpssI2C4Enabled;
   1159   UINT8           LpssI2C5Enabled;
   1160   UINT8           LpssI2C6Enabled;
   1161   //LPSS1
   1162   UINT8           LpssDma0Enabled;
   1163   UINT8           LpssPwm0Enabled;
   1164   UINT8           LpssPwm1Enabled;
   1165   UINT8           LpssHsuart0Enabled;
   1166   UINT8           LpssHsuart1Enabled;
   1167   UINT8           LpssSpiEnabled;
   1168   UINT8           I2CTouchAd;
   1169 
   1170   UINT8   GTTSize;
   1171   //
   1172   // DVMT5.0 Graphic memory setting
   1173   //
   1174   UINT8   IgdDvmt50PreAlloc;
   1175   UINT8   IgdDvmt50TotalAlloc;
   1176   UINT8   IgdTurboEnabled;
   1177 
   1178   //
   1179   // Usb Config
   1180   //
   1181   UINT8   UsbAutoMode;       // PCH controller Auto mode
   1182   UINT8   UsbXhciSupport;
   1183   UINT8   Hsic0;
   1184   UINT8   PchUsb30Mode;
   1185   UINT8   PchUsb30Streams;
   1186   UINT8   PchUsb20;
   1187   UINT8   PchUsbPerPortCtl;
   1188   UINT8   PchUsbPort[8];
   1189   UINT8   PchUsbRmh;
   1190   UINT8   PchUsbOtg;
   1191   UINT8   PchUsbVbusOn;       //OTG VBUS control
   1192   UINT8   PchFSAOn;       //FSA control
   1193   UINT8   EhciPllCfgEnable;
   1194 
   1195 
   1196   //Gbe
   1197   UINT8         PcieRootPortSpeed[PCH_PCIE_MAX_ROOT_PORTS];
   1198   UINT8   SlpLanLowDc;
   1199 
   1200   UINT8   ISCT00;
   1201   UINT8   ISCT01;
   1202   UINT8   ISCT02;
   1203   UINT8   ISCT03;
   1204   UINT8    ISCT04;
   1205   UINT8    ISCT05;
   1206   UINT8    ISCT06;
   1207   UINT8    ISCT07;
   1208   //
   1209   // Azalia Configuration
   1210   //
   1211   UINT8   PchAzalia;
   1212   UINT8   AzaliaVCiEnable;
   1213   UINT8   AzaliaDs;
   1214   UINT8   AzaliaPme;
   1215   UINT8   HdmiCodec;
   1216 
   1217   UINT8   UartInterface;
   1218   UINT8   PcuUart1;
   1219   //UINT8   PcuUart2;//for A0
   1220   UINT8   StateAfterG3;
   1221   UINT8   EnableClockSpreadSpec;
   1222   UINT8   GraphicReserve00;
   1223   UINT8   GOPEnable;
   1224   UINT8   GOPBrightnessLevel;                     //Gop Brightness level
   1225   UINT8   PavpMode;
   1226   UINT8   SEC04;
   1227   UINT8   SEC05;
   1228   UINT8   SEC06;
   1229   UINT8   SEC07;
   1230 
   1231   UINT8   HdmiCodecPortB;
   1232   UINT8   HdmiCodecPortC;
   1233   UINT8   HdmiCodecPortD;
   1234   UINT8   LidStatus;
   1235   UINT8   Reserved00;
   1236   UINT8   Reserved01;
   1237   UINT16  Reserved02;
   1238   UINT16  Reserved03;
   1239   UINT16  Reserved04;
   1240   UINT16  Reserved05;
   1241   UINT16  Reserved06;
   1242   UINT16  Reserved07;
   1243   UINT16  Reserved08;
   1244   UINT16  Reserved09;
   1245   UINT16  Reserved0A;
   1246   UINT16  Reserved0B;
   1247   UINT16  Reserved0C;
   1248   UINT16  Reserved0D;
   1249   UINT8   Reserved0E;
   1250   UINT8   Reserved0F;
   1251   UINT32  Reserved10;
   1252   UINT32  Reserved11;
   1253   UINT32  Reserved12;
   1254   UINT32  Reserved13;
   1255   UINT32  Reserved14;
   1256   UINT8   Reserved15;
   1257   UINT8   Reserved16;
   1258   UINT8   Reserved17;
   1259   UINT8   Reserved18;
   1260   UINT8   Reserved19;
   1261   UINT8   Reserved1A;
   1262   UINT8   Reserved1B;
   1263   UINT8   Reserved1C;
   1264   UINT8   Reserved1D;
   1265   UINT8   Reserved1E;
   1266   UINT8   Reserved1F;
   1267   UINT8   Reserved20;
   1268   UINT8   PmicEnable;
   1269   UINT8   IdleReserve;
   1270   UINT8   TSEGSizeSel;
   1271   UINT8   ACPIMemDbg;
   1272   UINT8    ExISupport;
   1273   UINT8   BatteryChargingSolution;                 //0-non ULPMC 1-ULPMC
   1274   UINT8   PnpSettings;
   1275   UINT8   CfioPnpSettings;
   1276   UINT8   PchEhciDebug;
   1277   UINT8   CRIDSettings;
   1278   UINT8   ULPMCFWLock;
   1279   UINT8   SpiRwProtect;
   1280   UINT8   GraphicReserve02;
   1281   UINT8   PDMConfig;
   1282   UINT16  LmMemSize;
   1283   UINT8   PunitBIOSConfig;
   1284   UINT8   LpssSdioMode;
   1285   UINT8   ENDBG2;
   1286   UINT8   WittEnable;
   1287   UINT8   UtsEnable;
   1288   UINT8   TristateLpc;
   1289   UINT8   GraphicReserve05;
   1290   UINT8   UsbXhciLpmSupport;
   1291   UINT8   EnableAESNI;
   1292   UINT8   SecureErase;
   1293 
   1294   UINT8   MmioSize;
   1295 
   1296 
   1297   UINT8   SAR1;
   1298 
   1299   UINT8   DisableCodec262;
   1300   UINT8   ReservedO;
   1301   UINT8   PcieDynamicGating;        // Need PMC enable it first from PMC 0x3_12 MCU 318.
   1302 
   1303   UINT8   MipiDsi;
   1304 
   1305   //Added flow control item for UART1 and UART2
   1306   UINT8  LpssHsuart0FlowControlEnabled;
   1307   UINT8  LpssHsuart1FlowControlEnabled;
   1308 
   1309   UINT8   SdCardRemovable; // ACPI reporting MMC/SD media as: removable/non-removable
   1310   UINT8   GpioWakeCapability;
   1311   UINT8   RtcBattery;
   1312   UINT8   LpeAudioReportedByDSDT;
   1313 
   1314 } SYSTEM_CONFIGURATION;
   1315 #pragma pack()
   1316 
   1317 #ifndef PLATFORM_SETUP_VARIABLE_NAME
   1318 #define PLATFORM_SETUP_VARIABLE_NAME             L"Setup"
   1319 #endif
   1320 
   1321 #pragma pack(1)
   1322 typedef struct{
   1323   // Passwords
   1324   UINT16        UserPassword[PASSWORD_MAX_SIZE];
   1325   UINT16        AdminPassword[PASSWORD_MAX_SIZE];
   1326   UINT16        DummyDataForVfrBug;  // Don't change or use
   1327 
   1328 } SYSTEM_PASSWORDS;
   1329 #pragma pack()
   1330 
   1331 //
   1332 // #defines for Drive Presence
   1333 //
   1334 #define EFI_HDD_PRESENT       0x01
   1335 #define EFI_HDD_NOT_PRESENT   0x00
   1336 #define EFI_CD_PRESENT        0x02
   1337 #define EFI_CD_NOT_PRESENT    0x00
   1338 
   1339 #define EFI_HDD_WARNING_ON    0x01
   1340 #define EFI_CD_WARNING_ON     0x02
   1341 #define EFI_SMART_WARNING_ON  0x04
   1342 #define EFI_HDD_WARNING_OFF   0x00
   1343 #define EFI_CD_WARNING_OFF    0x00
   1344 #define EFI_SMART_WARNING_OFF 0x00
   1345 
   1346 #ifndef VFRCOMPILE
   1347 extern EFI_GUID gEfiSetupVariableGuid;
   1348 #endif
   1349 
   1350 #define SETUP_DATA SYSTEM_CONFIGURATION
   1351 
   1352 #endif // #ifndef _SETUP_VARIABLE
   1353 
   1354