diff options
Diffstat (limited to 'drivers/net')
| -rw-r--r-- | drivers/net/fec_mxc.c | 2 | ||||
| -rw-r--r-- | drivers/net/macb.c | 12 | 
2 files changed, 11 insertions, 3 deletions
| diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c index e14a3598c..690e5724b 100644 --- a/drivers/net/fec_mxc.c +++ b/drivers/net/fec_mxc.c @@ -980,6 +980,8 @@ static int fec_probe(bd_t *bd, int dev_id, uint32_t base_addr,  	if (fec_get_hwaddr(edev, dev_id, ethaddr) == 0) {  		debug("got MAC%d address from fuse: %pM\n", dev_id, ethaddr);  		memcpy(edev->enetaddr, ethaddr, 6); +		if (!getenv("ethaddr")) +			eth_setenv_enetaddr("ethaddr", ethaddr);  	}  	return ret;  err3: diff --git a/drivers/net/macb.c b/drivers/net/macb.c index 1f7cc322e..bf3983a00 100644 --- a/drivers/net/macb.c +++ b/drivers/net/macb.c @@ -36,6 +36,7 @@  #include <asm/io.h>  #include <asm/dma-mapping.h>  #include <asm/arch/clk.h> +#include <asm-generic/errno.h>  #include "macb.h" @@ -397,9 +398,14 @@ static int macb_phy_init(struct macb_device *macb)  	}  #ifdef CONFIG_PHYLIB -	phydev->bus = macb->bus; -	phydev->dev = netdev; -	phydev->addr = macb->phy_addr; +	/* need to consider other phy interface mode */ +	phydev = phy_connect(macb->bus, macb->phy_addr, netdev, +			     PHY_INTERFACE_MODE_RGMII); +	if (!phydev) { +		printf("phy_connect failed\n"); +		return -ENODEV; +	} +  	phy_config(phydev);  #endif |