Текст опубликован в личном блоге и его автор не имеет отношения к администрации сайта
Scope (\_TZ)
{
Device (FAN)
{
Name (_HID, EisaId ("PNP0C0B"))
Method (_INI, 0, NotSerialized)
{
Store (TP1H, CTOS)
Store (TP1L, CTHY)
}
}
ThermalZone (THRM)
{
Name (_AL0, Package (0x01)
{
FAN
})
Method (_AC0, 0, NotSerialized)
{
If (Or (PLCY, PLCY, Local7))
{
Return (TP2H)
}
Else
{
Return (TP1H)
}
}
Name (_PSL, Package (0x01)
{
\_PR.CPU0
})
Name (_TSP, 0x3C)
Name (_TC1, 0x04)
Name (_TC2, 0x03)
Method (_PSV, 0, NotSerialized)
{
If (Or (PLCY, PLCY, Local7))
{
Return (TP1H)
}
Else
{
Return (TP2H)
}
}
Method (_CRT, 0, NotSerialized)
{
Return (TRPC)
}
Method (_TMP, 0, NotSerialized)
{
And (SENF, 0x01, Local6)
If (LEqual (Local6, 0x01))
{
Return (RTMP ())
}
Else
{
Return (0x0B86)
}
}
Method (_SCP, 1, NotSerialized)
{
If (Arg0)
{
Store (One, PLCY)
}
Else
{
Store (Zero, PLCY)
}
Notify (\_TZ.THRM, 0x81)
}
Method (STMP, 2, NotSerialized)
{
Store (Arg1, DW00)
If (Arg0)
{
STHY (DB00, DB01, DW00)
}
Else
{
STOS (DB00, DB01, DW00)
}
}
}
}
.
Scope(\_TZ)
{
//============================================================================
//===== Power Resources======
//
// Winbond W83627HF:
// PWMOUT1 Control -- Index 5Ah (Bank 0)
// PWMOUT2 Control -- Index 5Bh (Bank 0)
PowerResource(FN00,0,1){
Method (_STA) {Return(Lequal(GBYT(0x5B),0xFF))}
Method (_ON) {SBYT(0x5B,0xFF)}
Method (_OFF) {SBYT(0x5B,0x3F)}
}
PowerResource(FN01,0,1){
Method (_STA) {Return(Lequal(GBYT(0x5B),0x3F))}
Method (_ON) {SBYT(0x5B,0x3F)}
Method (_OFF) {SBYT(0x5B,0x0F)}
}
PowerResource(FN02,0,1){
Method (_STA) {Return(Lequal(GBYT(0x5B),0x0F))}
Method (_ON) {SBYT(0x5B,0x0F)}
Method (_OFF) {SBYT(0x5B,Zero)}
}
//==========================================================================================
//===== Devices
Device (FN0H){
Name(_HID,EISAID("PNP0C0B"))
Name(_PR0,Package() {FN00})
}
Device (FN0M){
Name(_HID,EISAID("PNP0C0B"))
Name(_PR0,Package() {FN01})
}
Device (FN0L){
Name(_HID,EISAID("PNP0C0B"))
Name(_PR0,Package() {FN02})
}
//=================================================================================
ThermalZone (THRM)
{
Name (_AL0,Package(0x01) {FN0H})
Name (_AL1,Package(0x01) {FN0M})
Name (_AL2,Package(0x01) {FN0L})
Method(_AC0,0,NotSerialized){
Store (50, Local0) //
Multiply(Local0, 0x0A , Local0)
Add (Local0, 0x0AAC, Local0)
Return (Local0)
}
Method(_AC1,0,NotSerialized){
Store (45, Local0)
Multiply(Local0, 0x0A , Local0)
Add (Local0, 0x0AAC, Local0)
Return (Local0)
}
Method(_AC2,0,NotSerialized){
Store (40, Local0)
Multiply(Local0, 0x0A , Local0)
Add (Local0, 0x0AAC, Local0)
Return (Local0)
}
Method (_CRT,0, NotSerialized)
{
Store (75, Local0)
Multiply(Local0, 0x0A , Local0)
Add (Local0, 0x0AAC, Local0)
Return (Local0)
}
Method (_TMP, 0, NotSerialized)
{
Return (RTMP ())
}
Method (_PSV, 0, NotSerialized)
{
Store (70, Local0)
Multiply(Local0, 0x0A , Local0)
Add (Local0, 0x0AAC, Local0)
Return (Local0)
}
Name(_PSL,Package(0x01){\_PR.CPU0})
Name (_TSP, 0x3C)
Name (_TC1, 0x04)
Name (_TC2, 0x03)
Method (_SCP, 1, NotSerialized)
{
Store (Zero, PLCY) // 0 = Active, 1 = Passive
Notify (\_TZ.THRM, 0x81)
}
Method (STMP, 2, NotSerialized)
{
Store (Arg1, DW00)
If (Arg0)
{
STHY (DB00, DB01, DW00)
}
Else
{
STOS (DB00, DB01, DW00)
}
}
}
}
//============================================================================
.