X60: use EC events 0x50/0x58 instead of GPIO GPE for Docking/Undocking
Change-Id: I674e5166f5fb7ba299e6f1231f30434a5bf731c5
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/161
Tested-by: build bot (Jenkins)
diff --git a/src/mainboard/lenovo/x60/dock.c b/src/mainboard/lenovo/x60/dock.c
index 49e2d21..eed00a1 100644
--- a/src/mainboard/lenovo/x60/dock.c
+++ b/src/mainboard/lenovo/x60/dock.c
@@ -132,10 +132,12 @@
/* Assert D_PLTRST# */
outb(0xfe, 0x1680);
- udelay(1000);
+ udelay(100000);
/* Deassert D_PLTRST# */
outb(0xff, 0x1680);
+ udelay(1000);
+
/* startup 14.318MHz Clock */
dock_write_register(0x29, 0x06);
/* wait until clock is settled */
@@ -232,11 +234,17 @@
/* Enable USB and Ultrabay power */
outb(0x03, 0x1628);
+
+ dock_write_register(0x07, 0x03);
+ dock_write_register(0x30, 0x01);
+ console_init();
return 0;
}
void dock_disconnect(void)
{
+ /* disable Ultrabay and USB Power */
+ outb(0x00, 0x1628);
/* disconnect LPC bus */
outb(0x00, 0x164c);
/* Assert PLTRST and DLPCPD */