Re: GPIO interrupt not working on Zynq7000

François Legal devel at thom.fr.eu.org
Wed Mar 4 17:00:38 CET 2020


Le Mercredi, Mars 04, 2020 16:48 CET, Greg Gallagher <greg at embeddedgreg.com> a écrit: 
 
> hi,
> 
> On Wed, Mar 4, 2020 at 9:40 AM François Legal <devel at thom.fr.eu.org> wrote:
> >
> > 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.
> 
> Are you building directly from the ipipe repo or applying one of the
> patches?  If it's a patch what patch are you applying?

I'm applying ipipe-core-4.4.176-arm-10.patch with slight modifications (KUSER_TSC is not enabled for Zynq 7000 in that patch)

> 
> > > > 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