AnsweredAssumed Answered

IRQ11 on an LS1023a

Question asked by Dan Lenz on Mar 25, 2019
Latest reply on Apr 10, 2019 by Pavel Chubakov

I am trying to use IRQ11 on an LS1023a as an external interrupt source. I am able to hook a handler to interrupt #11 successfully in my driver as shown:

    ret = request_irq(11, fpga_irq_handler, IRQF_NO_SUSPEND | IRQF_TRIGGER_HIGH , "video_driver", NULL);

But I fail to see any interrupt actually reaching the handler despite driving the IRQ11 pin with a pulse train.

 

Table 5-1 in the QorIQ LS1043A Reference Manual states that IRQ11 is mapped to internal interrupt number 183. NR_IRQS is defined as 64 however so request_irq(183,...) fails. What is the relationship between the the IRQ number and the internal interrupt number? What number should I be passing to request_irq()?

 

  • I have confirmed that my RCW is set to configure this pin as an IRQ.
  • My pulse is positive going the corresponding bit in my SCFG_INTPCR is set to zero.
  • I have tried probe_irq_on()/probe_irq_off()
  • I have tried manually probing for all values in the range of 0-NR_IRQS for which request_irq() succeeds

 

Is there something else require to enable this interrupt that I am missing? Do I need to access the GIC registers manually to enable them or can I count on the GICv2 driver to handler all of that for me? 

 

I'm stuck - any ideas would be greatly appreciated. 

 

Thanks,

Dan

Outcomes