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>
This commit is contained in:
committed by
Martin Roth
parent
c2ed40b48a
commit
448e386309
@@ -133,7 +133,7 @@ static void ene932_init(struct device *dev)
|
||||
return;
|
||||
|
||||
printk(BIOS_DEBUG, "Compal ENE932: Initializing keyboard.\n");
|
||||
pc_keyboard_init();
|
||||
pc_keyboard_init(NO_AUX_DEVICE);
|
||||
|
||||
}
|
||||
|
||||
|
@@ -403,7 +403,7 @@ static void lpc_ec_init(struct device *dev)
|
||||
if (!dev->enabled)
|
||||
return;
|
||||
|
||||
pc_keyboard_init();
|
||||
pc_keyboard_init(NO_AUX_DEVICE);
|
||||
google_chromeec_init();
|
||||
}
|
||||
|
||||
|
@@ -175,7 +175,7 @@ static void h8_smbios_strings(struct device *dev, struct smbios_type11 *t)
|
||||
|
||||
static void h8_init(device_t dev)
|
||||
{
|
||||
pc_keyboard_init();
|
||||
pc_keyboard_init(NO_AUX_DEVICE);
|
||||
}
|
||||
|
||||
struct device_operations h8_dev_ops = {
|
||||
|
@@ -142,7 +142,7 @@ static void ene_kb3940q_init(struct device *dev)
|
||||
return;
|
||||
|
||||
printk(BIOS_DEBUG, "Quanta EnE KB3940Q: Initializing keyboard.\n");
|
||||
pc_keyboard_init();
|
||||
pc_keyboard_init(NO_AUX_DEVICE);
|
||||
|
||||
ene_kb3940q_log_events();
|
||||
}
|
||||
|
@@ -157,7 +157,7 @@ static void it8518_init(struct device *dev)
|
||||
return;
|
||||
|
||||
printk(BIOS_DEBUG, "Quanta IT8518: Initializing keyboard.\n");
|
||||
pc_keyboard_init();
|
||||
pc_keyboard_init(NO_AUX_DEVICE);
|
||||
}
|
||||
|
||||
static struct device_operations ops = {
|
||||
|
Reference in New Issue
Block a user