diff options
Diffstat (limited to 'drivers/net/fec_mxc.c')
-rw-r--r-- | drivers/net/fec_mxc.c | 14 |
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; |