[U-Boot] Defer net initialization

Alexander Stein alexander.stein at systec-electronic.com
Tue Jun 1 13:12:39 CEST 2010


Dear Wolfgang,

Am Dienstag, 1. Juni 2010 12:46:03 schrieben Sie:
> > The problem was a defined CONFIG_RESET_PHY_R. Inside reset_phy
> >
> > > eth_init(gd->bd);
> >
> > is called which actually starts the hardwre resulting in timeouts as
> > described. According to the comment above this line (seems to be copied
> > to every at91 board implementation) this is only needed if linux has a
> > NFS root which needs a preinitialized ethernet device.
> 
> I don't know this driver, but I smell that the comment might actually
> be wrong or at least misleading - most likely no PHY reset is needed
> here but a MAC address needs to be programmed into the controller -
> which brings us back to the start of this discussion. [And note that
> you still might need this when you want to use the ethernet interface
> in Linux].

The PHY is explicitly reset in most *_macb_hw_init() on AT91 baords to (re)set 
the PHY address by straping pins. I think it is debatable if this is really 
necessary.

The MAC is actually written into hardware in macb_init and afterwards the PHY 
is initialized in macb_phy_init. So a eth_init seem to be a must from board 
setup.

The not set MAC is currently (accidently) bypassed in our rootfs as we call
> /sbin/ifconfig eth0 hw ether ${MACADDR}
where ${MACADDR} is set by 'fw_printenv ethaddr'

Best regards
Alexander


More information about the U-Boot mailing list