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. diff --git a/src/mainboard/google/parrot/acpi/ec.asl b/src/mainboard/google/parrot/acpi/ec.asl index a0ee9d5343..ae0090fb5e 100644 --- a/src/mainboard/google/parrot/acpi/ec.asl +++ b/src/mainboard/google/parrot/acpi/ec.asl @@ -19,10 +19,7 @@ /* mainboard configuration */ #include "../ec.h" -#define EC_SCI 23 // GPIO7 << 16 to GPE bit for Runtime SCI - -/* GP15 is defined in the southbridge's ASL */ -#define EC_ACPI_LID_SWITCH_OBJECT GP15 +#define EC_SCI_GPE 23 // GPIO7 << 16 to GPE bit for Runtime SCI /* ACPI code for EC functions */ #include "../../../../ec/compal/ene932/acpi/ec.asl" diff --git a/src/mainboard/google/parrot/acpi/mainboard.asl b/src/mainboard/google/parrot/acpi/mainboard.asl index 7b9aef0e91..4ab97330b1 100644 --- a/src/mainboard/google/parrot/acpi/mainboard.asl +++ b/src/mainboard/google/parrot/acpi/mainboard.asl @@ -68,4 +68,24 @@ Scope (\_SB) { }) } + Device (MB) { + /* Lid open */ + Method (LIDO) { /* Not needed on this board */ } + /* Lid closed */ + Method (LIDC) { /* Not needed on this board */ } + /* Increase brightness */ + Method (BRTU) { /* Not needed on this board */ } + /* Decrease brightness */ + Method (BRTD) { /* Not needed on this board */ } + /* Switch display */ + Method (DSPS) { /* Not needed on this board */ } + /* Toggle wireless */ + Method (WLTG) { /* Not needed on this board */ } + /* Return lid state */ + Method (LIDS) + { + Return (GP15) + } + } + } diff --git a/src/mainboard/hp/pavilion_m6_1035dx/acpi/ec.asl b/src/mainboard/hp/pavilion_m6_1035dx/acpi/ec.asl index e0d92fabac..188515c165 100644 --- a/src/mainboard/hp/pavilion_m6_1035dx/acpi/ec.asl +++ b/src/mainboard/hp/pavilion_m6_1035dx/acpi/ec.asl @@ -6,9 +6,7 @@ /* * EC bits specific to the mainboard */ -#define EC_SCI 3 -/* TODO: We do not yet know how the LID is connected to the platform */ -#define EC_ACPI_LID_SWITCH_OBJECT Zero +#define EC_SCI_GPE 3 /* ACPI code for EC functions */ #include diff --git a/src/mainboard/hp/pavilion_m6_1035dx/acpi/mainboard.asl b/src/mainboard/hp/pavilion_m6_1035dx/acpi/mainboard.asl index e30d083aa8..57e2b3c5c7 100644 --- a/src/mainboard/hp/pavilion_m6_1035dx/acpi/mainboard.asl +++ b/src/mainboard/hp/pavilion_m6_1035dx/acpi/mainboard.asl @@ -38,7 +38,6 @@ /* Variables used by EC */ /* TODO: These may belong in global non-volatile storage */ Name(PWRS, Zero) - Name(LIDS, Zero) /* AcpiGpe0Blk */ OperationRegion(GP0B, SystemMemory, 0xfed80814, 0x04) @@ -78,8 +77,24 @@ Scope (\_SB) { Name(_HID, EisaId("PNP0C0D")) Method(_LID, 0) { - Store (GE22, \LIDS) - Return (\LIDS) + Return (GE22) /* GE pin 22 */ } } + + Device (MB) { + /* Lid open */ + Method (LIDO) { /* Stub */ } + /* Lid closed */ + Method (LIDC) { /* Stub */ } + /* Increase brightness */ + Method (BRTU) { /* Stub */ } + /* Decrease brightness */ + Method (BRTD) { /* Stub */ } + /* Switch display */ + Method (DSPS) { /* Stub */ } + /* Toggle wireless */ + Method (WLTG) { /* Stub */ } + /* Return lid state */ + Method (LIDS) { /* Stub */ } + } }