Quantcast
Channel: Altera Forums
Viewing all articles
Browse latest Browse all 19390

uclinux PIO device driver interrupt handler not execute

$
0
0
Hi,

Thanks in advance for any help I can get. I have a NIOS2 w/MMU running uClinux v3.7. It's a DE2-115 development kit with Cyclone IV FPGA. I use the PIO megafunction to monitor input rising edge from the SMA pin and generate interrupt IRQ. I developed an uClinux device driver in the misc folder. All seem correct and compile, but the handler function doesn't seem like it was executed when I generate a pulse signal to the SMA.

Here is my device driver code:

in the probe function call
- res_mem = platform_get_resource(pdev, IORESURCE_MEM, 0)
- request_mem_region(res_mem->start, resource_size(res_mem), "GPIO_NAME")
- of_iomap(pdev->dev.of_node, 0);
- irq = irq_ofparse_and_map(pdev->dev.of_node, 0)
- request_irq(irq, pps_gpio_irq_handler, 1, "GPIO_NAME", NULL);

in the interrupt handler call
static irqreturn_t pps_gpio_irq_handler(int irq, void *dev_id)
{
printk(KERN_ALERT "Trigger");
return IRQ_HANDLED;
}

If I execute command "cat /proc/interrupt", the driver was successful requested.

2: 0 NIOS2-INTC GPIO_NAME

As you can see, the interrupt count didn't get incremented and "Trigger" was never print out after I apply a pulse signal to the SMA port. Is there a function call I am missing? or anything that I miss?

Viewing all articles
Browse latest Browse all 19390

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>