Re: [PATCH net-next v7 1/3] net: dsa: microchip: implement KSZ87xx Module 3 low-loss cable errata

From: Fidelio LAWSON

Date: Mon Jun 01 2026 - 04:31:45 EST


On 5/28/26 09:19, Nicolai Buchwitz wrote:
Hi Fidelio

On 24.5.2026 12:44, Fidelio Lawson wrote:
Implement the "Module 3: Equalizer fix for short cables" erratum from
Microchip document DS80000687C for KSZ87xx switches.

The commit message says this implements Module 3 from DS80000687C, but
the errata's Work Around 1 writes 0x15 to indirect register 0x3C
("PHY equalizer register"), and the patch never touches 0x3C. Could you
please clarify which document the register addresses
(KSZ87XX_REG_DSP_EQ = 0x08, KSZ87XX_REG_PHY_LPF = 0x4C) come from?

I checked against the the following document:
https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ ProductDocuments/Errata/KSZ87xx-Errata-DS80000687C.pdf


Hi Nicolai,

Thanks for the review.
Regarding the register addresses the definitions used in the implementation are based on the following Microchip support article:

https://support.microchip.com/s/article/Solution-for-Using-CAT-5E-or-CAT-6-Short-Cable-with-a-Link-Issue-for-the-KSZ8795-Family

I'll add that clarification to the commit message.

This silently returns when enable = false and nothing is written to the registers.
Either I'm missing something or the short-cable preset cannot be cleared through this tunable?


You are correct that the current implementation does not restore any
configuration when 'enable' is set to false.

In the next revision, I will update this to apply the default
settings when disabling the preset, so that the tunable behaves as a
proper reversible configuration.

Thanks again for pointing these out.

Best regards,
Fidelio