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