summaryrefslogtreecommitdiff
path: root/src/ec
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@google.com>2018-11-20 17:27:47 -0800
committerPatrick Georgi <pgeorgi@google.com>2018-12-04 10:20:44 +0000
commit4c14ca836fb50d7cccee6b1cb85faa3046b03934 (patch)
tree4faf1fd348984880237bd6ad402eac76ccc42192 /src/ec
parente68042f0210738c6c8c15fc2b330801db14d7f22 (diff)
downloadcoreboot-4c14ca836fb50d7cccee6b1cb85faa3046b03934.tar.xz
ec/google/wilco/acpi: Fix issues and clean up
- Disable debug output from read/write methods by default - Use argument to _REG to disable SCI when EC is unregistered - Change read/write macros to sync level 2 so they can be called when a mutex is already held - Define some missing events Change-Id: Ic65ebbb6a6151444c47b4aeff7429e186856c49a Signed-off-by: Duncan Laurie <dlaurie@google.com> Reviewed-on: https://review.coreboot.org/c/29760 Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/ec')
-rw-r--r--src/ec/google/wilco/acpi/ec.asl17
-rw-r--r--src/ec/google/wilco/acpi/ec_ram.asl3
2 files changed, 14 insertions, 6 deletions
diff --git a/src/ec/google/wilco/acpi/ec.asl b/src/ec/google/wilco/acpi/ec.asl
index cddfe3fc2e..67a698f6b6 100644
--- a/src/ec/google/wilco/acpi/ec.asl
+++ b/src/ec/google/wilco/acpi/ec.asl
@@ -20,6 +20,7 @@ Device (EC0)
Name (_UID, 1)
Name (_GPE, EC_SCI_GPI)
Name (_STA, 0xf)
+ Name (DBUG, Zero)
Name (_CRS, ResourceTemplate() {
IO (Decode16,
@@ -44,7 +45,7 @@ Device (EC0)
ECPR = R (APWR)
/* Indicate to EC that OS is ready for queries */
- W (ERDY, One)
+ W (ERDY, Arg1)
/* Tell EC to stop emulating PS/2 mouse */
W (PS2M, Zero)
@@ -71,7 +72,7 @@ Device (EC0)
* Arg0 = EC field structure
* Arg1 = Value to write
*/
- Method (ECRW, 2, Serialized)
+ Method (ECRW, 2, Serialized, 2)
{
If (!EREG) {
Return (Zero)
@@ -101,11 +102,15 @@ Device (EC0)
}
Local5 = EBIT (Arg0, Local3)
- Printf ("ECRD %o = %o", Local0, Local5)
+ If (DBUG) {
+ Printf ("ECRD %o = %o", Local0, Local5)
+ }
Return (Local5)
} ElseIf (Local2 == WR) {
/* Write byte */
- Printf ("ECWR %o = %o", Local0, Arg1)
+ If (DBUG) {
+ Printf ("ECWR %o = %o", Local0, Arg1)
+ }
BYT1 = Arg1
}
Return (Zero)
@@ -115,7 +120,7 @@ Device (EC0)
* Read a field from EC
* Arg0 = EC field structure
*/
- Method (R, 1, Serialized)
+ Method (R, 1, Serialized, 2)
{
Return (ECRW (Arg0, Zero))
}
@@ -125,7 +130,7 @@ Device (EC0)
* Arg0 = EC field structure
* Arg1 = Value to write
*/
- Method (W, 2, Serialized)
+ Method (W, 2, Serialized, 2)
{
Return (ECRW (Arg0, Arg1))
}
diff --git a/src/ec/google/wilco/acpi/ec_ram.asl b/src/ec/google/wilco/acpi/ec_ram.asl
index e2b6a93e1b..6ea2366b0a 100644
--- a/src/ec/google/wilco/acpi/ec_ram.asl
+++ b/src/ec/google/wilco/acpi/ec_ram.asl
@@ -81,6 +81,9 @@ Name (WRTC, Package () { 0x09, 0x20, RD }) /* Wake: RTC */
Name (WBAT, Package () { 0x09, 0x80, RD }) /* Wake: Low Battery */
Name (EVT3, Package () { 0x0b, 0xff, RD }) /* Event 3 */
+Name (E3CP, Package () { 0x0b, 0x08, RD }) /* CS Power Button */
+Name (E3TH, Package () { 0x0b, 0x10, RD }) /* Thermal Event */
+
Name (EVT4, Package () { 0x0c, 0xff, RD }) /* Event 4 */
Name (BCST, Package () { 0x10, 0xff, RD }) /* BCACHE: BST */