Trying to use Device Tree...and getting continuous interrupts from attached 88e1145
Morrison, Tom
tmorrison at empirix.com
Sat Aug 4 08:54:05 EST 2007
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>;
>> reg = <11>;
>> device_type = "ethernet-phy";
>> };
>> };
>> ethernet at 25000 {
>> #address-cells = <1>;
>> #size-cells = <0>;
>> device_type = "network";
>> model = "eTSEC";
>> compatible = "gianfar";
>> reg = <25000 1000>;
>> local-mac-address = [ 00 00 00 00 00 00 ];
>> interrupts = <23 2 24 2 28 2>;
>> interrupt-parent = <&mpic>;
>> phy-handle = <&phy1>;
>> };
>> mpic: pic at 40000 {
>> clock-frequency = <0>;
>> interrupt-controller;
>> #address-cells = <0>;
>> #interrupt-cells = <2>;
>> reg = <40000 40000>;
>> built-in;
>> compatible = "chrp,open-pic";
>> device_type = "open-pic";
>> big-endian;
>> };
The device tree seems to be parsed OK:
>> of_irq_map_one: dev=/soc8548 at e0000000/mdio at 24520/ethernet-phy at 1,
index=0
>> intsize=2 intlen=2
>> of_irq_map_raw: par=/soc8548 at e0000000/pic at 40000,intspec=[0x00000037
>> 0x00000001...],ointsize=2
>> of_irq_map_raw: ipar=/soc8548 at e0000000/pic at 40000, size=2
>> mpic: xlate (2 cells: 0x00000037 0x00000001) to line 0x37 sense 0x8
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?)...
Tom
More information about the Linuxppc-dev
mailing list