/* * Intel ACPI Component Architecture * AML Disassembler version 20030918 * * Disassembly of m5wide-dsdt.dsdt, Sat Oct 25 23:21:02 2003 */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "INSYDE", "Canyon", 4100) { Name (VERS, Package (0x03) { "Project: OEMx", "Date: 03/18/2002", "Vers: 1.00.04" }) Name (RDEC, 0xE4) Name (BBIF, 0xE5) Name (BBST, 0xE6) Name (FNKY, 0xE7) Name (GPTS, 0xEC) Name (GBEP, 0xED) Name (VIDF, 0xEE) Name (OSDS, 0xEF) Name (DOSS, 0xD3) Name (GCMS, 0xD8) Name (GWAK, 0xDA) Name (BEEP, 0xDB) Name (PLOF, 0xDD) Name (ACHG, 0xDE) Name (FPOF, 0xDF) Name (C1DC, 0xC0) Name (SOS, 0xC1) Name (MTOB, 0x00) Name (MBAT, 0x00) Method (APMS, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (APMD, Local1) Store (Arg0, APMC) Store (APMD, Local0) Store (Local1, APMD) Release (PSMX) Return (Local0) } Method (APMR, 2, NotSerialized) { If (LNot (LEqual (Arg1, 0xFF))) { Acquire (PSMX, 0xFFFF) } Store (APMD, Local1) Store (Arg1, APMD) Store (Arg0, APMC) Store (APMD, Local0) Store (Local1, APMD) If (LNot (LEqual (Arg1, 0xFF))) { Release (PSMX) } Return (Local0) } Name (INF2, 0x51) Name (ACST, 0x6A) Name (ESBB, 0x6E) Name (CTMP, 0x63) Name (OS, 0x00) Name (REGS, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateByteField (REGS, 0x00, RMEM) CreateByteField (REGS, 0x01, RIO) CreateByteField (REGS, 0x02, RPCI) CreateByteField (REGS, 0x03, REC) CreateByteField (REGS, 0x04, RSMB) Mutex (PSMX, 0x00) Name (USEC, 0x01) Name (ACPS, 0x01) Name (ESBS, 0x00) Name (LEDS, 0x00) Name (VSMI, 0x01) Name (GDGS, 0x00) Name (XGNL, 0xBF) Name (FWAK, 0x01) Name (NNTF, 0x00) OperationRegion (BTT0, SystemMemory, 0x04C0, 0x20) Name (BBEP, 0x01) Name (SPKO, 0x20) Scope (\_PR) { Processor (CPU0, 0x00, 0x00001010, 0x06) {} } Scope (\_GPE) { Method (_L00, 0, NotSerialized) { } Method (_L03, 0, NotSerialized) { Notify (\_SB.PCI0.USB0, 0x02) } Method (_L04, 0, NotSerialized) { Notify (\_SB.PCI0.USB1, 0x02) } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0.MC97, 0x02) } Method (_L08, 0, NotSerialized) { Notify (\_SB.SLPB, 0x02) } Method (_L09, 0, NotSerialized) { } Method (_L0A, 0, NotSerialized) { } Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0.PCI2.LAN0, 0x02) } Method (_L0C, 0, NotSerialized) { Notify (\_SB.PCI0.USB2, 0x02) } Method (_L0D, 0, NotSerialized) { Notify (\_SB.PCI0.USB3, 0x02) } } Name (\ECON, 0x01) Name (MYOS, Zero) Name (\GPIC, 0x00) OperationRegion (SMIO, SystemIO, 0xB2, 0x02) Field (SMIO, ByteAcc, NoLock, Preserve) { APMC, 8, APMD, 8 } OperationRegion (PMIO, SystemIO, 0x1000, 0x80) Field (PMIO, DWordAcc, NoLock, Preserve) { Offset (0x01), PBST, 1, Offset (0x02), Offset (0x28), GE0S, 16 } OperationRegion (GPIO, SystemIO, 0x1300, 0x30) Field (GPIO, DWordAcc, NoLock, Preserve) { USSE, 32, IOSE, 32, Offset (0x0C), GLVL, 32, Offset (0x14), GTTL, 32, BLNK, 32, Offset (0x20), Offset (0x24), GINV, 32 } OperationRegion (SM02, SystemIO, 0x1400, 0x08) Field (SM02, ByteAcc, NoLock, Preserve) { SSTA, 8, Offset (0x02), SCTL, 8, SCMD, 8, SXIT, 8, SHD0, 8, SHD1, 8, SBLK, 8 } OperationRegion (PT80, SystemIO, 0x80, 0x01) Field (PT80, ByteAcc, NoLock, Preserve) { P80T, 8 } OperationRegion (MBOX, SystemMemory, 0x0FFFFC00, 0x10) Field (MBOX, AnyAcc, Lock, Preserve) { DTLO, 8, DTHI, 8, UTYP, 2, , 2, GMOD, 3, Offset (0x03), , 5, MDOD, 3, CMAD, 3, , 1, CMBD, 3, Offset (0x05), PTYP, 2, EPDA, 1, , 1, LPTE, 2, , 1, EPPT, 1, ETLO, 8, ETHI, 8, UFDB, 1, PLCT, 2, UB2C, 1, EPIC, 1, HPUL, 1, LBEN, 1, HDTA, 1 } Name (\_S0, Package (0x04) { 0x00, 0x00, 0x00, 0x00 }) Name (\_S3, Package (0x04) { 0x05, 0x05, 0x00, 0x00 }) Name (\_S4, Package (0x04) { 0x06, 0x06, 0x00, 0x00 }) Name (\_S5, Package (0x04) { 0x07, 0x07, 0x00, 0x00 }) Method (\_PTS, 1, NotSerialized) { APMR (GPTS, Arg0) If (LEqual (Arg0, 0x01)) { Store (0x51, P80T) } Else { If (LEqual (Arg0, 0x02)) { Store (0x52, P80T) } Else { If (LEqual (Arg0, 0x03)) { Store (0x53, P80T) CLST () } Else { If (LEqual (Arg0, 0x04)) { Store (0x54, P80T) \_SB.GSMI (0x02) CLST () } Else { Store (0x55, P80T) \_SB.GSMI (0x02) CLST () } } } } } Method (CLST, 0, NotSerialized) { Store (0x01, PBST) While (PBST) { Store (0x01, PBST) } Store (0xFFFF, GE0S) } Method (\_WAK, 1, NotSerialized) { If (LEqual (Arg0, 0x01)) { Store (0xE1, P80T) Return (0x00) } Else { If (LEqual (Arg0, 0x02)) { Store (0xE2, P80T) Return (0x00) } Else { If (LEqual (Arg0, 0x03)) { Store (GE0S, Local0) If (LNot (LLess (MYOS, 0x02))) { And (\_SB.PCI0.USB3.MBAR, 0x00, \_SB.PCI0.USB3.MBAR) Or (\_SB.PCI0.LPCB.FDIS, 0x8000, \_SB.PCI0.LPCB.FDIS) } If (And (Local0, 0x0100)) { Or (ESBS, 0x80, ESBS) Notify (\_SB.SLPB, 0x02) } If (And (Local0, 0x08)) { Notify (\_SB.SLPB, 0x02) } If (And (Local0, 0x10)) { Notify (\_SB.SLPB, 0x02) } If (And (Local0, 0x1000)) { Notify (\_SB.SLPB, 0x02) } If (And (Local0, 0x2000)) { Notify (\_SB.SLPB, 0x02) } Store (0xE3, P80T) Return (0x00) } Else { If (LEqual (Arg0, 0x04)) { If (LNot (LLess (MYOS, 0x02))) { And (\_SB.PCI0.USB3.MBAR, 0x00, \_SB.PCI0.USB3.MBAR) Or (\_SB.PCI0.LPCB.FDIS, 0x8000, \_SB.PCI0.LPCB.FDIS) } Notify (\_SB.SLPB, 0x02) Store (0xE4, P80T) Return (0x00) } Else { Store (0xE5, P80T) Return (0x00) } } } } } Scope (\_SB) { Device (LID) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { Store (0x01, Local0) If (\REC) { Store (\_SB.PCI0.LPCB.EC0.LIDS, Local0) } Return (Local0) } } Device (ESB) { Name (_HID, EisaId ("MTC0001")) Method (SLED, 1, NotSerialized) { If (LEqual (Arg0, 0x80)) { Return (ESBS) } Else { APMR (OSDS, Arg0) Return (0x00) } } } Scope (\) { Name (BFCN, 0x03) Name (BTCN, 0x03) Name (DMCH, 0x00) Name (F_AC, 0x00) Name (F_BT, 0x00) Name (LCAP, 0x012C) Name (LFCC, 0x00) Name (DCAP, 0x00) Name (DVOT, 0x00) Name (CVOT, 0x00) Name (PSRT, 0x00) Name (BCAP, 0x00) Name (BTYP, 0x00) Name (BACS, 0x00) Name (BFCG, 0x00) Name (BTCG, 0x00) Name (BSTA, 0x00) Name (BCVT, 0x00) Name (BTPR, 0x00) Field (BTT0, ByteAcc, NoLock, Preserve) { , 2, MFCG, 1, Offset (0x01), MTCG, 1, Offset (0x02), MPCT, 8, BPV0, 8, BFC0, 16, BRC0, 16, BDV0, 16, BDC0, 16 } } Device (AC) { Name (_HID, "ACPI0003") Name (_PCL, Package (0x02) { \_SB, BAT0 }) Name (ACFG, 0x00) Method (_PSR, 0, NotSerialized) { If (F_AC) { Return (0x00) } If (USEC) { If (REC) { Store (\_SB.PCI0.LPCB.EC0.ACST, BACS) XOr (BACS, 0x01, Local0) } Else { Store (0x01, Local0) } } Else { Store (APMR (RDEC, 0x6A), BACS) ShiftRight (BACS, 0x03, BACS) And (BACS, 0x01, BACS) XOr (BACS, 0x01, Local0) } Store (Local0, ACPS) Return (Local0) } } Device (BAT0) { Name (_HID, EisaId ("PNP0C0A")) Name (_PCL, Package (0x01) { \_SB }) Method (_STA, 0, NotSerialized) { If (F_AC) { Return (0x1F) } If (F_BT) { Store (0x00, F_BT) Notify (\_SB.BAT0, 0x81) Return (0x0F) } If (USEC) { If (REC) { Store (\_SB.PCI0.LPCB.EC0.B1ST, BSTA) } Else { Store (Zero, BSTA) } } Else { And (APMR (RDEC, 0x51), 0x01, BSTA) } If (BSTA) { Return (0x1F) } Else { Return (0x0F) } } Name (BIFP, Package (0x0D) { 0x01, 0x0FA0, 0x0FA0, 0x01, 0x2EE0, 0x0140, 0xA0, 0x64, 0x64, "Internal Battery", "", "LiON", "Generic H8 Charger " }) Method (_BIF, 0, NotSerialized) { If (LNot (BSTA)) { Return (BIFP) } If (USEC) { If (REC) { ShiftLeft (\_SB.PCI0.LPCB.EC0.EFCH, 0x08, LFCC) Or (LFCC, \_SB.PCI0.LPCB.EC0.EFCL, LFCC) ShiftLeft (\_SB.PCI0.LPCB.EC0.EDVH, 0x08, DVOT) Or (LFCC, \_SB.PCI0.LPCB.EC0.EDVL, DVOT) ShiftLeft (\_SB.PCI0.LPCB.EC0.EDCH, 0x08, DCAP) Or (LFCC, \_SB.PCI0.LPCB.EC0.EDCL, DCAP) } } Else { Acquire (PSMX, 0xFFFF) APMR (BBIF, 0xFF) Store (BFC0, LFCC) Store (BDV0, DVOT) Store (BDC0, DCAP) Release (PSMX) } If (Or (Or (LEqual (LFCC, 0xFFFF), LEqual (DCAP, 0xFFFF)), LEqual (DVOT, 0xFFFF))) { If (Or (LGreater (BFCN, 0x03), LNot (LGreater (BFCN, 0x00)))) { Store (0x03, BFCN) } If (Decrement (BFCN)) { Sleep (0x0A) Return (0xFFFFFFFF) } Else { Store (DerefOf (Index (BIFP, 0x01)), DCAP) Store (DerefOf (Index (BIFP, 0x02)), LFCC) Store (DerefOf (Index (BIFP, 0x04)), DVOT) } } Store (0x03, BFCN) Store (DCAP, Index (BIFP, 0x01)) Divide (LFCC, 0x64, Local1, Local0) Multiply (Local0, 0x64, LFCC) Store (LFCC, Index (BIFP, 0x02)) Store (DVOT, Index (BIFP, 0x04)) Multiply (LFCC, 0x0A, Local0) Divide (Local0, 0x64, Local0, Local1) Store (Local1, Index (BIFP, 0x05)) Multiply (LFCC, 0x05, Local0) Divide (Local0, 0x64, Local0, Local1) Store (Local1, Index (BIFP, 0x06)) Return (BIFP) } Name (BSTP, Package (0x04) { 0x00, 0x04B0, 0x012C, 0x2710 }) Method (_BST, 0, Serialized) { If (USEC) { ShiftLeft (\_SB.PCI0.LPCB.EC0.ERCH, 0x08, BCAP) Or (BCAP, \_SB.PCI0.LPCB.EC0.ERCL, BCAP) Store (\_SB.PCI0.LPCB.EC0.B1CV, BCVT) Store (\_SB.PCI0.LPCB.EC0.B1FC, BFCG) Store (\_SB.PCI0.LPCB.EC0.B1TC, BTCG) Store (0x0960, BTPR) Store (\_SB.PCI0.LPCB.EC0.SOC1, Local0) } Else { Acquire (PSMX, 0xFFFF) APMR (BBST, 0xFF) Store (BRC0, BCAP) Store (BPV0, BCVT) Store (MFCG, BFCG) Store (MTCG, BTCG) Store (MPCT, Local0) Release (PSMX) } If (And (LNot (LEqual (LFCC, 0xFFFFFFFF)), LNot (LEqual (LFCC, 0xFFFF)))) { Multiply (LFCC, Local0, Local0) Divide (Local0, 0x64, Local0, BCAP) If (LLess (BCAP, LFCC)) { Increment (BCAP) } } Store (LCAP, Index (BSTP, 0x02)) If (F_AC) { Store (DerefOf (Index (BSTP, 0x02)), LCAP) Store (DerefOf (Index (BIFP, 0x02)), Local0) Store (Local0, Index (BSTP, 0x02)) Store (0x01, Index (BSTP, 0x00)) Return (BSTP) } If (Or (F_AC, LNot (BSTA))) { Store (0x01, Index (BSTP, 0x00)) Return (BSTP) } If (LEqual (BCAP, 0xFFFF)) { If (Or (LGreater (BTCN, 0x03), LNot (LGreater (BTCN, 0x00)))) { Store (0x03, BTCN) } If (Decrement (BTCN)) { Return (0xFFFFFFFF) } Else { Store (DerefOf (Index (BSTP, 0x02)), BCAP) } } Store (0x03, BTCN) Store (0x00, Local0) If (LEqual (BACS, 0x01)) { If (LEqual (DMCH, 0x00)) { Store (0x01, Local1) } Else { Store (0x02, Local1) } } Else { If (Or (BFCG, BTCG)) { Store (0x02, Local1) } Else { If (LEqual (DMCH, 0x00)) { Store (0x00, Local1) } Else { Store (0x02, Local1) } } } Store (Local1, Index (BSTP, 0x00)) If (LLess (BTPR, 0x8000)) { Store (BTPR, Local1) } Else { Subtract (0xFFFF, And (BTPR, 0xFFFF), Local1) } Store (Local1, Index (BSTP, 0x01)) Store (BCAP, Index (BSTP, 0x02)) Multiply (BCVT, 0x4E20, Local0) Divide (Local0, 0xFF, Local0, CVOT) Store (CVOT, Index (BSTP, 0x03)) Store (DerefOf (Index (BSTP, 0x02)), LCAP) Return (BSTP) } } Device (SLPB) { Name (_HID, EisaId ("PNP0C0E")) Method (_STA, 0, NotSerialized) { Return (0x0B) } Name (_PRW, Package (0x02) { 0x08, 0x03 }) } Device (PCI0) { Method (_INI, 0, NotSerialized) { Store (SizeOf (_OS), Local1) If (LEqual (Local1, 0x14)) { Store (0x01, MYOS) } Else { If (LEqual (Local1, 0x27)) { Store (0x02, MYOS) And (\_SB.PCI0.USB3.MBAR, 0x00, \_SB.PCI0.USB3.MBAR) Or (\_SB.PCI0.LPCB.FDIS, 0x8000, \_SB.PCI0.LPCB.FDIS) } Else { If (LEqual (Local1, 0x11)) { Store (0x03, MYOS) And (\_SB.PCI0.USB3.MBAR, 0x00, \_SB.PCI0.USB3.MBAR) Or (\_SB.PCI0.LPCB.FDIS, 0x8000, \_SB.PCI0.LPCB.FDIS) } Else { Store (0x00, MYOS) } } } If (LEqual (MYOS, 0x03)) { Store (Ones, REC) } If (LNot (LEqual (MYOS, 0x00))) { Store (0x00, USEC) } } Name (_HID, EisaId ("PNP0A03")) Name (_ADR, 0x00) Device (PCI1) { Name (_ADR, 0x00010000) Name (_PRT, Package (0x01) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 } }) Device (VID) { Name (_ADR, 0x00) Method (VENT, 1, NotSerialized) { Store (Arg0, VSMI) } Method (_DOS, 1, NotSerialized) { And (Arg0, 0x03, Local0) VENT (Local0) } Name (_DOD, Package (0x03) { 0x0100, 0x00010110, 0x0200 }) Device (CRT) { Name (_ADR, 0x0100) Name (ACTV, 0x01) Method (_DCS, 0, NotSerialized) { If (ACTV) { Store (0x0F, Local0) } Else { Store (0x0D, Local0) } Return (Local0) } Name (_DGS, 0x01) Name (IDSS, 0x00) Method (_DSS, 1, NotSerialized) { Store (Arg0, IDSS) If (And (Arg0, 0x80000000)) { If (LNot (And (Arg0, 0x40000000))) { ^^SET () } ^^NEXT () } } } Device (LCD) { Name (_ADR, 0x0110) Name (ACTV, 0x01) Method (_DCS, 0, NotSerialized) { If (ACTV) { Return (0x1F) } Else { Return (0x1D) } } Name (_DGS, 0x00) Name (IDSS, 0x00) Method (_DSS, 1, NotSerialized) { Store (Arg0, IDSS) If (And (Arg0, 0x80000000)) { If (LNot (And (Arg0, 0x40000000))) { ^^SET () } ^^NEXT () } } } Device (TV) { Name (_ADR, 0x0200) Name (ACTV, 0x00) Method (_DCS, 0, NotSerialized) { If (ACTV) { Return (0x0F) } Else { Return (0x0D) } } Name (_DGS, 0x01) Name (IDSS, 0x00) Method (_DSS, 1, NotSerialized) { Store (Arg0, IDSS) If (And (Arg0, 0x80000000)) { If (LNot (And (Arg0, 0x40000000))) { ^^SET () } ^^NEXT () } } } Method (SET, 0, NotSerialized) { And (^CRT.IDSS, 0x01, ^CRT.ACTV) And (^LCD.IDSS, 0x01, ^LCD.ACTV) And (^TV.IDSS, 0x01, ^TV.ACTV) } Method (NEXT, 0, NotSerialized) { Add (GDGS, 0x01, GDGS) If (LGreater (GDGS, 0x03)) { Store (0x00, GDGS) } SDGS (GDGS) } Method (SACT, 1, NotSerialized) { If (And (Arg0, 0x01)) { Store (0x01, ^LCD.ACTV) } Else { Store (0x00, ^LCD.ACTV) } If (And (Arg0, 0x02)) { Store (0x01, ^CRT.ACTV) } Else { Store (0x00, ^CRT.ACTV) } If (And (Arg0, 0x04)) { Store (0x01, ^TV.ACTV) } Else { Store (0x00, ^TV.ACTV) } } Method (BTOO, 1, NotSerialized) { If (LEqual (Arg0, 0x01)) { Return (0x00) } If (LEqual (Arg0, 0x02)) { Return (0x01) } If (LEqual (Arg0, Or (0x01, 0x02))) { Return (0x02) } If (LEqual (Arg0, 0x04)) { Return (0x03) } If (LEqual (Arg0, Or (0x01, 0x04))) { Return (0x05) } If (LEqual (Arg0, Or (0x02, 0x04))) { Return (0x04) } Return (0x06) } Method (OTOB, 1, NotSerialized) { If (LEqual (Arg0, 0x00)) { Return (0x01) } If (LEqual (Arg0, 0x01)) { Return (0x02) } If (LEqual (Arg0, 0x02)) { Return (Or (0x01, 0x02)) } If (LEqual (Arg0, 0x03)) { Return (0x04) } If (LEqual (Arg0, 0x05)) { Return (Or (0x01, 0x04)) } If (LEqual (Arg0, 0x04)) { Return (Or (0x02, 0x04)) } Return (Or (0x01, Or (0x02, 0x04))) } Method (NXTB, 2, NotSerialized) { Store (0x00, Local4) Store (BTOO (Arg0), Local0) While (LNot (LGreater (Local4, 0x03))) { Increment (Local0) If (LGreater (Local0, 0x03)) { Store (0x00, Local0) } Store (OTOB (Local0), Local1) If (LEqual (And (Local1, Arg1), Local1)) { Return (Local1) } Increment (Local4) } Return (Arg0) } Method (SDGS, 1, NotSerialized) { Store (OTOB (Arg0), Local0) If (And (Local0, 0x01)) { Store (0x01, ^LCD._DGS) } Else { Store (0x00, ^LCD._DGS) } If (And (Local0, 0x02)) { Store (0x01, ^CRT._DGS) } Else { Store (0x00, ^CRT._DGS) } If (And (Local0, 0x04)) { Store (0x01, ^TV._DGS) } Else { Store (0x00, ^TV._DGS) } } Method (SDDS, 1, NotSerialized) { And (ShiftRight (Arg0, 0x04), 0x07, Local0) And (Arg0, 0x07, Local1) SACT (Local1) Store (BTOO (NXTB (Local1, Local0)), GDGS) SDGS (GDGS) If (LNot (LEqual (^LCD._DGS, 0x00))) { APMS (PLOF) } } } } Device (PCI2) { Name (_ADR, 0x001E0000) Name (_PRT, Package (0x05) { Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.LPCB.LNKE, 0x00 }, Package (0x04) { 0x0001FFFF, 0x01, \_SB.PCI0.LPCB.LNKB, 0x00 }, Package (0x04) { 0x0002FFFF, 0x00, \_SB.PCI0.LPCB.LNKD, 0x00 }, Package (0x04) { 0x0003FFFF, 0x00, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package (0x04) { 0x0003FFFF, 0x01, \_SB.PCI0.LPCB.LNKF, 0x00 } }) Device (LAN0) { Name (_ADR, 0x00020000) Name (_PRW, Package (0x02) { 0x0B, 0x03 }) } Device (CRD0) { Name (_ADR, 0x00030000) } } OperationRegion (HBUS, PCI_Config, 0x40, 0xC0) Field (HBUS, DWordAcc, NoLock, Preserve) { Offset (0x18), , 7, HENA, 1, , 4, PM0H, 2, Offset (0x1A), PM1L, 2, , 2, PM1H, 2, Offset (0x1B), PM2L, 2, , 2, PM2H, 2, Offset (0x1C), PM3L, 2, , 2, PM3H, 2, Offset (0x1D), PM4L, 2, , 2, PM4H, 2, Offset (0x1E), PM5L, 2, , 2, PM5H, 2, Offset (0x1F), PM6L, 2, , 2, PM6H, 2, Offset (0x20) } OperationRegion (REG0, PCI_Config, 0x90, 0x04) Field (REG0, DWordAcc, NoLock, Preserve) { , 3, GSRM, 1, DLCK, 1, DCLS, 1, DOPN, 1, Offset (0x01) } Name (CRES, ResourceTemplate () { WordBusNumber (ResourceProducer, MinNotFixed, MaxNotFixed, PosDecode, 0x0000, 0x0000, 0x00FF, 0x0000, 0x0100) IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0000, 0x0CF7, 0x0000, 0x0CF8) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0D00, 0xFFFF, 0x0000, 0xF300) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000A0000, 0x000BFFFF, 0x00000000, 0x00020000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000CC000, 0x000CFFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000D0000, 0x000D3FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000D4000, 0x000D7FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000D8000, 0x000DBFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000DC000, 0x000DFFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly, 0x00000000, 0xFFB80000, 0xFFBFFFFF, 0x00000000, 0x00080000) DWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly, 0x00000000, 0xFFF80000, 0xFFFFFFFF, 0x00000000, 0x00080000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x02000000, 0xFEBFFFFF, 0x00000000, 0xFCE00000) }) Method (_CRS, 0, NotSerialized) { If (PM2H) { CreateDWordField (CRES, 0x68, CCLN) Store (Zero, CCLN) } If (LEqual (PM2H, 0x01)) { CreateBitField (CRES, 0x02B8, CCRW) Store (Zero, CCRW) } If (PM3L) { CreateDWordField (CRES, 0x83, D0LN) Store (Zero, D0LN) } If (LEqual (PM3L, 0x01)) { CreateBitField (CRES, 0x0390, D0RW) Store (Zero, D0RW) } If (PM3H) { CreateDWordField (CRES, 0x9E, D4LN) Store (Zero, D4LN) } If (LEqual (PM3H, 0x01)) { CreateBitField (CRES, 0x0468, D4RW) Store (Zero, D4RW) } If (PM4L) { CreateDWordField (CRES, 0xB9, D8LN) Store (Zero, D8LN) } If (LEqual (PM4L, 0x01)) { CreateBitField (CRES, 0x0540, D8RW) Store (Zero, D8RW) } If (PM4H) { CreateDWordField (CRES, 0xD4, DCLN) Store (Zero, DCLN) } If (LEqual (PM4H, 0x01)) { CreateBitField (CRES, 0x0618, DCRW) Store (Zero, DCRW) } CreateDWordField (CRES, 0x0117, RAMT) CreateDWordField (CRES, 0x0123, RAMR) Store (0x00100000, Local0) Multiply (ETHI, 0x00040000, Local1) Multiply (ETLO, 0x0400, Local2) Add (Local1, Local2, Local1) Multiply (Local1, 0x40, Local1) Multiply (DTHI, 0x00040000, Local3) Multiply (ETLO, 0x0400, Local4) Add (Local3, Local4, Local3) Add (Local1, Local3, Local1) Add (Local1, Local0, RAMT) Subtract (0xFEBFFFFF, RAMT, RAMR) Return (CRES) } Name (_PRT, Package (0x06) { Package (0x04) { 0x001FFFFF, 0x00, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package (0x04) { 0x001FFFFF, 0x01, \_SB.PCI0.LPCB.LNKB, 0x00 }, Package (0x04) { 0x001DFFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package (0x04) { 0x001DFFFF, 0x01, \_SB.PCI0.LPCB.LNKD, 0x00 }, Package (0x04) { 0x001DFFFF, 0x02, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package (0x04) { 0x001DFFFF, 0x03, \_SB.PCI0.LPCB.LNKH, 0x00 } }) Device (USB0) { Name (_ADR, 0x001D0000) Name (_PRW, Package (0x02) { 0x03, 0x03 }) Method (_S3D, 0, NotSerialized) { Return (0x03) } } Device (USB1) { Name (_ADR, 0x001D0001) Name (_PRW, Package (0x02) { 0x04, 0x03 }) Method (_S3D, 0, NotSerialized) { Return (0x03) } } Device (USB2) { Name (_ADR, 0x001D0002) Name (_PRW, Package (0x02) { 0x0C, 0x03 }) Method (_S3D, 0, NotSerialized) { Return (0x03) } } Device (USB3) { Name (_ADR, 0x001D0007) OperationRegion (BAR0, PCI_Config, 0x10, 0x04) Field (BAR0, DWordAcc, NoLock, Preserve) { MBAR, 32 } Name (_PRW, Package (0x02) { 0x0D, 0x03 }) Method (_S3D, 0, NotSerialized) { Return (0x03) } } Device (AC97) { Name (_ADR, 0x001F0005) } Device (MC97) { Name (_ADR, 0x001F0006) Name (_PRW, Package (0x02) { 0x05, 0x03 }) } Device (IDEC) { Name (_ADR, 0x001F0001) OperationRegion (IDEC, PCI_Config, 0x40, 0x18) Field (IDEC, DWordAcc, NoLock, Preserve) { PRIT, 16, SECT, 16, PSIT, 4, SSIT, 4, Offset (0x08), SYNC, 4, Offset (0x0A), SDT0, 2, , 2, SDT1, 2, Offset (0x0B), SDT2, 2, , 2, SDT3, 2, Offset (0x14), ICR0, 4, ICR1, 4, ICR2, 4, ICR3, 4, ICR4, 4, ICR5, 4 } Device (PRID) { Name (_ADR, 0x00) Method (_GTM, 0, NotSerialized) { Name (PBUF, Buffer (0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (PBUF, 0x00, PIO0) CreateDWordField (PBUF, 0x04, DMA0) CreateDWordField (PBUF, 0x08, PIO1) CreateDWordField (PBUF, 0x0C, DMA1) CreateDWordField (PBUF, 0x10, FLAG) Store (GETP (PRIT), PIO0) Store (GDMA (And (SYNC, 0x01), And (ICR3, 0x01), And (ICR0, 0x01), SDT0, And (ICR1, 0x01)), DMA0) If (LEqual (DMA0, 0xFFFFFFFF)) { Store (PIO0, DMA0) } If (And (PRIT, 0x4000)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (PSIT), PIO1) } } Else { Store (0xFFFFFFFF, PIO1) } Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02), And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1) If (LEqual (DMA1, 0xFFFFFFFF)) { Store (PIO1, DMA1) } Store (GETF (And (SYNC, 0x01), And (SYNC, 0x02), PRIT), FLAG) Return (PBUF) } Method (_STM, 3, NotSerialized) { CreateDWordField (Arg0, 0x00, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) Store (0x04, ICR2) If (LEqual (SizeOf (Arg1), 0x0200)) { And (PRIT, 0x40F0, PRIT) And (SYNC, 0x0E, SYNC) Store (0x00, SDT0) And (ICR0, 0x0E, ICR0) And (ICR1, 0x0E, ICR1) And (ICR3, 0x0E, ICR3) And (ICR5, 0x0E, ICR5) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7E, W630) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) CreateWordField (Arg1, 0xBA, W930) Or (PRIT, 0x8004, PRIT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (PRIT, 0x02, PRIT) } Or (PRIT, SETP (PIO0, W530, W640), PRIT) If (And (FLAG, 0x01)) { Or (SYNC, 0x01, SYNC) Store (SDMA (DMA0), SDT0) If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x01, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x01, ICR0) } If (And (W930, 0x2000)) { Or (ICR1, 0x01, ICR1) } } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (PRIT, 0x3F0F, PRIT) Store (0x00, PSIT) And (SYNC, 0x0D, SYNC) Store (0x00, SDT1) And (ICR0, 0x0D, ICR0) And (ICR1, 0x0D, ICR1) And (ICR3, 0x0D, ICR3) And (ICR5, 0x0D, ICR5) CreateWordField (Arg2, 0x62, W491) CreateWordField (Arg2, 0x6A, W531) CreateWordField (Arg2, 0x7E, W631) CreateWordField (Arg2, 0x80, W641) CreateWordField (Arg2, 0xB0, W881) CreateWordField (Arg2, 0xBA, W931) Or (PRIT, 0x8040, PRIT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (PRIT, 0x20, PRIT) } If (And (FLAG, 0x10)) { Or (PRIT, 0x4000, PRIT) If (LGreater (PIO1, 0xF0)) { Or (PRIT, 0x80, PRIT) } Else { Or (PRIT, 0x10, PRIT) Store (SETT (PIO1, W531, W641), PSIT) } } If (And (FLAG, 0x04)) { Or (SYNC, 0x02, SYNC) Store (SDMA (DMA1), SDT1) If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x02, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x02, ICR0) } If (And (W931, 0x2000)) { Or (ICR1, 0x02, ICR1) } } } } Device (P_D0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Name (PIB0, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (PIB0, 0x01, PMD0) CreateByteField (PIB0, 0x08, DMD0) If (And (PRIT, 0x02)) { If (LEqual (And (PRIT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (PRIT, 0x0300), 0x08, Local0) ShiftRight (And (PRIT, 0x3000), 0x0C, Local1) Add (Local0, Local1, Local2) If (LEqual (0x03, Local2)) { Store (0x0B, PMD0) } If (LEqual (0x05, Local2)) { Store (0x0C, PMD0) } } } Else { Store (0x01, PMD0) } If (And (SYNC, 0x01)) { Store (Or (SDT0, 0x40), DMD0) If (And (ICR1, 0x01)) { If (And (ICR0, 0x01)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, 0x01)) { Store (0x45, DMD0) } } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (PIB0) } } Device (P_D1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Name (PIB1, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (PIB1, 0x01, PMD1) CreateByteField (PIB1, 0x08, DMD1) If (And (PRIT, 0x20)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C), 0x02), Local0) If (LEqual (0x05, Local0)) { Store (0x0C, PMD1) } Else { If (LEqual (0x03, Local0)) { Store (0x0B, PMD1) } Else { Store (0x0A, PMD1) } } } } Else { Store (0x01, PMD1) } If (And (SYNC, 0x02)) { Store (Or (SDT1, 0x40), DMD1) If (And (ICR1, 0x02)) { If (And (ICR0, 0x02)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x02)) { Store (0x45, DMD1) } } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } Return (PIB1) } } Method (_PS0, 0, NotSerialized) { } Method (_PS3, 0, NotSerialized) { } } Device (SECD) { Name (_ADR, 0x01) Method (_GTM, 0, NotSerialized) { Name (SBUF, Buffer (0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (SBUF, 0x00, PIO0) CreateDWordField (SBUF, 0x04, DMA0) CreateDWordField (SBUF, 0x08, PIO1) CreateDWordField (SBUF, 0x0C, DMA1) CreateDWordField (SBUF, 0x10, FLAG) Store (GETP (SECT), PIO0) Store (GDMA (And (SYNC, 0x04), And (ICR3, 0x04), And (ICR0, 0x04), SDT2, And (ICR1, 0x04)), DMA0) If (LEqual (DMA0, 0xFFFFFFFF)) { Store (PIO0, DMA0) } If (And (SECT, 0x4000)) { If (LEqual (And (SECT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (SSIT), PIO1) } } Else { Store (0xFFFFFFFF, PIO1) } Store (GDMA (And (SYNC, 0x08), And (ICR3, 0x08), And (ICR0, 0x08), SDT3, And (ICR1, 0x08)), DMA1) If (LEqual (DMA1, 0xFFFFFFFF)) { Store (PIO1, DMA1) } Store (GETF (And (SYNC, 0x04), And (SYNC, 0x08), SECT), FLAG) Return (SBUF) } Method (_STM, 3, NotSerialized) { CreateDWordField (Arg0, 0x00, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) Store (0x04, ICR2) If (LEqual (SizeOf (Arg1), 0x0200)) { And (SECT, 0x40F0, SECT) And (SYNC, 0x0B, SYNC) Store (0x00, SDT2) And (ICR0, 0x0B, ICR0) And (ICR1, 0x0B, ICR1) And (ICR3, 0x0B, ICR3) And (ICR5, 0x0B, ICR5) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7E, W630) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) CreateWordField (Arg1, 0xBA, W930) Or (SECT, 0x8004, SECT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (SECT, 0x02, SECT) } Or (SECT, SETP (PIO0, W530, W640), SECT) If (And (FLAG, 0x01)) { Or (SYNC, 0x04, SYNC) Store (SDMA (DMA0), SDT2) If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x04, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x04, ICR0) } If (And (W930, 0x2000)) { Or (ICR1, 0x04, ICR1) } } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (SECT, 0x3F0F, SECT) Store (0x00, SSIT) And (SYNC, 0x07, SYNC) Store (0x00, SDT3) And (ICR0, 0x07, ICR0) And (ICR1, 0x07, ICR1) And (ICR3, 0x07, ICR3) And (ICR5, 0x07, ICR5) CreateWordField (Arg2, 0x62, W491) CreateWordField (Arg2, 0x6A, W531) CreateWordField (Arg2, 0x7E, W631) CreateWordField (Arg2, 0x80, W641) CreateWordField (Arg2, 0xB0, W881) CreateWordField (Arg2, 0xBA, W931) Or (SECT, 0x8040, SECT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (SECT, 0x20, SECT) } If (And (FLAG, 0x10)) { Or (SECT, 0x4000, SECT) If (LGreater (PIO1, 0xF0)) { Or (SECT, 0x80, SECT) } Else { Or (SECT, 0x10, SECT) Store (SETT (PIO1, W531, W641), SSIT) } } If (And (FLAG, 0x04)) { Or (SYNC, 0x08, SYNC) Store (SDMA (DMA1), SDT3) If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x08, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x08, ICR0) } If (And (W931, 0x2000)) { Or (ICR1, 0x08, ICR1) } } } } Device (S_D0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Name (SIB0, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (SIB0, 0x01, PMD0) CreateByteField (SIB0, 0x08, DMD0) If (And (SECT, 0x02)) { If (LEqual (And (SECT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (SECT, 0x0300), 0x08, Local0) ShiftRight (And (SECT, 0x3000), 0x0C, Local1) Add (Local0, Local1, Local2) If (LEqual (0x03, Local2)) { Store (0x0B, PMD0) } If (LEqual (0x05, Local2)) { Store (0x0C, PMD0) } } } Else { Store (0x01, PMD0) } If (And (SYNC, 0x04)) { Store (Or (SDT2, 0x40), DMD0) If (And (ICR1, 0x04)) { If (And (ICR0, 0x04)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, 0x04)) { Store (0x45, DMD0) } } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (SIB0) } } Device (S_D1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Name (SIB1, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (SIB1, 0x01, PMD1) CreateByteField (SIB1, 0x08, DMD1) If (And (SECT, 0x20)) { If (LEqual (And (SECT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (SSIT, 0x03), ShiftRight (And (SSIT, 0x0C), 0x02), Local0) If (LEqual (0x05, Local0)) { Store (0x0C, PMD1) } Else { If (LEqual (0x03, Local0)) { Store (0x0B, PMD1) } Else { Store (0x0A, PMD1) } } } } Else { Store (0x01, PMD1) } If (And (SYNC, 0x08)) { Store (Or (SDT3, 0x40), DMD1) If (And (ICR1, 0x08)) { If (And (ICR0, 0x08)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x08)) { Store (0x45, DMD1) } } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } Return (SIB1) } } Method (_PS0, 0, NotSerialized) { } Method (_PS3, 0, NotSerialized) { } } Method (GETP, 1, NotSerialized) { If (LEqual (And (Arg0, 0x09), 0x00)) { Return (0xFFFFFFFF) } If (LEqual (And (Arg0, 0x09), 0x08)) { Return (0x0384) } ShiftRight (And (Arg0, 0x0300), 0x08, Local0) ShiftRight (And (Arg0, 0x3000), 0x0C, Local1) Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1)))) } Method (GDMA, 5, NotSerialized) { If (Arg0) { If (LAnd (Arg1, Arg4)) { Return (0x14) } If (LAnd (Arg2, Arg4)) { Return (Multiply (Subtract (0x04, Arg3), 0x0F)) } Return (Multiply (Subtract (0x04, Arg3), 0x1E)) } Return (0xFFFFFFFF) } Method (GETT, 1, NotSerialized) { Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02), 0x03), And (Arg0, 0x03))))) } Method (GETF, 3, NotSerialized) { Name (TMPF, 0x00) If (Arg0) { Or (TMPF, 0x01, TMPF) } If (And (Arg2, 0x02)) { Or (TMPF, 0x02, TMPF) } If (Arg1) { Or (TMPF, 0x04, TMPF) } If (And (Arg2, 0x20)) { Or (TMPF, 0x08, TMPF) } If (And (Arg2, 0x4000)) { Or (TMPF, 0x10, TMPF) } Return (TMPF) } Method (SETP, 3, NotSerialized) { If (LGreater (Arg0, 0xF0)) { Return (0x08) } Else { If (And (Arg1, 0x02)) { If (LAnd (LNot (LGreater (Arg0, 0x78)), And (Arg2, 0x02))) { Return (0x2301) } If (LAnd (LNot (LGreater (Arg0, 0xB4)), And (Arg2, 0x01))) { Return (0x2101) } } Return (0x1001) } } Method (SDMA, 1, NotSerialized) { If (LNot (LGreater (Arg0, 0x14))) { Return (0x01) } If (LNot (LGreater (Arg0, 0x1E))) { Return (0x02) } If (LNot (LGreater (Arg0, 0x2D))) { Return (0x01) } If (LNot (LGreater (Arg0, 0x3C))) { Return (0x02) } If (LNot (LGreater (Arg0, 0x5A))) { Return (0x01) } Return (0x00) } Method (SETT, 3, NotSerialized) { If (And (Arg1, 0x02)) { If (LAnd (LNot (LGreater (Arg0, 0x78)), And (Arg2, 0x02))) { Return (0x0B) } If (LAnd (LNot (LGreater (Arg0, 0xB4)), And (Arg2, 0x01))) { Return (0x09) } } Return (0x04) } } Device (SMBS) { Name (_ADR, 0x001F0003) } Device (LPCB) { Name (_ADR, 0x001F0000) OperationRegion (LPC0, PCI_Config, 0x60, 0x94) Field (LPC0, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, Offset (0x08), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8, Offset (0x80), CMDE, 8, FLDE, 8, SNDE, 8, Offset (0x84), GEN1, 16, LPEN, 16, Offset (0x8A), Offset (0x8C), GEN2, 16, Offset (0x92), FDIS, 16 } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x01) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,5,7,9,10,11} }) Method (_STA, 0, NotSerialized) { Store ("LINK-A STA", Debug) If (LEqual (PIRA, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Store ("LINK-A DIS", Debug) Store (0x80, PIRA) } Method (_CRS, 0, NotSerialized) { Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (BUFA, 0x01, IRB1) If (LNot (LEqual (PIRA, 0x80))) { ShiftLeft (One, PIRA, IRB1) } Store ("LINKA-CRS", Debug) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRB1) FindSetLeftBit (IRB1, Local0) If (LGreater (Local0, 0x00)) { Decrement (Local0) } Store (Local0, PIRA) Store ("LINKA-SRS", Debug) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,5,7,9,10,11} }) Method (_STA, 0, NotSerialized) { Store ("LINK-B STA", Debug) If (LEqual (PIRB, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Store ("LINK-B DIS", Debug) Store (0x80, PIRB) } Method (_CRS, 0, NotSerialized) { Name (BUFB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (BUFB, 0x01, IRB1) If (LNot (LEqual (PIRB, 0x80))) { ShiftLeft (One, PIRB, IRB1) } Store ("LINK-B-CRS", Debug) Return (BUFB) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRB1) FindSetLeftBit (IRB1, Local0) If (LGreater (Local0, 0x00)) { Decrement (Local0) } Store (Local0, PIRB) Store ("LINK-B-SRS", Debug) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,5,7,9,10,11} }) Method (_STA, 0, NotSerialized) { Store ("LINK-C-STA", Debug) If (LEqual (PIRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Store ("LINK-C-DIS", Debug) Store (0x80, PIRC) } Method (_CRS, 0, NotSerialized) { Name (BUFC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (BUFC, 0x01, IRB1) If (LNot (LEqual (PIRC, 0x80))) { ShiftLeft (One, PIRC, IRB1) } Store ("LINKC-CRS", Debug) Return (BUFC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRB1) FindSetLeftBit (IRB1, Local0) If (LGreater (Local0, 0x00)) { Decrement (Local0) } Store (Local0, PIRC) Store ("LINKC-SRS", Debug) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,5,7,11} }) Method (_STA, 0, NotSerialized) { Store ("LINK-D-STA", Debug) If (LEqual (PIRD, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Store ("LINK-D-DIS", Debug) Store (0x80, PIRD) } Method (_CRS, 0, NotSerialized) { Name (BUFD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (BUFD, 0x01, IRB1) If (LNot (LEqual (PIRD, 0x80))) { ShiftLeft (One, PIRD, IRB1) } Store ("LINK-D-CRS", Debug) Return (BUFD) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRB1) FindSetLeftBit (IRB1, Local0) If (LGreater (Local0, 0x00)) { Decrement (Local0) } Store (Local0, PIRD) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,4,5,7,10,11} }) Method (_STA, 0, NotSerialized) { If (LEqual (PIRE, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Store (0x80, PIRE) } Method (_CRS, 0, NotSerialized) { Name (BUFD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (BUFD, 0x01, IRB1) If (LNot (LEqual (PIRE, 0x80))) { ShiftLeft (One, PIRE, IRB1) } Return (BUFD) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRB1) FindSetLeftBit (IRB1, Local0) If (LGreater (Local0, 0x00)) { Decrement (Local0) } Store (Local0, PIRE) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,5,7,9,10,11} }) Method (_STA, 0, NotSerialized) { Store ("LINK-F-STA", Debug) If (LEqual (PIRF, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Store (0x80, PIRF) } Method (_CRS, 0, NotSerialized) { Name (BUFD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (BUFD, 0x01, IRB1) If (LNot (LEqual (PIRF, 0x80))) { ShiftLeft (One, PIRF, IRB1) } Return (BUFD) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRB1) FindSetLeftBit (IRB1, Local0) If (LGreater (Local0, 0x00)) { Decrement (Local0) } Store (Local0, PIRF) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,4,5,7,9,10,11,14,15} }) Method (_STA, 0, NotSerialized) { If (LEqual (PIRG, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Store (0x80, PIRG) } Method (_CRS, 0, NotSerialized) { Name (BUFD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (BUFD, 0x01, IRB1) If (LNot (LEqual (PIRG, 0x80))) { ShiftLeft (One, PIRG, IRB1) } Return (BUFD) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRB1) FindSetLeftBit (IRB1, Local0) If (LGreater (Local0, 0x00)) { Decrement (Local0) } Store (Local0, PIRG) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,5,7,9,10,11} }) Method (_STA, 0, NotSerialized) { If (LEqual (PIRH, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Store (0x80, PIRH) } Method (_CRS, 0, NotSerialized) { Name (BUFD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (BUFD, 0x01, IRB1) If (LNot (LEqual (PIRH, 0x80))) { ShiftLeft (One, PIRH, IRB1) } Return (BUFD) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRB1) FindSetLeftBit (IRB1, Local0) If (LGreater (Local0, 0x00)) { Decrement (Local0) } Store (Local0, PIRH) } } OperationRegion (GRAM, SystemMemory, 0x0410, 0x02) Field (GRAM, ByteAcc, NoLock, Preserve) { , 2, MOUI, 1, Offset (0x02) } Device (PS2M) { Name (_HID, EisaId ("PNP0F13")) Name (_CRS, ResourceTemplate () { IRQNoFlags () {12} }) Method (_STA, 0, NotSerialized) { If (LEqual (MOUI, 0x01)) { Return (0x0F) } Else { Return (0x00) } } } Device (KBC) { Name (_HID, EisaId ("PNP0303")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, 0x0060, 0x01, 0x01) IO (Decode16, 0x0064, 0x0064, 0x01, 0x01) IRQNoFlags () {1} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, 0x0070, 0x01, 0x08) IRQNoFlags () {8} }) } Device (TMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, 0x0040, 0x01, 0x04) IO (Decode16, 0x0050, 0x0050, 0x01, 0x04) IRQNoFlags () {0} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, 0x0061, 0x01, 0x01) }) } Device (MEM) { Name (_HID, EisaId ("PNP0C01")) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFFF00000, 0x00080000) Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000) }) } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, 0x0020, 0x01, 0x02) IO (Decode16, 0x0024, 0x0024, 0x01, 0x02) IO (Decode16, 0x0028, 0x0028, 0x01, 0x02) IO (Decode16, 0x002C, 0x002C, 0x01, 0x02) IO (Decode16, 0x0030, 0x0030, 0x01, 0x02) IO (Decode16, 0x0034, 0x0034, 0x01, 0x02) IO (Decode16, 0x0038, 0x0038, 0x01, 0x02) IO (Decode16, 0x003C, 0x003C, 0x01, 0x02) IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02) IO (Decode16, 0x00A4, 0x00A4, 0x01, 0x02) IO (Decode16, 0x00A8, 0x00A8, 0x01, 0x02) IO (Decode16, 0x00AC, 0x00AC, 0x01, 0x02) IO (Decode16, 0x00B0, 0x00B0, 0x01, 0x02) IO (Decode16, 0x00B4, 0x00B4, 0x01, 0x02) IO (Decode16, 0x00B8, 0x00B8, 0x01, 0x02) IO (Decode16, 0x00BC, 0x00BC, 0x01, 0x02) IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02) IRQNoFlags () {2} }) } Device (MAD) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x20) IO (Decode16, 0x0081, 0x0081, 0x01, 0x0F) IO (Decode16, 0x0090, 0x0090, 0x01, 0x02) IO (Decode16, 0x0093, 0x0093, 0x01, 0x0D) IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20) DMA (Compatibility, NotBusMaster, Transfer8_16) {4} }) } Device (PNP) { Name (_HID, EisaId ("PNP0C02")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x002E, 0x002E, 0x01, 0x02) IO (Decode16, 0x0080, 0x0080, 0x01, 0x01) IO (Decode16, 0x0092, 0x0092, 0x01, 0x01) IO (Decode16, 0x00B2, 0x00B2, 0x01, 0x02) IO (Decode16, 0x0680, 0x0680, 0x01, 0x80) IO (Decode16, 0x0200, 0x0200, 0x01, 0x10) IO (Decode16, 0x1000, 0x1000, 0x01, 0x80) IO (Decode16, 0x1300, 0x1300, 0x01, 0x40) }) } Device (COPR) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x01) IRQNoFlags () {13} }) } Device (FWH) { Name (_HID, EisaId ("INT0800")) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFFB80000, 0x00080000) Memory32Fixed (ReadOnly, 0xFFB00000, 0x00080000) }) } Device (SIOD) { Name (_HID, EisaId ("PNP0A05")) Name (UBAS, 0x03F8) Name (BASE, 0x2E) OperationRegion (S769, SystemIO, BASE, 0x02) Field (S769, ByteAcc, NoLock, Preserve) { AINX, 8, ADTA, 8 } IndexField (AINX, ADTA, ByteAcc, NoLock, Preserve) { Offset (0x07), LDNS, 8, Offset (0x30), ACTR, 1, Offset (0x31), Offset (0x60), PMSB, 8, PLSB, 8, SMSB, 8, SLSB, 8, Offset (0x70), INTL, 4, Offset (0x71), Offset (0x74), DMAC, 3, Offset (0x75), DMAS, 3, Offset (0x76), Offset (0xF0), PPMD, 8 } Mutex (MUT0, 0x00) Method (UNLK, 0, NotSerialized) { Acquire (MUT0, 0x0FFF) } Method (LKUP, 0, NotSerialized) { Release (MUT0) } Method (SLDN, 1, NotSerialized) { Store (Arg0, LDNS) } Name (DMAP, Package (0x04) { 0x00, 0x01, 0x02, 0x03 }) Device (ECP) { Name (_HID, EisaId ("PNP0401")) Method (_STA, 0, NotSerialized) { Store ("ECP_STA", Debug) If (LAnd (LEqual (PTYP, 0x03), LNot (LEqual (LPTE, 0x00)))) { Store (PSTA (), Local0) } Else { Store (0x00, Local0) } Return (Local0) } Method (_DIS, 0, NotSerialized) { Store ("ECP_DIS", Debug) PDIS () } Method (_CRS, 0, NotSerialized) { Name (ECRS, ResourceTemplate () { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IRQNoFlags () {7} IO (Decode16, 0x0778, 0x0778, 0x01, 0x08) DMA (Compatibility, NotBusMaster, Transfer8) {3} }) Store ("ECP_CRS", Debug) CreateWordField (ECRS, 0x02, IMI1) CreateWordField (ECRS, 0x04, IMA1) CreateByteField (ECRS, 0x06, ALN1) CreateByteField (ECRS, 0x07, LEN1) CreateWordField (ECRS, 0x0D, IMI2) CreateWordField (ECRS, 0x0F, IMA2) CreateByteField (ECRS, 0x12, LEN2) CreateWordField (ECRS, 0x09, IRQ0) CreateByteField (ECRS, 0x14, DMA0) UNLK () SLDN (0x01) Store (0x00, Local0) Or (Local0, PMSB, Local0) ShiftLeft (Local0, 0x08, Local0) Or (Local0, PLSB, Local0) Store (Local0, IMI1) Store (Local0, IMA1) If (LEqual (IMI1, 0x03BC)) { Store (0x04, LEN1) Store (0x04, LEN2) } ShiftLeft (0x01, INTL, IRQ0) Add (IMI1, 0x0400, Local0) Store (Local0, IMI2) Store (Local0, IMA2) Store (DMAC, Debug) Store (Match (DMAP, MEQ, DMAC, MTR, 0x00, 0x00), Local0) ShiftLeft (0x01, Local0, DMA0) Store (DMA0, Debug) LKUP () Store (ECRS, Debug) Return (ECRS) } Method (_PRS, 0, NotSerialized) { Name (EPRS, ResourceTemplate () { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IRQNoFlags () {7} IO (Decode16, 0x0778, 0x0778, 0x01, 0x08) DMA (Compatibility, NotBusMaster, Transfer8) {1} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IRQNoFlags () {5} IO (Decode16, 0x0678, 0x0678, 0x01, 0x08) DMA (Compatibility, NotBusMaster, Transfer8) {1} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQNoFlags () {7} IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04) DMA (Compatibility, NotBusMaster, Transfer8) {1} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IRQNoFlags () {7} IO (Decode16, 0x0778, 0x0778, 0x01, 0x08) DMA (Compatibility, NotBusMaster, Transfer8) {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IRQNoFlags () {5} IO (Decode16, 0x0678, 0x0678, 0x00, 0x08) DMA (Compatibility, NotBusMaster, Transfer8) {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQNoFlags () {7} IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04) DMA (Compatibility, NotBusMaster, Transfer8) {3} } EndDependentFn () }) Store ("ECP_PRS", Debug) Return (EPRS) } Method (_SRS, 1, NotSerialized) { Store ("ECP_SRS", Debug) UNLK () SLDN (0x01) PSRS (Arg0) LKUP () } } Device (LPT) { Name (_HID, EisaId ("PNP0400")) Method (_STA, 0, NotSerialized) { Store ("LPT_STA", Debug) If (LAnd (LNot (LEqual (LPTE, 0x00)), LNot (LEqual (PTYP, 0x03)))) { Store (PSTA (), Local0) } Else { Store (0x00, Local0) } Return (Local0) } Method (_DIS, 0, NotSerialized) { Store ("LPT_DIS", Debug) PDIS () } Method (_CRS, 0, NotSerialized) { Store ("LPT_CRS", Debug) Return (PCRS ()) } Method (_PRS, 0, NotSerialized) { Name (LPRS, ResourceTemplate () { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IRQNoFlags () {7} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IRQNoFlags () {5} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQNoFlags () {7} } EndDependentFn () }) Name (PPRS, ResourceTemplate () { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IRQNoFlags () {7} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IRQNoFlags () {5} } EndDependentFn () }) Store ("LPT_PRS", Debug) If (LEqual (PTYP, 0x02)) { Return (PPRS) } Else { Return (LPRS) } } Method (_SRS, 1, NotSerialized) { Store ("LPT_SRS", Debug) UNLK () SLDN (0x01) PSRS (Arg0) LKUP () } } Method (PSTA, 0, NotSerialized) { UNLK () SLDN (0x01) If (ACTR) { Store (0x0F, Local0) } Else { Store (0x0D, Local0) } LKUP () Return (Local0) } Method (PDIS, 0, NotSerialized) { } Name (PRST, ResourceTemplate () { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IRQNoFlags () {7} }) Method (PCRS, 0, NotSerialized) { CreateByteField (PRST, 0x02, EPLA) CreateByteField (PRST, 0x03, EPMA) CreateByteField (PRST, 0x04, EPL1) CreateByteField (PRST, 0x05, EPM2) CreateWordField (PRST, 0x09, ECPI) CreateByteField (PRST, 0x07, EPIO) UNLK () SLDN (0x01) Store (PMSB, EPMA) Store (PLSB, EPLA) Store (PMSB, EPM2) Store (PLSB, EPL1) If (LEqual (EPLA, 0xBC)) { Store (0x04, EPIO) } ShiftLeft (0x01, INTL, ECPI) LKUP () Return (PRST) } Method (PSRS, 1, NotSerialized) { CreateWordField (Arg0, 0x02, EAD0) CreateWordField (Arg0, 0x09, ECPI) Store (0x01, ACTR) If (LEqual (PTYP, 0x00)) { Store (0x04, DMAC) Store (0x02, PPMD) } Else { If (LEqual (PTYP, 0x01)) { Store (0x04, DMAC) Store (0x22, PPMD) } If (LEqual (PTYP, 0x03)) { CreateByteField (Arg0, 0x14, ECPD) FindSetLeftBit (ECPD, Local0) If (LGreater (Local0, 0x00)) { Decrement (Local0) } Store (DerefOf (Index (DMAP, Local0)), DMAC) Store (0xF2, PPMD) } If (LEqual (PTYP, 0x02)) { Store (0x04, DMAC) Store (0x62, PPMD) } } If (LEqual (0x03BC, EAD0)) { Store (0x02, Local0) } Else { If (LEqual (0x0378, EAD0)) { Store (0x00, Local0) } Else { If (LEqual (0x0278, EAD0)) { Store (0x01, Local0) } Else { Store (0x03, Local0) } } } Or (And (FLDE, 0xFC, FLDE), Local0, FLDE) Or (LPEN, 0x04, LPEN) CreateByteField (Arg0, 0x02, EADL) CreateByteField (Arg0, 0x03, EADH) Store (EADL, PLSB) Store (EADH, PMSB) If (LEqual (PTYP, 0x03)) { CreateByteField (Arg0, 0x0D, ADSL) CreateByteField (Arg0, 0x0E, ADSH) } FindSetLeftBit (ECPI, Local0) If (LGreater (Local0, 0x00)) { Decrement (Local0) } Store (Local0, INTL) } Device (IRDA) { Name (_HID, EisaId ("PNP0510")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { Store ("IRDA_STA", Debug) If (LAnd (LOr (LEqual (UTYP, 0x01), LEqual (UTYP, 0x02)), LNot (LEqual (CMBD, 0x00)))) { Store (USTA (0x01), Local0) } Else { Store (0x00, Local0) } Return (Local0) } Method (_DIS, 0, NotSerialized) { Store ("IRDA_DIS", Debug) UDIS (0x01) } Method (_CRS, 0, NotSerialized) { Store ("IRDA_CRS", Debug) Return (UCRS (0x01)) } Method (_PRS, 0, NotSerialized) { Store ("IRDA_PRS", Debug) Store (UPRS, Debug) Return (UPRS) } Method (_SRS, 1, NotSerialized) { Store ("IRDA_SRS", Debug) USRS (Arg0, 0x01) } } Device (FIR) { Name (_HID, EisaId ("NSC6001")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { Store ("FIR_STA", Debug) If (LAnd (LNot (LEqual (CMBD, 0x00)), LEqual (UTYP, 0x03))) { Store (USTA (0x01), Local0) Return (Local0) } Else { Return (0x00) } } Method (_DIS, 0, NotSerialized) { Store ("FIR_DIS", Debug) UDIS (0x01) } Method (_CRS, 0, NotSerialized) { Store ("FIR_CRS", Debug) CreateByteField (FCRS, 0x0C, FIRD) CreateWordField (FCRS, 0x02, FRA1) CreateWordField (FCRS, 0x04, FRA2) CreateByteField (FCRS, 0x06, FALN) CreateByteField (FCRS, 0x07, FLEN) CreateWordField (FCRS, 0x09, FIRI) UNLK () SLDN (0x02) Store (0x00, Local0) Or (Local0, PMSB, Local0) ShiftLeft (Local0, 0x08, Local0) Or (Local0, PLSB, Local0) Store (Local0, FRA1) Store (Local0, FRA2) ShiftLeft (0x01, INTL, FIRI) Store (DMAC, Debug) If (LLess (DMAC, 0x04)) { ShiftLeft (0x01, DerefOf (Index (DMAP, DMAC)), FIRD) } Store (FIRD, Debug) LKUP () Return (FCRS) } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8) {0} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {0} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8) {0} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {0} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8) {1} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {1} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8) {1} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {1} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8) {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8) {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {3} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { Store ("FIR_SRS", Debug) USRS (Arg0, 0x01) } PowerResource (PUT2, 0x00, 0x0000) { Method (_STA, 0, NotSerialized) { Return (0x01) } Method (_ON, 0, NotSerialized) { Noop } Method (_OFF, 0, NotSerialized) { Noop } Name (_PR0, Package (0x01) { PUT2 }) } } Name (UIRT, ResourceTemplate () { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IRQNoFlags () {3} }) Name (UIRS, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x08) IRQNoFlags () {} }) Name (FCRS, ResourceTemplate () { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} }) Name (UPRS, ResourceTemplate () { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) IRQNoFlags () {4} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IRQNoFlags () {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) IRQNoFlags () {4} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) IRQNoFlags () {3} } EndDependentFn () }) Method (USTA, 1, NotSerialized) { UNLK () If (Arg0) { SLDN (0x02) } Else { SLDN (0x03) } If (ACTR) { Store (0x0F, Local0) } Else { Store (0x0D, Local0) } LKUP () Return (Local0) } Method (UDIS, 1, NotSerialized) { } Method (UCRS, 1, NotSerialized) { UNLK () CreateByteField (UIRT, 0x02, UADL) CreateByteField (UIRT, 0x03, UADH) CreateByteField (UIRT, 0x04, AD1L) CreateByteField (UIRT, 0x05, AD1H) CreateByteField (UIRT, 0x09, UIRQ) If (Arg0) { SLDN (0x02) } Else { SLDN (0x03) } Store (PLSB, UADL) Store (PMSB, UADH) Store (PLSB, AD1L) Store (PMSB, AD1H) ShiftLeft (0x01, INTL, UIRQ) LKUP () Return (UIRT) } Method (USRS, 2, NotSerialized) { UNLK () CreateWordField (Arg0, 0x02, UADR) CreateByteField (Arg0, 0x02, UADL) CreateByteField (Arg0, 0x03, UADH) CreateByteField (Arg0, 0x09, UIRQ) If (Arg1) { SLDN (0x02) } Else { SLDN (0x03) } Store (0x01, ACTR) Store (UADL, PLSB) Store (UADH, PMSB) Store (UADR, UBAS) OperationRegion (N393, SystemIO, UBAS, 0x08) Field (N393, ByteAcc, NoLock, Preserve) { Offset (0x01), IER, 8, EXC1, 8, BSR, 8, MCR, 8, Offset (0x06), UIX6, 8, UIX7, 8 } FindSetLeftBit (UIRQ, Local0) If (LGreater (Local0, 0x00)) { Decrement (Local0) } Store (Local0, INTL) If (Arg1) { Store (0x02, LDNS) Or (PPMD, 0x82, PPMD) Store (0x04, DMAC) Store (0x04, DMAS) Store (0x01, ACTR) If (LEqual (UTYP, 0x00)) { Store (0xE0, BSR) And (EXC1, 0xFE, EXC1) Store (0x03, BSR) And (MCR, 0x1F, MCR) Store (0x03, BSR) And (PPMD, 0x7F, PPMD) Store (0x03, BSR) Store (0x00, MCR) } Else { Store (0x03, BSR) Store (0x00, IER) Store (0xE0, BSR) If (LNot (LEqual (UTYP, 0x01))) { Or (EXC1, 0x01, EXC1) } Else { And (EXC1, 0xFE, EXC1) } Store (0xE0, BSR) Store (0x00, MCR) Store (0xF4, BSR) Store (0x28, UIX7) If (LEqual (UTYP, 0x01)) { Store (0xE8, BSR) Store (0x0C, EXC1) Store (0xF4, BSR) Or (MCR, 0x04, MCR) } If (LEqual (UTYP, 0x02)) { Store (0x03, BSR) Store (0x80, MCR) Store (0xF4, BSR) Or (MCR, 0x05, MCR) } If (LEqual (UTYP, 0x03)) { Store (0x03, BSR) Store (0xA0, MCR) Store (0xF4, BSR) Store (0x05, MCR) CreateByteField (Arg0, 0x0C, IRDM) FindSetLeftBit (IRDM, Local0) If (LGreater (Local0, 0x00)) { Decrement (Local0) } Store (Match (DMAP, MEQ, Local0, MTR, 0x00, 0x00), Local1) Store (Local1, DMAC) } Store (0x03, BSR) } } If (LEqual (0x03F8, UADR)) { Store (0x00, Local0) } Else { If (LEqual (0x02F8, UADR)) { Store (0x01, Local0) } Else { If (LEqual (0x02E8, UADR)) { Store (0x05, Local0) } Else { Store (0x07, Local0) } } } If (Arg1) { ShiftLeft (Local0, 0x04, Local0) Or (And (CMDE, 0x8F, CMDE), Local0, CMDE) Or (LPEN, 0x02, LPEN) } Else { Or (And (CMDE, 0xF8, CMDE), Local0, CMDE) Or (LPEN, 0x01, LPEN) } LKUP () } } Device (EC0) { Name (_HID, EisaId ("PNP0C09")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0062, 0x0062, 0x01, 0x01) IO (Decode16, 0x0066, 0x0066, 0x01, 0x01) }) Name (_GPE, 0x18) Method (_REG, 2, NotSerialized) { Store (Arg1, Index (REGS, Arg0)) } OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF) Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x50), B1NI, 1, B1CH, 1, B2CR, 1, ACCH, 1, B2NI, 1, B2CH, 1, BWAN, 1, BLOW, 1, B1ST, 1, B1SM, 1, B1FC, 1, B1DC, 1, Offset (0x52), B1TC, 1, B2TC, 1, Offset (0x53), SOC1, 8, TTE1, 8, SOC2, 8, TTE2, 8, B1CV, 8, B2CV, 8, B_PR, 16, CSTA, 8, DSTA, 8, Offset (0x5E), B0TP, 8, , 3, MPML, 1, ACPW, 1, BTPW, 1, BTRD, 1, BTGN, 1, Offset (0x61), Offset (0x62), Offset (0x63), Offset (0x64), Offset (0x65), Offset (0x66), BTP1, 8, BTP2, 8, KEYE, 1, PBNE, 1, LIDE, 1, PMEE, 1, RIGE, 1, Offset (0x69), , 1, LIDS, 1, Offset (0x6A), , 3, ACST, 1, Offset (0x6B), Offset (0x6C), Offset (0x6D), MLED, 8, Offset (0x70), EFCH, 8, EFCL, 8, ERCH, 8, ERCL, 8, EDVH, 8, EDVL, 8, EDCH, 8, EDCL, 8, Offset (0x7D), F1, 1, F2, 1, F3, 1, F4, 1, F5, 1, F6, 1, F7, 1, F8, 1, F9, 1, F10, 1, F11, 1, F12, 1 } Method (_Q0A, 0, NotSerialized) { APMR (FNKY, 0x01) } Method (_Q0E, 0, NotSerialized) { Store (0x00, Local0) If (LEqual (VSMI, 0x00)) { Store (APMS (VIDF), Local0) If (LNot (LEqual (Local0, 0x00))) { Store (\_SB.PCI0.PCI1.VID.BTOO (And (Local0, 0x07)), Local1) Store (And (Local0, 0x70), Local7) ShiftRight (Local7, 0x04, Local7) \_SB.PCI0.PCI1.VID.SDDS (Local0) If (LNot (LEqual (Local1, GDGS))) { Notify (\_SB.PCI0.PCI1.VID, 0x80) } } } If (LEqual (VSMI, 0x01)) { Store (APMR (FNKY, 0x05), Local0) } If (LNot (LEqual (Local7, 0x01))) { APMS (GBEP) } } Method (_Q0F, 0, NotSerialized) { APMR (FNKY, 0x06) } Method (_Q10, 0, NotSerialized) { APMR (FNKY, 0x07) } Method (_Q13, 0, NotSerialized) { If (BBEP) { Store (0x00, BBEP) } Else { Store (0x01, BBEP) } APMS (GBEP) } Method (_Q14, 0, NotSerialized) { APMR (FNKY, 0x08) APMS (GBEP) } Method (_Q15, 0, NotSerialized) { Notify (\_SB.SLPB, 0x80) APMS (GBEP) } Method (_Q20, 0, NotSerialized) { If (LEqual (MYOS, 0x02)) { \_SB.BAT0._STA () If (LNot (BSTA)) { Store (0x01, F_AC) Notify (\_SB.AC, 0x80) Sleep (0x14) Store (0x00, F_AC) Notify (\_SB.AC, 0x80) Notify (\_SB.BAT0, 0x80) } Else { Notify (\_SB.BAT0, 0x80) Notify (\_SB.BAT0, 0x81) } } Else { Notify (\_SB.BAT0, 0x80) Notify (\_SB.BAT0, 0x81) } } Method (_Q21, 0, NotSerialized) { If (LEqual (MYOS, 0x02)) { Store (0x01, DMCH) } Notify (\_SB.AC, 0x80) Notify (\_SB.BAT0, 0x80) If (LEqual (MYOS, 0x02)) { Sleep (0x64) Store (0x00, DMCH) Notify (\_SB.AC, 0x80) Notify (\_SB.BAT0, 0x80) } } Method (_Q22, 0, NotSerialized) { If (BBEP) { APMS (GBEP) } } Method (_Q25, 0, NotSerialized) { \_SB.BAT0._STA () If (BSTA) { Notify (\_SB.BAT0, 0x80) } } Method (_Q26, 0, NotSerialized) { Notify (\_SB.BAT0, 0x80) Notify (\_SB.AC, 0x80) } Method (_Q33, 0, NotSerialized) { APMR (FNKY, 0x09) Notify (\_SB.LID, 0x80) } Method (_Q35, 0, NotSerialized) { Store (APMR (RDEC, ESBB), Local0) If (LNot (LEqual (And (Local0, 0x01), 0x00))) { Notify (\_SB.ESB, 0x90) } Else { If (LNot (LEqual (And (Local0, 0x3E), 0x00))) { FindSetRightBit (Local0, Local1) Add (Local1, 0x7F, Local1) Notify (\_SB.ESB, Local1) } } } } } } Method (GSMI, 1, NotSerialized) { Store (Arg0, APMD) Store (0xE3, APMC) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) } } }