+++ /dev/null
-/**************************************************************************;\r
-;* *;\r
-;* *;\r
-;* Intel Corporation - ACPI Reference Code for the Baytrail *;\r
-;* Family of Customer Reference Boards. *;\r
-;* *;\r
-;* *;\r
-;* Copyright (c) 1999 - 2017, Intel Corporation. All rights reserved *;\r
-;\r
-; SPDX-License-Identifier: BSD-2-Clause-Patent\r
-;\r
-;* *;\r
-;* *;\r
-;**************************************************************************/\r
-\r
-\r
-// THERMAL.ASL represents a Thermal Zone to be used for testing on the\r
-// Customer Reference Boards.\r
-\r
-External(\_SB.DPTF.CTOK, MethodObj)\r
-\r
-Scope(\_TZ)\r
-{\r
-\r
- // Thermal Zone 1 = DTS Thermal Zone.\r
-\r
- ThermalZone(TZ01)\r
- {\r
- // Return the temperature at which the OS must perform a Critcal\r
- // Shutdown.\r
-\r
- Method(_CRT,0,Serialized)\r
- {\r
- Return(Add(2732,Multiply(CRTT,10)))\r
- }\r
-\r
- // Notifies ASL Code the current cooling mode.\r
- // 0 - Active cooling\r
- // 1 - Passive cooling\r
-\r
- Method(_SCP,1,Serialized)\r
- {\r
- Store(Arg0,CTYP)\r
- }\r
-\r
- // _TMP (Temperature)\r
- //\r
- // Return the highest of the CPU temperatures to the OS.\r
- //\r
- // Arguments: (0)\r
- // None\r
- // Return Value:\r
- // An Integer containing the current temperature of the thermal zone (in tenths of degrees Kelvin)\r
- //\r
- Method(_TMP,0,Serialized)\r
- {\r
- If(DTSE)\r
- {\r
- If(LGreater(DTS2, DTS1))\r
- {\r
- Store(DTS2,Local0)\r
- } else\r
- {\r
- Store(DTS1,Local0)\r
- }\r
- If (LEqual(And(Local0, 0x80), 0)) {\r
- Return(Add(2732,Multiply(Local0,10)))\r
- } else {\r
- Add(Subtract(255, Local0), 1, Local0)\r
- Return(Subtract(2732,Multiply(Local0,10)))\r
- }\r
- //\r
- // Else return a static value if both EC and DTS are unavailable.\r
- //\r
- } Else\r
- {\r
- Return(3000) // (3000-2732)/10 = 26.8 degree C\r
- }\r
- }\r
-\r
- // Return the Processor(s) used for Passive Cooling.\r
-\r
- Method(_PSL,0,Serialized)\r
- {\r
- If(LEqual(MPEN, 4))\r
- {\r
- // CMP - Throttling controls all four logical CPUs.\r
- Return(Package() {\_PR.CPU0,\_PR.CPU1,\_PR.CPU2,\_PR.CPU3})\r
- }\r
-\r
- If(MPEN)\r
- {\r
- // CMP - Throttling controls both CPUs.\r
-\r
- Return(Package() {\_PR.CPU0,\_PR.CPU1})\r
- }\r
-\r
- Return(Package() {\_PR.CPU0})\r
- }\r
-\r
- // Returns the temperature at which the OS initiates CPU throttling.\r
-\r
- Method(_PSV,0,Serialized)\r
- {\r
- Return(Add(2732,Multiply(PSVT,10)))\r
- }\r
-\r
- // Returns TC1 value used in the passive cooling formula.\r
-\r
- Method(_TC1,0,Serialized)\r
- {\r
- Return(TC1V)\r
- }\r
-\r
- // Returns TC2 value used in the passive cooling formula.\r
-\r
- Method(_TC2,0,Serialized)\r
- {\r
- Return(TC2V)\r
- }\r
-\r
- // Returns the sampling period used in the passive cooling formula.\r
-\r
- Method(_TSP,0,Serialized)\r
- {\r
- Return(TSPV)\r
- }\r
-\r
- // Returns Hot Temperature\r
-\r
- Method(_HOT,0,Serialized)\r
- {\r
- Subtract(CRTT, 5, Local0)\r
- Return(Add(2732,Multiply(Local0,10)))\r
- }\r
- }\r
-}\r