public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] Device tree question for 85xx
@ 2007-08-14 21:43 robert lazarski
  2007-08-14 22:00 ` Scott Wood
  0 siblings, 1 reply; 2+ messages in thread
From: robert lazarski @ 2007-08-14 21:43 UTC (permalink / raw)
  To: u-boot

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-08-14 22:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-14 21:43 [U-Boot-Users] Device tree question for 85xx robert lazarski
2007-08-14 22:00 ` Scott Wood

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox