summaryrefslogtreecommitdiffstats
path: root/src/superio/nsc
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/superio/nsc
parentc2ed40b48ae3e9874213d4e70e1ac3c5fbbba8fc (diff)
downloadcoreboot-448e386309c20ed1d22360e06192b632af0af720.tar.gz
coreboot-448e386309c20ed1d22360e06192b632af0af720.tar.bz2
coreboot-448e386309c20ed1d22360e06192b632af0af720.zip
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/superio/nsc')
-rw-r--r--src/superio/nsc/pc87309/superio.c2
-rw-r--r--src/superio/nsc/pc87360/superio.c2
-rw-r--r--src/superio/nsc/pc87366/superio.c2
-rw-r--r--src/superio/nsc/pc87417/superio.c2
-rw-r--r--src/superio/nsc/pc97317/superio.c2
5 files changed, 5 insertions, 5 deletions
diff --git a/src/superio/nsc/pc87309/superio.c b/src/superio/nsc/pc87309/superio.c
index ecda1e7f2a56..361c4c59a24c 100644
--- a/src/superio/nsc/pc87309/superio.c
+++ b/src/superio/nsc/pc87309/superio.c
@@ -29,7 +29,7 @@ static void init(struct device *dev)
switch (dev->path.pnp.device) {
case PC87309_KBCK:
- pc_keyboard_init();
+ pc_keyboard_init(NO_AUX_DEVICE);
break;
}
}
diff --git a/src/superio/nsc/pc87360/superio.c b/src/superio/nsc/pc87360/superio.c
index 6b6e7909416e..8d91e7977123 100644
--- a/src/superio/nsc/pc87360/superio.c
+++ b/src/superio/nsc/pc87360/superio.c
@@ -31,7 +31,7 @@ static void init(struct device *dev)
switch(dev->path.pnp.device) {
case PC87360_KBCK:
- pc_keyboard_init();
+ pc_keyboard_init(NO_AUX_DEVICE);
break;
}
}
diff --git a/src/superio/nsc/pc87366/superio.c b/src/superio/nsc/pc87366/superio.c
index f9dca216185a..c02f53253f55 100644
--- a/src/superio/nsc/pc87366/superio.c
+++ b/src/superio/nsc/pc87366/superio.c
@@ -31,7 +31,7 @@ static void init(struct device *dev)
switch(dev->path.pnp.device) {
case PC87366_KBCK:
- pc_keyboard_init();
+ pc_keyboard_init(NO_AUX_DEVICE);
break;
}
}
diff --git a/src/superio/nsc/pc87417/superio.c b/src/superio/nsc/pc87417/superio.c
index 1855db9c67f6..7415025a6699 100644
--- a/src/superio/nsc/pc87417/superio.c
+++ b/src/superio/nsc/pc87417/superio.c
@@ -32,7 +32,7 @@ static void init(struct device *dev)
switch(dev->path.pnp.device) {
case PC87417_KBCK:
- pc_keyboard_init();
+ pc_keyboard_init(NO_AUX_DEVICE);
break;
}
}
diff --git a/src/superio/nsc/pc97317/superio.c b/src/superio/nsc/pc97317/superio.c
index e8cf842ea2db..91a3c777f5a5 100644
--- a/src/superio/nsc/pc97317/superio.c
+++ b/src/superio/nsc/pc97317/superio.c
@@ -33,7 +33,7 @@ static void init(struct device *dev)
pnp_set_enable(dev, 0); /* Disable keyboard */
pnp_write_config(dev, 0xf0, 0x40); /* Set KBC clock to 8 MHz. */
pnp_set_enable(dev, 1); /* Enable keyboard */
- pc_keyboard_init();
+ pc_keyboard_init(NO_AUX_DEVICE);
break;
default:
break;