What is the kernel interrupt number for the GPIO ports of the VR5701?
I am making a driver for a VR5701 board and am having trouble with
interrupts. I've set up a pushbutton on GPIO pin 29. When I press a button,
the CPU registers GIU_PIO0, nothing happens when it's supposed to call the
interrupt handler and do a printk();
The initialization function first sets bit 4 of INT_MASK (not GIU_INTMASK),
defined in asm/vr5701.h, to 1 because I want to enable interrupt 4.
It then sets INT_ROUTE0's bits 19:16 to 0100 to route device 4 (GPIO) to
interrupt 4. It clears all gpio interrupts, all cpu interrupts, sets
interrupt type to edge trigger, proper polarity, gpio interrupt mask, and
gpio direction register (GIU_INTCLR, INT_CLR, GIU_INTTYPE, GIU_INTPOL,
GIU_INTMASK, GIU_DIR0, respectively).
It then does a request_irq with IRQ 4, SA_INTERRUPT flag, and device ID of
4.
Did I miss anything? What else should be done to get the pushbutton working
properly?
Thank you.
_________________________________________________________________
Don't just search. Find. Check out the new MSN Search!
http://search.msn.click-url.com/go/onm00200636ave/direct/01/