summaryrefslogtreecommitdiff
path: root/src/mainboard/google/rambi/acpi
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2013-11-08 17:23:26 -0800
committerKyösti Mälkki <kyosti.malkki@gmail.com>2014-05-07 12:03:54 +0200
commit9547f8d799829ddab9196c4e0cad644a06db49e9 (patch)
treee5a5ffdbd35693cc920498055b738fc1ead6f30f /src/mainboard/google/rambi/acpi
parent99ac98f7e1fa30d3fb33cc5486e6af46b4bef56e (diff)
rambi: Add DIRQs for trackpad and touchscreen
Also add the relevant info about these pins to the ASL tables + add SMBIOS type 41 data for these parts. BUG=chrome-os-partner:22863 TEST=Manual on Rambi. Set some pins to GPIO_DIRQ, and then verify DIRQ regwrites w/ GPIO_DEBUG look correct. Change-Id: Id40655f9fb2ea7b10e1ff58d0b2a8b4cc6f05ff8 Reviewed-on: https://chromium-review.googlesource.com/176299 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Commit-Queue: Shawn Nematbakhsh <shawnn@chromium.org> Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Tested-by: Shawn Nematbakhsh <shawnn@chromium.org> Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/4963 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Diffstat (limited to 'src/mainboard/google/rambi/acpi')
-rw-r--r--src/mainboard/google/rambi/acpi/mainboard.asl72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/mainboard/google/rambi/acpi/mainboard.asl b/src/mainboard/google/rambi/acpi/mainboard.asl
index 948d7dfe87..696d1aa660 100644
--- a/src/mainboard/google/rambi/acpi/mainboard.asl
+++ b/src/mainboard/google/rambi/acpi/mainboard.asl
@@ -19,6 +19,8 @@
* MA 02110-1301 USA
*/
+#include <mainboard/google/rambi/onboard.h>
+
Scope (\_SB)
{
Device (LID0)
@@ -35,4 +37,74 @@ Scope (\_SB)
{
Name(_HID, EisaId("PNP0C0C"))
}
+
+ Device (TPAD)
+ {
+ Name (_ADR, 0x0)
+ Name (_UID, 1)
+
+ // Report as a Sleep Button device so Linux will
+ // automatically enable it as a wake source
+ Name (_HID, EisaId("PNP0C0E"))
+
+ Name (_CRS, ResourceTemplate()
+ {
+ Interrupt (ResourceConsumer, Edge, ActiveLow)
+ {
+ BOARD_TRACKPAD_IRQ
+ }
+
+ VendorShort (ADDR)
+ {
+ BOARD_TRACKPAD_I2C_ADDR
+ }
+ })
+
+ Name (_PRW, Package() { BOARD_TRACKPAD_WAKE_GPIO, 0x3 })
+
+ Method (_DSW, 3, NotSerialized)
+ {
+ Store (BOARD_TRACKPAD_WAKE_GPIO, Local0)
+
+ If (LEqual (Arg0, 1)) {
+ // Enable GPIO as wake source
+ // \_SB.PCI0.LPCB.GWAK (Local0)
+ }
+ }
+ }
+
+ Device (TSCR)
+ {
+ Name (_ADR, 0x0)
+ Name (_UID, 2)
+
+ // Report as a Sleep Button device so Linux will
+ // automatically enable it as a wake source
+ Name (_HID, EisaId("PNP0C0E"))
+
+ Name (_CRS, ResourceTemplate()
+ {
+ Interrupt (ResourceConsumer, Edge, ActiveLow)
+ {
+ BOARD_TOUCHSCREEN_IRQ
+ }
+
+ VendorShort (ADDR)
+ {
+ BOARD_TOUCHSCREEN_I2C_ADDR
+ }
+ })
+
+ Name (_PRW, Package() { BOARD_TOUCHSCREEN_WAKE_GPIO, 0x3 })
+
+ Method (_DSW, 3, NotSerialized)
+ {
+ Store (BOARD_TOUCHSCREEN_WAKE_GPIO, Local0)
+
+ If (LEqual (Arg0, 1)) {
+ // Enable GPIO as wake source
+ // \_SB.PCI0.LPCB.GWAK (Local0)
+ }
+ }
+ }
}