summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSven Schnelle <svens@stackframe.org>2011-06-23 13:43:52 +0200
committerSven Schnelle <svens@stackframe.org>2011-06-23 14:12:26 +0200
commitd8b60a0f2d6b0f2fad071328aaa211a63c57c191 (patch)
treef8ed596a2cfe46315f3c567657f61d3dc7611617 /src
parentf8aa185c6f85337d1fa2c517c0a1143095815983 (diff)
T60: undock on external power loss
If power is unplugged/lost, we should undock the docking station. The power loss can also be caused by the fact that the user removed the thinkpad from the docking station without pressing the Undock button/hotkey first. Without undocking it on this event, the thinkpad LPC switch will still connect the Docking connector, which causes crashes when docking it again. Change-Id: I9ed783e491827bde20264868eab2b3a79c232922 Signed-off-by: Sven Schnelle <svens@stackframe.org> Reviewed-on: http://review.coreboot.org/62 Tested-by: build bot (Jenkins)
Diffstat (limited to 'src')
-rw-r--r--src/ec/lenovo/h8/acpi/ec.asl3
-rw-r--r--src/mainboard/lenovo/t60/acpi/dock.asl7
2 files changed, 10 insertions, 0 deletions
diff --git a/src/ec/lenovo/h8/acpi/ec.asl b/src/ec/lenovo/h8/acpi/ec.asl
index 3ba4aa9819..368afa828d 100644
--- a/src/ec/lenovo/h8/acpi/ec.asl
+++ b/src/ec/lenovo/h8/acpi/ec.asl
@@ -35,6 +35,8 @@ Device(EC)
HSPA, 1,
Offset (0x0C),
LEDS, 8, /* LED state */
+ Offset (0x2a),
+ EVNT, 8, /* write will trigger EC event */
Offset (0x3a),
AMUT, 1, /* Audio Mute */
Offset (0x3B),
@@ -109,6 +111,7 @@ Device(EC)
Method(_Q27, 0, NotSerialized)
{
Notify (AC, 0x80)
+ Store(0x50, EVNT)
}
Method(_Q2A, 0, NotSerialized)
diff --git a/src/mainboard/lenovo/t60/acpi/dock.asl b/src/mainboard/lenovo/t60/acpi/dock.asl
index ae9d19e405..ba50609f3e 100644
--- a/src/mainboard/lenovo/t60/acpi/dock.asl
+++ b/src/mainboard/lenovo/t60/acpi/dock.asl
@@ -88,4 +88,11 @@ Scope(\_SB.PCI0.LPCB.EC)
Notify(\_SB.DOCK, 3)
}
}
+
+ Method(_Q50, 0, NotSerialized)
+ {
+ if (\_SB.DOCK._STA()) {
+ Notify(\_SB.DOCK, 1)
+ }
+ }
}