summaryrefslogtreecommitdiff
path: root/src/ec
diff options
context:
space:
mode:
authorAlexandru Gagniuc <mr.nuke.me@gmail.com>2014-04-09 21:07:43 -0500
committerAlexandru Gagniuc <mr.nuke.me@gmail.com>2014-04-19 03:49:48 +0200
commitfa840676f5f3bd92b63c352f0c8bf6f14bc2c314 (patch)
treeba323c7f7691cf5cab2df5b1110711e46ceba652 /src/ec
parent91b6d3a6b9430c94989d37982a56ead948419e78 (diff)
downloadcoreboot-fa840676f5f3bd92b63c352f0c8bf6f14bc2c314.tar.xz
ec/compal/ene932: Update to use coreboot EC-mainboard API
This patch implements a simple interface between the EC and mainboard ASL code. This interface does not rely on the preprocessor, and prevents name conflicts by scoping the interface methods. As this interface is documented on the coreboot wiki, an in-tree documentation is not provided. Change-Id: If0b09be4f5e17cc444539a30f0186590fa0b72b5 Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-on: http://review.coreboot.org/5515 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@gmail.com>
Diffstat (limited to 'src/ec')
-rw-r--r--src/ec/compal/ene932/acpi/ec.asl41
-rw-r--r--src/ec/compal/ene932/documentation.txt21
2 files changed, 43 insertions, 19 deletions
diff --git a/src/ec/compal/ene932/acpi/ec.asl b/src/ec/compal/ene932/acpi/ec.asl
index a042d7588d..0b7837f3eb 100644
--- a/src/ec/compal/ene932/acpi/ec.asl
+++ b/src/ec/compal/ene932/acpi/ec.asl
@@ -27,7 +27,7 @@ Device (EC0)
{
Name (_HID, EISAID ("PNP0C09"))
Name (_UID, 1)
- Name (_GPE, EC_SCI) // GPE for Runtime SCI
+ Name (_GPE, EC_SCI_GPE) // GPE for Runtime SCI
OperationRegion (ERAM, EmbeddedControl, 0x00, 0xff)
Field (ERAM, ByteAcc, Lock, Preserve)
@@ -272,9 +272,6 @@ Device (EC0)
// Initialize AC power state
Store (ADPT, \PWRS)
- // Initialize LID switch state
- Store (EC_ACPI_LID_SWITCH_OBJECT, \LIDS)
-
// Force a read of CPU temperature
Store (CTML, Local0)
}
@@ -308,6 +305,36 @@ Device (EC0)
* Hotkey break Function 46h
*/
+ /* Decrease brightness hotkey */
+ Method (_Q11, 0, NotSerialized)
+ {
+ \_SB.MB.BRTD()
+ }
+
+ /* Increase brightness hotkey */
+ Method (_Q12, 0, NotSerialized)
+ {
+ \_SB.MB.BRTU()
+ }
+
+ /* Lid opened */
+ Method (_Q15, 0, NotSerialized)
+ {
+ \_SB.MB.LIDO()
+ }
+
+ /* Lid closed */
+ Method (_Q16, 0, NotSerialized)
+ {
+ \_SB.MB.LIDC()
+ }
+
+ /* Switch display hotkey */
+ Method (_Q1C, 0, NotSerialized)
+ {
+ \_SB.MB.DSPS()
+ }
+
// AC Power Connected
Method (_Q37, 0, NotSerialized)
{
@@ -328,6 +355,12 @@ Device (EC0)
\PNOT ()
}
+ /* Wireless toggle hotkey */
+ Method (_Q40, 0, NotSerialized)
+ {
+ \_SB.MB.WLTG()
+ }
+
// Battery at critical low state
Method (_Q22, 0, NotSerialized)
{
diff --git a/src/ec/compal/ene932/documentation.txt b/src/ec/compal/ene932/documentation.txt
index eeb801a73f..a597e4eb7a 100644
--- a/src/ec/compal/ene932/documentation.txt
+++ b/src/ec/compal/ene932/documentation.txt
@@ -1,23 +1,14 @@
-Accessing the EC space
-======================
+ASL interface
+=============
-The ACPI implementation uses the standard I/O ports 0x62 and 0x66 to access the
-EC functionality. Accesses to these ports must be directed to the LPC bus to
-which the EC is connected.
+This EC implements the standard mainboard-EC coreboot interface.
+Deviations from standard interface
+==================================
-Interfacing with the ASL files
-==============================
+The following method must be defined in the global namespace:
-The mainboard code must define several variables for the ASL files.
-
-* EC_SCI
- Defines the General Purpose Event (GPE) corresponding to the EC's SCI line.
-* EC_ACPI_LID_SWITCH_OBJECT
- Defines the APCI object which reads the state of the lid, with 0 = open, and
- 1 = closed. This is usually the bit which reads the GPIO input corresponding
- to the lid switch.
* PNOT()
The mainboard must define a PNOT method to handle power state notifications
and Notify CPU device objects to re-evaluate their _PPC and _CST tables.