Hi,
I am interfacing LM8330 keypad controller with our custom board. I have configured the registers of LM8330 chips as indicated in the example given in data sheet.
In addition to it, I have also set two additional registers.
1) 0x84-> 0x01 //Clears the PORIRQ Interrupt
2) 0x88->0x01 // Make clock mode operational
1. The problem is that whenever I press any key on keypad, I am not getting the interrupt for it.
2. If I press any key and then externally generates an interrupt (not from the LM8330) and if my processor start reading the register EVTCODE then I get the code correct code for it. Also KBDIRQ bit of IRQST is 1.
So why interrupt is not being generated on the IRQN pin even if the KBDIRQ is high ?
Below are the registers values.
i2cdump -y -f 0 0x44
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 00 80 80 88 3f fc 00 00 00 03 00 7f 7f 7f 7f 00 .?????...?.????.
10: 7f 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 ?.?.............
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
80: 00 84 00 00 00 00 00 00 01 00 01 00 ff 00 00 00 .?......?.?.....
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
a0: 00 00 00 00 00 00 00 11 00 00 aa aa 55 55 ff 00 .......?..??UU..
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
c0: 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 ff ........?.......
d0: ff 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .?..............
e0: 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 ....?...........
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Let me know if I have missed anything.
Regards,
Devang