Re: [PATCH 2/2] net: dsa: microchip: Provide Module 4 KSZ9477 errata (DS80000754C)
From: Lukasz Majewski <lukma@denx.de>
Date: 2023-08-29 08:36:28
Also in:
lkml
Hi Vladimir,
On Fri, Aug 25, 2023 at 06:48:41PM +0000, Tristram.Ha@microchip.com wrote:quoted
quoted
quoted
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?
Tristam has explained why adding the internal switch PHY errata to generic PHY code is not optimal. If adding MMD generic code is a problem - then I'm fine with just clearing proper bits with just two indirect writes in the drivers/net/dsa/microchip/ksz9477.c I would also prefer to keep the separate ksz9477_errata() function, so we could add other errata code there. Just informative - without this patch the KSZ9477-EVB board's network is useless when the other peer has EEE enabled by default (like almost all non managed ETH switches). Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Erika Unter HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
Attachments
- (unnamed) [application/pgp-signature] 488 bytes