summaryrefslogtreecommitdiff
path: root/src/southbridge
diff options
context:
space:
mode:
authorTimothy Pearson <tpearson@raptorengineeringinc.com>2015-11-24 14:12:01 -0600
committerMartin Roth <martinroth@google.com>2016-02-01 22:10:46 +0100
commit448e386309c20ed1d22360e06192b632af0af720 (patch)
tree61f1b0a1c8ccb65a5efda1e6571b9edd7051bc98 /src/southbridge
parentc2ed40b48ae3e9874213d4e70e1ac3c5fbbba8fc (diff)
downloadcoreboot-448e386309c20ed1d22360e06192b632af0af720.tar.xz
drivers/pc80: Add PS/2 mouse presence detect
On certain Winbond SuperIO devices, when a PS/2 mouse is not present on the auxiliary channel both channels will cease to function if the auxiliary channel is probed while the primary channel is active. Therefore, knowledge of mouse presence must be gathered by coreboot during early boot, and used to enable or disable the auxiliary PS/2 port before control is passed to the operating system. Add auxiliary channel PS/2 device presence detect, and update the Winbond W83667HG-A driver to flag the auxiliary channel as disabled if no device was detected. Change-Id: I76274493dacc9016ac6d0dff8548d1dc931c6266 Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com> Reviewed-on: https://review.coreboot.org/13165 Tested-by: build bot (Jenkins) Tested-by: Raptor Engineering Automated Test Stand <noreply@raptorengineeringinc.com> Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/southbridge')
-rw-r--r--src/southbridge/dmp/vortex86ex/southbridge.c2
-rw-r--r--src/southbridge/sis/sis966/lpc.c2
-rw-r--r--src/southbridge/via/vt8237r/lpc.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/src/southbridge/dmp/vortex86ex/southbridge.c b/src/southbridge/dmp/vortex86ex/southbridge.c
index 3ef6a5d906..05702d1eb6 100644
--- a/src/southbridge/dmp/vortex86ex/southbridge.c
+++ b/src/southbridge/dmp/vortex86ex/southbridge.c
@@ -607,7 +607,7 @@ static void southbridge_init(struct device *dev)
retries--;
}
post_code(POST_DMP_KBD_IS_READY);
- pc_keyboard_init();
+ pc_keyboard_init(NO_AUX_DEVICE);
}
static struct device_operations vortex_sb_ops = {
diff --git a/src/southbridge/sis/sis966/lpc.c b/src/southbridge/sis/sis966/lpc.c
index 940844b442..0a5adf0378 100644
--- a/src/southbridge/sis/sis966/lpc.c
+++ b/src/southbridge/sis/sis966/lpc.c
@@ -91,7 +91,7 @@ static void lpc_init(device_t dev)
int nmi_option;
printk(BIOS_DEBUG, "LPC_INIT -------->\n");
- pc_keyboard_init();
+ pc_keyboard_init(NO_AUX_DEVICE);
lpc_usb_legacy_init(dev);
lpc_common_init(dev);
diff --git a/src/southbridge/via/vt8237r/lpc.c b/src/southbridge/via/vt8237r/lpc.c
index b54d494824..dd3bcae3fd 100644
--- a/src/southbridge/via/vt8237r/lpc.c
+++ b/src/southbridge/via/vt8237r/lpc.c
@@ -625,7 +625,7 @@ static void init_keyboard(struct device *dev)
{
u8 regval = pci_read_config8(dev, 0x51);
if (regval & 0x1)
- pc_keyboard_init();
+ pc_keyboard_init(NO_AUX_DEVICE);
}
static void southbridge_init_common(struct device *dev)