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)
This commit is contained in:
Sven Schnelle 2011-06-23 13:43:52 +02:00
parent f8aa185c6f
commit d8b60a0f2d
2 changed files with 10 additions and 0 deletions

View File

@ -35,6 +35,8 @@ Device(EC)
HSPA, 1, HSPA, 1,
Offset (0x0C), Offset (0x0C),
LEDS, 8, /* LED state */ LEDS, 8, /* LED state */
Offset (0x2a),
EVNT, 8, /* write will trigger EC event */
Offset (0x3a), Offset (0x3a),
AMUT, 1, /* Audio Mute */ AMUT, 1, /* Audio Mute */
Offset (0x3B), Offset (0x3B),
@ -109,6 +111,7 @@ Device(EC)
Method(_Q27, 0, NotSerialized) Method(_Q27, 0, NotSerialized)
{ {
Notify (AC, 0x80) Notify (AC, 0x80)
Store(0x50, EVNT)
} }
Method(_Q2A, 0, NotSerialized) Method(_Q2A, 0, NotSerialized)

View File

@ -88,4 +88,11 @@ Scope(\_SB.PCI0.LPCB.EC)
Notify(\_SB.DOCK, 3) Notify(\_SB.DOCK, 3)
} }
} }
Method(_Q50, 0, NotSerialized)
{
if (\_SB.DOCK._STA()) {
Notify(\_SB.DOCK, 1)
}
}
} }