/**************************************************************************; ;* *; ;* *; ;* Intel Corporation - ACPI Reference Code for the Baytrail *; ;* Family of Customer Reference Boards. *; ;* *; ;* *; ;* Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved *; ; ; This program and the accompanying materials are licensed and made available under ; the terms and conditions of the BSD License that accompanies this distribution. ; The full text of the license may be found at ; http://opensource.org/licenses/bsd-license.php. ; ; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, ; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. ; ;* *; ;* *; ;**************************************************************************/ // THERMAL.ASL represents a Thermal Zone to be used for testing on the // Customer Reference Boards. External(\_SB.DPTF.CTOK, MethodObj) Scope(\_TZ) { // Thermal Zone 1 = DTS Thermal Zone. ThermalZone(TZ01) { // Return the temperature at which the OS must perform a Critcal // Shutdown. Method(_CRT,0,Serialized) { Return(Add(2732,Multiply(CRTT,10))) } // Notifies ASL Code the current cooling mode. // 0 - Active cooling // 1 - Passive cooling Method(_SCP,1,Serialized) { Store(Arg0,CTYP) } // _TMP (Temperature) // // Return the highest of the CPU temperatures to the OS. // // Arguments: (0) // None // Return Value: // An Integer containing the current temperature of the thermal zone (in tenths of degrees Kelvin) // Method(_TMP,0,Serialized) { If(DTSE) { If(LGreater(DTS2, DTS1)) { Store(DTS2,Local0) } else { Store(DTS1,Local0) } Return(Add(2732,Multiply(Local0,10))) // // Else return a static value if both EC and DTS are unavailable. // } Else { Return(3000) // (3000-2732)/10 = 26.8 degree C } } // Return the Processor(s) used for Passive Cooling. Method(_PSL,0,Serialized) { If(LEqual(MPEN, 4)) { // CMP - Throttling controls all four logical CPUs. Return(Package() {\_PR.CPU0,\_PR.CPU1,\_PR.CPU2,\_PR.CPU3}) } If(MPEN) { // CMP - Throttling controls both CPUs. Return(Package() {\_PR.CPU0,\_PR.CPU1}) } Return(Package() {\_PR.CPU0}) } // Returns the temperature at which the OS initiates CPU throttling. Method(_PSV,0,Serialized) { Return(Add(2732,Multiply(PSVT,10))) } // Returns TC1 value used in the passive cooling formula. Method(_TC1,0,Serialized) { Return(TC1V) } // Returns TC2 value used in the passive cooling formula. Method(_TC2,0,Serialized) { Return(TC2V) } // Returns the sampling period used in the passive cooling formula. Method(_TSP,0,Serialized) { Return(TSPV) } // Returns Hot Temperature Method(_HOT,0,Serialized) { Subtract(CRTT, 5, Local0) Return(Add(2732,Multiply(Local0,10))) } } }