Hi,all I've tried to drive the keyboard attached to neponset through PS/2 port, but failed.
My system: linux-2.4.2-rmk2-np2, assabet with neponset, blob-1.0.8-pre2. In dmesg, the message related to keyboard is just below: Keyboard timed out<1> initialize_kbd: Keyboard reset failed, no ACK pty: 256 Unix98 ptys configured keyboard: Timed - AT keyboard not present? keyboard: Timed - AT keyboard not present? It seems that the kernel tried to detect the keyboard, but didn't find it. When assabet was powered on, the leds of the keyboard were lighted and turned off later. This indecated that the keyboard module has been loaded and no problem with the keyboard power, am I right? I've traced into keyboard.c. In sa1111_keyb.c, sa1111_init_hw() initializes keybaord registers as below: SKPCR |= SKPCR_PTCLKEN; KBDCLKDIV = 0; KBDPRECENT = 127; KBDCR = KBDCR_ENA; mdelay(50); KBDDATA = 0xff; mdelay(50); I printed the value of the registers above. KBDDATA is 0x0 and not 0xff, why? Keyboard is a input device, why should we transmit datas to it? How does the KBDDATA register work? We'll go on. Just after that, kbd_wait() detects KBDSTAT register. If bit 7 is set, it indecates Tx is empty and ready. But it is always 0 and issues the "Keyboard timed out" message. What is the relation between writing KBDDATA register and the status of KBDSTAT? I've been confused! God save me. Looking forward to your reply. Thanks a lot! ______________________________________ =================================================================== ������ѵ������� (http://mail.sina.com.cn) ���˷�����Ϣ�����ɶ��ģ��������ƣ����������㣡 (http://classad.sina.com.cn/) �����ֻ�ͼƬ��ǧ���������ء������˶���������! (http://sms.sina.com.cn/) _______________________________________________ http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm Please visit the above address for information on this list.
