[PATCH 2/10 v2] Add the MPC8641 HPCN platform files.
Zhang Wei-r63237
Wei.Zhang at freescale.com
Mon Jun 12 14:20:15 EST 2006
Hi,
> > > + /* Alloc mpic structure and per isu has 16 INT entries. */
> > > + mpic1 = mpic_alloc(OpenPIC_PAddr,
> > > + MPIC_PRIMARY | MPIC_WANTS_RESET |
> MPIC_BIG_ENDIAN,
> > > + 16, MPC86xx_OPENPIC_IRQ_OFFSET, 0, 250,
> > > + mpc86xx_hpcn_openpic_initsenses,
> > > + sizeof(mpc86xx_hpcn_openpic_initsenses),
> > > + " MPIC ");
> > > + BUG_ON(mpic1 == NULL);
> > > +
> > > + /* 48 Internal Interrupts */
> > > + mpic_assign_isu(mpic1, 0, OpenPIC_PAddr + 0x10200);
> > > + mpic_assign_isu(mpic1, 1, OpenPIC_PAddr + 0x10400);
> > > + mpic_assign_isu(mpic1, 2, OpenPIC_PAddr + 0x10600);
> >
> > I haven't looked in detail at your memory map, but do you need
> > separate ISUs ? They seem to be quite close together to me... Also,
> > you should invent properties in the mpic node for some of those
> > things, like big-endian (like apple does) indicating it's a
> big endian
> > openpic, etc... If you manage to get close enough to spec & common
> > usage, you might not even need your own init function at all in the
> > future.
>
> OK. We'll work in that direction, but incrementally.
>
> > > + /* 16 External interrupts */
> > > + mpic_assign_isu(mpic1, 3, OpenPIC_PAddr + 0x10000);
> >
> > That looks like you used ISUs in order to "re-order" them... why ?
>
> Heck if I know. We'll have to ask around some here... :-)
Re-ordering the interrupt is just fit for the practice from MPC85xx platform
and legacy OpenPIC interrupts order. We put 16 i8259 interrupts to first 0-15
Position, 48 MPC86xx processor internel interrupts to 16-63 and 16 MPC86xx
External interrupts to 64-79.
Thanks for your feedback!
Best Regards,
ZHANG WEI
More information about the Linuxppc-dev
mailing list