On Fri, Aug 2, 2019 at 12:54 PM <nhed+ub...@starry.com> wrote: > > From: Grzegorz Jaszczyk <j...@semihalf.com> > > If the phy doesn't match with any existing u-boot drivers the phy > framework will connect it to generic one which uid == 0xffffffff. In > this case act as if the phy wouldn't be declared in dts. Otherwise in > case of 3310 (for which the driver doesn't exist) the link will be > marked as always down. Removing phy entry from dts in case of 3310 is > not good option because it is required for the phy_fw_down procedure. > > This patch fixes the issue with the link always down on MCBIN board. > > Signed-off-by: Grzegorz Jaszczyk <j...@semihalf.com> > Reviewed-by: Igal Liberman <ig...@marvell.com> > Tested-by: Igal Liberman <ig...@marvell.com> > Signed-off-by: Nevo Hed <nhed+git...@starry.com> > --- > > drivers/net/mvpp2.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/drivers/net/mvpp2.c b/drivers/net/mvpp2.c > index b6dfed5c54..fae7090121 100644 > --- a/drivers/net/mvpp2.c > +++ b/drivers/net/mvpp2.c > @@ -4484,6 +4484,27 @@ static void mvpp2_phy_connect(struct udevice *dev, > struct mvpp2_port *port) > if (!port->init || port->link == 0) { > phy_dev = phy_connect(port->bus, port->phyaddr, dev, > port->phy_interface); > + > + /* If the phy doesn't match with any existing u-boot drivers > the
Please use the project multi-line comment format. First line should be just: /* > + * phy framework will connect it to generic one which > + * uid == 0xffffffff. In this case act as if the phy wouldn't > be > + * declared in dts. Otherwise in case of 3310 (for which the > + * driver doesn't exist) the link will not be correctly > + * detected. Removing phy entry from dts in case of 3310 is > not > + * an option because it is required for the phy_fw_down > + * procedure. > + */ > + if (phy_dev->drv->uid == 0xffffffff) {/* Generic phy */ > + netdev_warn(port->dev, > + "Marking phy as invalid, link will not be > checked\n"); > + /* set phy_addr to invalid value */ > + port->phyaddr = PHY_MAX_ADDR; > + mvpp2_egress_enable(port); > + mvpp2_ingress_enable(port); > + > + return; > + } > + > port->phy_dev = phy_dev; > if (!phy_dev) { > netdev_err(port->dev, "cannot connect to phy\n"); > -- > 2.21.0 > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot