Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Oct 2011 17:13:22 +1100
From:      Mattia Rossi <mrossi@swin.edu.au>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: Q about Ethernet - GlobalScale DreamPlug + FreeBSD 8.2
Message-ID:  <4E9A7602.6070806@swin.edu.au>
In-Reply-To: <201110150739.35707.freebsd-arm@dino.sk>
References:  <4E782686.6070500@smartfruit.com> <4E98E1CF.2090507@smartfruit.com> <201110150739.35707.freebsd-arm@dino.sk>

next in thread | previous in thread | raw e-mail | index | archive | help
On 15/10/11 16:39, Milan Obuch wrote:
> On Saturday 15 October 2011 03:28:47 Naoyuki Tai wrote:
>> Hi,
>>
>> I just realized that I get only mge0, one of two ethernet
>> ports.
>>
>> With the linux that came with DreamPlug, both ethernet
>> ports show up as eth0 and eth1.
>>
>> Is there any way to get the mge1 get going?
>>
>
> Hi,
>
> it looks like you are trying to solve similar issue as I did some time ago...
> look in this list archives for message from me sent 2010-10-27 22:59 with
> subject 'Re: Guruplug Server Plus working to some extent... [mge1 problem
> SOLVED]' with some patches attached. I think at least guruplugplus.dts could
> be useful. Basically, SoC used in Guruplug Server Plus and, I think, DreamPlug
> uses the same or at least similar, multiplexes some functions on IO pins and
> so some initialisation is important.
>
> Regards,
> Milan
>

I've had the smae problem, and it's not just a multiplexing problem, but 
also in the dreamplug.dts file send by Matthieu, he uses the wrong 
address for mdio1 and enet1: 74000 instead of 76000 (although the 
comments suggest he suspected the problem already :-) )

The two necessary bits in corected version make mge1 work:


mdio1: mdio@76000 { /* 76000? */
                            device_type = "mdio";
                            compatible = "mrvl,mdio";
                            reg = <76000 20>;
                            #address-cells = <1>;
                            #size-cells = <0>;

                            phy1: ethernet-phy@0 {
                                 reg = <1>;
                                 device_type = "ethernet-phy";
                            };
                 };

enet1: ethernet@76000 { /* 76000? */
                         #address-cells = <1>;
                         #size-cells = <1>;
                         model = "V2";
                         compatible = "mrvl,ge";
                         reg = <0x76000 0x2000>;
                         ranges = <0x0 0x74000 0x2000>;
                         local-mac-address = [ 00 00 00 00 00 00 ];
                         interrupts = <16 17 18 15 47>;
                         interrupt-parent = <&PIC>;
                         phy-handle = <&phy1>;
                 };

Additionally, if you need the pins multiplexed differently, there is an 
openrd-cl.dts found in this thread, (included in sdio_patch.txt), which 
also adds sdio support to HEAD. I've applied the patch without problems 
to 9-BETA3.

There are two issues though: the included openrd-cl.dts adds pci support 
which causes a kernel panic, and the sdio driver actually doesn't seem 
to work. Didn't have enough time to investigate that yet.

Mat



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E9A7602.6070806>