summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2014-05-16 18:52:47 +1000
committerKyösti Mälkki <kyosti.malkki@gmail.com>2014-05-17 21:27:11 +0200
commit40788c6a4e5e9b5172c3c8c5752b9c3cd50af78c (patch)
tree3b667d7e8b002ca4d3ec065b97bba36e06cdd939
parente47477e52ced46986c352a0ae6cf798c9a7aa560 (diff)
downloadcoreboot-40788c6a4e5e9b5172c3c8c5752b9c3cd50af78c.tar.xz
lenovo/t60: Enable dock serial port when undocked and redocked
When the system is started with dock, the serial port works. As soon as the laptop is undocked and redocked, the serial port no longer works. See below superiotool dump snippet: Upon bootup: SIO @ 0x2e LDN 0x03 (COM1) idx 30 60 61 70 71 74 75 f0 val 01 03 f8 04 03 04 04 02 Redocked: SIO @ 0x2e LDN 0x03 (COM1) idx 30 60 61 70 71 74 75 f0 val 00 03 f8 04 03 04 04 02 Since the function dock_connect is executed every time the dock is reconnected, starting without a dock and then attaching it to a dock is now also fixed. Change-Id: Ibd97589a8c743673a55e382a5db2ba62656c595e Signed-off-by: Damien Zammit <damien@zamaudio.com> Reviewed-on: http://review.coreboot.org/5761 Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: build bot (Jenkins) Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
-rw-r--r--src/mainboard/lenovo/t60/dock.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mainboard/lenovo/t60/dock.c b/src/mainboard/lenovo/t60/dock.c
index 9921457e4d..b01f8e8adf 100644
--- a/src/mainboard/lenovo/t60/dock.c
+++ b/src/mainboard/lenovo/t60/dock.c
@@ -133,6 +133,10 @@ static int dock_superio_init(void)
*/
dock_write_register(0x22, 0xa9);
+ /* enable serial port */
+ dock_write_register(0x07, PC87384_SP1);
+ dock_write_register(0x30, 0x01);
+
dock_write_register(0x07, PC87384_GPIO);
dock_write_register(0x60, 0x16);
dock_write_register(0x61, 0x20);