• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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