Re: GPIO interrupt not working on Zynq7000

François Legal devel at thom.fr.eu.org
Wed Mar 4 15:40:08 CET 2020


Le Mercredi, Mars 04, 2020 14:57 CET, Greg Gallagher <greg at embeddedgreg.com> a écrit: 
 
> Hi,
> 
> On Wed, Mar 4, 2020 at 4:01 AM François Legal via Xenomai <
> xenomai at xenomai.org> wrote:
> 
> > Hello,
> >
> > trying to diagnose an interrupt problem on a Zynq 7000 hardware. The
> > environment is linux 4.4.189, xenomai 3.0.9.
> >
> > I'm trying to trig some realtime thread pending on a gpio read.
> >
> > At the beginning, the system would freeze if the GPIO pin was toggled,
> > because the GPIO int pending status was never cleared by the existing code.
> 
> how do you clear it? Do you call one of the irqchip functions?
> 
> >
> > So now I don't get the system freeze anymore, however, the RTDM gpio  irq
> > handler never gets called whenever the interrupt is raised.
> >
> It’s possible what you called to clear the irq has also masked the
> interrupt and requires a unmask. Can you post a patch of what you did?
> 
> 
> > I'm not sure how to diagnose that. For what I could see, the IRQ is
> > registered in ipipe domain "xnsched_realtime_domain", and I'm not sure if
> > that matches "ipipe_head_domain" that is
> 
> 
> Are you using the rtdm gpio driver? Or is this a custom rtdm driver using
> the gpio directly?
> 

I also forgot to mention here, whenever the program is being run, I can see my gpio pin (gpio957) in /proc/xenomai/irq, but not in /proc/interrupts.
However, the irq count does not increment in /proc/xenomai/irq

> 
> >
> > Any help appreciated
> >
> > François
> >
> 
> Greg
> 
> >
> >
> >




More information about the Xenomai mailing list