mpc5xxx_fec: add call to reset_phy() after PHY initialization
authorIlya Yanok <yanok@emcraft.com>
Thu, 19 Aug 2010 09:09:06 +0000 (11:09 +0200)
committerBen Warren <biggerbadderben@gmail.com>
Tue, 12 Oct 2010 06:00:29 +0000 (23:00 -0700)
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.

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
drivers/net/mpc5xxx_fec.c

index c88e596..bc8c922 100644 (file)
@@ -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
+
+       /*
         * Initialize RxBD/TxBD rings
         */
        mpc5xxx_fec_rbd_init(fec);