summaryrefslogtreecommitdiff
path: root/PcAtChipsetPkg/PcAtChipsetPkg.dec
blob: 8defe3b4bd284ee99d679335f0313dcd0c061147 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
## @file
# Public definitions for PcAtChipset package.
#
# This package is designed to public interfaces and implementation which follows
# PcAt defacto standard.
#
# Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##

[Defines]
  DEC_SPECIFICATION              = 0x00010005
  PACKAGE_NAME                   = PcAtChipsetPkg
  PACKAGE_GUID                   = B728689A-52D3-4b8c-AE89-2CE5514CC6DC
  PACKAGE_VERSION                = 0.2

[Includes]
  Include

[LibraryClasses]
  ##  @libraryclass  Provides functions to manage I/O APIC Redirection Table Entries.
  #
  IoApicLib|Include/Library/IoApicLib.h
  
[Guids]
  gPcAtChipsetPkgTokenSpaceGuid = { 0x326ae723, 0xae32, 0x4589, { 0x98, 0xb8, 0xca, 0xc2, 0x3c, 0xdc, 0xc1, 0xb1 } }

[PcdsFeatureFlag]
  ## If TRUE, then the HPET Timer will be configured to use MSI interrupts if the HPET timer supports them.
  #  If FALSE, then the HPET Timer will be configued to use I/O APIC interrupts.
  gPcAtChipsetPkgTokenSpaceGuid.PcdHpetMsiEnable|TRUE|BOOLEAN|0x00001000
  
[PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx, PcdsPatchableInModule]
  ## Pcd8259LegacyModeMask defines the default mask value for platform. This value is determined
  #  1) If platform only support pure UEFI, value should be set to 0xFFFF or 0xFFFE;
  #     Because only clock interrupt is allowed in legacy mode in pure UEFI platform.
  #  2) If platform install CSM and use thunk module:
  #     a) If thunk call provided by CSM binary requires some legacy interrupt support, the corresponding bit 
  #        should be opened as 0.
  #        For example, if keyboard interfaces provided CSM binary use legacy keyboard interrupt in 8259 bit 2, then
  #        the value should be set to 0xFFFC
  #     b) If all thunk call provied by CSM binary do not require legacy interrupt support, value should be set
  #        to 0xFFFF or 0xFFFE.
  #
  #  The default value of legacy mode mask could be changed by EFI_LEGACY_8259_PROTOCOL->SetMask(). But it is rarely
  #  need change it except some special cases such as when initializing the CSM binary, it should be set to 0xFFFF to 
  #  mask all legacy interrupt. Please restore the original legacy mask value if changing is made for these special case.
  #
  gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeMask|0xFFFF|UINT16|0x00000001
  
  ## Pcd8259LegacyModeEdgeLevel defines the default edge level for legacy mode's interrrupt controller.
  gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0000|UINT16|0x00000002

  ## This PCD specifies whether we need enable IsaAcpiCom1 device.
  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiCom1Enable|TRUE|BOOLEAN|0x00000003

  ## This PCD specifies whether we need enable IsaAcpiCom2 device.
  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiCom2Enable|TRUE|BOOLEAN|0x00000004

  ## This PCD specifies whether we need enable IsaAcpiPs2Keyboard device.
  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiPs2KeyboardEnable|TRUE|BOOLEAN|0x00000005

  ## This PCD specifies whether we need enable IsaAcpiPs2Mouse device.
  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiPs2MouseEnable|TRUE|BOOLEAN|0x00000006

  ## This PCD specifies whether we need enable IsaAcpiFloppyA device.
  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiFloppyAEnable|TRUE|BOOLEAN|0x00000007

  ## This PCD specifies whether we need enable IsaAcpiFloppyB device.
  gPcAtChipsetPkgTokenSpaceGuid.PcdIsaAcpiFloppyBEnable|TRUE|BOOLEAN|0x00000008

  ## This PCD specifies the base address of the HPET timer.
  gPcAtChipsetPkgTokenSpaceGuid.PcdHpetBaseAddress|0xFED00000|UINT32|0x00000009

  ## This PCD specifies the Local APIC Interrupt Vector for the HPET Timer.
  gPcAtChipsetPkgTokenSpaceGuid.PcdHpetLocalApicVector|0x40|UINT8|0x0000000A

  ## This PCD specifies the defaut period of the HPET Timer in 100 ns units.
  #  The default value of 100000 100 ns units is the same as 10 ms.
  gPcAtChipsetPkgTokenSpaceGuid.PcdHpetDefaultTimerPeriod|100000|UINT64|0x0000000B
  
  ## This PCD specifies the base address of the HPET timer.
  gPcAtChipsetPkgTokenSpaceGuid.PcdIoApicBaseAddress|0xFEC00000|UINT32|0x0000000C