PcAtChipsetPkg.dec 10 KB

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