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

Attachment: signature.asc
Description: PGP signature

Reply via email to