Re: Trying to use Device Tree...and getting continuous interrupts from attached 88e1145
From: Andy Fleming <hidden>
Date: 2007-08-06 18:09:46
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...quoted
quoted
mdio@24520 { #address-cells = <1>; #size-cells = <0>; device_type = "mdio"; compatible = "gianfar"; reg = <24520 20>; phy1: ethernet-phy@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