On Tue, Sep 30, 2025 at 10:16:56AM +1000, Mathew McBride wrote:
> Hi Tom,
>
> On Tue, Sep 30, 2025, at 8:43 AM, Tom Rini wrote:
> > Hey all,
> >
> > As part of working on "allyesconfig" support I ran into the following
> > problem. Both drivers/net/phy/mscc.c and drivers/net/phy/vitesse.c
> > implement support for the VSC8584 PHY. The vitesse.c driver is much
> > older and only had VSC8584 support added for a specific Freescale
> > Layerscape platform whereas mscc.c is modern and been updated with
> > newer PHYs as well. And we need one driver to support this phy, not two.
> > I am inclined to remove support from vitesse.c. However, only 4
> > platforms use the PHY_MSCC driver and everyone else uses PHY_VITESSE.
> >
>
> At the moment mscc.c in U-Boot does not implement the particular PHY model
> (VSC8514) that we use. This Quad GbE PHY was on a number on Freescale/NXP
> QorIQ (PPC & Arm) dev boards. Until 2019 Freescale/NXP was selling a licensed
> version of this chip ("F104S8A").
>
> The Linux version of mscc.c does support these PHYs, so we can bring across
> from that driver.
> However, many PHYs in this family have complicated errata workarounds, and
> the VSC8514 is no exception.
>
> I have made some attempts to "port" the mscc.c support for VSC8514 (erratas
> included) before, but it's errata workaround method does not seem to work as
> reliably in U-Boot as it does under Linux.
>
> (I also have my own version of vitesse.c which implements the errata
> workaround for VSC8514, derived directly from Microchips own SDK sources.
> Unfortunately it's too messy to submit to U-Boot, but it has worked reliably
> for many years)
>
> > I'm cc'ing all of the board maintainers (other than PowerPC platforms)
> > that use PHY_VITESEE today to see what their feedback is on which way to
> > go here. I'm ignoring PowerPC because that can just stay on the
> > PHY_VITESSE driver based on timing of changes in git log.
> >
> I'm in favor (as far as board/traverse/ten64 goes) of migrating to mscc.c, it
> is just a matter of finding the time to sit down and implement support for
> the PHY I need (VSC8514).Thanks for the detailed explanation. One thing that could be good enough is just picking one driver to handle the PHY that both have (ideally PHY_MSCC) and then improving the situation on top of that as time and complexity permits. -- Tom
signature.asc
Description: PGP signature

