[U-Boot] [PATCH 1/4] net: extend the netdev to have a common way to set the hw mac address

Wolfgang Denk wd at denx.de
Mon May 11 15:26:16 CEST 2009


Dear Jean-Christophe PLAGNIOL-VILLARD,

In message <20090511120809.GA1812 at game.jcrosoft.org> you wrote:
>
> > there is no need for that on purpose.  the network layer will recheck the 
> > environment every time it gets initialized, and it gets initialized with every 
> > network step.  this is already documented in doc/README.enetaddr.
> Unfortunatly we need it to set the enetaddr in the register of the soc evenif
> there is no ethernet transfer as for the macb on at91 or the dm9000.
> This how the kernel pass the mac address for the bootloader.

You mean, this is how U-Boot is supposed to pass the MAC address to
the Kernel, right?

Well, strictly speaking this is (1) in direct violation of U-Boot's
design principles which say NOT to initialize things it does not use
itself, and (2) a bug in the Linux kernel that should be fixed there.

In this case it may be just writing to  a  register  without  further
initialization  of the hardware, but if we allow for that you can bet
that tomorrow someone will  try  and  add  code  that  requires  more
extensive initialization of the hardware for the same purpose, and he
will argue that his code must go in because there is preexisting code
that does the same.

That's why I have to NAK this.

The problem should be fixed in the Linux kernel. I know that RMK does
not alow for things like a MAC ATAG or similar, so the best you can
do is hope for quick approach of device tree based drivers. Until
then, you probably have to resort to out-of-tree (Linux) solutions
like everybody else who hit this problem before.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Nobody trips over mountains. It is the small pebble that  causes  you
to  stumble.  Pass all the pebbles in your path and you will find you
have crossed the mountain.


More information about the U-Boot mailing list