superio/nuvoton/nct5572d: Add PS/2 presence detect

Hardware / Coreboot - Paul Menzel [users.sourceforge.net] - 9 February 2016 13:34 UTC

On certain Super I/O 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.

This is added in commit 448e3863 (drivers/pc80: Add PS/2 mouse presence detect).

Update the Nuvoton NCT5572D driver to flag the auxiliary channel as disabled if no device was detected. The code is copied from the Winbond W83667HG-A driver.

Note, the ACPI changes are not part of this commit.

TEST=Currently, on the ASRock E350M1, PS/2 does not work. With this change, a PS/2 keyboard works fine in SeaBIOS, GRUB in MBR, and Debian GNU/Linux Sid/unstable with Linux 3.19.


[ 1.185195] i8042: PNP: No PS/2 controller found. Probing ports directly. [ 1.189110] serio: i8042 KBD port at 0x60,0x64 irq 1 [ 1.189133] serio: i8042 AUX port at 0x60,0x64 irq 12 [ 1.189970] mousedev: PS/2 mouse device common for all mice


Change-Id: I7f9be348d295e70437bef089d4c2173169f38459

bf725b4 superio/nuvoton/nct5572d: Add PS/2 presence detect
src/superio/nuvoton/nct5572d/superio.c | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)

Upstream: review.coreboot.org


  • Share