summaryrefslogtreecommitdiff
path: root/drivers/net/fec_mxc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/fec_mxc.c')
-rw-r--r--drivers/net/fec_mxc.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
index 350928d1254..7971bd4ad69 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -24,6 +24,7 @@
#include <asm/arch/clock.h>
#include <asm/arch/imx-regs.h>
#include <asm/mach-imx/sys_proto.h>
+#include <asm/arch/sys_proto.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -1145,6 +1146,13 @@ int fecmxc_initialize_multi(bd_t *bd, int dev_id, int phy_id, uint32_t addr)
#endif
int ret;
+#ifdef CONFIG_MX6
+ if (mx6_enet_fused(addr)) {
+ printf("Ethernet@0x%x is fused, disable it\n", addr);
+ return -2;
+ }
+#endif
+
#ifdef CONFIG_FEC_MXC_MDIO_BASE
/*
* The i.MX28 has two ethernet interfaces, but they are not equal.
@@ -1253,6 +1261,12 @@ static int fecmxc_probe(struct udevice *dev)
uint32_t start;
int ret;
+#ifdef CONFIG_MX6
+ if (mx6_enet_fused((uint32_t)priv->eth)) {
+ printf("Ethernet@0x%x is fused, disable it\n", (uint32_t)priv->eth);
+ return -ENODEV;
+ }
+#endif
ret = fec_alloc_descs(priv);
if (ret)
return ret;