Interrupts on GPIO
ypelletier at haivision.com
Wed Apr 1 07:59:33 EST 2009
> Message: 7
> Date: Mon, 30 Mar 2009 10:32:17 -0600
> From: Grant Likely <grant.likely at secretlab.ca>
> Subject: > To: Yann Pelletier <ypelletier at haivision.com>
> Cc: "linuxppc-dev at ozlabs.org" <linuxppc-dev at ozlabs.org>
> <fa686aa40903300932p2c92110g2907bb7bf80d44d at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
> On Mon, Mar 30, 2009 at 9:57 AM, Yann Pelletier
> <ypelletier at haivision.com> wrote:
> > Hi,
> > I'd like to add supports for interrupts handling from GPIO controller.
> ?Some of these interrupts are from I2C devices and some others are from
> SPI devices.
> > What is the best approach to enable interrupts handling for those
> devices through GPIO.
> Modify the GPIO driver to also be a cascaded IRQ driver (see
> http://patchwork.ozlabs.org/patch/21914/ for an example).
I've looked at the patch but I wonder if this would be applicable to the MPC8313. If my understanding is good, in the MPC52xx you have 8 gpio only interrupts and 8 gpio/gpt. With the MPC8313, each GPIO can act as an interrupt but they are all muxed to only 1 interrupt in the IPIC. So I'm concern about making the GPIO controller act as an interrupt controller.
> > Also,
> > # cat /proc/interrupts
> > ? ? ? ? ? CPU0
> > ?16: ? ? ? ? 60 ? IPIC ? Level ? ? serial
> > ?17: ? ? ? ? ?0 ? IPIC ? Level ? ? fpga
> > ?18: ? ? ? ? ?4 ? IPIC ? Level ? ? mpc83xx_spi
> > ?21: ? ? ? ? ?0 ? IPIC ? Level ? ? i2c-mpc
> > ?22: ? ? ? ? ?7 ? IPIC ? Level ? ? i2c-mpc
> > According to my platform device tree, serial irq should be on int9, SPI
> on int16 and i2c on int14,15. ?This causes me some problems as I need
> int18 to map to external IRQ2.
> These numbers are *Linux internal* virtual irq numbers. They have no
> relation to the physical IRQ number for each interrupt controller.
> Just make sure your Device Tree maps the IRQs correctly and you'll be
This is good now, thanks
> Grant Likely, B.Sc., P.Eng.
> Secret Lab Technologies Ltd.
More information about the Linuxppc-dev