Subject: Re: MPC8272: Edge triggered IRQ

From: Dmytro Bablinyuk <[email-masked]>
Date: Tue, 12 Dec 2006 13:48:36 +1100

Found solution:

immap->im_intctl.ic_siexr |= (1 << (14 - (irq - SIU_INT_IRQ1)));

Makes it trigger on falling edge

Dmytro Bablinyuk wrote:
> I have pretty simple code that I did a long time ago
> 
> irqreturn_t irq_handler(int irq, void *dev_id, struct pt_regs *regs)
> {
>   ..
>  return IRQ_HANDLED;
> }
> 
> 
> request_irq(irq,
>             &irq_handler,
>             SA_INTERRUPT,
>             "irq handler",
>              NULL);
> 
> That code runs on MPC8272 and 2.6.18 kernel.
> It triggers IRQ on low level (I thought it was falling edge by default).
> So, as long as I have input low level I have hundreds of calls. Pretty
> much it keeps calling IRQ handling routine.
> How do I make it to trigger on falling edge?