Trying to use Device Tree...and getting continuous interrupts from attached 88e1145
Andy Fleming
afleming at freescale.com
Tue Aug 7 04:09:35 EST 2007
On Aug 3, 2007, at 17:54, Morrison, Tom wrote:
> All,
>
> Connected to eth1 (etsec2) of my mpc8548 cpu is a 88E1145 and I
> am trying to get the core functionality running with the device tree
> paradigm - I know the sense of the 88E1145 is active-low for my
> mpc8548 board and have it working with an older 2.6.11++ kernel.
>
> I built this new kernel with the marvell driver - it seemingly
> does all the same things we did in the 2.6.11 kernel in separate
> spots...
>
> Here is the appropriate parts of my device tree for this part of the
> core...
>
>>> mdio at 24520 {
>>> #address-cells = <1>;
>>> #size-cells = <0>;
>>> device_type = "mdio";
>>> compatible = "gianfar";
>>> reg = <24520 20>;
>>> phy1: ethernet-phy at 1 {
>>> interrupt-parent = <&mpic>;
>>> interrupts = <37 1>;
How recent of a kernel are you using? The current kernel assigns the
external interrupts to be the low 12 interrupts, which would make
your interrupt assignment wrong.
>
> Now, that looks OK! Those are what I would expect. And when the
> mdio/phy are probed, configured, and the 88E1145 interrupt (EXT7
> (0x37H)) is enabled, the interrupt never (seemingly) gets cleared,
> and basically hangs the entire box up and eventually it panics!
Can you determine where it's hanging. Or whether it is calling
phy_interrupt() at all? phy_interrupt should be disabling the
interrupt at the PIC, and then the interrupt should be handled in a
work queue.
Andy
More information about the Linuxppc-dev
mailing list