superio/smsc/sch5545: Disable PS/2 lines isolation during init
Disable PS/2 data and clock isolation in order to properly initialize the PS/2 keyboard and mouse in payload/OS. These bits are set by OS via ACPI and can survive S5 state. It is necessary to clear them after an ungraceful shutdown in order to perform PS/2 controller initialization e.g. in SeaBIOS. TEST=PS/2 keyboard can always be successfully initialized in SeaBIOS on Dell OptiPlex 9010 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com> Change-Id: Iac6be095c996b357b5d4e8d75199f94a89bf73e9 Reviewed-on: https://review.coreboot.org/c/coreboot/+/59673 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
3b1d1ce1af
commit
5aba2aeead
|
@ -62,6 +62,12 @@ static void sch5545_init(struct device *dev)
|
||||||
|
|
||||||
switch (dev->path.pnp.device) {
|
switch (dev->path.pnp.device) {
|
||||||
case SCH5545_LDN_KBC:
|
case SCH5545_LDN_KBC:
|
||||||
|
pnp_enter_conf_mode(dev);
|
||||||
|
pnp_set_logical_device(dev);
|
||||||
|
/* Disable PS/2 clock and data isolation */
|
||||||
|
pnp_unset_and_set_config(dev, 0xf0,
|
||||||
|
SCH5545_KBD_ISOLATION | SCH5545_MOUSE_ISOLATION, 0);
|
||||||
|
pnp_exit_conf_mode(dev);
|
||||||
pc_keyboard_init(NO_AUX_DEVICE);
|
pc_keyboard_init(NO_AUX_DEVICE);
|
||||||
break;
|
break;
|
||||||
case SCH5545_LDN_LPC:
|
case SCH5545_LDN_LPC:
|
||||||
|
|
Loading…
Reference in New Issue