[U-Boot] [PATCH] net: tsec - handle user interrupt while waiting for PHY auto negotiation to complete
ptyser at xes-inc.com
Tue Aug 25 05:09:52 CEST 2009
On Mon, 2009-08-24 at 18:10 -0500, Scott Wood wrote:
> Andy Fleming wrote:
> > On Mon, Aug 24, 2009 at 2:32 PM, Kim Phillips <kim.phillips at freescale.com>wrote:
> >> if you don't have firmware installed for the PHY to come to life, this
> >> wait can be painful - let's give the option to avoid it if we want.
> >> Signed-off-by: Kim Phillips <kim.phillips at freescale.com>
> > Acked-by: Andy Fleming <afleming at freescale.com>
> > I've always wanted this change, but never looked into how to implement it.
> > However, it should be noted that this change is somewhat lessened in impact
> > by the proposal to change the timeout to be only 2 seconds, instead of
> > ...whatever it is now.
> I thought it was established that that wasn't long enough for some
It looks like 3.5 seconds was agreed upon to be safe:
The current timeout is set to 5 seconds.
We could set a default timeout value of 3.5 seconds, but allow boards to
override this by defining something like CONFIG_SYS_PHY_AUTONEG_TIMEOUT
to tweak the timeout if they wanted.
> > But even with 2 seconds, it's annoying to wait for N ports to be tried when
> > you know none of them are hooked up. Or that you forgot to properly set the
> > ipaddr, anyway.
Setting ethprime should work for the common case where you know which
ports are connected.
> ethrotate is annoying in general...
Agreed. For a project a while back we replaced ethact, ethprime and
ethrotate with an "ethorder" variable. If defined, the interfaces in
ethorder would be tried in order. So to only use 1 interface you could
set ethorder to "eTSEC1", to cycle between 2 non-contiguous ports it
could be set to "eTSEC1, eTSEC3", to only use PCI ports it could be set
to "e1000#0, e1000#1", etc. ethorder was more flexible and a bit more
straightforward in my opinion. Anyone have any interest in the patches?
More information about the U-Boot