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 | # 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 | [UserExtensions.TianoCore."ExtraFiles"]
|
---|
198 | PcAtChipsetPkgExtra.uni
|
---|