123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- /** @file
- ACPI DSDT table
- Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- Scope (\_SB.PCI0){
- Device(PDRC)
- {
- //
- // PCI Device Resource Consumption
- //
- Name(_HID,EISAID("PNP0C02"))
- Name(_UID,1)
- Name(BUF0,ResourceTemplate()
- {
- //
- // MCH BAR _BAS will be updated in _CRS below according to B0:D0:F0:Reg.48h
- //
- Memory32Fixed(ReadWrite,0,0x08000,MCHB)
- //
- // DMI BAR _BAS will be updated in _CRS below according to B0:D0:F0:Reg.68h
- //
- Memory32Fixed(ReadWrite,0,0x01000,DMIB)
- //
- // EP BAR _BAS will be updated in _CRS below according to B0:D0:F0:Reg.40h
- //
- Memory32Fixed(ReadWrite,0,0x01000,EGPB)
- //
- // PCI Express BAR _BAS and _LEN will be updated in _CRS below according to B0:D0:F0:Reg.60h
- //
- Memory32Fixed(ReadWrite,0,0,PCIX)
- //
- // MISC ICH TTT base address reserved for the TxT module use. Check if the hard code meets the real configuration.
- // If not, dynamically update it like the _CRS method below.
- //
- Memory32Fixed(ReadWrite,0xFED20000,0x20000)
-
- //
- // VTD engine memory range. Check if the hard code meets the real configuration.
- // If not, dynamically update it like the _CRS method below.
- //
- Memory32Fixed(ReadOnly, 0xFED90000, 0x00004000)
-
- //
- // MISC ICH. Check if the hard code meets the real configuration.
- // If not, dynamically update it like the _CRS method below.
- //
- Memory32Fixed(ReadWrite,0xFED45000,0x4B000,TPMM)
-
- //
- // FLASH range
- //
- Memory32Fixed (ReadOnly, 0xFF000000, 0x1000000, FIOH) //16MB as per IOH spec
-
- //
- // Local APIC range(0xFEE0_0000 to 0xFEEF_FFFF)
- //
- Memory32Fixed (ReadOnly, 0xFEE00000, 0x100000, LIOH)
-
- //
- // Sx handler reserved MMIO
- //
- Memory32Fixed (ReadWrite, 0, 0, SXRE)
-
- //
- // Reserve HPET address decode range
- //
- Memory32Fixed (ReadWrite, 0, 0, HPET)
- })
-
- Method(_CRS,0,Serialized)
- {
- CreateDwordField(BUF0,^MCHB._BAS,MBR0)
- Store(\_SB.PCI0.GMHB(), MBR0)
- CreateDwordField(BUF0,^DMIB._BAS,DBR0)
- Store(\_SB.PCI0.GDMB(), DBR0)
- CreateDwordField(BUF0,^EGPB._BAS,EBR0)
- Store(\_SB.PCI0.GEPB(), EBR0)
- CreateDwordField(BUF0,^PCIX._BAS,XBR0)
- Store(\_SB.PCI0.GPCB(), XBR0)
- CreateDwordField(BUF0,^PCIX._LEN,XSZ0)
- Store(\_SB.PCI0.GPCL(), XSZ0)
- CreateDwordField(BUF0,^SXRE._BAS,SXRA)
- Store(SXRB, SXRA)
- CreateDwordField(BUF0,^SXRE._LEN,SXRL)
- Store(SXRS, SXRL)
- // HPET device claims the resource in LPC_DEV.ASL.
- If(LNOT(HPTE)){
- CreateDwordField(BUF0,^HPET._BAS,HBAS)
- CreateDwordField(BUF0,^HPET._LEN,HLEN)
- Store(HPTB, HBAS)
- Store(0x400, HLEN)
- }
- Return(BUF0)
- }
- } //end of PDRC
- } // end of SB
|