drivers/pc80: Add PS/2 mouse presence detect

Hardware / Coreboot - Timothy Pearson [raptorengineeringinc.com] - 1 February 2016 15:10 UTC

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

448e386 drivers/pc80: Add PS/2 mouse presence detect
src/drivers/pc80/keyboard.c | 101 ++++++++++++++++-----
src/ec/compal/ene932/ec.c | 2 +-
src/ec/google/chromeec/ec_lpc.c | 2 +-
src/ec/lenovo/h8/h8.c | 2 +-
src/ec/quanta/ene_kb3940q/ec.c | 2 +-
src/ec/quanta/it8518/ec.c | 2 +-
src/include/pc80/keyboard.h | 5 +-
src/mainboard/emulation/qemu-i440fx/mainboard.c | 2 +-
src/mainboard/emulation/qemu-q35/mainboard.c | 2 +-
src/mainboard/packardbell/ms2290/mainboard.c | 2 +-
src/mainboard/roda/rk9/mainboard.c | 2 +-
src/northbridge/via/cx700/lpc.c | 2 +-
src/northbridge/via/vx800/lpc.c | 2 +-
src/southbridge/dmp/vortex86ex/southbridge.c | 2 +-
src/southbridge/sis/sis966/lpc.c | 2 +-
src/southbridge/via/vt8237r/lpc.c | 2 +-
src/superio/fintek/f71863fg/superio.c | 2 +-
src/superio/fintek/f71869ad/superio.c | 2 +-
src/superio/fintek/f71872/superio.c | 2 +-
src/superio/fintek/f81865f/superio.c | 2 +-
src/superio/fintek/f81866d/superio.c | 2 +-
src/superio/ite/it8671f/superio.c | 2 +-
src/superio/ite/it8712f/superio.c | 2 +-
src/superio/ite/it8716f/superio.c | 2 +-
src/superio/ite/it8718f/superio.c | 2 +-
src/superio/ite/it8721f/superio.c | 2 +-
src/superio/ite/it8728f/superio.c | 2 +-
src/superio/ite/it8772f/superio.c | 2 +-
src/superio/nsc/pc87309/superio.c | 2 +-
src/superio/nsc/pc87360/superio.c | 2 +-
src/superio/nsc/pc87366/superio.c | 2 +-
src/superio/nsc/pc87417/superio.c | 2 +-
src/superio/nsc/pc97317/superio.c | 2 +-
src/superio/nuvoton/nct5572d/superio.c | 2 +-
src/superio/nuvoton/nct6779d/superio.c | 2 +-
src/superio/nuvoton/wpcm450/superio.c | 2 +-
src/superio/renesas/m3885x/superio.c | 2 +-
src/superio/smsc/dme1737/superio.c | 2 +-
src/superio/smsc/fdc37n972/fdc37n972.c | 2 +-
src/superio/smsc/kbc1100/superio.c | 2 +-
src/superio/smsc/lpc47b272/superio.c | 2 +-
src/superio/smsc/lpc47b397/superio.c | 2 +-
src/superio/smsc/lpc47m10x/superio.c | 2 +-
src/superio/smsc/lpc47m15x/superio.c | 2 +-
src/superio/smsc/lpc47n227/superio.c | 2 +-
src/superio/smsc/mec1308/superio.c | 2 +-
src/superio/smsc/sch4037/superio.c | 2 +-
src/superio/smsc/sio10n268/sio10n268.c | 2 +-
src/superio/smsc/smscsuperio/superio.c | 2 +-
src/superio/winbond/w83627dhg/superio.c | 2 +-
src/superio/winbond/w83627ehg/superio.c | 2 +-
src/superio/winbond/w83627hf/superio.c | 2 +-
src/superio/winbond/w83627thg/superio.c | 2 +-
src/superio/winbond/w83627uhg/superio.c | 2 +-
src/superio/winbond/w83667hg-a/ps2_controller.asl | 78 ++++++++++++++++
src/superio/winbond/w83667hg-a/superio.c | 20 +++-
src/superio/winbond/w83977tf/superio.c | 2 +-
src/superio/winbond/wpcd376i/superio.c | 2 +-
58 files changed, 233 insertions(+), 79 deletions(-)

Upstream: review.coreboot.org


  • Share