|
| 1 | +DefinitionBlock("thermal_zone.aml", "DSDT", 1, "RSACPI", "THERMZ", 1) { |
| 2 | + Scope(_SB) { |
| 3 | + Device(EC0) { |
| 4 | + Name(_HID, EISAID("PNP0C09")) |
| 5 | + OperationRegion(EC0, EmbeddedControl, 0, 0xFF) |
| 6 | + Field(EC0, ByteAcc, Lock, Preserve) { |
| 7 | + MODE, 1, // thermal policy (quiet/perform) |
| 8 | + FAN, 1, // fan power (on/off) |
| 9 | + , 6, // reserved |
| 10 | + TMP, 16, // current temp |
| 11 | + AC0, 16, // active cooling temp (fan high) |
| 12 | + , 16, // reserved |
| 13 | + PSV, 16, // passive cooling temp |
| 14 | + HOT, 16, // critical S4 temp |
| 15 | + CRT, 16 // critical temp |
| 16 | + } |
| 17 | + } |
| 18 | + |
| 19 | + Device(CPU0) { |
| 20 | + Name(_HID, "ACPI0007") |
| 21 | + Name(_UID, 1) // unique number for this processor |
| 22 | + } |
| 23 | + |
| 24 | + ThermalZone(TZ0) { |
| 25 | + Method(_TMP) { Return (\_SB.EC0.TMP )} // get current temp |
| 26 | + Method(_AC0) { Return (\_SB.EC0.AC0) } // fan high temp |
| 27 | + Name(_AL0, Package(){\_SB.EC0.FAN}) // fan is act cool dev |
| 28 | + Method(_PSV) { Return (\_SB.EC0.PSV) } // passive cooling temp |
| 29 | + Name(_PSL, Package (){\_SB.CPU0}) // passive cooling devices |
| 30 | + Method(_HOT) { Return (\_SB.EC0.HOT) } // get critical S4 temp |
| 31 | + Method(_CRT) { Return (\_SB.EC0.CRT) } // get critical temp |
| 32 | + Method(_SCP, 1) { Store (Arg0, \_SB.EC0.MODE) } // set cooling mode |
| 33 | + Name(_TC1, 4) // bogus example constant |
| 34 | + Name(_TC2, 3) // bogus example constant |
| 35 | + Name(_TSP, 150) // passive sampling = 15 sec |
| 36 | + Name(_TZP, 0) // polling not required |
| 37 | + Name (_STR, Unicode ("System thermal zone")) |
| 38 | + } |
| 39 | + } |
| 40 | +} |
0 commit comments