SetupVariable.h 28 KB

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