
Hi Ilya,
On 8/19/2010 2:09 AM, Ilya Yanok wrote:
Some boards need their board-specific PHY quirks to be called to PHY to work normally. As mpc5xxx_fec driver uses on demand PHY initialization and can even reinit PHY during normal operation we can't count on reset_phy() call from arch/<arch>/lib/board.c (it is most likely called _before_ we init the PHY from the driver) so we need to add call to reset_phy() directly in the driver.
Cc: Ben Warrenbiggerbadderben@gmail.com Signed-off-by: Ilya Yanokyanok@emcraft.com
drivers/net/mpc5xxx_fec.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/drivers/net/mpc5xxx_fec.c b/drivers/net/mpc5xxx_fec.c index c88e596..bc8c922 100644 --- a/drivers/net/mpc5xxx_fec.c +++ b/drivers/net/mpc5xxx_fec.c @@ -250,6 +250,13 @@ static int mpc5xxx_fec_init(struct eth_device *dev, bd_t * bis) mpc5xxx_fec_init_phy(dev, bis);
/*
* Call board-specific PHY fixups (if any)
*/
+#ifdef CONFIG_RESET_PHY_R
- reset_phy();
+#endif
- /*
*/ mpc5xxx_fec_rbd_init(fec);
- Initialize RxBD/TxBD rings
Applied to net repo. Please accept my sincere apologies for taking so long to process.
regards, Ben