|
@@ -1165,12 +1165,21 @@ int fecmxc_register_mii_postcall(struct eth_device *dev, int (*cb)(int))
|
|
|
|
|
|
#else
|
|
|
|
|
|
+static int fecmxc_read_rom_hwaddr(struct udevice *dev)
|
|
|
+{
|
|
|
+ struct fec_priv *priv = dev_get_priv(dev);
|
|
|
+ struct eth_pdata *pdata = dev_get_platdata(dev);
|
|
|
+
|
|
|
+ return fec_get_hwaddr(priv->dev_id, pdata->enetaddr);
|
|
|
+}
|
|
|
+
|
|
|
static const struct eth_ops fecmxc_ops = {
|
|
|
.start = fecmxc_init,
|
|
|
.send = fecmxc_send,
|
|
|
.recv = fecmxc_recv,
|
|
|
.stop = fecmxc_halt,
|
|
|
.write_hwaddr = fecmxc_set_hwaddr,
|
|
|
+ .read_rom_hwaddr = fecmxc_read_rom_hwaddr,
|
|
|
};
|
|
|
|
|
|
static int fec_phy_init(struct fec_priv *priv, struct udevice *dev)
|
|
@@ -1200,7 +1209,6 @@ static int fecmxc_probe(struct udevice *dev)
|
|
|
struct fec_priv *priv = dev_get_priv(dev);
|
|
|
struct mii_dev *bus = NULL;
|
|
|
int dev_id = -1;
|
|
|
- unsigned char ethaddr[6];
|
|
|
uint32_t start;
|
|
|
int ret;
|
|
|
|
|
@@ -1235,14 +1243,6 @@ static int fecmxc_probe(struct udevice *dev)
|
|
|
fec_set_dev_name((char *)dev->name, dev_id);
|
|
|
priv->dev_id = (dev_id == -1) ? 0 : dev_id;
|
|
|
|
|
|
- ret = fec_get_hwaddr(dev_id, ethaddr);
|
|
|
- if (!ret) {
|
|
|
- debug("got MAC%d address from fuse: %pM\n", dev_id, ethaddr);
|
|
|
- memcpy(pdata->enetaddr, ethaddr, 6);
|
|
|
- if (!getenv("ethaddr"))
|
|
|
- eth_setenv_enetaddr("ethaddr", ethaddr);
|
|
|
- }
|
|
|
-
|
|
|
return 0;
|
|
|
|
|
|
err_timeout:
|