/** @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