| /* SPDX-License-Identifier: GPL-2.0-only */ |
| |
| // Thermal Zone |
| |
| Scope (\_TZ) |
| { |
| /* degree Celsius to deci-Kelvin (ACPI temperature unit) */ |
| Method(C2dK, 1) { |
| Local0 = 2732 + Arg0 * 10 |
| Return (Local0) |
| } |
| |
| ThermalZone (THRM) |
| { |
| |
| // FIXME these could/should be read from the |
| // GNVS area, so they can be controlled by |
| // coreboot |
| Name(TC1V, 0x04) |
| Name(TC2V, 0x03) |
| Name(TSPV, 0x96) |
| |
| // At which temperature should the OS start |
| // active cooling? |
| Method (_AC0, 0, Serialized) |
| { |
| Return (C2dK(120)) // Value for Rocky |
| } |
| |
| // Critical shutdown temperature |
| Method (_CRT, 0, Serialized) |
| { |
| Return (C2dK(155)) // Value for Rocky |
| } |
| |
| // CPU throttling start temperature |
| Method (_PSV, 0, Serialized) |
| { |
| Return (C2dK(105)) // Value for Rocky |
| } |
| |
| // Get DTS Temperature |
| Method (_TMP, 0, Serialized) |
| { |
| If (\_SB.PCI0.LPCB.EC0.ALRC) { |
| \_SB.PCI0.LPCB.EC0.ALRC = 0 |
| Return(_AC0()) |
| } |
| |
| If (\_SB.PCI0.LPCB.EC0.ALRL) { |
| THRO = 0 |
| \_SB.PCI0.LPCB.EC0.ALRL = 0 |
| } |
| |
| If (\_SB.PCI0.LPCB.EC0.ALRH) { |
| THRO = 1 |
| \_SB.PCI0.LPCB.EC0.ALRH = 0 |
| } |
| |
| /* vendor BIOS reports 0K if TCPU >= 128 deg C ?!? */ |
| Return (C2dK(\_SB.PCI0.LPCB.EC0.TCPU)) |
| } |
| |
| |
| // Processors used for active cooling |
| Method (_PSL, 0, Serialized) |
| { |
| If (MPEN) { |
| Return (Package() {\_SB.CP00, \_SB.CP01}) |
| } |
| Return (Package() {\_SB.CP00}) |
| } |
| |
| // TC1 value for passive cooling |
| Method (_TC1, 0, Serialized) |
| { |
| Return (TC1V) |
| } |
| |
| // TC2 value for passive cooling |
| Method (_TC2, 0, Serialized) |
| { |
| Return (TC2V) |
| } |
| |
| // Sampling period for passive cooling |
| Method (_TSP, 0, Serialized) |
| { |
| Return (TSPV) |
| } |
| |
| |
| } |
| } |