From: Morrison, Tom <hidden> Date: 2007-08-03 22:54:14
All,
Connected to eth1 (etsec2) of my mpc8548 cpu is a 88E1145 and I=20
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=20
mpc8548 board and have it working with an older 2.6.11++ kernel. =20
I built this new kernel with the marvell driver - it seemingly=20
does all the same things we did in the 2.6.11 kernel in separate=20
spots...
Here is the appropriate parts of my device tree for this part of the
core...
0x00000001...],ointsize=3D2
of_irq_map_raw: ipar=3D/soc8548@e0000000/pic@40000, size=3D2
mpic: xlate (2 cells: 0x00000037 0x00000001) to line 0x37 sense 0x8
Now, that looks OK! Those are what I would expect. And when the=20
mdio/phy are probed, configured, and the 88E1145 interrupt (EXT7=20
(0x37H)) is enabled, the interrupt never (seemingly) gets cleared,
and basically hangs the entire box up and eventually it panics!
I don't even have an external phy(SFP) connected to this 88e1148 phy..
I am at a lost - is there something I am missing in device tree?=20
Help mr. wizard (Kumar?)...
Tom
From: Benjamin Herrenschmidt <benh@kernel.crashing.org> Date: 2007-08-04 02:33:50
On Fri, 2007-08-03 at 18:54 -0400, Morrison, Tom wrote:
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!
I don't even have an external phy(SFP) connected to this 88e1148 phy..
I am at a lost - is there something I am missing in device tree?
Help mr. wizard (Kumar?)...
Double check you got the interrupt sense and polarity right.
Ben.
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...
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
From: Morrison, Tom <hidden> Date: 2007-08-13 11:01:39
It turns out that Andy was right and I had not understand the=20
NEW MPIC format for the definition of the external interrupts.
This was different than the 2.6.11++ kernel...
Thank you Ben & Andy for your suggestions, unfortunately,
I had to learn the hard way that it was more fundamental
than I had imagined...
I continue to have problems, but I will itemize those in a
separate email.
Tom Morrison
-----Original Message-----
From: Andy Fleming [mailto:afleming@freescale.com]=20
Sent: Monday, August 06, 2007 2:10 PM
To: Morrison, Tom
Cc: linuxppc-dev@ozlabs.org
Subject: Re: Trying to use Device Tree...and getting continuous
interrupts from attached 88e1145
<Snip>