Subject: ps2 keyboard -- no key down events

From: Michael Pruznick <[email-masked]>
Date: Wed, 24 Apr 2002 09:15:45 -0600

I'm working on this mips board with a smsc 90e66 south bridge and
fdc37m812 super io.  I'm using the standard pc_keyb.c driver.  I only
see keyboard interrupts and KBD_STAT_OBF set in response to "key up"
events.  I never see them in response to "key down" events.  Thus, the
shell running on the vga console never gets my input (since it is the
"key down" events that pass the character typed to the shell).

At this point, I'm thinking that the standard driver needs some mods
to work with the super io's ps2 controller.  The smsc doc only covers
programming the plug and play registers and doesn't give any info about
programming the ps2 controller.

I've looked around the web, but haven't found anything useful.

Can anyone point me towards some resources that might help out?

-- 
Michael Pruznick, [email-masked], www.mvista.com
MontaVista Software, 1237 East Arques Ave, Sunnyvale, CA 94085

---

From: "Bradley D. LaRonde" <[email-masked]>
Date: Wed, 24 Apr 2002 12:57:09 -0400

Could it be a level-trigger versus edge-trigger interrupt setting?

Regards,
Brad

---

From: "Maciej W. Rozycki" <[email-masked]>
Date: Wed, 24 Apr 2002 20:06:21 +0200 (MET DST)

> programming the ps2 controller.

 An 8042-compatible microcontroller (actually the firmware it runs) may
need to be programmed to a PC/AT-compatible mode.  On an i386 it is
typically done by the BIOS.  Try dumping configuration data from your chip
and compare it with what is set up in an i386 system.  You can dump 32
bytes of configuration data with the 0x20 command of the 8042 (5 low-order
bits of a command byte specify an address).  Writing can be performed
using the 0x60 command (the same semantics). 

 Some data is available in the Ralf Brown's interrupt list (look for
"inter60*.zip" files on a SimTel DOS collection's mirror).  I have an old
Intel hardcopy document somewhere that describes to some extent the
IBM-defined locations of the configuration data -- I may try to dig it out
and see if I could help you.  Anyway, you should probably contact the
chip's manufacturer.

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: [email-masked], PGP key available        +

---

From: Michael Pruznick <[email-masked]>
Date: Tue, 30 Apr 2002 12:04:04 -0600

> and see if I could help you.  Anyway, you should probably contact the
Thanks, that seams to be the issue or at least part of it.  I dumped
offset 0x20-0x3f on several systems.  All gave different results.
Some helped, some did not.  In the case of the ones that helped, all
the keys I tried (alpha,num,symbol) worked, until I pressed a shift,
control, or alt key, in which case the keyboard was stuck sending
the shifted value of all keys.  I sent a message to the chip
manufacturer, waiting for their response.  In all cases, the mouse
doesn't work and enabling the mouse via "gpm -t ps2 -m /dev/mouse"
or "od -tx1 -w1 /dev/mouse" causes the keyboard to stop sending
scancodes (on key up or key down).

-- 
Michael Pruznick, [email-masked], www.mvista.com
MontaVista Software, 1237 East Arques Ave, Sunnyvale, CA 94085
direct voice/fax:970-266-1108, main office:408-328-9200