[U-Boot] what's the uboot way to pass eth*addr to linux ?

Philippe De Muyter phdm at macqel.be
Sun Feb 21 00:59:45 CET 2010


Hello Wolfgang,

On Sat, Feb 20, 2010 at 04:08:45PM +0100, Wolfgang Denk wrote:
> Dear Philippe De Muyter,
> 
> In message <20100220093717.GA9602 at frolo.macqel> you wrote:
> >
> > Previously, the mac addresses were stored in the bd_info struct, but that
> > has been removed, but alas not replaced by a common mechanism for all
> > architectures.
> 
> Complain about this to the Linux architecture maintainers - there have
> been many and longf discussions about this before.

Do you mean lkml or some other mailing list or individual ?

> 
> Today we consider the device tree to be the Right Thing (TM) to pass
> such information to the kernel, and more and more architectures use
> this method.

AFAIK, device trees are powerpc-specific and my board is coldfire based.

> 
> As long as it's not available for your architecture, the most
> straightforward way is to pass an "ethaddr=..." argument on the
> kernel command line. Drivers can pick it up easily there. Just don't
> expect that such Linux driver code will be accepted for mainline.

I don't like that method because it can easily be forgotten by someone
changing bootargs for some other reason.  IMO bootargs should only be used for
configuration choices.

I'd rather go for an additional parameter given by u-boot to linux with
the address of the used u-boot environment, passed the same way that the
address of bd_info is given to linux (for coldfire's, that's on the stack)

Philippe


More information about the U-Boot mailing list