From b7c51c9cf4864df6aabb99a1ae843becd577237c Mon Sep 17 00:00:00 2001 From: raywu Date: Fri, 15 Jun 2018 00:00:50 +0800 Subject: init. 1AQQW051 --- Core/EM/ACPI/MAX1617L.ASL | 219 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 219 insertions(+) create mode 100644 Core/EM/ACPI/MAX1617L.ASL (limited to 'Core/EM/ACPI/MAX1617L.ASL') diff --git a/Core/EM/ACPI/MAX1617L.ASL b/Core/EM/ACPI/MAX1617L.ASL new file mode 100644 index 0000000..193e19c --- /dev/null +++ b/Core/EM/ACPI/MAX1617L.ASL @@ -0,0 +1,219 @@ +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2009, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Pkwy, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** +// $Header: /Alaska/BIN/Modules/ACPI/Template/Core/MAX1617L.ASL 2 3/26/09 4:53p Oleksiyy $ +// +// $Revision: 2 $ +// +// $Date: 3/26/09 4:53p $ +//**********************************************************************; +// Revision History +// ---------------- +// $Log: /Alaska/BIN/Modules/ACPI/Template/Core/MAX1617L.ASL $ +// +// 2 3/26/09 4:53p Oleksiyy +// New ACPI Core implementation - improves logic, execution time and +// memory usage of ACPI module. +// +// 1 3/24/05 5:01p Sivagarn +// +// 1 2/03/05 6:42p Sivagarn +// 0ABHI001 Check in +// +// 1 7/27/04 2:48p Yakovlevs +// +// 2 9/06/02 10:53a Alexp +// Add SourceSafe headers to all core asl files +// +// +//;**********************************************************************; +//**********************************************************************; +// ASL interface to MAX1617 thermal sensor over SMBus +// Local sensor +//**********************************************************************; +// change max1617 trip point + Method(TCHG, 0) { + + Store(RBYT(TSAD, 0x00), Local0) // Read local Current temp + + Add(Local0, 0x1, Local1) // Set Thigh T + 1.0 C + Subtract(Local0, 0x1, Local2) // Set Tlow T - 1.0 C + + STOS(Local1) // Set Thigh + STHY(Local2) // Set Tlow +// STOS(0x7f) // Set Thigh +// STHY(0xbf) // Set Tlow + RBYT(TSAD, 0x02) // Read status byte after limit changes + // Clears ALARM bit +/* + Store(RBYT(TSAD, 0x07), Local0) // remote high limit + Store(RBYT(TSAD, 0x08), Local1) // remote low limit + Store(RBYT(TSAD, 0x01), Local2) // remote current temp + RBYT(TSAD, 0x02) // Read status byte + if( LGreaterEqual(Local2,Local0) ) { + // High limit alert + if( LEqual(Local0, TMIN) ) { + // Set TMAX to high limit & TMIN-2 to low limit + STOS(TMAX) // Set Thigh to TMAX + Subtract(TMIN, 2, Local3) + STHY(Local3) // Set Tlow to TMIN-2 + } + else { + if( LEqual(Local0, TMAX) ) { + // Set TCRT to high limit & TMAX-2 to low limit + STOS(TCRT) // Set Thigh to TCRT + Subtract(TMAX, 2, Local3) + STHY(Local3) // Set Tlow to TMAX-2 + } + else { + if( LEqual(Local0, TCRT) ) { + // Notify OS to shutdown + // Set Extreeme high to high limit & TCRT-2 to low limit + STOS(0x7f) // Set Thigh to extreeme high (127C) + Subtract(TCRT, 2, Local3) + STHY(Local3) // Set Tlow to TCRT-2 + } +// else { +// // This from init. set TMIN to high & Extreeme to low limit +// STOS(TMIN) // Set Thigh to TMIN +// STHY(0xc9) // Set Tlow to extreeme low (-55C) +// } + } + } + } + else { + if( LLessEqual(Local2, Local1) ) { + // Low limit alert + if( LLess(Local1, TMIN) ) { + // Set TMIN to high limit & Extreeme to low limit + STOS(TMIN) // Set Thigh to TMIN + STHY(0xc9) // Set Tlow to extreeme low (-55C) + } + else { + if( LLess(Local1, TMAX) ) { + // Set TMAX to high limit & TMIN-2 to low limit + STOS(TMAX) // Set Thigh to TMAX + Subtract(TMIN, 2, Local3) + STHY(Local3) // Set Tlow to TMIN-2 + } + else { + if( LLess(Local1, TCRT) ) { + // Set TCRT to high limit & TMAX-2 to low limit + STOS(TCRT) // Set Thigh to TCRT + Subtract(TMAX, 2, Local3) + STHY(Local3) // Set Tlow to TMAX-2 + } +// else { +// // This from init. set TMIN to high & Extreeme to low +// STOS(TMIN) // Set Thigh to TMIN +// STHY(0xc9) // Set Tlow to extreeme low (-55C) +// } + } + } + } + } + + + RBYT(TSAD, 0x02) // Read status byte after limit changes + RSBT(0x19, 0) // Receive Byte, Addr 0x18 +*/ + Notify(\_TZ.THRM, 0x81) // Notify of trip point change + } + +// Set configuration register #0x9 +Method(SCFG, 1) { + // Arg0 = configuration byte + + WBYT(TSAD, 0x09, Arg0) + } + +// Read Status Byte +Method(RSTS, 0) { + // Arg0 = configuration byte + + Return(RBYT(TSAD, 0x02)) + } + +// Set Tos register #0xb +Method(STOS, 1) { + // Arg0 = temperature low byte + + // Set pointer register (occupy the command byte) to 0x0B + + WBYT(TSAD, 0x0B, Arg0) + } + +// Set Thyst register #0xC +Method(STHY, 1) { + // Arg0 = temperature low byte + + // Set pointer register (occupy the command byte) to 0x0C + WBYT(TSAD, 0x0C, Arg0) + } +// Get Tos register #0x5 +Method(GTOS, 0) { + + Store(RBYT(TSAD, 0x05), Debug) + } + +// Set Thyst register #0x6 +Method(GTHY, 0) { + + Store(RBYT(TSAD, 0x06), Debug) + } + +// Read local temperature register + +Method(RTMP, 0) { + // Set pointer register (occupy the command byte) to 0x00 + + Store(RBYT(TSAD, 0x00), Local0) + +Store(Local0, DBG8) + + If(Not(Local0)) // Read command completed + { + Return( Local0 ) + } + Else // Read command failed + { + Store("_TMP Read ERROR", Debug) + Return(Add(TMIN, 2)) // MIN trip point + 2.0 C + } +} // Method(RTMP) + +// MAX1617 Thermal interrupt handler +Method(THDL,0) { +//**********************************************************************; + TCHG() // change Trip points + // Clear ALARM bit + RSBT(0x19, 0) // Receive Byte, Addr 0x18 +//**********************************************************************; +} +//**********************************************************************; +// *****************************************************************; +// *****************************************************************; +// ** **; +// ** (C)Copyright 1985-1996, American Megatrends, Inc. **; +// ** **; +// ** All Rights Reserved. **; +// ** **; +// ** 6145-F Northbelt Pkwy, Norcross, GA 30071 **; +// ** **; +// ** Phone (770)-246-8600 **; +// ** **; +// *****************************************************************; +// *****************************************************************; +//**********************************************************************; +// DON'T CHANGE ANY CODE UNLESS REQUIRED !!! +//**********************************************************************; -- cgit v1.2.3