Hi Felix, On 07/31/2011 05:51 PM, Felix Radensky wrote: > Hi Wolfgang, > > On 07/31/2011 06:19 PM, Wolfgang Grandegger wrote: >> On 07/31/2011 12:38 PM, Felix Radensky wrote: >>> Hi, >>> >>> I'm running kernel 3.0 on a custom board based on Freescale P1022. >>> The interrupt line of on-board FPGA is connected to GPIO2_9. FPGA >>> IRQ is level, active low. The GPIOs are mapped like this:
Here you say that it's a level sensitive interrupt but ... >>> GPIOs 160-191, /soc@ffe00000/gpio-controller@f200: >>> >>> GPIOs 192-223, /soc@ffe00000/gpio-controller@f100: >>> >>> GPIOs 224-255, /soc@ffe00000/gpio-controller@f000: >>> >>> I've verified that pin mixing is done correctly, and the >>> FPGA IRQ line is indeed configured as GPIO. >>> >>> I have the following code in my driver: >>> >>> #define FPGA_IRQ_GPIO 169 >>> >>> err = gpio_request(FPGA_IRQ_GPIO, "FPGA IRQ"); >>> if (err) { >>> printk(KERN_ERR "Failed to request FPGA IRQ GPIO, err=%d\n", >>> err); >>> goto out; >>> } >>> >>> gpio_direction_input(FPGA_IRQ_GPIO); >>> >>> irq = gpio_to_irq(FPGA_IRQ_GPIO); >>> if (irq< 0) { >>> printk(KERN_ERR "Failed to map FPGA GPIO to IRQ\n"); >>> goto out; >>> } >>> >>> err = request_irq(irq, gsat_interrupt, >>> IRQF_TRIGGER_FALLING, DRVNAME, priv); .. you request here an edge triggered interrupt. Wolfgang. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev