summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandru Gagniuc <mr.nuke.me@gmail.com>2014-03-31 16:17:54 -0500
committerAlexandru Gagniuc <mr.nuke.me@gmail.com>2014-04-12 20:31:22 +0200
commitf0504352b17a257776614c3b47fda12994134f68 (patch)
tree147ef9179768026532f1ac62c3f9dc35c6a0e2c4
parent1a3872f7a48492b075ffa105a523cf133f651005 (diff)
downloadcoreboot-f0504352b17a257776614c3b47fda12994134f68.tar.xz
hp/pavilion_m6_1035dx: Add ACPI support for reading battery level
Hook in the EC ASL code. This provides just enough information for the OS to be able to read the battery information. EC notifications (_Qxx) do not yet work, and it is unclear if the issue is in the ACPI code, or if the EC is not set up properly. Thus, the OS must boot with the battery inserted in order to be able to read its status. The _L03 ACPI method is also removed, as the EC SCI uses this event. Change-Id: I85cbaeb9c77e60bd1c68d928412f897de50c6329 Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-on: http://review.coreboot.org/5445 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@google.com>
-rw-r--r--src/mainboard/hp/pavilion_m6_1035dx/acpi/ec.asl14
-rw-r--r--src/mainboard/hp/pavilion_m6_1035dx/acpi/gpe.asl6
-rw-r--r--src/mainboard/hp/pavilion_m6_1035dx/acpi/mainboard.asl19
-rw-r--r--src/mainboard/hp/pavilion_m6_1035dx/dsdt.asl4
4 files changed, 37 insertions, 6 deletions
diff --git a/src/mainboard/hp/pavilion_m6_1035dx/acpi/ec.asl b/src/mainboard/hp/pavilion_m6_1035dx/acpi/ec.asl
new file mode 100644
index 0000000000..e0d92fabac
--- /dev/null
+++ b/src/mainboard/hp/pavilion_m6_1035dx/acpi/ec.asl
@@ -0,0 +1,14 @@
+/*
+ * Copyright (C) 2014 Alexandru Gagniuc <mr.nuke.me@gmail.com>
+ * Subject to the GNU GPL v2, or (at your option) any later version.
+ */
+
+/*
+ * 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
+
+/* ACPI code for EC functions */
+#include <ec/compal/ene932/acpi/ec.asl>
diff --git a/src/mainboard/hp/pavilion_m6_1035dx/acpi/gpe.asl b/src/mainboard/hp/pavilion_m6_1035dx/acpi/gpe.asl
index 40a19d405a..a240308c78 100644
--- a/src/mainboard/hp/pavilion_m6_1035dx/acpi/gpe.asl
+++ b/src/mainboard/hp/pavilion_m6_1035dx/acpi/gpe.asl
@@ -19,12 +19,6 @@
Scope(\_GPE) { /* Start Scope GPE */
- /* General event 3 */
- Method(_L03) {
- /* DBGO("\\_GPE\\_L00\n") */
- Notify(\_SB.PCI0.PWRB, 0x02) /* NOTIFY_DEVICE_WAKE */
- }
-
/* Legacy PM event */
Method(_L08) {
/* DBGO("\\_GPE\\_L08\n") */
diff --git a/src/mainboard/hp/pavilion_m6_1035dx/acpi/mainboard.asl b/src/mainboard/hp/pavilion_m6_1035dx/acpi/mainboard.asl
index 040f0694fe..0ddb038b21 100644
--- a/src/mainboard/hp/pavilion_m6_1035dx/acpi/mainboard.asl
+++ b/src/mainboard/hp/pavilion_m6_1035dx/acpi/mainboard.asl
@@ -35,9 +35,28 @@
Name(OSV, Ones) /* Assume nothing */
Name(PMOD, One) /* Assume APIC */
+ /* 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)
Field(GP0B, ByteAcc, NoLock, Preserve) {
, 11,
USBS, 1,
}
+
+ /*
+ * Used by EC code on certain events
+ *
+ * From ec/compal/ene932/acpi/ec.asl:
+ * 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.
+ */
+ Method (PNOT)
+ {
+ Store("Received PNOT call (probably from EC)", Debug)
+ /* TODO: Implement this */
+ }
diff --git a/src/mainboard/hp/pavilion_m6_1035dx/dsdt.asl b/src/mainboard/hp/pavilion_m6_1035dx/dsdt.asl
index ef2ae6f8e6..c1f1933d61 100644
--- a/src/mainboard/hp/pavilion_m6_1035dx/dsdt.asl
+++ b/src/mainboard/hp/pavilion_m6_1035dx/dsdt.asl
@@ -69,6 +69,10 @@ DefinitionBlock (
} /* End Scope(_SB) */
+ Scope(\_SB.PCI0.LIBR) {
+ #include "acpi/ec.asl"
+ }
+
/* Describe SMBUS for the Southbridge */
#include <southbridge/amd/agesa/hudson/acpi/smbus.asl>