Home | History | Annotate | Download | only in PcAtChipsetPkg
      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   ## Reset Control Register address in I/O space.

    177   # @Prompt Reset Control Register address

    178   gPcAtChipsetPkgTokenSpaceGuid.PcdResetControlRegister|0x64|UINT64|0x00000019
    179 
    180   ## 8bit Reset Control Register value for cold reset.

    181   # @Prompt Reset Control Register value for cold reset

    182   gPcAtChipsetPkgTokenSpaceGuid.PcdResetControlValueColdReset|0xFE|UINT8|0x0000001A
    183 
    184 [UserExtensions.TianoCore."ExtraFiles"]
    185   PcAtChipsetPkgExtra.uni
    186