]> git.sur5r.net Git - u-boot/blobdiff - drivers/net/davinci_emac.c
e1000: Rewrite EEPROM checksum error to give more information
[u-boot] / drivers / net / davinci_emac.c
index 4ffd08657e7e86075b2a726fbd5955e7d9c80a19..7dacb2368d64d2b90fd140ed1db9844efabad9bc 100644 (file)
@@ -48,9 +48,9 @@ unsigned int  emac_dbg = 0;
 #define debug_emac(fmt,args...)        if (emac_dbg) printf(fmt,##args)
 
 #ifdef DAVINCI_EMAC_GIG_ENABLE
-#define emac_gigabit_enable()  davinci_eth_gigabit_enable()
+#define emac_gigabit_enable(phy_addr)  davinci_eth_gigabit_enable(phy_addr)
 #else
-#define emac_gigabit_enable()  /* no gigabit to enable */
+#define emac_gigabit_enable(phy_addr)  /* no gigabit to enable */
 #endif
 
 static void davinci_eth_mdio_enable(void);
@@ -357,11 +357,11 @@ static int davinci_mii_phy_write(const char *devname, unsigned char addr, unsign
 }
 #endif
 
-static void  __attribute__((unused)) davinci_eth_gigabit_enable(void)
+static void  __attribute__((unused)) davinci_eth_gigabit_enable(int phy_addr)
 {
        u_int16_t data;
 
-       if (davinci_eth_phy_read(EMAC_MDIO_PHY_NUM, 0, &data)) {
+       if (davinci_eth_phy_read(phy_addr, 0, &data)) {
                if (data & (1 << 6)) { /* speed selection MSB */
                        /*
                         * Check if link detected is giga-bit
@@ -484,7 +484,7 @@ static int davinci_eth_open(struct eth_device *dev, bd_t *bis)
        if (index == -1)
                return(0);
 
-       emac_gigabit_enable();
+       emac_gigabit_enable(active_phy_addr[index]);
 
        /* Start receive process */
        writel((u_int32_t)emac_rx_desc, &adap_emac->RX0HDP);
@@ -589,7 +589,7 @@ static int davinci_eth_send_packet (struct eth_device *dev,
                return (ret_status);
        }
 
-       emac_gigabit_enable();
+       emac_gigabit_enable(active_phy_addr[index]);
 
        /* Check packet size and if < EMAC_MIN_ETHERNET_PKT_SIZE, pad it up */
        if (length < EMAC_MIN_ETHERNET_PKT_SIZE) {
@@ -614,7 +614,7 @@ static int davinci_eth_send_packet (struct eth_device *dev,
                        return (ret_status);
                }
 
-               emac_gigabit_enable();
+               emac_gigabit_enable(active_phy_addr[index]);
 
                if (readl(&adap_emac->TXINTSTATRAW) & 0x01) {
                        ret_status = length;