[coreboot-gerrit] Patch set updated for coreboot: 203a386 mainboard/jetway/nf81-t56n-lf: Provide ACPI thermal zone
Edward O'Callaghan (eocallaghan@alterapraxis.com)
gerrit at coreboot.org
Mon Jul 28 09:33:30 CEST 2014
Edward O'Callaghan (eocallaghan at alterapraxis.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5889
-gerrit
commit 203a38652ac51c0419dbc18e66fa695408e8a414
Author: Edward O'Callaghan <eocallaghan at alterapraxis.com>
Date: Sat May 31 16:19:40 2014 +1000
mainboard/jetway/nf81-t56n-lf: Provide ACPI thermal zone
NOTFORMERGE - yet -
Has a SystemIO conflict with 0x...220 - 0x...227 from somewhere else???
Change-Id: Ibb0295154fca23a3819953db0119692b26096e34
Signed-off-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>
---
src/mainboard/jetway/nf81-t56n-lf/acpi/gpe.asl | 26 +++++++-
.../jetway/nf81-t56n-lf/acpi/mainboard.asl | 1 +
src/mainboard/jetway/nf81-t56n-lf/acpi/thermal.asl | 74 ++++++++++++++++++++--
3 files changed, 94 insertions(+), 7 deletions(-)
diff --git a/src/mainboard/jetway/nf81-t56n-lf/acpi/gpe.asl b/src/mainboard/jetway/nf81-t56n-lf/acpi/gpe.asl
index bb47ded..a30698a 100644
--- a/src/mainboard/jetway/nf81-t56n-lf/acpi/gpe.asl
+++ b/src/mainboard/jetway/nf81-t56n-lf/acpi/gpe.asl
@@ -2,6 +2,7 @@
* This file is part of the coreboot project.
*
* Copyright (C) 2011 Advanced Micro Devices, Inc.
+ * Copyright (C) 2014 Edward O'Callaghan <eocallaghan at alterapraxis.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -17,7 +18,14 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-Scope(\_GPE) { /* Start Scope GPE */
+Scope(\_GPE)
+{
+ OperationRegion (IP, SystemIO, 0x0225, 0x02)
+ Field (IP, ByteAcc, NoLock, Preserve)
+ {
+ INDX, 8,
+ DAT0, 8
+ }
/* General event 3 */
Method(_L03) {
@@ -31,9 +39,21 @@ Scope(\_GPE) { /* Start Scope GPE */
}
/* Temp warning (TWarn) event */
- Method(_L09) {
+ Method(_L09, 0, NotSerialized)
+ {
/* DBGO("\\_GPE\\_L09\n") */
- /* Notify (\_TZ.TZ00, 0x80) */
+ Store (GBYT (0x66), Local0)
+ If (LNotEqual (And (Local0, 0x02), Zero))
+ {
+ Notify (\_TZ.THRM, 0x80)
+ }
+ }
+
+ Method (GBYT, 1, NotSerialized)
+ {
+ Store (Arg0, INDX)
+ Store (DAT0, Local0)
+ Return (Local0)
}
/* USB controller PME# */
diff --git a/src/mainboard/jetway/nf81-t56n-lf/acpi/mainboard.asl b/src/mainboard/jetway/nf81-t56n-lf/acpi/mainboard.asl
index 1f532cf..59027b7 100644
--- a/src/mainboard/jetway/nf81-t56n-lf/acpi/mainboard.asl
+++ b/src/mainboard/jetway/nf81-t56n-lf/acpi/mainboard.asl
@@ -33,6 +33,7 @@ Name(SSFG, 0x0D) /* S1 support: bit 0, S2 Support: bit 1, etc. S0 & S5 assumed *
Name(OSVR, 3) /* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */
Name(OSV, Ones) /* Assume nothing */
Name(PMOD, One) /* Assume APIC */
+Name (TPCH, Zero) /* Thermal zone channel */
Scope(\_SB) {
Method(OSFL, 0){
diff --git a/src/mainboard/jetway/nf81-t56n-lf/acpi/thermal.asl b/src/mainboard/jetway/nf81-t56n-lf/acpi/thermal.asl
index 2f50475..058a23f 100644
--- a/src/mainboard/jetway/nf81-t56n-lf/acpi/thermal.asl
+++ b/src/mainboard/jetway/nf81-t56n-lf/acpi/thermal.asl
@@ -1,6 +1,8 @@
/*
* This file is part of the coreboot project.
*
+ * Copyright (C) 2014 Edward O'Callaghan <eocallaghan at alterapraxis.com>
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
@@ -15,7 +17,71 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-/* Thermal Zones have been #if 0 for a long time.
- * Removing it for now because it doesn't seem to
- * do anything when enabled anyway.
- */
+/* Thermal Zones. */
+
+Scope (\_TZ)
+{
+ OperationRegion (IP, SystemIO, 0x0225, 0x02)
+ Field (IP, ByteAcc, NoLock, Preserve)
+ {
+ INDX, 8,
+ DAT0, 8
+ }
+
+ ThermalZone (THRM)
+ {
+ Method (KELV, 1, NotSerialized)
+ {
+ Store (Arg0, Local1)
+ Multiply (0x0A, Local1, Local1)
+ Add (Local1, 0x0AAC, Local1)
+ Return (Local1)
+ }
+
+ Method (_TMP, 0, NotSerialized) // _TMP: Temperature
+ {
+ If (LEqual (TPCH, One))
+ {
+ While (LGreater (GBYT (0x7A), 0x7E))
+ {
+ Sleep (0xFA)
+ Store (One, Local1)
+ Multiply (0x0A, Local1, Local1)
+ Add (Local1, 0x0AAC, Local1)
+ Return (Local1)
+ }
+ }
+
+ Return (KELV (CTMP ()))
+ }
+
+ Method (_CRT, 0, NotSerialized) // _CRT: Critical Temperature
+ {
+ Return (KELV (STMP ()))
+ }
+
+ Method (STMP, 0, NotSerialized)
+ {
+ Store (GBYT (0x82), Local0)
+ Return (Local0)
+ }
+
+ Method (CTMP, 0, NotSerialized)
+ {
+ Store (GBYT (0x7A), Local0)
+ If (LGreaterEqual (Local0, 0x65))
+ {
+ Store (0x30, Local0)
+ }
+
+ Return (Local0)
+ }
+
+ Method (GBYT, 1, NotSerialized)
+ {
+ Store (Arg0, INDX)
+ Store (DAT0, Local0)
+ Return (Local0)
+ }
+ }
+}
More information about the coreboot-gerrit
mailing list