1 /*++ 2 3 Copyright (c) 2004 - 2014, 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 24 Module Name: 25 26 BoardFeatures.h 27 28 Abstract: 29 30 EFI Platform Board Features 31 32 33 34 --*/ 35 36 #ifndef BoardFeatures_h_included 37 #define BoardFeatures_h_included 38 39 #include <Base.h> 40 41 #pragma pack(1) 42 43 // 44 // Board Features 45 // 46 #if defined LEGACY_BOARD_FEATURES && LEGACY_BOARD_FEATURES 47 #define B_BOARD_FEATURES_CHIPSET_LAN BIT0 48 #define B_BOARD_FEATURES_LAN_MARVELL BIT1 49 #define B_BOARD_FEATURES_AA_NOT_FOUND BIT2 50 #define B_BOARD_FEATURES_SIO_NO_COM1 BIT3 51 #define B_BOARD_FEATURES_SIO_COM2 BIT4 52 #define B_BOARD_FEATURES_SIO_NO_PARALLEL BIT5 53 #define B_BOARD_FEATURES_CHIPSET_VIDEO BIT6 54 #define B_BOARD_FEATURES_CHIPSET_VIDEO_OPTION0 BIT7 55 #define B_BOARD_FEATURES_VIDEO_SLOT BIT8 56 #define B_BOARD_FEATURES_MINI_CARD BIT9 57 #define B_BOARD_FEATURES_DISCRETE_1394 BIT10 58 #define B_BOARD_FEATURES_LEGACY_FREE BIT11 59 #define B_BOARD_FEATURES_USB_HUB BIT12 60 #define B_BOARD_FEATURES_TPM BIT13 61 #define B_BOARD_FEATURES_VIIV BIT14 62 #define B_BOARD_FEATURES_FORM_FACTOR_MASK (BIT15|BIT16|BIT17|BIT18|BIT19) 63 #define B_BOARD_FEATURES_FORM_FACTOR_PBTX BIT15 64 #define B_BOARD_FEATURES_FORM_FACTOR_ATX BIT16 65 #define B_BOARD_FEATURES_FORM_FACTOR_BTX BIT17 66 #define B_BOARD_FEATURES_FORM_FACTOR_MICRO_ATX BIT18 67 #define B_BOARD_FEATURES_FORM_FACTOR_MICRO_BTX BIT19 68 #define B_BOARD_FEATURES_MEMORY_TYPE_DDR1 BIT20 69 #define B_BOARD_FEATURES_MEMORY_TYPE_DDR2 BIT21 70 #define B_BOARD_FEATURES_MEMORY_SLOT_MASK BIT23 | BIT22 71 #define V_BOARD_FEATURES_1_MEMORY_SLOT 0 // BIT22=0, BIT23=0 72 #define V_BOARD_FEATURES_2_MEMORY_SLOT BIT22 // BIT22=1, BIT23=0 73 #define V_BOARD_FEATURES_3_MEMORY_SLOT BIT23 // BIT22=0, BIT23=1 74 #define V_BOARD_FEATURES_4_MEMORY_SLOT BIT23 | BIT22 // BIT22=1, BIT23=1 75 #define B_BOARD_FEATURES_ALT_MEM_CLK_RT BIT24 76 #define B_BOARD_FEATURES_SLEEP_MASK BIT25 77 #define V_BOARD_FEATURES_SLEEP_S1 0 // BIT25=0 78 #define V_BOARD_FEATURES_SLEEP_S3 BIT25 // BIT25=1 79 #define B_BOARD_FEATURES_3JACK_AUDIO_SOLUTION BIT26 // 0/1= 5/3 Rear Jacks 80 #define B_BOARD_FEATURES_DISCRETE_SATA BIT27 81 #define B_BOARD_FEATURES_2_SATA BIT28 // 2SATA instead of 4(pre Ich8) or 4 SATA instead of 6(Ich8) 82 #define B_BOARD_FEATURES_RVP BIT29 // Board is an RVP board 83 #define B_BOARD_FEATURES_PORT80_LPC BIT30 // Port80 PCI(0) or LPC(1) 84 #define B_BOARD_FEATURES_LIMITED_CPU_SUPPORT BIT31 // Limited CPU support 85 #define B_BOARD_FEATURES_PMP_SUPPORT BIT32 // Support for over-voltaging memory 86 #define B_BOARD_FEATURES_HW_WATCHDOG_TIMER BIT33 // Support for the HW-based 555 Watchdog Timer feature 87 #define B_BOARD_FEATURES_NO_QRT BIT34 // disable QRT 88 #define B_BOARD_FEATURES_VERB_TABLE1 BIT35 // Verb table 1 89 #define B_BOARD_FEATURES_VERB_TABLE2 BIT36 // Verb table 2 90 #define B_BOARD_FEATURES_VERB_TABLE3 BIT37 // Verb table 3 91 #define B_BOARD_FEATURES_VERB_TABLE4 BIT38 // Verb table 4 92 #define B_BOARD_FEATURES_VERB_TABLE5 BIT39 // Reserved for Verb table 5 93 #define B_BOARD_FEATURES_VERB_TABLE_MASK BIT35 | BIT36 | BIT37 | BIT38 | BIT39 94 #define B_BOARD_FEATURES_KENTSFIELD_BLOCK BIT40 // Kentsfield not supported 95 #define B_BOARD_FEATURES_KENTSFIELD_WARNING BIT41 // Kentsfield warning 96 #define B_BOARD_FEATURES_ESATA_PORT0 BIT42 // E-SATA on Port0 97 #define B_BOARD_FEATURES_ESATA_PORT1 BIT43 // E-SATA on Port1 98 #define B_BOARD_FEATURES_ESATA_PORT2 BIT44 // E-SATA on Port2 99 #define B_BOARD_FEATURES_ESATA_PORT3 BIT45 // E-SATA on Port3 100 #define B_BOARD_FEATURES_ESATA_PORT4 BIT46 // E-SATA on Port4 101 #define B_BOARD_FEATURES_ESATA_PORT5 BIT47 // E-SATA on Port5 102 #define B_BOARD_FEATURES_ECIR BIT48 // Enhanced Consumer IR 103 #define B_BOARD_FEATURES_PS2WAKEFROMS5 BIT49 // Wake from S5 via PS2 keyboard 104 #define B_BOARD_FEATURES_HDAUDIOLINK BIT50 // HD audio link support 105 #define B_BOARD_FEATURES_1_PATA BIT51 106 #define B_BOARD_FEATURES_MOBILE BIT52 107 #define B_BOARD_FEATURES_NO_FLOPPY BIT53 108 #define B_BOARD_FEATURES_DISABLE_UNUSED_FSB BIT54 109 110 // 111 // Bit 55-58 reserved by PSID support. CPU power requirement below are preliminary. 112 // They might be changed. 113 // This is not same as 8.6.1 products so be careful. 114 // 115 #define B_BOARD_FEATURES_CPU_POWER_BITNUM 55 116 #define B_BOARD_FEATURES_CPU_POWER_MASK (BIT55 | BIT56 | BIT57 | BIT58) 117 #define B_BOARD_FEATURES_CPU_POWER_35W 0 // Theoretically doesn't exist. 118 #define B_BOARD_FEATURES_CPU_POWER_40W BIT55 // 0001 119 #define B_BOARD_FEATURES_CPU_POWER_45W BIT56 // 0010 120 #define B_BOARD_FEATURES_CPU_POWER_50W (BIT55 | BIT56) // 0011 121 #define B_BOARD_FEATURES_CPU_POWER_65W BIT57 // 0100 Wolfdale-H/-M 122 #define B_BOARD_FEATURES_CPU_POWER_70W (BIT55 | BIT57) // 0101 123 #define B_BOARD_FEATURES_CPU_POWER_75W (BIT56 | BIT57) // 0110 124 #define B_BOARD_FEATURES_CPU_POWER_80W (BIT55 | BIT56 | BIT57) // 0111 125 #define B_BOARD_FEATURES_CPU_POWER_95W BIT58 // 1000 Yorkfield 126 #define B_BOARD_FEATURES_CPU_POWER_100W (BIT55 | BIT58) // 1001 127 #define B_BOARD_FEATURES_CPU_POWER_105W (BIT56 | BIT58) // 1010 128 #define B_BOARD_FEATURES_CPU_POWER_110W (BIT55 | BIT56 | BIT58) // 1011 129 #define B_BOARD_FEATURES_CPU_POWER_130W (BIT57 | BIT58) // 1100 XE Yorkfield 130 #define B_BOARD_FEATURES_CPU_POWER_135W (BIT55 | BIT57 | BIT58) // 1101 131 #define B_BOARD_FEATURES_CPU_POWER_Over135W (BIT56 | BIT57 | BIT58) // 1110 Reserved 132 #define B_BOARD_FEATURES_CPU_POWER_140W (BIT55 | BIT56 | BIT57 | BIT58) // 1111 Reserved 133 #define B_VV_BOARD_FEATURES BIT59 134 #define B_BOARD_FEATURES_IDCC2_SUPPORT BIT60 // Include IDCC2 support 135 #define B_BOARD_FEATURES_NO_SATA_PORT2_3 BIT61 // No SATA Port2&3 Connector, used with B_BOARD_FEATURES_2_SATA flag 136 #define B_BOARD_FEATURES_FORM_FACTOR_MINI_ITX BIT62 137 #define B_BOARD_FEATURES_NPI_QPI_VOLTAGE BIT63 138 139 #else 140 141 #define B_BOARD_FEATURES_CHIPSET_LAN BIT0 142 #define B_BOARD_FEATURES_CHIPSET_VIDEO BIT1 143 #define B_BOARD_FEATURES_VIDEO_SLOT BIT2 144 #define B_BOARD_FEATURES_AA_NOT_FOUND BIT3 145 #define B_BOARD_FEATURES_SIO_NO_COM1 BIT4 146 #define B_BOARD_FEATURES_SIO_COM2 BIT5 147 #define B_BOARD_FEATURES_SIO_NO_PARALLEL BIT6 148 #define B_BOARD_FEATURES_NO_FLOPPY BIT7 149 #define B_BOARD_FEATURES_PS2WAKEFROMS5 BIT8 // Wake from S5 via PS2 keyboard 150 #define B_BOARD_FEATURES_ECIR BIT9 // Enhanced Consumer IR 151 #define B_BOARD_FEATURES_LEGACY_FREE BIT10 152 #define B_BOARD_FEATURES_MINI_CARD BIT11 153 #define B_BOARD_FEATURES_DISCRETE_1394 BIT12 154 #define B_BOARD_FEATURES_USB_HUB BIT13 155 #define B_BOARD_FEATURES_TPM BIT14 156 #define B_BOARD_FEATURES_FORM_FACTOR_MASK (BIT15|BIT16|BIT17|BIT18|BIT19|BIT20) 157 #define B_BOARD_FEATURES_FORM_FACTOR_PBTX BIT15 158 #define B_BOARD_FEATURES_FORM_FACTOR_ATX BIT16 159 #define B_BOARD_FEATURES_FORM_FACTOR_BTX BIT17 160 #define B_BOARD_FEATURES_FORM_FACTOR_MICRO_ATX BIT18 161 #define B_BOARD_FEATURES_FORM_FACTOR_MICRO_BTX BIT19 162 #define B_BOARD_FEATURES_FORM_FACTOR_MINI_ITX BIT20 163 #define B_BOARD_FEATURES_MEMORY_TYPE_DDR2 BIT21 164 #define B_BOARD_FEATURES_MEMORY_TYPE_DDR3 BIT22 165 #define B_BOARD_FEATURES_MEMORY_SLOT_MASK (BIT24 | BIT23) 166 #define V_BOARD_FEATURES_1_MEMORY_SLOT 0 // BIT23=0, BIT24=0 167 #define V_BOARD_FEATURES_2_MEMORY_SLOT BIT23 // BIT23=1, BIT24=0 168 #define V_BOARD_FEATURES_3_MEMORY_SLOT BIT24 // BIT23=0, BIT24=1 169 #define V_BOARD_FEATURES_4_MEMORY_SLOT (BIT24 | BIT23) // BIT23=1, BIT24=1 170 #define B_BOARD_FEATURES_2_C0_MEMORY_SLOT BIT25 // 2 Channel 0 memory slot 171 #define B_BOARD_FEATURES_SLEEP_MASK BIT26 172 #define V_BOARD_FEATURES_SLEEP_S1 0 // BIT26=0 173 #define V_BOARD_FEATURES_SLEEP_S3 BIT26 // BIT26=1 174 #define B_BOARD_FEATURES_3JACK_AUDIO_SOLUTION BIT27 // 0/1= 5/3 Rear Jacks 175 #define B_BOARD_FEATURES_HDAUDIOLINK BIT28 // HD audio link support 176 #define B_BOARD_FEATURES_DISCRETE_SATA BIT29 177 #define B_BOARD_FEATURES_2_SATA BIT30 // 2SATA instead of 4(pre Ich8) or 4 SATA instead of 6(Ich8) 178 #define B_BOARD_FEATURES_NO_SATA_PORT2_3 BIT31 // No SATA Port2&3 Connector, used with B_BOARD_FEATURES_2_SATA flag 179 #define B_BOARD_FEATURES_RVP BIT32 // Board is an RVP board 180 #define B_BOARD_FEATURES_ESATA_PORT0 BIT33 // E-SATA on Port0 181 #define B_BOARD_FEATURES_ESATA_PORT1 BIT34 // E-SATA on Port1 182 #define B_BOARD_FEATURES_ESATA_PORT2 BIT35 // E-SATA on Port2 183 #define B_BOARD_FEATURES_ESATA_PORT3 BIT36 // E-SATA on Port3 184 #define B_BOARD_FEATURES_ESATA_PORT4 BIT37 // E-SATA on Port4 185 #define B_BOARD_FEATURES_ESATA_PORT5 BIT38 // E-SATA on Port5 186 #define B_BOARD_FEATURES_IDCC2_SUPPORT BIT39 // Include IDCC2 support 187 #define B_BOARD_FEATURES_NPI_QPI_VOLTAGE BIT40 188 #define B_BOARD_FEATURES_LIMITED_CPU_SUPPORT BIT41 // Limited CPU support 189 #define B_BOARD_FEATURES_PMP_SUPPORT BIT42 // Support for over-voltaging memory 190 #define B_BOARD_FEATURES_HW_WATCHDOG_TIMER BIT43 // Support for the HW-based 555 Watchdog Timer feature 191 #define B_BOARD_FEATURES_LVDS BIT44 // Support for LVDS 192 #define B_BOARD_FEATURES_VERB_TABLE_MASK (BIT45|BIT46|BIT47|BIT48) // Verb table 193 #define B_BOARD_FEATURES_VERB_TABLE1 BIT45 // Verb table 1 194 #define B_BOARD_FEATURES_VERB_TABLE2 BIT46 // Verb table 2 195 #define B_BOARD_FEATURES_VERB_TABLE3 BIT47 // Verb table 3 196 #define B_BOARD_FEATURES_VERB_TABLE4 BIT48 // Verb table 4 197 #define B_BOARD_FEATURES_NO_MINIPCIE BIT49 // Mini PCIe slot 198 #define B_BOARD_FEATURES_HDMI_SLOT BIT50 // HDMI slot 199 #define B_BOARD_FEATURES_PS2_HIDE BIT51 // PS2 hide 200 #define B_BOARD_FEATURES_DVID_SLOT BIT52 // DVID slot 201 202 #define B_BOARD_FEATURES_SIO_COM3 BIT53 203 #define B_BOARD_FEATURES_SIO_COM4 BIT54 204 205 #define B_BOARD_FEATURES_LAN2 BIT55 206 #define B_BOARD_FEATURES_PCIe_SLOT BIT56 207 #endif 208 209 typedef UINT64 EFI_BOARD_FEATURES; 210 211 #pragma pack() 212 213 // 214 // Global ID for the Platform Boot Mode Protocol. 215 // 216 #define EFI_BOARD_FEATURES_GUID \ 217 { 0x94b9e8ae, 0x8877, 0x479a, 0x98, 0x42, 0xf5, 0x97, 0x4b, 0x82, 0xce, 0xd3 } 218 219 extern EFI_GUID gEfiBoardFeaturesGuid; 220 221 #define BOARD_FEATURES_NAME L"BoardFeatures" 222 223 #define EFI_BOARD_ID_GUID \ 224 { 0x6b2dd245, 0x3f2, 0x414a, 0x8c, 0x2, 0x9f, 0xfc, 0x23, 0x52, 0xe3, 0x1e } 225 #define EFI_BOARD_ID_NAME (L"BoardId") 226 227 #endif 228 229