Files
system76-edk2/QuarkPlatformPkg/Acpi/AcpiTables/Dsdt/LpcDev.asi
2019-04-09 10:58:21 -07:00

249 lines
5.2 KiB
Plaintext

/** @file
Legacy resource template
Copyright (c) 2013-2015 Intel Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef LPC_DEV_ASI
#define LPC_DEV_ASI
Device(RTC)
{
Name(_HID,EISAID("PNP0B00"))
Name(BUF0,ResourceTemplate() {
IO(Decode16,0x70,0x70,0x01,0x04)
IO(Decode16,0x74,0x74,0x01,0x04)
})
Name(BUF1,ResourceTemplate() {
IO(Decode16,0x70,0x70,0x01,0x04)
IO(Decode16,0x74,0x74,0x01,0x04)
IRQNoFlags(){8}
})
Method(_CRS,0,Serialized)
{
If (HPEA)
{
return (BUF0)
}
Else
{
return (BUF1)
}
}
}
Device(PIC)
{
Name(_HID,EISAID("PNP0000"))
Name(_CRS,ResourceTemplate() {
IO(Decode16,0x20,0x20,0x01,0x1E) // length of 1Eh includes all aliases
IO(Decode16,0xA0,0xA0,0x01,0x1E)
IO(Decode16,0x4D0,0x4D0,0x01,0x02)
})
}
Device(TMR)
{
Name(_HID,EISAID("PNP0100"))
Name(BUF0,ResourceTemplate() {
IO(Decode16,0x40,0x40,0x01,0x04)
IO(Decode16,0x50,0x50,0x01,0x04) // alias
})
Name(BUF1,ResourceTemplate() {
IO(Decode16,0x40,0x40,0x01,0x04)
IO(Decode16,0x50,0x50,0x01,0x04) // alias
IRQNoFlags(){0}
})
Method(_CRS,0,Serialized)
{
If (HPEA)
{
return (BUF0)
}
Else
{
return (BUF1)
}
}
}
Device(SPKR)
{
Name(_HID,EISAID("PNP0800"))
Name(_CRS,ResourceTemplate() {
IO(Decode16,0x61,0x61,0x01,0x01)
})
}
Device(XTRA) // all "PNP0C02" devices- pieces that don't fit anywhere else
{
Name(_HID,EISAID("PNP0C02")) // Generic motherboard devices
Name(CRS,
ResourceTemplate()
{
IO(Decode16,0x2E,0x2E,0x01,0x02)
IO(Decode16,0x4E,0x2E,0x01,0x02)
IO(Decode16,0x63,0x61,0x01,0x01)
IO(Decode16,0x65,0x61,0x01,0x01)
IO(Decode16,0x67,0x61,0x01,0x01)
IO(Decode16,0x80,0x80,0x01,0x01)
IO(Decode16,0x84,0x84,0x01,0x04)
IO(Decode16,0x88,0x88,0x01,0x01)
IO(Decode16,0x8c,0x8c,0x01,0x03)
IO(Decode16,0x92,0x92,0x01,0x01)
IO(
Decode16,
0,
0,
0x01,
0x10,
FIX1
)
IO(
Decode16,
0,
0,
0x01,
0x10,
FIX2
)
IO(
Decode16,
0,
0,
0x01,
0x40,
FIX3
)
IO(
Decode16,
0,
0,
0x01,
0x40,
FIX5
)
IO(
Decode16,
0,
0,
0x01,
0x40,
FIX6
)
}
)
Method (_CRS, 0, NotSerialized) {
CreateWordField (CRS, ^FIX1._MIN, MBR0)
Store(\P1BB, MBR0)
CreateWordField (CRS, ^FIX1._MAX, MBR1)
Store(\P1BB, MBR1)
CreateWordField (CRS, ^FIX2._MIN, MBR2)
Store(\PBAB, MBR2)
CreateWordField (CRS, ^FIX2._MAX, MBR3)
Store(\PBAB, MBR3)
CreateWordField (CRS, ^FIX3._MIN, MBR4)
Store(\GP0B, MBR4)
CreateWordField (CRS, ^FIX3._MAX, MBR5)
Store(\GP0B, MBR5)
CreateWordField (CRS, ^FIX5._MIN, MBR8)
Store(\SMBB, MBR8)
CreateWordField (CRS, ^FIX5._MAX, MBR9)
Store(\SMBB, MBR9)
CreateWordField (CRS, ^FIX6._MIN, MBRA)
Store(\WDTB, MBRA)
CreateWordField (CRS, ^FIX6._MAX, MBRB)
Store(\WDTB, MBRB)
return (CRS)
}
}
Device(LGIO) // Legacy GPIO.
{
Name(_HID, "INT3488")
Name(_CID, "INT3488")
Name(CRS,
ResourceTemplate()
{
IO(
Decode16,
0,
0,
0x01,
0x48,
FIX4
)
}
)
Method (_CRS, 0, NotSerialized) {
CreateWordField (CRS, ^FIX4._MIN, MBR6)
Store(\GPAB, MBR6)
CreateWordField (CRS, ^FIX4._MAX, MBR7)
Store(\GPAB, MBR7)
return (CRS)
}
}
Device(HPET) // High Performance Event Timer
{
Name(_HID,EISAID("PNP0103"))
Name(BUF0,ResourceTemplate()
{
IRQNoFlags() {0}
IRQNoFlags() {8}
Memory32Fixed(ReadOnly, 0, 0, FIX1)
})
Method(_STA,0)
{
// Show this Device only if the OS is WINXP or beyond.
If(LGreaterEqual(OSTP,WINDOWS_XP))
{
If(HPEA)
{
Return(0x000F) // Enabled, do Display.
}
}
Else
{
// OS = WIN98, WINME, or WIN2000.
If(HPEA)
{
Return(0x000B) // Enabled, don't Display.
}
}
Return(0x0000) // Return Nothing.
}
Method(_CRS,0,Serialized)
{
CreateDWordField (BUF0, ^FIX1._BAS, MBR0)
Store(\HPTB, MBR0)
CreateDWordField (BUF0, ^FIX1._LEN, MBR1)
Store(\HPTS, MBR1)
Return(BUF0)
}
}
#endif