Thread (4 messages) flat view 4 messages, 3 authors, 2007-08-13

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help