summaryrefslogtreecommitdiff
path: root/src/superio/ite
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/ite
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/superio/ite')
-rw-r--r--src/superio/ite/it8671f/superio.c2
-rw-r--r--src/superio/ite/it8712f/superio.c2
-rw-r--r--src/superio/ite/it8716f/superio.c2
-rw-r--r--src/superio/ite/it8718f/superio.c2
-rw-r--r--src/superio/ite/it8721f/superio.c2
-rw-r--r--src/superio/ite/it8728f/superio.c2
-rw-r--r--src/superio/ite/it8772f/superio.c2
7 files changed, 7 insertions, 7 deletions
diff --git a/src/superio/ite/it8671f/superio.c b/src/superio/ite/it8671f/superio.c
index 72e31f1ea5..60a241419f 100644
--- a/src/superio/ite/it8671f/superio.c
+++ b/src/superio/ite/it8671f/superio.c
@@ -32,7 +32,7 @@ static void init(struct device *dev)
case IT8671F_PP: /* TODO. */
break;
case IT8671F_KBCK:
- pc_keyboard_init();
+ pc_keyboard_init(NO_AUX_DEVICE);
break;
case IT8671F_KBCM: /* TODO. */
break;
diff --git a/src/superio/ite/it8712f/superio.c b/src/superio/ite/it8712f/superio.c
index 02cbefc24d..9a950e32f4 100644
--- a/src/superio/ite/it8712f/superio.c
+++ b/src/superio/ite/it8712f/superio.c
@@ -39,7 +39,7 @@ static void it8712f_init(struct device *dev)
break;
case IT8712F_KBCK:
set_kbc_ps2_mode();
- pc_keyboard_init();
+ pc_keyboard_init(NO_AUX_DEVICE);
break;
case IT8712F_KBCM: /* TODO. */
break;
diff --git a/src/superio/ite/it8716f/superio.c b/src/superio/ite/it8716f/superio.c
index 3a9e790646..e42b6173a8 100644
--- a/src/superio/ite/it8716f/superio.c
+++ b/src/superio/ite/it8716f/superio.c
@@ -60,7 +60,7 @@ static void it8716f_init(struct device *dev)
init_ec(res0->base + EC_INDEX_PORT);
break;
case IT8716F_KBCK:
- pc_keyboard_init();
+ pc_keyboard_init(NO_AUX_DEVICE);
break;
}
}
diff --git a/src/superio/ite/it8718f/superio.c b/src/superio/ite/it8718f/superio.c
index 3f034057c0..a156aa6e23 100644
--- a/src/superio/ite/it8718f/superio.c
+++ b/src/superio/ite/it8718f/superio.c
@@ -34,7 +34,7 @@ static void init(struct device *dev)
case IT8718F_EC: /* TODO. */
break;
case IT8718F_KBCK:
- pc_keyboard_init();
+ pc_keyboard_init(NO_AUX_DEVICE);
break;
case IT8718F_KBCM: /* TODO. */
break;
diff --git a/src/superio/ite/it8721f/superio.c b/src/superio/ite/it8721f/superio.c
index 4fc0562523..1b5d32eb37 100644
--- a/src/superio/ite/it8721f/superio.c
+++ b/src/superio/ite/it8721f/superio.c
@@ -35,7 +35,7 @@ static void init(struct device *dev)
case IT8721F_EC: /* TODO. */
break;
case IT8721F_KBCK:
- pc_keyboard_init();
+ pc_keyboard_init(NO_AUX_DEVICE);
break;
case IT8721F_KBCM: /* TODO. */
break;
diff --git a/src/superio/ite/it8728f/superio.c b/src/superio/ite/it8728f/superio.c
index 4591bb19d4..9a1ceb1778 100644
--- a/src/superio/ite/it8728f/superio.c
+++ b/src/superio/ite/it8728f/superio.c
@@ -38,7 +38,7 @@ static void it8728f_init(struct device *dev)
break;
case IT8728F_KBCK:
set_kbc_ps2_mode();
- pc_keyboard_init();
+ pc_keyboard_init(NO_AUX_DEVICE);
break;
}
}
diff --git a/src/superio/ite/it8772f/superio.c b/src/superio/ite/it8772f/superio.c
index 400bbbe001..40e0bda696 100644
--- a/src/superio/ite/it8772f/superio.c
+++ b/src/superio/ite/it8772f/superio.c
@@ -246,7 +246,7 @@ static void it8772f_init(struct device *dev)
case IT8772F_KBCK:
if (!conf->skip_keyboard) {
set_kbc_ps2_mode();
- pc_keyboard_init();
+ pc_keyboard_init(NO_AUX_DEVICE);
}
break;
case IT8772F_KBCM: