Configure CPM2 PORTC pin (PC9) for external interrupt?

Guillaume Knispel gknispel at proformatique.com
Sat Aug 15 08:39:04 EST 2009


On Fri, 14 Aug 2009 22:27:39 +0800
Baojun Wang <wangbj.ml at gmail.com> wrote:

>   I need to configure CPM2 PORTC pin (PC9) for external interrupt, when I
> read the MPC8555ERM.pdf and cpm2-pic.c, I find that PC9 interrupt number is
> 56, and I request the IRQ in this way:
> 
>   hw_irq = 56;
>   virq = irq_create_mapping(cpm2_host, hw_irq);
> 
>   reqeust_irq(virq, ...);
> 
>   I can request the irq successfully, but the interrupt is never generated
> (ISR is not called) to the PC9 pins, even though the hardware said an
> interrupt was raised. (the hardware have a register with a special bit)
> 
>   Should I configure the cpm2 io port first to allow PORTC interrupt? I have
> read the cpm2 io port documentation, and I initialize the PC9 as:
> 
>   PPARC[pc9_bit] = 0;    /* for general purpose IO, not dedicated */
>   PSORC[pc9_bit] = 0;    /* no special option */
>   PDIRC[pc9_bit] = 0;     /* for both input/output */
> 
>   Am I missing some thing? Any suggestion will be greatly appreciated.

Hi,

Have a look on commit 7f3ea17f316577e31db868f720ac575c74d20163, which
fixes a linux bug about Port C interrupts

Also note that the 8555 have the same issue that the 8272 about
PC2 / PC3 missing which shifts other vectors, but I don't know if 56
for PC9 take that into account.

PS: in the future make sure to include your Linux version number, so we
know if an issue apply or not.

-- 
Guillaume KNISPEL


More information about the Linuxppc-dev mailing list