-----Original Message----- From: Matt Callow [mailto:mc-lists@tesco.net] Sent: 04 April 2006 12:57 To: Discussion of the Amstrad E3 emailer hardware/software Subject: [E3-hacking] External keyboard (mailboard) support for 2.6
I've been working on this for a while now, but I still cant get it to work reliably.
It took us about a YEAR(!) to get the bloody keyboard working reliably so you're on the early stage of your journey. In a future design I'm going to stick in something like an 8 bit Atmel AVR to mop up IO and have the dedicated task of talking to these bloody clock master PS/2 controllers to save the aggro. (it is a shame that Linux makes you go through such hoops for fast interrupt service though and is the reason why I never use the term RTOS applied to Linux even if the kernel has "realtime" patches - I can't help thinking this would have been easier in VxWorks!)
But anyway, after a couple of gentle nudges:
www.ourcottage.plus.com/ams_keyb_mod.c (from kernel/drivers/char)
I'm not sure what dependent .h you might need so holler when it won't build!
Cliff
This e-mail and any attachments are confidential and intended exclusively for the addressee. If you are not the intended recipient please delete it from your system and notify the sender immediately. This message is attributed to the sender and may not necessarily reflect the views of Amstrad Plc or its subsidiaries.
For further information on Amstrad Plc please visit our website: www.amstrad.com
Amstrad Plc. Brentwood House 169 Kings Road Brentwood Essex CM14 4EF Registered in England : No. 955321
Cliff Lawson wrote:
It took us about a YEAR(!) to get the bloody keyboard working reliably so you're on the early stage of your journey.
Great! :-) It seems wise to follow the FIQ route then, since you've probably already explored all other options. I will try to get the FIQ handler working with the 2.6 kernel. Hopefully having a working 2.4 version will hopefully bring the development time down to less that a year!
www.ourcottage.plus.com/ams_keyb_mod.c (from kernel/drivers/char)
I'm not sure what dependent .h you might need so holler when it won't build!
Thanks for that. Probably not going to try to compile it, as the matrix keyboard is already handled in the omap code, and I'm planing to write a driver that will fit in with the serio framework in the 2.6 kernel. But it's still useful to have. Whilst looking at the code, I noticed that the qwe interrupt handler writes to latch2 AMS_DELTA_HDW_OP_SCARD_2_MASK (I'm assuming AMS_DELTA_HDW_OP_SCARD_2_MASK is 0x400), setting it at the start and clearing it at the end. Is this for debug purposes only? I noticed a similar thing in the FIQ handler using GPIO6.
I also notice that the driver has some code for writing to the keyboard, but data never seems to be sent. Is my understanding correct? Does the keyboard accept data?
Matt