Re: [PATCH 2/2] net: dsa: microchip: Provide Module 4 KSZ9477 errata (DS80000754C)

From: Vladimir Oltean
Date: Sat Aug 26 2023 - 06:50:24 EST


On Fri, Aug 25, 2023 at 06:48:41PM +0000, Tristram.Ha@xxxxxxxxxxxxx wrote:
> > > IMHO adding functions to MMD modification would facilitate further
> > > development (for example LED setup).
> >
> > We already have some KSZ9477 specific initialization done in the Micrel
> > PHY driver under drivers/net/phy/micrel.c, can we converge on the PHY
> > driver which has a reasonable amount of infrastructure for dealing with
> > workarounds, indirect or direct MMD accesses etc.?
>
> Actually the internal PHY used in the KSZ9897/KSZ9477/KSZ9893 switches
> are special and only used inside those switches. Putting all the switch
> related code in Micrel PHY driver does not really help. When the switch
> is reset all those PHY registers need to be set again, but the PHY driver
> only executes those code during PHY initialization. I do not know if
> there is a good way to tell the PHY to re-initialize again.

Suppose there was a method to tell the PHY driver to re-initialize itself.
What would be the key points in which the DSA switch driver would need
to trigger that method? Where is the switch reset at runtime?