Hello,
This patch series adds support for the "Module 3: Equalizer fix for short
cables" erratum documented in Microchip KSZ87xx Errata DS80000687C.
According to the erratum, the embedded PHY receiver in KSZ87xx switches is
tuned by default for long, high-loss Ethernet cables. When operating with
short or low-loss cables (for example CAT5e or CAT6), the PHY equalizer may
over-amplify the incoming signal, leading to internal distortion and link
establishment failures.
Microchip provides two workarounds, each requiring a write to a different
indirect PHY register access mechanism.
This series introduces:
- Device Tree bindings to enable the errata fix and select workaround 1 or 2,
- driver-level parsing of these bindings,
- implementation of the indirect register programming sequence required
for Workaround 1 and Workaround 2.
If the errata is enabled but no mode is explicitly selected, the driver
defaults to Workaround 1, following Microchip guidance.
The feature is opt-in and does not affect existing platforms that do not
enable the errata.
Tested on KSZ8795 with both Workaround 1 and Workaround 2.
Signed-off-by: Fidelio Lawson <fidelio.lawson@exotec.com>
---
Fidelio Lawson (3):
dt-bindings: dsa: microchip: add KSZ low-loss cable errata properties
net: dsa: microchip: parse KSZ87xx low-loss errata from DT
net: dsa: microchip: implement KSZ87xx Module 3 low-loss cable errata
.../devicetree/bindings/net/dsa/microchip,ksz.yaml | 18 ++++++
drivers/net/dsa/microchip/ksz8.c | 71 ++++++++++++++++++++++
drivers/net/dsa/microchip/ksz8.h | 1 +
drivers/net/dsa/microchip/ksz_common.h | 9 +++
4 files changed, 99 insertions(+)
---
base-commit: 2d1373e4246da3b58e1df058374ed6b101804e07
change-id: 20260323-ksz87xx_errata_low_loss_connections-b65e76e2b403
Best regards,
--
Fidelio Lawson <fidelio.lawson@exotec.com>