Configure CPM2 PORTC pin (PC9) for external interrupt?
wangbj.ml at gmail.com
Sat Aug 15 14:32:31 EST 2009
Thank you very much. the kernel I'm using is linux-2.6.21 (for the
target system), actually I have also read 2.6.30 source code, but I
didn't find the change, and I think the problem was caused by fault
configuration of the PORTC io-port. The commit you mentioned haven't
applied for 2.6.21.
Next time I will include the exact kernel version (and related)
info, many thanks again.
On Sat, Aug 15, 2009 at 6:39 AM, Guillaume Knispel
<gknispel at proformatique.com> wrote:
> 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.
> 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