Hi Peng, > Add fuse check for fec. If the fuse indicates the module > will not work in the SoC, let's fail the initialization. > > Signed-off-by: Peng Fan <peng....@nxp.com> > Acked-by: Joe Hershberger <joe.hershber...@ni.com> > --- > > V2: > Fix build for aarch64 > Add ACK tag > > drivers/net/fec_mxc.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c > index 96e3ad9a1a..afc82dd08a 100644 > --- a/drivers/net/fec_mxc.c > +++ b/drivers/net/fec_mxc.c > @@ -1185,6 +1185,13 @@ int fecmxc_initialize_multi(bd_t *bd, int dev_id, int > phy_id, uint32_t addr) > #endif > int ret; > > + if (IS_ENABLED(CONFIG_IMX_MODULE_FUSE)) { > + if (enet_fused((ulong)addr)) { > + printf("SoC fuse indicates Ethernet@0x%x is > unavailable.\n", addr); > + return -ENODEV; > + } > + } > + > #ifdef CONFIG_FEC_MXC_MDIO_BASE > /* > * The i.MX28 has two ethernet interfaces, but they are not equal. > @@ -1323,6 +1330,13 @@ static int fecmxc_probe(struct udevice *dev) > uint32_t start; > int ret; > > + if (IS_ENABLED(CONFIG_IMX_MODULE_FUSE)) { > + if (enet_fused((ulong)priv->eth)) { > + printf("SoC fuse indicates Ethernet@0x%lx is > unavailable.\n", (ulong)priv->eth); > + return -ENODEV; > + } > + } > + > if (IS_ENABLED(CONFIG_IMX8)) { > ret = clk_get_by_name(dev, "ipg", &priv->ipg_clk); > if (ret < 0) { > Reviewed-by: Ye Li <ye...@nxp.com>
Best regards, Ye Li _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot