[U-Boot-Users] Device tree question for 85xx
robert lazarski
robertlazarski at gmail.com
Tue Aug 14 23:43:46 CEST 2007
Hi all, please excuse if device tree questions are off topic for this
list - I already tried linuxppc-embedded2 on usenet with no luck. I've
also been reading booting-without-of.txt .
I'm trying to define the 'mdio' and 'ethernet' nodes for my mpc8548e
board that arrives soon, using cds for my reference. The cds reference
has a Quad PHY of either a CIS8204 or a 88E1145 - swappable as a
mezzanine I believe. Our board has two dual PHY's - 88E1111 and a
88E1121R . Our hardware engineer has simply defined four external
interrupts:
IRQ0 : PHY 0 - TSEC 1 (P0 of the 88E1121R)
IRQ1 : PHY 1 - TSEC 2 (P1 of the 88E1121R)
IRQ2 : PHY 2 - TSEC 3 (88E1111)
IRQ3 : PHY 3 - TSEC 4 (88E1111)
The docs say the interrupts depend on the 'type of interrupt
controller' - which is on chip I believe for the 8548. Here's how cds
has it in the linux-2.6.22/arch/powerpc/boot/dts/mpc8548cds.dts - Can
anyone please help me understand how to define a dts for my board?
I've been struggling to understand how this works - any help
appreciated.
mdio at 24520 {
#address-cells = <1>;
#size-cells = <0>;
device_type = "mdio";
compatible = "gianfar";
reg = <24520 20>;
phy0: ethernet-phy at 0 {
interrupt-parent = <&mpic>;
interrupts = <35 0>;
reg = <0>;
device_type = "ethernet-phy";
};
phy1: ethernet-phy at 1 {
interrupt-parent = <&mpic>;
interrupts = <35 0>;
reg = <1>;
device_type = "ethernet-phy";
};
phy2: ethernet-phy at 2 {
interrupt-parent = <&mpic>;
interrupts = <35 0>;
reg = <2>;
device_type = "ethernet-phy";
};
phy3: ethernet-phy at 3 {
interrupt-parent = <&mpic>;
interrupts = <35 0>;
reg = <3>;
device_type = "ethernet-phy";
};
};
ethernet at 24000 {
#address-cells = <1>;
#size-cells = <0>;
device_type = "network";
model = "eTSEC";
compatible = "gianfar";
reg = <24000 1000>;
local-mac-address = [ 00 E0 0C 00 73 00 ];
interrupts = <d 2 e 2 12 2>;
interrupt-parent = <&mpic>;
phy-handle = <&phy0>;
};
ethernet at 25000 {
#address-cells = <1>;
#size-cells = <0>;
device_type = "network";
model = "eTSEC";
compatible = "gianfar";
reg = <25000 1000>;
local-mac-address = [ 00 E0 0C 00 73 01 ];
interrupts = <13 2 14 2 18 2>;
interrupt-parent = <&mpic>;
phy-handle = <&phy1>;
};
/* eTSEC 3/4 are currently broken
ethernet at 26000 {
#address-cells = <1>;
#size-cells = <0>;
device_type = "network";
model = "eTSEC";
compatible = "gianfar";
reg = <26000 1000>;
local-mac-address = [ 00 E0 0C 00 73 02 ];
interrupts = <f 2 10 2 11 2>;
interrupt-parent = <&mpic>;
phy-handle = <&phy2>;
};
ethernet at 27000 {
#address-cells = <1>;
#size-cells = <0>;
device_type = "network";
model = "eTSEC";
compatible = "gianfar";
reg = <27000 1000>;
local-mac-address = [ 00 E0 0C 00 73 03 ];
interrupts = <15 2 16 2 17 2>;
interrupt-parent = <&mpic>;
phy-handle = <&phy3>;
};
*/
Thanks,
Robert
More information about the U-Boot
mailing list