[U-Boot] AR8031 Ethernet on mx6
Eric Nelson
eric.nelson at boundarydevices.com
Sat Sep 15 22:38:15 CEST 2012
Hi all,
On 09/15/2012 12:26 PM, Marek Vasut wrote:
> Dear Fabio Estevam,
>
>> Hi Dirk,
>>
>> On Sat, Sep 15, 2012 at 2:32 AM, Dirk Behme<dirk.behme at gmail.com> wrote:
>>> I think a coworker has an ARM2, so I'll try to ask him on Monday.
>>
>> Thanks for your help.
>>
>>> But while talking about ethernet on MX6: There seems to be a lot of
>>> issues with 1GB ethernet. Or is it just confusion? As I'm no expert on
>>> this, I'm really confused. That means that I don't know if we still
>>> really have some issues with it or not :(
>>>
>>> The initial SabreLite boards (revision from September/Octorber last
>>> year?) had a hardware issue with 1GB ethernet. I was told that this
>>> hardware issue is fixed in the latest SabreLite boards with hardware
>>> revision D. But a coworker reports that it looks like GB ethernet even
>>> doesn't work with the U-Boot the SabreLite revision D ships with (?).
>>> Nor a more recent (patched?) U-Boot. I'm not sure if the recent
>>> (unpatched) mainline was tested, though. So this might be an issue of an
>>> U-Boot version which has SW patches for the old, broken ethernet
>>> applied, which now breaks the fixed hardware? Or is there still an
>>> hardware issue? I don't know.
>>
>> I haven't worked with Gigabit Ethernet on mx6qsabrelite, but my
>> understanding is that it has been functional now in U-boot.
>>
>> Ccing Troy and Eric as they probably know all the details.
>
> It works for me, but I don't think it runs on "gigabit" speed.
>
The first shipments of Rev C (~10% of those shipped) and handful of prototype
boards that preceded it) had an issue with pin 9 on the combination
ethernet/USB jack. This pin was connected and should have been left floating.
This caused some issues properly negotiating Gb speeds, and Gb rarely worked.
The only patches circulated for this simply disabled Gb speeds entirely
Later (most) Rev C and all Rev D boards have been tested to function at Gb
speeds, at least nominally (against the Gb switches we have in house)
using u-boot-2009.08.
That said, we have seen quite a few reports of instability or inability to
negotiate Gb speeds at customer sites. The majority of these have been
addressed by replacing cables though there are some reports of packet
loss as well.
In particular, using the 'tcp' option for NFS is sometimes helpful.
I suspect that some additional tweaking of the KSZ9021 PHY is needed.
In the 2009-08 Freescale and Boundary are distributing, there appears
to be an occasional issue with negotiation.
In the normal, successful case, you get a message about the link
status like this, with a
U-Boot > dhcp 12000000 192.168.0.162:uImage-imx6
Found phy at 6
FEC: Link is Up 796d
BOOTP broadcast 1
DHCP client bound to address 192.168.0.119
... goes on to transfer file
But on occasion, I see negotiation fail:
Found phy at 6
FEC: Link is down 7949
Note that the 7949 corresponds to register 1 (PHY status) and that
bits 5 (A/N complete) and 2 (link status) are both clear.
Main-line U-Boot master seems to just work and sync up at Gb.
MX6QSABRELITE U-Boot > version
U-Boot 2012.07-00490-ga6f0c4f (Sep 15 2012 - 13:17:31)
arm-none-linux-gnueabi-gcc (4.4.4_09.06.2010) 4.4.4
GNU ld (GNU Binutils) 2.20.1.20100303
MX6QSABRELITE U-Boot > dhcp 12000000 192.168.0.162:uImage-imx6
BOOTP broadcast 1
DHCP client bound to address 192.168.0.119
Using FEC device
TFTP from server 192.168.0.162; our IP address is 192.168.0.119
Filename 'uImage-imx6'.
Load address: 0x12000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
###########
done
Bytes transferred = 4379516 (42d37c hex)
MX6QSABRELITE U-Boot > mii dump 6
0. (1140) -- PHY control register --
(8000:0000) 0.15 = 0 reset
(4000:0000) 0.14 = 0 loopback
(2040:0040) 0. 6,13 = b10 speed selection = 1000 Mbps
(1000:1000) 0.12 = 1 A/N enable
(0800:0000) 0.11 = 0 power-down
(0400:0000) 0.10 = 0 isolate
(0200:0000) 0. 9 = 0 restart A/N
(0100:0100) 0. 8 = 1 duplex = full
(0080:0000) 0. 7 = 0 collision test enable
(003f:0000) 0. 5- 0 = 0 (reserved)
Note that we do have a flag 'disable_giga' to force 10/100:
http://git.denx.de/?p=u-boot.git;a=blob;f=drivers/net/phy/micrel.c;h=30f3264897479c35f49cc53c3600b7f5ca46665b;hb=HEAD#l94
Regards,
Eric
More information about the U-Boot
mailing list