Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagn...@jcrosoft.com>
Cc: Ben Warren <biggerbadder...@gmail.com>
Cc: Haavard Skinnemoen <haavard.skinnem...@atmel.com>
---
 drivers/net/macb.c |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index 6de0a04..a339730 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -404,12 +404,25 @@ static int macb_phy_init(struct macb_device *macb)
        }
 }
 
-static int macb_init(struct eth_device *netdev, bd_t *bd)
+static int macb_set_hw_enetaddr(struct eth_device *netdev, bd_t *bd)
 {
        struct macb_device *macb = to_macb(netdev);
-       unsigned long paddr;
        u32 hwaddr_bottom;
        u16 hwaddr_top;
+
+       /* set hardware address */
+       hwaddr_bottom = cpu_to_le32(*((u32 *)netdev->enetaddr));
+       macb_writel(macb, SA1B, hwaddr_bottom);
+       hwaddr_top = cpu_to_le16(*((u16 *)(netdev->enetaddr + 4)));
+       macb_writel(macb, SA1T, hwaddr_top);
+
+       return 0;
+}
+
+static int macb_init(struct eth_device *netdev, bd_t *bd)
+{
+       struct macb_device *macb = to_macb(netdev);
+       unsigned long paddr;
        int i;
 
        /*
@@ -439,10 +452,7 @@ static int macb_init(struct eth_device *netdev, bd_t *bd)
        macb_writel(macb, TBQP, macb->tx_ring_dma);
 
        /* set hardware address */
-       hwaddr_bottom = cpu_to_le32(*((u32 *)netdev->enetaddr));
-       macb_writel(macb, SA1B, hwaddr_bottom);
-       hwaddr_top = cpu_to_le16(*((u16 *)(netdev->enetaddr + 4)));
-       macb_writel(macb, SA1T, hwaddr_top);
+       macb_set_hw_enetaddr(netdev, bd);
 
        /* choose RMII or MII mode. This depends on the board */
 #ifdef CONFIG_RMII
@@ -521,6 +531,7 @@ int macb_eth_initialize(int id, void *regs, unsigned int 
phy_addr)
        netdev->halt = macb_halt;
        netdev->send = macb_send;
        netdev->recv = macb_recv;
+       netdev->set_hw_enetaddr = macb_set_hw_enetaddr;
 
        /*
         * Do some basic initialization so that we at least can talk
-- 
1.6.1.3

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to