Scope (_TZ)
{
Name (ETMD, One)
Name (THLD, 0x78)
Name (HBT4, 0x37)
Name (HBT3, 0x3C)
Name (HBT2, 0x46)
Name (HBT1, 0x50)
Name (HBT0, 0x5A)
Name (HBTT, 0x5F)
Method (FCTL, 1, Serialized)
{
\_SB.PCI0.LPCB.H_EC.ECWT (One, RefOf (\_SB.PCI0.LPCB.H_EC.PPSL))
\_SB.PCI0.LPCB.H_EC.ECWT (Zero, RefOf (\_SB.PCI0.LPCB.H_EC.PPSH))
\_SB.PCI0.LPCB.H_EC.ECWT (Arg0, RefOf (\_SB.PCI0.LPCB.H_EC.PENV))
\_SB.PCI0.LPCB.H_EC.ECWT (0x64, RefOf (\_SB.PCI0.LPCB.H_EC.PSTP))
\_SB.PCI0.LPCB.H_EC.ECMD (0x1A)
Sleep (0x10)
\_SB.PCI0.LPCB.H_EC.ECWT (0x02, RefOf (\_SB.PCI0.LPCB.H_EC.PPSL))
\_SB.PCI0.LPCB.H_EC.ECWT (Zero, RefOf (\_SB.PCI0.LPCB.H_EC.PPSH))
\_SB.PCI0.LPCB.H_EC.ECWT (Arg0, RefOf (\_SB.PCI0.LPCB.H_EC.PENV))
\_SB.PCI0.LPCB.H_EC.ECWT (0x64, RefOf (\_SB.PCI0.LPCB.H_EC.PSTP))
\_SB.PCI0.LPCB.H_EC.ECMD (0x1A)
}
PowerResource (FN00, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
Return (VFN0)
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
Store (One, VFN0)
If (LAnd (ECON, ETMD))
{
FCTL (0x64)
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
Store (Zero, VFN0)
If (LAnd (ECON, ETMD))
{
FCTL (0x50)
}
}
}
Device (FAN0)
{
Name (_HID, EisaId ("PNP0C0B")) // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
FN00
})
Name (_FST, Package (0x03) // _FST: Fan Status
{
Zero,
Zero,
0xFFFFFFFF
})
}
PowerResource (FN01, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
Return (VFN1)
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
Store (One, VFN1)
If (LAnd (ECON, ETMD))
{
FCTL (0x50)
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
Store (Zero, VFN1)
If (LAnd (ECON, ETMD))
{
FCTL (0x41)
}
}
}
Device (FAN1)
{
Name (_HID, EisaId ("PNP0C0B")) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
FN01
})
}
PowerResource (FN02, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
Return (VFN2)
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
Store (One, VFN2)
If (LAnd (ECON, ETMD))
{
FCTL (0x41)
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
Store (Zero, VFN2)
If (LAnd (ECON, ETMD))
{
FCTL (0x32)
}
}
}
Device (FAN2)
{
Name (_HID, EisaId ("PNP0C0B")) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
FN02
})
}
PowerResource (FN03, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
Return (VFN3)
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
Store (One, VFN3)
If (LAnd (ECON, ETMD))
{
FCTL (0x32)
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
Store (Zero, VFN3)
If (LAnd (ECON, ETMD))
{
FCTL (0x1E)
}
}
}
Device (FAN3)
{
Name (_HID, EisaId ("PNP0C0B")) // _HID: Hardware ID
Name (_UID, 0x03) // _UID: Unique ID
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
FN03
})
}
PowerResource (FN04, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
Return (VFN4)
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
Store (One, VFN4)
If (LAnd (ECON, ETMD))
{
FCTL (0x1E)
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
Store (Zero, VFN4)
If (LAnd (ECON, ETMD))
{
FCTL (Zero)
}
}
}
Device (FAN4)
{
Name (_HID, EisaId ("PNP0C0B")) // _HID: Hardware ID
Name (_UID, 0x04) // _UID: Unique ID
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
FN04
})
}
ThermalZone (TZ00)
{
Name (PTMP, 0x0BB8)
Method (_SCP, 1, Serialized) // _SCP: Set Cooling Policy
{
Store (Arg0, CTYP)
}
Method (_CRT, 0, Serialized) // _CRT: Critical Temperature
{
Return (Add (0x0AAC, Multiply (CRTT, 0x0A)))
}
Method (_AC0, 0, Serialized) // _ACx: Active Cooling
{
Return (Add (0x0AAC, Multiply (HBT0, 0x0A)))
}
Method (_AC1, 0, Serialized) // _ACx: Active Cooling
{
Return (Add (0x0AAC, Multiply (HBT1, 0x0A)))
}
Method (_AC2, 0, Serialized) // _ACx: Active Cooling
{
Return (Add (0x0AAC, Multiply (HBT2, 0x0A)))
}
Method (_AC3, 0, Serialized) // _ACx: Active Cooling
{
Return (Add (0x0AAC, Multiply (HBT3, 0x0A)))
}
Method (_AC4, 0, Serialized) // _ACx: Active Cooling
{
Return (Add (0x0AAC, Multiply (HBT4, 0x0A)))
}
Name (_AL0, Package (0x01) // _ALx: Active List
{
FAN0
})
Name (_AL1, Package (0x01) // _ALx: Active List
{
FAN1
})
Name (_AL2, Package (0x01) // _ALx: Active List
{
FAN2
})
Name (_AL3, Package (0x01) // _ALx: Active List
{
FAN3
})
Name (_AL4, Package (0x01) // _ALx: Active List
{
FAN4
})
Method (_TMP, 0, Serialized) // _TMP: Temperature
{
If (LEqual (DTSE, 0x03))
{
Return (Add (0x0B10, Multiply (CRTT, 0x0A)))
}
If (ECON)
{
Store (\_SB.PCI0.LPCB.H_EC.ECRD (\_SB.PCI0.LPCB.H_EC.PLMX), Local0)
Add (0x0AAC, Multiply (Local0, 0x0A), Local0)
Store (Local0, PTMP)
Return (Local0)
}
Return (0x0BC2)
}
Method (_PSL, 0, Serialized) // _PSL: Passive List
{
If (LEqual (TCNT, 0x08))
{
Return (Package (0x08)
{
\_PR.CPU0,
\_PR.CPU1,
\_PR.CPU2,
\_PR.CPU3,
\_PR.CPU4,
\_PR.CPU5,
\_PR.CPU6,
\_PR.CPU7
})
}
If (LEqual (TCNT, 0x04))
{
Return (Package (0x04)
{
\_PR.CPU0,
\_PR.CPU1,
\_PR.CPU2,
\_PR.CPU3
})
}
If (LEqual (TCNT, 0x02))
{
Return (Package (0x02)
{
\_PR.CPU0,
\_PR.CPU1
})
}
Return (Package (0x01)
{
\_PR.CPU0
})
}
Method (_PSV, 0, Serialized) // _PSV: Passive Temperature
{
Return (Add (0x0AAC, Multiply (PSVT, 0x0A)))
}
Method (_TC1, 0, Serialized) // _TC1: Thermal Constant 1
{
Return (TC1V)
}
Method (_TC2, 0, Serialized) // _TC2: Thermal Constant 2
{
Return (TC2V)
}
Method (_TSP, 0, Serialized) // _TSP: Thermal Sampling Period
{
Return (TSPV)
}
}
}