diff options
author | Timothy Pearson <tpearson@raptorengineeringinc.com> | 2015-11-24 14:12:01 -0600 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-02-01 22:10:46 +0100 |
commit | 448e386309c20ed1d22360e06192b632af0af720 (patch) | |
tree | 61f1b0a1c8ccb65a5efda1e6571b9edd7051bc98 /src/superio/nsc | |
parent | c2ed40b48ae3e9874213d4e70e1ac3c5fbbba8fc (diff) | |
download | coreboot-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.c | 2 | ||||
-rw-r--r-- | src/superio/nsc/pc87360/superio.c | 2 | ||||
-rw-r--r-- | src/superio/nsc/pc87366/superio.c | 2 | ||||
-rw-r--r-- | src/superio/nsc/pc87417/superio.c | 2 | ||||
-rw-r--r-- | src/superio/nsc/pc97317/superio.c | 2 |
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; |