blob: 11c31e1d5ae07557c23d0eb8610a86fe3496be09 [file] [log] [blame]
lgao47b202cb2010-02-23 23:58:38 +00001## @file
klu231ed75a2009-07-06 02:59:37 +00002# Public definitions for PcAtChipset package.
3#
4# This package is designed to public interfaces and implementation which follows
5# PcAt defacto standard.
6#
Elvin Li1e5fff62015-01-23 04:49:00 +00007# Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR>
klu231ed75a2009-07-06 02:59:37 +00008#
hhtian95d48e82010-04-24 12:07:51 +00009# This program and the accompanying materials
klu231ed75a2009-07-06 02:59:37 +000010# 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#
lgao47b202cb2010-02-23 23:58:38 +000017##
klu231ed75a2009-07-06 02:59:37 +000018
19[Defines]
20 DEC_SPECIFICATION = 0x00010005
21 PACKAGE_NAME = PcAtChipsetPkg
Qiu, Shuminb414ac42014-08-28 05:19:04 +000022 PACKAGE_UNI_FILE = PcAtChipsetPkg.uni
klu231ed75a2009-07-06 02:59:37 +000023 PACKAGE_GUID = B728689A-52D3-4b8c-AE89-2CE5514CC6DC
Ruiyu Ni9325f682014-01-10 07:29:32 +000024 PACKAGE_VERSION = 0.3
klu231ed75a2009-07-06 02:59:37 +000025
mdkinney986d1df2011-09-02 02:43:51 +000026[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
mdkinney53705ed2011-05-09 17:51:00 +000034[Guids]
35 gPcAtChipsetPkgTokenSpaceGuid = { 0x326ae723, 0xae32, 0x4589, { 0x98, 0xb8, 0xca, 0xc2, 0x3c, 0xdc, 0xc1, 0xb1 } }
36
mdkinney986d1df2011-09-02 02:43:51 +000037[PcdsFeatureFlag]
Qiu, Shuminb414ac42014-08-28 05:19:04 +000038 ## 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>
39 # TRUE - Configures the HPET Timer to use MSI interrupts if the HPET Timer supports them.<BR>
40 # FALSE - Configures the HPET Timer to use I/O APIC interrupts.<BR>
41 # @Prompt Configure HPET to use MSI.
mdkinney986d1df2011-09-02 02:43:51 +000042 gPcAtChipsetPkgTokenSpaceGuid.PcdHpetMsiEnable|TRUE|BOOLEAN|0x00001000
Qiu, Shuminb414ac42014-08-28 05:19:04 +000043
mdkinney856f5922011-05-04 20:56:30 +000044[PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx, PcdsPatchableInModule]
Qiu, Shuminb414ac42014-08-28 05:19:04 +000045 ## Pcd8259LegacyModeMask defines the default mask value for platform. This value is determined<BR><BR>
klu231ed75a2009-07-06 02:59:37 +000046 # 1) If platform only support pure UEFI, value should be set to 0xFFFF or 0xFFFE;
Qiu, Shuminb414ac42014-08-28 05:19:04 +000047 # Because only clock interrupt is allowed in legacy mode in pure UEFI platform.<BR>
48 # 2) If platform install CSM and use thunk module:<BR>
klu231ed75a2009-07-06 02:59:37 +000049 # a) If thunk call provided by CSM binary requires some legacy interrupt support, the corresponding bit
Qiu, Shuminb414ac42014-08-28 05:19:04 +000050 # should be opened as 0.<BR>
51 # For example, if keyboard interfaces provided CSM binary use legacy keyboard interrupt in 8259 bit 1, then
52 # the value should be set to 0xFFFC.<BR>
klu231ed75a2009-07-06 02:59:37 +000053 # b) If all thunk call provied by CSM binary do not require legacy interrupt support, value should be set
Qiu, Shuminb414ac42014-08-28 05:19:04 +000054 # to 0xFFFF or 0xFFFE.<BR>
klu231ed75a2009-07-06 02:59:37 +000055 #
klu231ed75a2009-07-06 02:59:37 +000056 # The default value of legacy mode mask could be changed by EFI_LEGACY_8259_PROTOCOL->SetMask(). But it is rarely
57 # need change it except some special cases such as when initializing the CSM binary, it should be set to 0xFFFF to
Qiu, Shuminb414ac42014-08-28 05:19:04 +000058 # mask all legacy interrupt. Please restore the original legacy mask value if changing is made for these special case.<BR>
59 # @Prompt 8259 Legacy Mode mask.
lgao41f44ee12010-04-02 05:22:40 +000060 gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeMask|0xFFFF|UINT16|0x00000001
klu2e356f992009-07-06 07:40:18 +000061
62 ## Pcd8259LegacyModeEdgeLevel defines the default edge level for legacy mode's interrrupt controller.
Qiu, Shuminb414ac42014-08-28 05:19:04 +000063 # For the corresponding bits, 0 = Edge triggered and 1 = Level triggered.
64 # @Prompt 8259 Legacy Mode edge level.
lgao41f44ee12010-04-02 05:22:40 +000065 gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0000|UINT16|0x00000002
niruiyue8bce4b2011-03-10 07:33:42 +000066
Qiu, Shuminb414ac42014-08-28 05:19:04 +000067 ## Indicates if we need enable IsaAcpiCom1 device.<BR><BR>
68 # TRUE - Enables IsaAcpiCom1 device.<BR>
69 # FALSE - Doesn't enable IsaAcpiCom1 device.<BR>
70 # @Prompt Enable IsaAcpiCom1 device.
niruiyue8bce4b2011-03-10 07:33:42 +000071 gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiCom1Enable|TRUE|BOOLEAN|0x00000003
72
Qiu, Shuminb414ac42014-08-28 05:19:04 +000073 ## Indicates if we need enable IsaAcpiCom2 device.<BR><BR>
74 # TRUE - Enables IsaAcpiCom2 device.<BR>
75 # FALSE - Doesn't enable IsaAcpiCom2 device.<BR>
76 # @Prompt Enable IsaAcpiCom12 device.
niruiyue8bce4b2011-03-10 07:33:42 +000077 gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiCom2Enable|TRUE|BOOLEAN|0x00000004
78
Qiu, Shuminb414ac42014-08-28 05:19:04 +000079 ## Indicates if we need enable IsaAcpiPs2Keyboard device.<BR><BR>
80 # TRUE - Enables IsaAcpiPs2Keyboard device.<BR>
81 # FALSE - Doesn't enable IsaAcpiPs2Keyboard device.<BR>
82 # @Prompt Enable IsaAcpiPs2Keyboard device.
niruiyue8bce4b2011-03-10 07:33:42 +000083 gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiPs2KeyboardEnable|TRUE|BOOLEAN|0x00000005
84
Qiu, Shuminb414ac42014-08-28 05:19:04 +000085 ## Indicates if we need enable IsaAcpiPs2Mouse device.<BR><BR>
86 # TRUE - Enables IsaAcpiPs2Mouse device.<BR>
87 # FALSE - Doesn't enable IsaAcpiPs2Mouse device.<BR>
88 # @Prompt Enable IsaAcpiPs2Mouse device.
niruiyue8bce4b2011-03-10 07:33:42 +000089 gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiPs2MouseEnable|TRUE|BOOLEAN|0x00000006
90
Qiu, Shuminb414ac42014-08-28 05:19:04 +000091 ## Indicates if we need enable IsaAcpiFloppyA device.<BR><BR>
92 # TRUE - Enables IsaAcpiFloppyA device.<BR>
93 # FALSE - Doesn't enable IsaAcpiFloppyA device.<BR>
94 # @Prompt Enable IsaAcpiFloppyA device.
niruiyue8bce4b2011-03-10 07:33:42 +000095 gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiFloppyAEnable|TRUE|BOOLEAN|0x00000007
96
Qiu, Shuminb414ac42014-08-28 05:19:04 +000097 ## Indicates if we need enable IsaAcpiFloppyB device.<BR><BR>
98 # TRUE - Enables IsaAcpiFloppyB device.<BR>
99 # FALSE - Doesn't enable IsaAcpiFloppyB device.<BR>
100 # @Prompt Enable IsaAcpiFloppyB device.
niruiyue8bce4b2011-03-10 07:33:42 +0000101 gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiFloppyBEnable|TRUE|BOOLEAN|0x00000008
mdkinney986d1df2011-09-02 02:43:51 +0000102
103 ## This PCD specifies the base address of the HPET timer.
Qiu, Shuminb414ac42014-08-28 05:19:04 +0000104 # @Prompt HPET base address.
mdkinney986d1df2011-09-02 02:43:51 +0000105 gPcAtChipsetPkgTokenSpaceGuid.PcdHpetBaseAddress|0xFED00000|UINT32|0x00000009
106
107 ## This PCD specifies the Local APIC Interrupt Vector for the HPET Timer.
Qiu, Shuminb414ac42014-08-28 05:19:04 +0000108 # @Prompt HPET local APIC vector.
mdkinney986d1df2011-09-02 02:43:51 +0000109 gPcAtChipsetPkgTokenSpaceGuid.PcdHpetLocalApicVector|0x40|UINT8|0x0000000A
110
111 ## This PCD specifies the defaut period of the HPET Timer in 100 ns units.
112 # The default value of 100000 100 ns units is the same as 10 ms.
Qiu, Shuminb414ac42014-08-28 05:19:04 +0000113 # @Prompt Default period of HPET timer.
mdkinney986d1df2011-09-02 02:43:51 +0000114 gPcAtChipsetPkgTokenSpaceGuid.PcdHpetDefaultTimerPeriod|100000|UINT64|0x0000000B
115
Qiu, Shuminb414ac42014-08-28 05:19:04 +0000116 ## This PCD specifies the base address of the IO APIC.
117 # @Prompt IO APIC base address.
mdkinney986d1df2011-09-02 02:43:51 +0000118 gPcAtChipsetPkgTokenSpaceGuid.PcdIoApicBaseAddress|0xFEC00000|UINT32|0x0000000C
Elvin Li1e5fff62015-01-23 04:49:00 +0000119
120 ## This PCD specifies the minimal valid year in RTC.
121 # @Prompt Minimal valid year in RTC.
122 gPcAtChipsetPkgTokenSpaceGuid.PcdMinimalValidYear|1998|UINT16|0x0000000D
123
124 ## This PCD specifies the maximal valid year in RTC.
125 # @Prompt Maximal valid year in RTC.
126 gPcAtChipsetPkgTokenSpaceGuid.PcdMaximalValidYear|2099|UINT16|0x0000000E
niruiyubae5fa32011-12-13 08:33:18 +0000127
Gao, Liming83d1ffb2014-08-14 14:30:32 +0000128[PcdsFixedAtBuild, PcdsPatchableInModule]
129 ## Defines the ACPI register set base address.
130 # The invalid 0xFFFF is as its default value. It must be configured to the real value.
131 # @Prompt ACPI Timer IO Port Address
132 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPortBaseAddress |0xFFFF|UINT16|0x00000010
133
134 ## Defines the PCI Bus Number of the PCI device that contains the BAR and Enable for ACPI hardware registers.
135 # @Prompt ACPI Hardware PCI Bus Number
136 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBusNumber | 0x00| UINT8|0x00000011
137
138 ## Defines the PCI Device Number of the PCI device that contains the BAR and Enable for ACPI hardware registers.
139 # The invalid 0xFF is as its default value. It must be configured to the real value.
140 # @Prompt ACPI Hardware PCI Device Number
141 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciDeviceNumber | 0xFF| UINT8|0x00000012
142
143 ## Defines the PCI Function Number of the PCI device that contains the BAR and Enable for ACPI hardware registers.
144 # The invalid 0xFF is as its default value. It must be configured to the real value.
145 # @Prompt ACPI Hardware PCI Function Number
146 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciFunctionNumber | 0xFF| UINT8|0x00000013
147
148 ## Defines the PCI Register Offset of the PCI device that contains the Enable for ACPI hardware registers.
149 # The invalid 0xFFFF is as its default value. It must be configured to the real value.
150 # @Prompt ACPI Hardware PCI Register Offset
151 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciEnableRegisterOffset |0xFFFF|UINT16|0x00000014
152
153 ## Defines the bit mask that must be set to enable the APIC hardware register BAR.
154 # @Prompt ACPI Hardware PCI Bar Enable BitMask
155 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoBarEnableMask | 0x00| UINT8|0x00000015
156
157 ## Defines the PCI Register Offset of the PCI device that contains the BAR for ACPI hardware registers.
158 # The invalid 0xFFFF is as its default value. It must be configured to the real value.
159 # @Prompt ACPI Hardware PCI Bar Register Offset
160 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBarRegisterOffset |0xFFFF|UINT16|0x00000016
161
162 ## Defines the offset to the 32-bit Timer Value register that resides within the ACPI BAR.
163 # @Prompt Offset to 32-bit Timer register in ACPI BAR
164 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiPm1TmrOffset |0x0008|UINT16|0x00000017
Qiu, Shuminb414ac42014-08-28 05:19:04 +0000165
166[UserExtensions.TianoCore."ExtraFiles"]
167 PcAtChipsetPkgExtra.uni