2
0

thermal_zone.asl 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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. Device(CPU0) {
  19. Name(_HID, "ACPI0007")
  20. Name(_UID, 1) // unique number for this processor
  21. }
  22. ThermalZone(TZ0) {
  23. Method(_TMP) { Return (\_SB.EC0.TMP )} // get current temp
  24. Method(_AC0) { Return (\_SB.EC0.AC0) } // fan high temp
  25. Name(_AL0, Package(){\_SB.EC0.FAN}) // fan is act cool dev
  26. Method(_PSV) { Return (\_SB.EC0.PSV) } // passive cooling temp
  27. Name(_PSL, Package (){\_SB.CPU0}) // passive cooling devices
  28. Method(_HOT) { Return (\_SB.EC0.HOT) } // get critical S4 temp
  29. Method(_CRT) { Return (\_SB.EC0.CRT) } // get critical temp
  30. Method(_SCP, 1) { Store (Arg0, \_SB.EC0.MODE) } // set cooling mode
  31. Name(_TC1, 4) // bogus example constant
  32. Name(_TC2, 3) // bogus example constant
  33. Name(_TSP, 150) // passive sampling = 15 sec
  34. Name(_TZP, 0) // polling not required
  35. Name (_STR, Unicode ("System thermal zone"))
  36. }
  37. }
  38. }