Subject: Re: [PATCH] net: mvneta: properly disable HW PHY polling and ensure adjust_link() works

From: Thomas Petazzoni <[email-masked]>
Date: Thu, 5 Sep 2013 09:28:08 +0200

Hello,

On Thu, 5 Sep 2013 07:12:23 +0200, Willy Tarreau wrote:

> > This is on 3.11 plus Thomas' patch, which includes the previous fix to
> > "read MAC address from hardware when available".  Perhaps that fix
> > isn't working with the phylib?
> 
> No this is unrelated. The MAC isn't configured by the boot loader when
> the NIC is not used. U-boot only passes it as a non-standard ATAG. I
> have some patches to reinject the non-standard atags into the device
> tree if you absolutely need this, but they're not suited for mainline
> inclusion from what I understood last time I proposed them (they use
> a marvell-specific atag header).

I indeed submitted a revised/improved version of your patches some time
ago, but they were rejected. See
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-June/173201.html.
Since this has been rejected, the available options are:

 (1) Use a DT-capable bootloader that will properly set the MAC
     addresses in the DT. Such DT capable bootloaders will soon be made
     available by Marvell, but I am really unsure Globalscale will
     provide an update for the Mirabox bootloader, rebased on the new
     Marvell bootloader that will be DT capable.

     As an alternative, we (mainly Sebastian Hesselbarth and myself)
     have started adding Armada 370/XP support in the Barebox
     bootloader. We can already start Barebox on the Mirabox, but for
     now it's quite useless since only the serial port is supported,
     there is still no support for the network, SD card, USB or NAND.
     This will probably come over time, but it's not going to happen
     overnight.

 (2) Use the "impedance matcher" code written by Daniel Mack and
     extended by Jason Cooper, available at
     https://github.com/zonque/pxa-impedance-matcher. Essentially, it
     inserts a small binary between the installed bootloader and the
     kernel, that for example allows to choose a particular DTB amongst
     several, depending on the board that is detected. I believe it
     could probably be extended to cover other use cases such as
     modifying the DTB to add the MAC addresses where appropriate. I've
     added Jason Cooper in the Cc list if he wants to comment on that.

 (3) Continue to manually apply the patches from Willy that add support
     for the Marvell-specific ATAGs.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com