diff options
Diffstat (limited to 'src/mainboard/lenovo/x60/dock.c')
-rw-r--r-- | src/mainboard/lenovo/x60/dock.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mainboard/lenovo/x60/dock.c b/src/mainboard/lenovo/x60/dock.c index 49e2d21b1f..eed00a1a26 100644 --- a/src/mainboard/lenovo/x60/dock.c +++ b/src/mainboard/lenovo/x60/dock.c @@ -132,10 +132,12 @@ int dock_connect(void) /* 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 @@ int dock_connect(void) /* 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 */ |