diff options
author | Wim Vervoorn <wvervoorn@eltan.com> | 2020-01-15 09:13:46 +0100 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2020-01-18 10:51:34 +0000 |
commit | 0826e35a358de83ec75fd48f23bfd17b0ced9b7b (patch) | |
tree | dee68950e3a4dcec1b998600688e4a5e26ecd22b /src/mainboard/facebook | |
parent | 815611ef56fd1059ae79f0024cb36454a69a05fc (diff) | |
download | coreboot-0826e35a358de83ec75fd48f23bfd17b0ced9b7b.tar.xz |
mb/facebook/monolith: Add support to read cpu temperature
Read the CPU temperature from the EC.
For this board the EC support is limited to reading the CPU temperature
sensor at this moment. Events are not supported.
BUG=N/A
TEST=tested on facebook monolith using acpidbg
The TSR0._TMP method is returning the correct values.
Change-Id: I6793070602e253f1e15cfc641bb47d25d269b136
Signed-off-by: Wim Vervoorn <wvervoorn@eltan.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/38427
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Frans Hendriks <fhendriks@eltan.com>
Diffstat (limited to 'src/mainboard/facebook')
-rw-r--r-- | src/mainboard/facebook/monolith/acpi/dptf.asl | 6 | ||||
-rw-r--r-- | src/mainboard/facebook/monolith/acpi/ec.asl | 84 |
2 files changed, 89 insertions, 1 deletions
diff --git a/src/mainboard/facebook/monolith/acpi/dptf.asl b/src/mainboard/facebook/monolith/acpi/dptf.asl index 5ea95b41d0..181f7bc251 100644 --- a/src/mainboard/facebook/monolith/acpi/dptf.asl +++ b/src/mainboard/facebook/monolith/acpi/dptf.asl @@ -22,10 +22,14 @@ #define DPTF_CPU_ACTIVE_AC3 60 #define DPTF_CPU_ACTIVE_AC4 50 +#define DPTF_TSR0_SENSOR_ID 0 +#define DPTF_TSR0_SENSOR_NAME "ITE8528_CPU" +#define DPTF_TSR0_PASSIVE DPTF_CPU_PASSIVE +#define DPTF_TSR0_CRITICAL DPTF_CPU_CRITICAL + Name (DTRT, Package () { /* CPU Throttle Effect on CPU */ Package () { \_SB.PCI0.B0D4, \_SB.PCI0.B0D4, 100, 50, 0, 0, 0, 0 }, - }) Name (MPPC, Package () diff --git a/src/mainboard/facebook/monolith/acpi/ec.asl b/src/mainboard/facebook/monolith/acpi/ec.asl index e69de29bb2..dc7a4ead55 100644 --- a/src/mainboard/facebook/monolith/acpi/ec.asl +++ b/src/mainboard/facebook/monolith/acpi/ec.asl @@ -0,0 +1,84 @@ +/* + * This file is part of the coreboot project. + * + * Copyright (C) 2020 Eltan B.V. + * + * 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. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +/* + * We only use the ERAM region to retrieve the CPU temperature. Otherwise the EC is not enabled + * The _GPE is pointing to the correct pin but the EC events are not enabled in coreboot or the + * EC. + */ + +Device (EC0) +{ + Name (_HID, EisaId ("PNP0C09")) + Name (_UID, 0) + Name (_GPE, GPE0_DW0_22) + + Name (_CRS, ResourceTemplate () { + IO (Decode16, 0x62, 0x62, 0, 1) + IO (Decode16, 0x66, 0x66, 0, 1) + }) + + Method (_STA, 0, NotSerialized) + { + Return (0x0F) + } + + Method (_REG, 2, NotSerialized) + { + } + + OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF) + Field (ERAM, ByteAcc, NoLock, Preserve) + { + Offset (0x00), + CPUT, 8, + } + + Method (TSRD, 1, Serialized) + { + /* Prevent iasl remarks about unused parameters */ + Store(Arg0, Local0) + Store(Local0, Arg0) + Return (\_SB.DPTF.CTOK (CPUT)) + } + + /* Set Aux Trip Point 0 */ + Method (PAT0, 2, Serialized) + { + /* Prevent iasl remarks about unused parameters */ + Store(Arg0, Local0) + Store(Local0, Arg0) + Store(Arg1, Local0) + Store(Local0, Arg1) + } + + /* Set Aux Trip Point 1 */ + Method (PAT1, 2, Serialized) + { + /* Prevent iasl remarks about unused parameters */ + Store(Arg0, Local0) + Store(Local0, Arg0) + Store(Arg1, Local0) + Store(Local0, Arg1) + } + + /* Disable Aux Trip Point */ + Method (PATD, 1, Serialized) + { + /* Prevent iasl remarks about unused parameters */ + Store(Arg0, Local0) + Store(Local0, Arg0) + } +} |