U-Boot PHY_MSCC vs PHY_VITESSE

Tom Rini trini at konsulko.com
Tue Sep 30 17:59:58 CEST 2025


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20250930/72f0ff4f/attachment.sig>


More information about the U-Boot mailing list