GPIO interrupt not working on Zynq7000

Greg Gallagher greg at embeddedgreg.com
Wed Mar 4 16:48:02 CET 2020


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