[PATCH net-next v3 0/3] mv88e6xxx: SERDES on mv88e6321

From: Fidan Aliyeva

Date: Thu May 28 2026 - 17:05:26 EST


This patch series add code support to be able to use SERDES feature of
mv88e6321 version of Marvel mv88e6xxx series. mv88e6321 has 2 ports to
support high speed SERDES but the support is lacking in the driver.

mv88e6321 version has a similar architecture to mv88e6352 version making it
possible to reuse its pcs functions. That's why the patch series consist of
2 parts:

1. Refactor the serdes functions and pcs_init of mv88e6352 to be more
generic (patches 1-2).
2. Add the SERDES support for mv88e6321 reusing 6352's pcs functions

The final code has been tested on mv88e6321 ethernet device directly by ip
ping tests, performance tests and also verifying the switch's expected
register values.

Referred document: 88E6321/88E6320 Functional Specification

---
Changes in v3:
- After 'Cache scratch config3 of 6352' series, make all the serdes
related functions of 6352 in serdes.c generic and make 6321 reuse them.

v2 link:
https://lore.kernel.org/netdev/20260507200109.3726627-1-fidan.aliyeva.ext@xxxxxxxxxxxx/

Above mentioned series:
https://lore.kernel.org/netdev/20260521202924.727929-1-fidan.aliyeva.ext@xxxxxxxxxxxx/

Changes in v2:
- Removed 6321-specific pcs_init and made 6352's pcs_init more generic
as suggested by Andrew Lunn
- Added the correct mailing list

---
Fidan Aliyeva (3):
mv88e6xxx: Add mv88e6352_serdes_get_lane
mv88e6xxx: Refactor 6352's serdes functions
mv88e6xxx: Add SERDES Support for mv88e6321

drivers/net/dsa/mv88e6xxx/chip.c | 8 +++
drivers/net/dsa/mv88e6xxx/pcs-6352.c | 10 ++--
drivers/net/dsa/mv88e6xxx/serdes.c | 82 +++++++++++++++++++---------
drivers/net/dsa/mv88e6xxx/serdes.h | 4 ++
4 files changed, 74 insertions(+), 30 deletions(-)

--
2.36.0