aboutsummaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorYe Li <ye.li@nxp.com>2020-05-03 22:41:20 +0800
committerStefano Babic <sbabic@denx.de>2020-05-10 20:55:20 +0200
commit580fab4a821d50021f251452a6a3c056f0280941 (patch)
treefd3f71adb2370f5e0563b7425e29a010dc6b6605 /drivers/net
parent9d4194f179b2c19c6732b9e2794a3d5153144492 (diff)
downloadu-boot-580fab4a821d50021f251452a6a3c056f0280941.zip
u-boot-580fab4a821d50021f251452a6a3c056f0280941.tar.gz
u-boot-580fab4a821d50021f251452a6a3c056f0280941.tar.bz2
eQos: Implement the read_rom_hwaddr callback
Implement the read_rom_hwaddr callback to load MAC address from fuse for imx8m platforms. Reviewed-by: Fugang Duan <fugang.duan@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/dwc_eth_qos.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c
index e4fc76c..f67c5f4 100644
--- a/drivers/net/dwc_eth_qos.c
+++ b/drivers/net/dwc_eth_qos.c
@@ -1145,6 +1145,16 @@ static int eqos_write_hwaddr(struct udevice *dev)
return 0;
}
+static int eqos_read_rom_hwaddr(struct udevice *dev)
+{
+ struct eth_pdata *pdata = dev_get_platdata(dev);
+
+#ifdef CONFIG_ARCH_IMX8M
+ imx_get_mac_from_fuse(dev->req_seq, pdata->enetaddr);
+#endif
+ return !is_valid_ethaddr(pdata->enetaddr);
+}
+
static int eqos_start(struct udevice *dev)
{
struct eqos_priv *eqos = dev_get_priv(dev);
@@ -2066,6 +2076,7 @@ static const struct eth_ops eqos_ops = {
.recv = eqos_recv,
.free_pkt = eqos_free_pkt,
.write_hwaddr = eqos_write_hwaddr,
+ .read_rom_hwaddr = eqos_read_rom_hwaddr,
};
static struct eqos_ops eqos_tegra186_ops = {