/* RSD PTR: Checksum=34, OEMID=PTLTD, RsdtAddress=0x07ff030e */ /* RSDT: Length=48, Revision=1, Checksum=153, OEMID=PTLTD, OEM Table ID= RSDT, OEM Revision=0x1820, Creator ID= LTP, Creator Revision=0x0 */ /* Entries={ 0x07ff3b30, 0x07ff3ba4, 0x07ff3bcc } */ /* DSDT=0x7ff033e INT_MODEL=PIC SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0 PM1a_EVT_BLK=0x8000-0x8003 PM1a_CNT_BLK=0x8004-0x8005 PM2_CNT_BLK=0x22-0x22 PM2_TMR_BLK=0x8008-0x800b PM2_GPE0_BLK=0x800c-0x800f PM2_GPE1_BLK=0x803c-0x803f, GPE1_BASE=16 P_LVL2_LAT=1ms, P_LVL3_LAT=100ms FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=1, DUTY_WIDTH=3 DAY_ALRM=13, MON_ALRM=0, CENTURY=50 Flags={WBINVD,SLP_BUTTON,RTC_S4} */ /* DSDT: Length=14322, Revision=1, Checksum=54, OEMID=PTL, OEM Table ID=TP-18, OEM Revision=0x1820, Creator ID=MSFT, Creator Revision=0x100000b */ DefinitionBlock ( "acpi_dsdt.aml", //Output filename "DSDT", //Signature 0x1, //DSDT Revision "PTL", //OEMID "TP-18", //TABLE ID 0x1820 //OEM Revision ) { Name(_S0_, Package(0x2) { 0x5, 0x5, }) Name(_S1_, Package(0x2) { 0x4, 0x4, }) Name(_S3_, Package(0x2) { 0x1, 0x1, }) Name(_S4_, Package(0x2) { 0x0, 0x0, }) Name(_S5_, Package(0x2) { 0x0, 0x0, }) Scope(_PR_) { Processor(CPU0, 0, 0x8010, 0x6) { } } Scope(\_TZ_) { Name(TPL_, 0x0cdc) Name(TACT, 0x0d04) Name(TAC1, 0x0d18) Name(TPAS, 0x0e61) Name(TSUS, 0x0e76) Name(TPC_, 0x0e94) Name(TPTM, 0x0ca0) Name(TBSE, 0x0ab6) Name(TCUN, 0x0) Name(FAST, 0x0) Name(TZMP, 0x0) Name(TVAR, Buffer(0x5) {0x0, 0x20, 0x1f, 0xc, 0x1f }) CreateByteField(TVAR, 0x0, PLCY) CreateWordField(TVAR, 0x1, CTOS) CreateWordField(TVAR, 0x3, CTHY) PowerResource(PFAN, 0, 0) { Method(_STA) { Store("------------------------------- _TZ( _STA)", Debug) Return(FAST) } Method(_ON_) { Store("------------------------------- _TZ (_ON)", Debug) Store(0x89, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) Store(0x86, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) Store(0x1, FAST) Return(FAST) } Method(_OFF) { Store("------------------------------- _TZ (_OFF)", Debug) Store(0x87, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) Store(0x0, FAST) Return(FAST) } } PowerResource(PFA1, 0, 0) { Method(_STA) { Store("------------------------------- _TZ( _STA)", Debug) Return(FAST) } Method(_ON_) { Store("------------------------------- _TZ (_ON)", Debug) Store(0x88, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) Store(0x86, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) Store(0x1, FAST) Return(FAST) } Method(_OFF) { Store("------------------------------- _TZ (_OFF)", Debug) Store(0x87, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) Store(0x0, FAST) Return(FAST) } } Device(FAN_) { Name(_HID, 0x0b0cd041) Name(_UID, 0x1) Name(_PR0, Package(0x1) { PFAN, }) } Device(FA1_) { Name(_HID, 0x0b0cd041) Name(_UID, 0x2) Name(_PR0, Package(0x1) { PFA1, }) } ThermalZone(THRM) { Method(_AC0) { Store("------------------------------- _AC0", Debug) Return(TACT) } Name(_AL0, Package(0x1) { FAN_, }) Method(_AC1) { Store("------------------------------- _AC1", Debug) Return(TAC1) } Name(_AL1, Package(0x1) { FA1_, }) Name(_TSP, 0x32) Method(_CRT) { Return(TPC_) } Method(_TMP) { Store(\_SB_.PCI0.ISA_.SMI_(0x96, 0x0, 0x0, 0x0, 0x0), Local1) Store("Current Temperature is ----------- ", Debug) If(LEqual(Local1, 0x0)) { Store(0x32, Local1) Store("0, So fixed to :", Debug) } Store(Local1, Debug) Multiply(Local1, 0xa, Local1) Add(Local1, 0x0aac, Local1) Return(Local1) } Method(_PSV) { Return(TPAS) } Name(_PSL, Package(0x1) { \_PR_.CPU0, }) Name(_TC1, 0x2) Name(_TC2, 0x3) Method(_SCP, 1) { Store("------------------------------- _SCP", Debug) If(Arg0) { Store(One, PLCY) } Else { Store(Zero, PLCY) } Notify(\_TZ_.THRM, 0x81) } } } Method(_PTS, 1) { Store(0xac, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) If(LEqual(Arg0, 0x1)) { Store(0xa4, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) Store(Zero, \_TZ_.TCUN) Store(Zero, \_SB_.BAT1.BCUT) Store(Zero, \_SB_.BAT1.ACCH) } \_SB_.PCI0.CRD0.TIEN(One) If(LEqual(Arg0, 0x3)) { If(\_SB_.MYOS) { Store(0xab, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) } Store(0xa6, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) Store(0x85, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) Store(Zero, \_SB_.PCI0.PWR_.Z000) Store(Zero, \_TZ_.TCUN) Store(Zero, \_SB_.BAT1.BCUT) Store(Zero, \_SB_.BAT1.ACCH) } If(LEqual(Arg0, 0x4)) { Store(0x1, \_SB_.PCI0.PWR_.LPOL) Store(Zero, \_TZ_.TCUN) Store(Zero, \_SB_.BAT1.BCUT) Store(Zero, \_SB_.BAT1.ACCH) } If(LEqual(Arg0, 0x5)) { Store(0x1, \_SI_.GS5_) } Else { Store(0x0, \_SI_.GS5_) } Return(0x0) } Method(_WAK, 1) { Store("==================================== _WAK", Debug) Store(0x1, \_SB_.BAT1.BTCH) Store(0x0, \_SB_.BAT1.BCMP) Store(One, \_SB_.PCI0.PWR_.Z000) If(LEqual(Arg0, 0x1)) { Store(0xa5, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) Store(0xa3, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) } If(LEqual(Arg0, 0x3)) { Store(0x1, \_SB_.PCI0.PO22) Store(0x82, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) \_SB_.PCI0.ISA_.EC0_.CHAG() } If(LEqual(Arg0, 0x4)) { Store(Zero, \_SB_.PCI0.PWR_.Z001) Store(0xa3, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) } } Scope(_SI_) { Name(GS5_, 0x0) Method(_SST, 1) { If(\_SB_.PCI0.ISA_.EC0_.HKEY.LDBE) { \_SB_.PCI0.ISA_.EC0_.HKEY.MHKB(0x0) } If(LEqual(Arg0, 0x3)) { Store("===================================================", Debug) Store("================== _SI SLEEP ======================", Debug) Store("===================================================", Debug) Store(0xa3, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) } If(LEqual(Arg0, 0x4)) { Store("===================================================", Debug) Store("================== _SI S4 ======================", Debug) Store("===================================================", Debug) Store(0xa2, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) } If(GS5_) { Store("================== GS5 =======================", Debug) Store(0x8a, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) } } } Scope(_GPE) { Method(_L0B) { Not(\_SB_.PCI0.PWR_.LPOL, \_SB_.PCI0.PWR_.LPOL) If(LEqual(\_SB_.PCI0.PWR_.LPOL, 0x0)) { Store("Lid Close", Debug) Store(0x1, \_SB_.PCI0.ISA_.EC0_.HKEY.LDCF) \_SB_.PCI0.ISA_.EC0_.HKEY.MHKQ(0x5001) } Else { Store("Lid Open", Debug) Store(0x0, \_SB_.PCI0.ISA_.EC0_.HKEY.LDCF) If(\_SB_.PCI0.ISA_.EC0_.HKEY.LDOF) { Store(0xaa, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) Store(0x0, \_SB_.PCI0.ISA_.EC0_.HKEY.LDOF) } } Notify(\_SB_.LID_, 0x80) } Method(_L0C) { Store(And(\_SB_.PCI0.CRD0.TIA5, 0xfe, ), \_SB_.PCI0.CRD0.TIA5) Store(Or(\_SB_.PCI0.CRD0.TIA5, 0x80, ), \_SB_.PCI0.CRD0.TIA5) If(LEqual(And(\_SB_.PCI0.CRD0.TIA4, 0xf, ), Zero)) { Notify(\_SB_.PCI0.CRD0, 0x0) } Else { Store(And(\_SB_.PCI0.CRD0.TIA4, 0xf0, ), \_SB_.PCI0.CRD0.TIA4) Notify(\_SB_.PCI0.CRD0, 0x0) Notify(\_SB_.PCI0.CRD0, 0x2) } Notify(\_SB_.PCI0.LAN_, 0x0) Notify(\_SB_.SBTN, 0x2) } Method(_L0D) { Notify(\_SB_.PCI0.MODM, 0x0) Notify(\_SB_.PCI0.MODM, 0x2) } } Scope(_SB_) { Name(MYOS, 0x0) Name(HCT_, 0x0) Method(_INI) { If(LEqual(SCMP(\_OS_, "Microsoft Windows NT"), Zero)) { Store(Ones, MYOS) } Else { If(LEqual(SCMP(\_OS_, "Microsoft Windows"), Zero)) { Store(0x0, MYOS) } Else { If(LEqual(SCMP(\_OS_, "Microsoft WindowsME: Millennium Edition"), Zero)) { Store(0x0, MYOS) } Else { Store(0x0, MYOS) Store(0x1, HCT_) } } } } Method(MIN_, 2) { If(LLess(Arg0, Arg1)) { Return(Arg0) } Else { Return(Arg1) } } Method(SLEN, 1) { Return(SizeOf(Arg0)) } Method(S2BF, 1, Serialized) { Add(SLEN(Arg0), One, Local0) Name(BUFF, Buffer(Local0) { }) Store(Arg0, BUFF) Return(BUFF) } Method(SCMP, 2) { Store(S2BF(Arg0), Local0) Store(S2BF(Arg1), Local1) Store(Zero, Local4) Store(SLEN(Arg0), Local5) Store(SLEN(Arg1), Local6) Store(MIN_(Local5, Local6), Local7) While(LLess(Local4, Local7)) { Store(DerefOf(Index(Local0, Local4, )), Local2) Store(DerefOf(Index(Local1, Local4, )), Local3) If(LGreater(Local2, Local3)) { Return(One) } Else { If(LLess(Local2, Local3)) { Return(Ones) } Increment(Local4) } } If(LLess(Local4, Local5)) { Return(One) } Else { If(LLess(Local4, Local6)) { Return(Ones) } Else { Return(Zero) } } } Name(OSTY, 0x0) Mutex(PSMX, 0) Device(PCI0) { Name(_HID, 0x030ad041) Name(_ADR, 0x0) Method(_BBN) { Return(0x0) } OperationRegion(REG0, PCI_Config, 0x40, 0xc0) Field(REG0, DWordAcc, NoLock, Preserve) { Offset(0x19), PAM0, 8, PAM1, 8, PAM2, 8, PAM3, 8, PAM4, 8, PAM5, 8, PAM6, 8, DRB0, 8, DRB1, 8, DRB2, 8, DRB3, 8, Offset(0x28), , 6, HEN_, 2, Offset(0x32), , 3, G_EN, 1, Offset(0x33), T_EN, 1, T_SZ, 2, , 4, H_EN, 1, Offset(0x3a), CRST, 1, , 5, PO22, 1, Offset(0x90), BSP0, 8, BSP1, 8, BSP2, 8, BSP3, 8, BSP4, 8 } Name(CRES, Buffer(0xda) {0x88, 0xe, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0xf8, 0xc, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x0, 0x0, 0x0, 0xf3, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x1, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xf, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x10, 0xff, 0xff, 0xff, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0xff, 0xff, 0xdf, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { CreateDWordField(CRES, 0x9d, EM1R) If(LEqual(EM1R, 0x0)) { CreateDWordField(CRES, 0x91, EM1L) CreateDWordField(CRES, 0x95, EM1H) CreateDWordField(CRES, 0xac, EM2L) CreateDWordField(CRES, 0xb0, EM2H) CreateDWordField(CRES, 0xb8, EM2R) CreateDWordField(CRES, 0xc7, EM3L) CreateDWordField(CRES, 0xcb, EM3H) CreateDWordField(CRES, 0xd3, EM3R) ShiftLeft(DRB3, 0x17, Local0) If(LGreater(G_EN, 0x0)) { If(LGreater(H_EN, 0x0)) { Subtract(EM1H, 0x00060000, EM1H) } If(LGreater(T_EN, 0x0)) { ShiftLeft(0x00020000, T_SZ, Local1) Subtract(Local0, Local1, Local0) } } Store(Local0, EM1L) Subtract(EM1H, Local0, EM1R) Increment(EM1R) Add(EM2H, Local0, EM2H) Subtract(EM2H, EM2L, EM2R) Increment(EM2R) Add(EM3L, Local0, EM3L) Subtract(EM3H, EM3L, EM3R) Increment(EM3R) } Return(CRES) } Method(_STA) { Return(0xf) } Method(_INI) { // BreakPoint Store("=============================================", Debug) Store("==================================== PCI _INI", Debug) Store("=============================================", Debug) Store(0x0, \_SB_.BAT1.ACCH) If(LEqual(\_SB_.SCMP(\_OS_, "Microsoft WindowsME: Millennium Edition"), Zero)) { Store(0x1, \_SB_.BAT1.BCMP) Store(0x1, \_SB_.OSTY) } Else { If(LEqual(\_SB_.SCMP(\_OS_, "Microsoft Windows"), Zero)) { Store(0x0, \_SB_.BAT1.BCMP) Store(0x0, \_SB_.OSTY) } Else { If(LEqual(\_SB_.SCMP(\_OS_, "Microsoft Windows NT"), Zero)) { Store(0x8, \_SB_.BAT1.BCMP) Store(0x2, \_SB_.OSTY) } } } } Name(_PRT, Package(0x6) { Package(0x4) { 0xffff, 0x1, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x0007ffff, 0x3, \_SB_.PCI0.ISA_.LNKD, 0x0, }, Package(0x4) { 0x0009ffff, 0x0, \_SB_.PCI0.ISA_.LNKA, 0x0, }, Package(0x4) { 0x000affff, 0x0, \_SB_.PCI0.ISA_.LNKA, 0x0, }, Package(0x4) { 0x000bffff, 0x0, \_SB_.PCI0.ISA_.LNKC, 0x0, }, Package(0x4) { 0x000cffff, 0x0, \_SB_.PCI0.ISA_.LNKD, 0x0, }, }) Device(USB0) { Name(_ADR, 0x00070002) Name(_PRW, Package(0x2) { 0x8, 0x1, }) OperationRegion(SB72, PCI_Config, 0x0, 0xc2) Field(SB72, ByteAcc, NoLock, Preserve) { Offset(0x3c), UIRR, 4, Offset(0xc0), LUSB, 16 } Method(_INI) { Store(0x1000, \_SB_.PCI0.USB0.LUSB) } Method(_STA) { Return(0xf) } } Device(I394) { Name(_ADR, 0x000b0000) Name(_PRW, Package(0x2) { 0xc, 0x1, }) } Device(ISA_) { Name(_ADR, 0x00070000) OperationRegion(PIRX, PCI_Config, 0x60, 0x4) Field(PIRX, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8 } Device(LNKA) { Name(_HID, 0x0f0cd041) Name(_UID, 0x1) Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xcc, 0x18, 0x79, 0x0 }) Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) Method(_DIS) { Store("LNKA_DIS", Debug) Or(PIRA, 0x80, PIRA) } Method(_CRS) { Store("LNKA_CRS", Debug) CreateWordField(RSRC, 0x1, IRQ0) Store(Zero, IRQ0) If(LNot(And(PIRA, 0x80, ))) { And(PIRA, 0xf, Local0) ShiftLeft(0x1, Local0, IRQ0) } Store(RSRC, Debug) Return(RSRC) } Method(_SRS, 1) { Store("LNKA_SRS", Debug) Store(Arg0, Debug) CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Or(Local0, And(PIRA, 0x70, ), PIRA) } Method(_STA) { Store("LNKA_STA", Debug) If(And(PIRA, 0x80, )) { Store(0x9, Debug) Return(0x9) } Else { Return(0xb) } } } Device(LNKB) { Name(_HID, 0x0f0cd041) Name(_UID, 0x2) Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xcc, 0x18, 0x79, 0x0 }) Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) Method(_DIS) { Store("LNKB_DIS", Debug) Or(PIRB, 0x80, PIRB) } Method(_CRS) { CreateWordField(RSRC, 0x1, IRQ0) Store(Zero, IRQ0) If(LNot(And(PIRB, 0x80, ))) { And(PIRB, 0xf, Local0) ShiftLeft(0x1, Local0, IRQ0) } Return(RSRC) } Method(_SRS, 1) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Or(Local0, And(PIRB, 0x70, ), PIRB) } Method(_STA) { If(And(PIRB, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKC) { Name(_HID, 0x0f0cd041) Name(_UID, 0x3) Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xcc, 0x18, 0x79, 0x0 }) Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) Method(_DIS) { Or(PIRC, 0x80, PIRC) } Method(_CRS) { CreateWordField(RSRC, 0x1, IRQ0) Store(Zero, IRQ0) If(LNot(And(PIRC, 0x80, ))) { And(PIRC, 0xf, Local0) ShiftLeft(0x1, Local0, IRQ0) } Return(RSRC) } Method(_SRS, 1) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Or(Local0, And(PIRC, 0x70, ), PIRC) } Method(_STA) { If(And(PIRC, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKD) { Name(_HID, 0x0f0cd041) Name(_UID, 0x4) Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xcc, 0x18, 0x79, 0x0 }) Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) Method(_DIS) { Or(PIRD, 0x80, PIRD) } Method(_CRS) { CreateWordField(RSRC, 0x1, IRQ0) Store(Zero, IRQ0) If(LNot(And(PIRD, 0x80, ))) { And(PIRD, 0xf, Local0) ShiftLeft(0x1, Local0, IRQ0) } Return(RSRC) } Method(_SRS, 1) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Or(Local0, And(PIRD, 0x70, ), PIRD) } Method(_STA) { If(And(PIRD, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(DMAA) { Name(_HID, 0x0002d041) Name(_CRS, Buffer(0x1d) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x10, 0x47, 0x1, 0x81, 0x0, 0x81, 0x0, 0x1, 0xf, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x2, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(RTC_) { Name(_HID, 0x000bd041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x2, 0x22, 0x0, 0x1, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(PIC_) { Name(_HID, 0xd041) Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(FPU_) { Name(_HID, 0x040cd041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 0xf, 0x22, 0x0, 0x20, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(TMR_) { Name(_HID, 0x0001d041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(SPKR) { Name(_HID, 0x0008d041) Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(MEM1) { Name(_HID, 0x010cd041) Method(_STA) { Return(0xf) } Method(_CRS) { Name(SMEM, Buffer(0x3e) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x9, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x2, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0xf0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0xc0, 0xd, 0x0, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff, 0x0, 0x0, 0x8, 0x0, 0x79, 0x0 }) CreateDWordField(SMEM, 0x20, MEMC) Return(SMEM) } } Device(MEM2) { Name(_HID, 0x020cd041) Name(_CRS, Buffer(0x22) {0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 0x47, 0x1, 0x0, 0x80, 0x0, 0x80, 0x1, 0x40, 0x47, 0x1, 0x80, 0x21, 0x80, 0x21, 0x1, 0x10, 0x47, 0x1, 0x98, 0x3, 0x98, 0x3, 0x1, 0x2, 0x79, 0x0 }) } Device(KBC_) { Name(_HID, 0x0303d041) Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(MOUE) { Name(_HID, 0x80374d24) Name(_CID, 0x130fd041) Name(_CRS, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 }) Method(_STA) { Store(\_SB_.PCI0.ISA_.SMI_(0x93, 0x0, 0x0, 0x0, 0x0), Local0) If(Local0) { Return(0xf) } Else { Return(0x0) } } } OperationRegion(SMI0, SystemIO, 0x0000fe00, 0x00000002) Field(SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion(SMI1, SystemMemory, 0x07ff3c49, 0x00000100) Field(SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID_, 32, INFO, 2000 } Field(SMI1, AnyAcc, NoLock, Preserve) { AccessAs(ByteAcc, 0), Offset(0x5), INF_, 8 } Field(SMI1, AnyAcc, NoLock, Preserve) { Offset(0x5), INF2, 1024 } Field(SMI1, AnyAcc, NoLock, Preserve) { Offset(0x5), PAR0, 32, PAR1, 32, PAR2, 32, PAR3, 32 } Mutex(MSMI, 7) Method(SMI_, 5) { Acquire(MSMI, 0xffff) Store(Arg0, BCMD) Store(Arg1, PAR0) Store(Arg2, PAR1) Store(Arg3, PAR2) Store(Arg4, PAR3) Store(0x0, SMIC) Store(PAR0, Local0) Release(MSMI) Return(Local0) } Mutex(PSMX, 0) Method(PCRS, 1, Serialized) { Acquire(PSMX, 0xffff) Store(0x0, BCMD) Store(Arg0, DID_) Store(Zero, SMIC) Return(INFO) Release(PSMX) } Method(PSRS, 2) { Acquire(PSMX, 0xffff) Store(0x1, BCMD) Store(Arg0, DID_) Store(Arg1, INFO) Store(Zero, SMIC) Release(PSMX) } Method(PPRS, 1, Serialized) { Acquire(PSMX, 0xffff) Store(0x2, BCMD) Store(Arg0, DID_) Store(Zero, SMIC) Return(INFO) Release(PSMX) } Method(PDIS, 1) { Acquire(PSMX, 0xffff) Store(0x3, BCMD) Store(Arg0, DID_) Store(Zero, SMIC) Release(PSMX) } Method(PSTA, 1, Serialized) { Acquire(PSMX, 0xffff) Store(0x4, BCMD) Store(Arg0, DID_) Store(Zero, SMIC) Return(INF_) Release(PSMX) } Method(PHS_, 1, Serialized) { Acquire(PSMX, 0xffff) Store(Arg0, BCMD) Store(Zero, SMIC) Store(Zero, BCMD) Return(INF_) Release(PSMX) } Method(PHS2, 2, Serialized) { Acquire(PSMX, 0xffff) Store(Arg0, BCMD) Store(Arg1, INF_) Store(Zero, DID_) Store(Zero, SMIC) Store(Zero, BCMD) Store(Zero, DID_) Store(INF2, Local0) Release(PSMX) Return(Local0) } Scope(\_SB_) { Name(OKEC, 0x0) Name(Q20F, 0x1) } Device(EC0_) { Name(_HID, 0x090cd041) Name(_CRS, Buffer(0x12) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x1, 0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x1, 0x1, 0x79, 0x0 }) Name(_GPE, 0x19) Method(_REG, 2) { If(LEqual(Arg0, 0x3)) { Store(Arg1, \_SB_.OKEC) } } Name(VDHK, 0x0) Method(GHKS) { Store(GHKY(), VDHK) } Method(GHKY) { Store(\_SB_.PCI0.ISA_.SMI_(0x90, 0x0, 0x0, 0x0, 0x0), Local0) Return(And(ShiftRight(Local0, 0x4, ), 0x1, )) } Device(HKEY) { Name(_HID, 0x68004d24) Method(_STA) { If(VDHK) { Return(0xf) } Else { Return(0x0) } } Name(DHKC, 0x0) Name(DHKB, 0x1) Mutex(XDHK, 7) Name(DHKH, 0x0) Name(DHKW, 0x0) Name(DHKS, 0x0) Name(DHKD, 0x0) Method(MHKS) { Notify(\_SB_.SBTN, 0x80) } Method(MHKC, 1) { Store(Arg0, DHKC) } Method(MHKP) { Acquire(XDHK, 0xffff) If(DHKW) { Store(DHKW, Local1) Store(Zero, DHKW) } Else { If(DHKD) { Store(DHKD, Local1) Store(Zero, DHKD) } Else { If(DHKS) { Store(DHKS, Local1) Store(Zero, DHKS) } Else { Store(DHKH, Local1) Store(Zero, DHKH) } } } Release(XDHK) Return(Local1) } Method(MHKE, 1) { Store(Arg0, DHKB) Acquire(XDHK, 0xffff) Store(Zero, DHKH) Store(Zero, DHKW) Store(Zero, DHKS) Store(Zero, DHKD) Release(XDHK) } Method(MHKQ, 1) { If(DHKB) { If(DHKC) { Acquire(XDHK, 0xffff) If(LLess(Arg0, 0x1000)) { } Else { If(LLess(Arg0, 0x2000)) { Store(Arg0, DHKH) } Else { If(LLess(Arg0, 0x3000)) { Store(Arg0, DHKW) } Else { If(LLess(Arg0, 0x4000)) { Store(Arg0, DHKS) } Else { If(LLess(Arg0, 0x5000)) { Store(Arg0, DHKD) } Else { If(LLess(Arg0, 0x6000)) { Store(Arg0, DHKH) } Else { } } } } } } Release(XDHK) If(LEqual(DHKH, 0x1003)) { } Notify(HKEY, 0x80) } Else { If(LEqual(Arg0, 0x1004)) { Notify(\_SB_.SBTN, 0x80) } } } } Name(LDOF, 0x0) Name(LDBE, 0x0) Name(LDCF, 0x0) Method(MHKD) { If(LDCF) { Store(" MHKD Runing", Debug) Store(0xa9, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) Store(0x1, LDOF) } } Method(MHKB, 1) { Store("MHKB Runing", Debug) If(LEqual(Arg0, 0x0)) { Store("Stop Beep", Debug) Store(0xa8, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) Store(0x0, LDBE) } Else { If(LEqual(Arg0, 0x1)) { If(LDCF) { Store("Start Beep", Debug) Store(0xa7, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) Store(0x1, LDBE) Store(0x0, LDCF) } } Else { } } } } Name(ACIN, 0x0) Name(BTIN, 0x0) OperationRegion(ERAM, EmbeddedControl, 0x0, 0xff) Field(ERAM, ByteAcc, NoLock, Preserve) { Offset(0x4), CMCM, 8, CMD1, 8, CMD2, 8, CMD3, 8, Offset(0x18), SMPR, 8, SMST, 8, SMAD, 8, SMCM, 8, SMD0, 264, SMAA, 8, BATD, 16, ACDF, 1, Offset(0x4c), MBTS, 1, MBTF, 1, , 4, MBTD, 1, Offset(0x4d), SBTS, 1, SBTF, 1, , 4, SBTC, 1, Offset(0x4f), MBTC, 1, Offset(0x53), TMSS, 2, , 2, BANK, 4, Offset(0x56), , 4, FANC, 1, S5S_, 1, WOL_, 1, S1ST, 1, Offset(0x6c), FANS, 16, Offset(0x80), CTMP, 8, Offset(0x96), MBVT, 16, Offset(0x9a), MBCT, 16, Offset(0xa1), PTIM, 8, Offset(0xa8), RGA8, 8, Offset(0xb9), ARMB, 2, Offset(0xc0), RGC0, 8, Offset(0xf6), RMCA, 16 } Field(ERAM, ByteAcc, NoLock, Preserve) { Offset(0x1c), SMW0, 16 } Field(ERAM, ByteAcc, NoLock, Preserve) { Offset(0x1c), SMB0, 8 } Method(_INI) { GHKS() } Mutex(MUT0, 0) Mutex(MUT1, 0) Method(BPOL, 1) { Store(0x97, \_SB_.PCI0.ISA_.BCMD) Store(Arg0, \_SB_.PCI0.ISA_.PAR0) Store(0x0, \_SB_.PCI0.ISA_.SMIC) } Name(Z002, 0x0) Name(ACEV, 0x0) Name(BATO, 0x0) Name(BATN, 0x0) Name(BATF, 0x01c1) Method(_Q09) { Notify(\_SB_.PCI0.USB0, 0x4) } Method(CHAG) { Acquire(MUT1, 0xffff) SELE() If(And(0x40, BATF, )) { Store(0x1, \_SB_.BAT1.BTCH) Notify(\_SB_.BAT1, 0x0) } If(And(0x2, BATF, )) { If(LEqual(\_SB_.OSTY, 0x1)) { Store(0x1, \_SB_.BAT1.ACCH) } Notify(\_SB_.ACAD, 0x0) If(And(0x1, BATF, )) { Store(0x83, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) } Else { Store(0x84, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) } } Release(MUT1) } Name(SMBT, 0x0) Method(_Q20) { Store(SMST, SMBT) Store(0xa0, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) And(SMST, 0xbf, SMST) If(\_SB_.HCT_) { And(SMST, 0xbf, SMST) Store(SMAA, Local0) If(LEqual(Local0, 0x14)) { CHKS() If(And(0x40, BATF, )) { Store(0x01e9, \_SB_.BAT1.UBIF) Notify(\_SB_.BAT1, 0x0) Notify(\_SB_.BAT1, 0x81) } If(And(0x2, BATF, )) { Store(0x1, ACEV) Notify(\_SB_.ACAD, 0x0) Notify(\_SB_.BAT1, 0x80) } } } Else { Acquire(MUT0, 0x1000) If(And(SMBT, 0x40, )) { If(LNot(LLess(\_SB_.BAT1.BCUT, \_SB_.BAT1.BCMP))) { Store(SMAA, Local0) If(LEqual(Local0, 0x14)) { CHAG() Store(0x2, Z002) } Else { If(LEqual(Local0, 0x16)) { Notify(\_SB_.BAT1, 0x0) } } } } Release(MUT0) } } Method(CHKS) { Store(\_SB_.PCI0.ISA_.SMI_(0x99, 0x0, 0x0, 0x0, 0x0), BATN) Store(0x0, BATF) If(And(0xc0, BATN, )) { Or(BATF, 0x1, BATF) } If(And(0x0c00, BATN, )) { Or(BATF, 0x4, BATF) } And(BATN, 0x1, Local0) And(BATO, 0x1, Local1) If(Not(LEqual(Local0, Local1), )) { Or(BATF, 0x40, BATF) } And(BATN, 0xc0, Local0) And(BATO, 0xc0, Local1) If(Not(LEqual(Local0, Local1), )) { Or(BATF, 0x2, BATF) } If(And(0x4, BATF, )) { Or(BATF, 0x10, BATF) } } Method(CHKA) { Store(0x0, BATF) If(\_SB_.OKEC) { Store(\_SB_.PCI0.ISA_.SMI_(0x99, 0x0, 0x0, 0x0, 0x0), BATN) Store(BATN, BATO) If(And(0xc0, BATN, )) { Or(BATF, 0x1, BATF) } Else { And(BATF, 0xfffe, BATF) } } } Method(CHKB) { And(BATN, 0x1, Local0) If(Local0) { Or(BATF, 0x0100, BATF) } Else { And(BATF, 0xfeff, BATF) } } Method(SELE) { If(\_SB_.OKEC) { Store(\_SB_.PCI0.ISA_.SMI_(0x99, 0x0, 0x0, 0x0, 0x0), BATN) Store(0x0, BATF) If(And(0xc0, BATN, )) { Or(BATF, 0x1, BATF) } If(And(0x0300, BATN, )) { Or(BATF, 0x4, BATF) } And(BATN, 0x1, Local0) And(BATO, 0x1, Local1) If(Local0) { Or(BATF, 0x0100, BATF) } Else { And(BATF, 0xfeff, BATF) } If(Not(LEqual(Local0, Local1), )) { Or(BATF, 0x40, BATF) } And(BATN, 0xc0, Local0) And(BATO, 0xc0, Local1) If(Not(LEqual(Local0, Local1), )) { Or(BATF, 0x2, BATF) } If(And(0x1, BATF, )) { If(And(0x4, BATF, )) { If(And(BATN, 0x20, )) { Or(BATF, 0x10, BATF) } } } Store(BATN, BATO) } } Method(_Q01) { If(\_SB_.PCI0.ISA_.EC0_.VDHK) { \_SB_.PCI0.ISA_.EC0_.HKEY.MHKQ(0x1003) } Else { Store(0x8f, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) } } Method(_Q02) { If(LEqual(\_SB_.PCI0.VGA_.SWIT, 0x0)) { Store(0x9e, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) Store(\_SB_.PCI0.ISA_.PAR0, Local0) Store(\_SB_.PCI0.ISA_.PAR1, Local3) If(LNot(LLess(Local0, 0x3))) { Store(0x1, Local0) } Else { Increment(Local0) } If(Local3) { Store(One, Local4) Store(Zero, Local5) } Else { Store(Zero, Local4) Store(One, Local5) } If(LEqual(Local0, 0x3)) { Store(Local4, \_SB_.PCI0.VGA_.CRTA) Store(One, \_SB_.PCI0.VGA_.LCDA) } If(LEqual(Local0, 0x1)) { Store(Zero, \_SB_.PCI0.VGA_.CRTA) Store(One, \_SB_.PCI0.VGA_.LCDA) } If(LEqual(Local0, 0x2)) { Store(Local4, \_SB_.PCI0.VGA_.CRTA) Store(Local5, \_SB_.PCI0.VGA_.LCDA) } Notify(\_SB_.PCI0.VGA_, 0x80) } Else { Store(0x9f, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) } } Method(_Q0C) { \_SB_.PCI0.ISA_.EC0_.HKEY.MHKQ(0x100c) } Method(_Q0B) { If(\_SB_.PCI0.ISA_.EC0_.VDHK) { \_SB_.PCI0.ISA_.EC0_.HKEY.MHKQ(0x1004) } Else { Notify(\_SB_.SBTN, 0x80) } } Method(_Q80) { Notify(\_TZ_.THRM, 0x80) } Method(_Q81) { Notify(\_TZ_.THRM, 0x80) } } } Device(PWR_) { Name(_ADR, 0x00070003) OperationRegion(GLBL, SystemIO, 0x8028, 0x4) Field(GLBL, ByteAcc, NoLock, Preserve) { , 2, TPOL, 1, Offset(0x3), , 1, LPOL, 1 } OperationRegion(GPIO, SystemIO, 0x8030, 0x8) Field(GPIO, ByteAcc, NoLock, Preserve) { Offset(0x6), , 4, Z000, 1 } OperationRegion(Z003, SystemIO, 0x8010, 0x1) Field(Z003, ByteAcc, NoLock, Preserve) { , 4, Z001, 1 } } Device(LAN_) { Name(_ADR, 0x000c0000) Name(_PRW, Package(0x2) { 0xc, 0x4, }) } Device(VGA_) { Name(_ADR, 0x00090000) Name(EDID, Package(0x8) { "IBM0A2E", "IBM0A41", "IBM0A4B", "IBM0A50", "IBM0A55", "IBM254A", "IBM254C", "IBM254D", }) Name(SWIT, 0x1) Name(CRTA, 0x1) Name(LCDA, 0x1) Method(_DOS, 1) { Store(Arg0, SWIT) } Name(_DOD, Package(0x2) { 0x00010100, 0x00010110, }) Device(CRT_) { Name(_ADR, 0x0100) Method(_DCS) { If(CRTA) { Return(0x1f) } Else { Return(0x1d) } } Method(_DGS) { If(CRTA) { Return(0x1) } Else { Return(0x0) } } Method(_DSS, 1) { Store("CRT --_DSS", Debug) } } Device(LCD_) { Name(_ADR, 0x0110) Method(_DCS) { If(LCDA) { Return(0x1f) } Else { Return(0x1d) } } Method(_DGS) { If(LCDA) { Return(0x1) } Else { Return(0x0) } } Method(_DSS, 1) { Store("LCD --_DSS", Debug) } } } Device(CRD0) { Name(_ADR, 0x000a0000) Name(_PRW, Package(0x2) { 0xc, 0x3, }) OperationRegion(NPCC, PCI_Config, 0x0, 0xe0) Field(NPCC, DWordAcc, NoLock, Preserve) { Offset(0x4), TI04, 8, Offset(0xd), TI0D, 8, Offset(0x3e), TI3E, 16, Offset(0x44), TI44, 16, Offset(0x80), TI80, 8, Offset(0x8c), TI8C, 8, TI8D, 8, TI8E, 8, TI8F, 8, Offset(0x91), TI91, 8, Offset(0xa4), TIA4, 8, TIA5, 8 } OperationRegion(TIIO, SystemIO, 0x03e0, 0x2) Field(TIIO, ByteAcc, NoLock, Preserve) { TIID, 8, TIDA, 8 } Method(_INI) { Store(TIA4, Local0) Store(And(0xf0, TIA4, ), TIA4) Store(Zero, TI44) Store(And(TI8E, 0xf0, ), TI8E) Store(Or(TI80, 0x1, ), TI80) Store(And(TI91, 0x7f, ), TI91) Store(Local0, TIA4) } Name(TIWK, Zero) Method(_PSW, 1) { If(LEqual(Arg0, One)) { Store(One, TIWK) } Else { Store(Zero, TIWK) } } Method(_PS0) { Store(And(0xf0, TIA4, ), TIA4) } Method(_PS1) { Store(And(0xf0, TIA4, ), TIA4) } Method(_PS2) { Store(And(0xf0, TIA4, ), TIA4) } Method(_PS3) { Store(0x2, TIA4) } Name(EX03, Zero) Method(TIEN, 1) { If(TIWK) { If(LEqual(Arg0, One)) { Store(TIA4, Local0) Store(And(0xf0, TIA4, ), TIA4) Store(TI04, Local1) Store(Or(TI04, 0x1, ), TI04) Store(0x03e1, TI44) Store(0x3, TIID) Store(TIDA, EX03) Store(Or(EX03, 0x80, ), TIDA) Store(Zero, TI44) Store(Local1, TI04) Store(Local0, TIA4) Store(Or(TIA5, 0x1, ), TIA5) } If(LEqual(Arg0, Zero)) { If(And(TIA5, 0x80, )) { Store(TIA5, Local0) Store(Local0, TIA5) Notify(\_SB_.PCI0.CRD0, 0x0) } } } } } Device(AUDO) { Name(_ADR, 0x1) } Device(MODM) { Name(_ADR, 0x2) Name(_PRW, Package(0x2) { 0xd, 0x4, }) } } Device(SBTN) { Name(_HID, 0x0e0cd041) } Device(ACAD) { Name(_HID, "ACPI0003") Name(_PCL, Package(0x1) { \_SB_, }) Name(AFST, 0x0) Name(FST_, 0x1) Method(_PSR) { And(\_SB_.PCI0.ISA_.EC0_.BATF, 0x1, Local0) If(Local0) { Return(One) } Else { Return(Zero) } } Method(_STA) { If(\_SB_.HCT_) { Return(0xf) } Else { \_SB_.PCI0.ISA_.EC0_.CHKA() Return(0xf) } } } Device(BAT1) { Name(_HID, 0x0a0cd041) Name(_PCL, Package(0x1) { \_SB_, }) Name(BP__, 0x1) Name(BCMP, 0xd) Name(BCUT, 0x0) Name(BTCH, 0x1) Name(ACCH, 0x0) Name(BFST, 0x0) Name(PBIF, Package(0xd) { 0x0, 0xffffffff, 0xffffffff, 0x1, 0xffffffff, 0x96, 0x7e, 0x4, 0x4, "BQ2040", " ", "LION ", "SANYO ", }) Name(PBST, Package(0x4) { 0x0, 0xffffffff, 0x04b0, 0x2710, }) Method(_STA) { If(\_SB_.HCT_) { Store(\_SB_.PCI0.ISA_.SMI_(0x99, 0x0, 0x0, 0x0, 0x0), Local1) And(Local1, 0x1, Local0) If(Local0) { Store(0x1, BP__) } Else { Store(0x0, BP__) } If(BP__) { Return(0x1f) } Else { Return(0xf) } } Else { If(LNot(LLess(BCUT, BCMP))) { \_SB_.PCI0.ISA_.EC0_.CHKB() And(\_SB_.PCI0.ISA_.EC0_.BATF, 0x0100, Local0) If(Local0) { Return(0x1f) } Else { Return(0xf) } } Else { Increment(BCUT) Return(0xf) } } } Method(_BIF) { Store("=============================================", Debug) Store("============================ BATTERY _BIF ", Debug) Store("=============================================", Debug) If(\_SB_.HCT_) { If(BP__) { HVBI() } Else { IVBI() } } Else { If(LNot(LLess(BCUT, BCMP))) { Acquire(\_SB_.PCI0.ISA_.EC0_.MUT0, 0xffff) If(And(\_SB_.PCI0.ISA_.EC0_.BATF, 0x0100, )) { UPBI() } Else { IVBI() } Release(\_SB_.PCI0.ISA_.EC0_.MUT0) } Else { HVBI() } } Return(PBIF) } Method(_BST) { Store("=============================================", Debug) Store("============================ BATTERY _BST ", Debug) Store("=============================================", Debug) If(\_SB_.HCT_) { Store(\_SB_.PCI0.ISA_.SMI_(0x99, 0x0, 0x0, 0x0, 0x0), Local1) And(Local1, 0x1, Local0) If(Local0) { HPBS() } Else { IVBS() } } Else { If(LNot(LLess(BCUT, BCMP))) { If(\_SB_.OKEC) { Acquire(\_SB_.PCI0.ISA_.EC0_.MUT0, 0xffff) If(And(\_SB_.PCI0.ISA_.EC0_.BATF, 0x0100, )) { UPBS() } Else { IVBS() } Release(\_SB_.PCI0.ISA_.EC0_.MUT0) Store(0x8e, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) } } Else { IVBS() } } Return(PBST) } Name(UBIF, 0x01e9) Method(UPBI) { If(BTCH) { Store(0x98, \_SB_.PCI0.ISA_.BCMD) Store(0x0, \_SB_.PCI0.ISA_.SMIC) Store(\_SB_.PCI0.ISA_.PAR0, Index(PBIF, 0x1, )) Store(\_SB_.PCI0.ISA_.PAR1, Index(PBIF, 0x4, )) Store(\_SB_.PCI0.ISA_.PAR2, Index(PBIF, 0x2, )) Store(0x0, BTCH) } Return(One) } Method(HPBS) { Store(Zero, Local0) Store(\_SB_.PCI0.ISA_.EC0_.BANK, Local1) Store(0x6, \_SB_.PCI0.ISA_.EC0_.BANK) Store(\_SB_.PCI0.ISA_.EC0_.MBCT, Local2) If(And(Local2, 0x8000, )) { Or(Local2, 0xffff0000, Local2) Add(Not(Local2, ), 0x1, Local2) } Store(\_SB_.PCI0.ISA_.EC0_.MBVT, Local3) Store(0x4, \_SB_.PCI0.ISA_.EC0_.BANK) Store(\_SB_.PCI0.ISA_.EC0_.RMCA, Local5) Store(Local1, \_SB_.PCI0.ISA_.EC0_.BANK) If(LNot(LEqual(Local2, DerefOf(Index(PBST, 0x1, ))))) { Store(Local2, Index(PBST, 0x1, )) Store(Ones, Local0) } If(LNot(LEqual(Local3, DerefOf(Index(PBST, 0x3, ))))) { Store(Local3, Index(PBST, 0x3, )) Store(Ones, Local0) } If(LNot(LEqual(Local5, DerefOf(Index(PBST, 0x2, ))))) { Store(Local5, Index(PBST, 0x2, )) Store(Ones, Local0) } Store(0x0, Local4) Store(\_SB_.PCI0.ISA_.SMI_(0x99, 0x0, 0x0, 0x0, 0x0), Local1) If(And(Local1, 0x0c00, )) { Store("---Set Power State as charging", Debug) Or(0x2, Local4, Local4) } Else { Store("---Set Power State as discharging", Debug) Or(0x1, Local4, Local4) } If(LNot(LEqual(Local4, DerefOf(Index(PBST, 0x0, ))))) { Store(Local4, Index(PBST, 0x0, )) Store(Ones, Local0) } Return(Local0) } Method(UPBS) { Store(\_SB_.PCI0.ISA_.SMI_(0x92, 0x0, 0x0, 0x0, 0x0), Local5) Store(\_SB_.PCI0.ISA_.PAR1, Local6) If(Local5) { Store(Local5, Index(PBST, 0x2, )) } Else { Store(0x0e10, Index(PBST, 0x2, )) } Store(" ============== BATTERY BST INDEX 2 =", Debug) Store(Local5, Debug) Store(" ============== BATTERY BST INDEX 1 =", Debug) Store(Local6, Debug) Subtract(0x0, Local6, Local0) Store(" ============== BATTERY LOCAL0 =", Debug) Store(Local0, Debug) And(0xffff, Local0, Local6) Store(" ============== BATTERY LOCAL6 =", Debug) Store(Local6, Debug) Increment(Local6) Store(\_SB_.PCI0.ISA_.SMI_(0x99, 0x0, 0x0, 0x0, 0x0), Local1) If(And(Local1, 0xc0, )) { Or(\_SB_.PCI0.ISA_.EC0_.BATF, 0x1, \_SB_.PCI0.ISA_.EC0_.BATF) Store(0xffffffff, Index(PBST, 0x1, )) } Else { And(\_SB_.PCI0.ISA_.EC0_.BATF, 0xfffe, \_SB_.PCI0.ISA_.EC0_.BATF) Store(Local6, Index(PBST, 0x1, )) } Store(0x0, Local0) If(LNot(And(Local1, 0x1, ))) { And(0xfeff, \_SB_.PCI0.ISA_.EC0_.BATF, \_SB_.PCI0.ISA_.EC0_.BATF) Store(0x0, Index(PBST, 0x0, )) Return(0x0) } If(LEqual(And(Local1, 0x0dc0, ), 0x0dc0)) { Store("-----------------------------Set Power State as charging", Debug) Store(0x2, Local0) } Else { If(LNot(And(Local1, 0xc0, ))) { Store("-----------------------------Set Power State as discharging", Debug) Store(0x1, Local0) } } If(\_SB_.PCI0.ISA_.EC0_.Z002) { If(And(\_SB_.PCI0.ISA_.EC0_.BATF, 0x1, )) { Store(0x2, Local0) Decrement(\_SB_.PCI0.ISA_.EC0_.Z002) } } Store("BATTERY BIF INDEX 0 =", Debug) Store(Local0, Debug) Store(Local0, Index(PBST, 0x0, )) } Method(HVBI) { Store(0x05dc, Index(PBIF, 0x1, )) Store(0x05dc, Index(PBIF, 0x2, )) Store(0x3138, Index(PBIF, 0x4, )) } Method(IVBI) { Store(0xffffffff, Index(PBIF, 0x1, )) Store(0xffffffff, Index(PBIF, 0x2, )) Store(0xffffffff, Index(PBIF, 0x4, )) } Method(IVBS) { Store(0x0, Index(PBST, 0x0, )) Store(0xffffffff, Index(PBST, 0x1, )) Store(0x0e10, Index(PBST, 0x2, )) Store(0x2710, Index(PBST, 0x3, )) } } Device(LID_) { Name(_HID, 0x0d0cd041) Method(_LID) { Return(\_SB_.PCI0.PWR_.LPOL) } Name(_PRW, Package(0x2) { 0xb, 0x3, }) } } } /* BOOT: Length=40, Revision=1, Checksum=107, OEMID=PTLTD, OEM Table ID=$SBFTBL$, OEM Revision=0x1820, Creator ID= LTP, Creator Revision=0x1 */ /* DBGP: Length=52, Revision=1, Checksum=138, OEMID=PTLTD, OEM Table ID=$DBGTBL$, OEM Revision=0x1820, Creator ID= LTP, Creator Revision=0x1 */