summaryrefslogtreecommitdiff
path: root/drivers/net/fec_mxc.c
diff options
context:
space:
mode:
authorYe Li <ye.li@nxp.com>2016-03-16 13:50:54 +0800
committerYe Li <ye.li@nxp.com>2017-04-05 14:04:35 +0800
commit2d3b5df8530cd5ef883750378838dea7c40259af (patch)
tree346ff7728eddc05a01e58e4d6277a753c6b8acab /drivers/net/fec_mxc.c
parent8aef13ebd92f709f4e6b80cf46c7cfe0f69bb211 (diff)
downloadu-boot-imx-2d3b5df8530cd5ef883750378838dea7c40259af.zip
u-boot-imx-2d3b5df8530cd5ef883750378838dea7c40259af.tar.gz
u-boot-imx-2d3b5df8530cd5ef883750378838dea7c40259af.tar.bz2
MLK-12483-4 mx6: Modify drivers to disable fused modules
Add the fuse checking in drivers, when the module is disabled in fuse, the driver will not work. Changed drivers: BEE, GPMI, APBH-DMA, ESDHC, FEC, QSPI, ECSPI, I2C, USB-EHCI, GIS, LCDIF. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 1704e116f9b39aeb99201919a18bc2b1e19a980e)
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 2c98227..9b9556e 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -25,6 +25,7 @@
#include <asm/arch/clock.h>
#include <asm/arch/imx-regs.h>
#include <asm/imx-common/sys_proto.h>
+#include <asm/arch/sys_proto.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -1113,6 +1114,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_MX28
/*
* The i.MX28 has two ethernet interfaces, but they are not equal.
@@ -1217,6 +1225,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;