1 ## @file 2 # Public definitions for PcAtChipset package. 3 # 4 # This package is designed to public interfaces and implementation which follows 5 # PcAt defacto standard. 6 # 7 # Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR> 8 # 9 # This program and the accompanying materials 10 # are licensed and made available under the terms and conditions of the BSD License 11 # which accompanies this distribution. The full text of the license may be found at 12 # http://opensource.org/licenses/bsd-license.php 13 # 14 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 15 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 16 # 17 ## 18 19 [Defines] 20 DEC_SPECIFICATION = 0x00010005 21 PACKAGE_NAME = PcAtChipsetPkg 22 PACKAGE_UNI_FILE = PcAtChipsetPkg.uni 23 PACKAGE_GUID = B728689A-52D3-4b8c-AE89-2CE5514CC6DC 24 PACKAGE_VERSION = 0.3 25 26 [Includes] 27 Include 28 29 [LibraryClasses] 30 ## @libraryclass Provides functions to manage I/O APIC Redirection Table Entries. 31 # 32 IoApicLib|Include/Library/IoApicLib.h 33 34 [Guids] 35 gPcAtChipsetPkgTokenSpaceGuid = { 0x326ae723, 0xae32, 0x4589, { 0x98, 0xb8, 0xca, 0xc2, 0x3c, 0xdc, 0xc1, 0xb1 } } 36 37 # 38 # [Error.gPcAtChipsetPkgTokenSpaceGuid] 39 # 0x80000001 | Invalid value provided. 40 # 41 42 [PcdsFeatureFlag] 43 ## Indicates the HPET Timer will be configured to use MSI interrupts if the HPET timer supports them, or use I/O APIC interrupts.<BR><BR> 44 # TRUE - Configures the HPET Timer to use MSI interrupts if the HPET Timer supports them.<BR> 45 # FALSE - Configures the HPET Timer to use I/O APIC interrupts.<BR> 46 # @Prompt Configure HPET to use MSI. 47 gPcAtChipsetPkgTokenSpaceGuid.PcdHpetMsiEnable|TRUE|BOOLEAN|0x00001000 48 49 [PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx, PcdsPatchableInModule] 50 ## Pcd8259LegacyModeMask defines the default mask value for platform. This value is determined<BR><BR> 51 # 1) If platform only support pure UEFI, value should be set to 0xFFFF or 0xFFFE; 52 # Because only clock interrupt is allowed in legacy mode in pure UEFI platform.<BR> 53 # 2) If platform install CSM and use thunk module:<BR> 54 # a) If thunk call provided by CSM binary requires some legacy interrupt support, the corresponding bit 55 # should be opened as 0.<BR> 56 # For example, if keyboard interfaces provided CSM binary use legacy keyboard interrupt in 8259 bit 1, then 57 # the value should be set to 0xFFFC.<BR> 58 # b) If all thunk call provied by CSM binary do not require legacy interrupt support, value should be set 59 # to 0xFFFF or 0xFFFE.<BR> 60 # 61 # The default value of legacy mode mask could be changed by EFI_LEGACY_8259_PROTOCOL->SetMask(). But it is rarely 62 # need change it except some special cases such as when initializing the CSM binary, it should be set to 0xFFFF to 63 # mask all legacy interrupt. Please restore the original legacy mask value if changing is made for these special case.<BR> 64 # @Prompt 8259 Legacy Mode mask. 65 gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeMask|0xFFFF|UINT16|0x00000001 66 67 ## Pcd8259LegacyModeEdgeLevel defines the default edge level for legacy mode's interrrupt controller. 68 # For the corresponding bits, 0 = Edge triggered and 1 = Level triggered. 69 # @Prompt 8259 Legacy Mode edge level. 70 gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0000|UINT16|0x00000002 71 72 ## Indicates if we need enable IsaAcpiCom1 device.<BR><BR> 73 # TRUE - Enables IsaAcpiCom1 device.<BR> 74 # FALSE - Doesn't enable IsaAcpiCom1 device.<BR> 75 # @Prompt Enable IsaAcpiCom1 device. 76 gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiCom1Enable|TRUE|BOOLEAN|0x00000003 77 78 ## Indicates if we need enable IsaAcpiCom2 device.<BR><BR> 79 # TRUE - Enables IsaAcpiCom2 device.<BR> 80 # FALSE - Doesn't enable IsaAcpiCom2 device.<BR> 81 # @Prompt Enable IsaAcpiCom12 device. 82 gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiCom2Enable|TRUE|BOOLEAN|0x00000004 83 84 ## Indicates if we need enable IsaAcpiPs2Keyboard device.<BR><BR> 85 # TRUE - Enables IsaAcpiPs2Keyboard device.<BR> 86 # FALSE - Doesn't enable IsaAcpiPs2Keyboard device.<BR> 87 # @Prompt Enable IsaAcpiPs2Keyboard device. 88 gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiPs2KeyboardEnable|TRUE|BOOLEAN|0x00000005 89 90 ## Indicates if we need enable IsaAcpiPs2Mouse device.<BR><BR> 91 # TRUE - Enables IsaAcpiPs2Mouse device.<BR> 92 # FALSE - Doesn't enable IsaAcpiPs2Mouse device.<BR> 93 # @Prompt Enable IsaAcpiPs2Mouse device. 94 gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiPs2MouseEnable|TRUE|BOOLEAN|0x00000006 95 96 ## Indicates if we need enable IsaAcpiFloppyA device.<BR><BR> 97 # TRUE - Enables IsaAcpiFloppyA device.<BR> 98 # FALSE - Doesn't enable IsaAcpiFloppyA device.<BR> 99 # @Prompt Enable IsaAcpiFloppyA device. 100 gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiFloppyAEnable|TRUE|BOOLEAN|0x00000007 101 102 ## Indicates if we need enable IsaAcpiFloppyB device.<BR><BR> 103 # TRUE - Enables IsaAcpiFloppyB device.<BR> 104 # FALSE - Doesn't enable IsaAcpiFloppyB device.<BR> 105 # @Prompt Enable IsaAcpiFloppyB device. 106 gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiFloppyBEnable|TRUE|BOOLEAN|0x00000008 107 108 ## This PCD specifies the base address of the HPET timer. 109 # @Prompt HPET base address. 110 gPcAtChipsetPkgTokenSpaceGuid.PcdHpetBaseAddress|0xFED00000|UINT32|0x00000009 111 112 ## This PCD specifies the Local APIC Interrupt Vector for the HPET Timer. 113 # @Prompt HPET local APIC vector. 114 gPcAtChipsetPkgTokenSpaceGuid.PcdHpetLocalApicVector|0x40|UINT8|0x0000000A 115 116 ## This PCD specifies the defaut period of the HPET Timer in 100 ns units. 117 # The default value of 100000 100 ns units is the same as 10 ms. 118 # @Prompt Default period of HPET timer. 119 gPcAtChipsetPkgTokenSpaceGuid.PcdHpetDefaultTimerPeriod|100000|UINT64|0x0000000B 120 121 ## This PCD specifies the base address of the IO APIC. 122 # @Prompt IO APIC base address. 123 gPcAtChipsetPkgTokenSpaceGuid.PcdIoApicBaseAddress|0xFEC00000|UINT32|0x0000000C 124 125 ## This PCD specifies the minimal valid year in RTC. 126 # @Prompt Minimal valid year in RTC. 127 gPcAtChipsetPkgTokenSpaceGuid.PcdMinimalValidYear|1998|UINT16|0x0000000D 128 129 ## This PCD specifies the maximal valid year in RTC. 130 # @Prompt Maximal valid year in RTC. 131 # @Expression 0x80000001 | gPcAtChipsetPkgTokenSpaceGuid.PcdMaximalValidYear < gPcAtChipsetPkgTokenSpaceGuid.PcdMinimalValidYear + 100 132 gPcAtChipsetPkgTokenSpaceGuid.PcdMaximalValidYear|2097|UINT16|0x0000000E 133 134 [PcdsFixedAtBuild, PcdsPatchableInModule] 135 ## Defines the ACPI register set base address. 136 # The invalid 0xFFFF is as its default value. It must be configured to the real value. 137 # @Prompt ACPI Timer IO Port Address 138 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPortBaseAddress |0xFFFF|UINT16|0x00000010 139 140 ## Defines the PCI Bus Number of the PCI device that contains the BAR and Enable for ACPI hardware registers. 141 # @Prompt ACPI Hardware PCI Bus Number 142 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBusNumber | 0x00| UINT8|0x00000011 143 144 ## Defines the PCI Device Number of the PCI device that contains the BAR and Enable for ACPI hardware registers. 145 # The invalid 0xFF is as its default value. It must be configured to the real value. 146 # @Prompt ACPI Hardware PCI Device Number 147 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciDeviceNumber | 0xFF| UINT8|0x00000012 148 149 ## Defines the PCI Function Number of the PCI device that contains the BAR and Enable for ACPI hardware registers. 150 # The invalid 0xFF is as its default value. It must be configured to the real value. 151 # @Prompt ACPI Hardware PCI Function Number 152 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciFunctionNumber | 0xFF| UINT8|0x00000013 153 154 ## Defines the PCI Register Offset of the PCI device that contains the Enable for ACPI hardware registers. 155 # The invalid 0xFFFF is as its default value. It must be configured to the real value. 156 # @Prompt ACPI Hardware PCI Register Offset 157 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciEnableRegisterOffset |0xFFFF|UINT16|0x00000014 158 159 ## Defines the bit mask that must be set to enable the APIC hardware register BAR. 160 # @Prompt ACPI Hardware PCI Bar Enable BitMask 161 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoBarEnableMask | 0x00| UINT8|0x00000015 162 163 ## Defines the PCI Register Offset of the PCI device that contains the BAR for ACPI hardware registers. 164 # The invalid 0xFFFF is as its default value. It must be configured to the real value. 165 # @Prompt ACPI Hardware PCI Bar Register Offset 166 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBarRegisterOffset |0xFFFF|UINT16|0x00000016 167 168 ## Defines the offset to the 32-bit Timer Value register that resides within the ACPI BAR. 169 # @Prompt Offset to 32-bit Timer register in ACPI BAR 170 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiPm1TmrOffset |0x0008|UINT16|0x00000017 171 172 ## Defines the bit mask to retrieve ACPI IO Port Base Address 173 # @Prompt ACPI IO Port Base Address Mask 174 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPortBaseAddressMask |0xFFFE|UINT16|0x00000018 175 176 [UserExtensions.TianoCore."ExtraFiles"] 177 PcAtChipsetPkgExtra.uni 178