[LinuxBIOS] PS2 keyboard not working on ASUS A8N5X ( K8/CK804/IT8712F)
Marc Jones
marc.jones at amd.com
Fri Aug 17 18:50:43 CEST 2007
Robert Millan wrote:
> On Thu, Aug 16, 2007 at 05:32:07PM -0600, Marc Jones wrote:
>> I assume you have a good reason, but why are you changing the it8712f
>> pnp device numbers? I am not positive how this works, but I think
>> changing 2e.0 to 2e.7 means that you are trying to program the it8712f
>> logical device 7 with floppy settings.
>> http://www.tranzistoare.ro/datasheets/1150/495234_DS.pdf
>
> The changes were mostly part of the patch Uwe sent me (for his slightly
> different board). I also changed keyboard (s/2e.5/2e.a/), midi (s/2e.8/2e.b/)
> and game port (s/2e.9/2e.c/) while trying to match with lspnp output:
>
> 00:0a PNP0303 IBM enhanced keyboard (101/102-key, PS/2 mouse support)
> 00:0b PNPb006 MPU401 compatible
> 00:0c PNPb02f Joystick/Game port
>
> Is this correct?
>
I guess Uwe would need to answer this. I must not understand it correctly.
>> IRQ routing/polarity/mask issues? Check mptable.c and irq_tables.c.
>
> I see that they print these debug messages:
>
> Writing IRQ routing tables to 0xf0000...done.
> Wrote the mp table end at: 00000020 - 00000140
>
> I'm not sure if I can make sense of this. Should I poke at the contents
> in these addresses?
>
You can get more info here:
http://linuxbios.org/Glossary#MPTable
http://linuxbios.org/Glossary#PIRQ
I don't recall where, but there are some guides on dumping the tables
from the PCBIOS somewhere.
>> You can check the keyboard controller input buffer to see if a keystroke
>> is in there. Then you would know that interrupt isn't getting through.
>
> How would I do that, with a userspace program using inb()/outb() ?
>
Yes,
// check if there is a keystroke that hasn't been serviced and see what
it is.
status = inb(0x64);
if ((status & 0x1))
scancode = inb(0x60);
if the KBC controller is being serviced it is unlikely that you will
catch a character in the output buffer. If the KBC isn't initialized
correctly you might not get a character either.
>> Do you have serial console working and does keyboard work there? That
>> would tell you if interrupts are making it from the SIO.
>
> Yes, that works.
>
> Thank you
>
Interesting that the SIO serial interrupt works and the the keyboard one
doesn't. I am not sure what that means.
Marc
--
Marc Jones
Senior Firmware Engineer
(970) 226-9684 Office
mailto:Marc.Jones at amd.com
http://www.amd.com/embeddedprocessors
More information about the coreboot
mailing list