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

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Mon May 11 18:37:28 CEST 2009


On 12:24 Mon 11 May     , Mike Frysinger wrote:
> On Monday 11 May 2009 10:24:54 Jean-Christophe PLAGNIOL-VILLARD wrote:
> > On 15:26 Mon 11 May     , Wolfgang Denk wrote:
> > > 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.
> >
> > this exactly what is done only write mac hw register
> > without init the eth stack
> >
> > before we do need to init the mac and detect the phy if we want to store
> > now we have to call the set_hw_enetaddr
> 
> then we agree you're doing it wrong and this patch is not needed/wanted
> 
> there is this FAQ, but i think we can add more info to it:
> http://www.denx.de/wiki/view/DULG/EthernetDoesNotWorkInLinux
It does not work ether
how do you deal with multiple nic?
how do set a mac for NFS Rootfs?
how do you boot a *mainline* kernel?

Best Regards,
J.


More information about the U-Boot mailing list