[PATCH phy-next 00/13] New Generic PHY driver for Lynx 10G SerDes

From: Vladimir Oltean

Date: Thu May 28 2026 - 13:28:29 EST


The 10G Lynx SerDes is present on NXP LS1028A, LS1046A, LS1088A,
LS2088A and other SoCs (unsupported here). It is an older generation of
the 28G Lynx present in LX2160A and LX2162A.

Modify the Generic PHY driver for lynx-28g to create a common portion
(lynx-common) and add a new driver for lynx-10g and DT bindings.

Main use case is networking - dynamic SerDes protocol changing - but
initial support is limited to minor changes (1GbE <-> 2.5GbE) due to
lack of support for the RCW override procedure necessary for major
protocol changes (1GbE <-> 10GbE). This is the next step once the base
driver is available.

Vladimir Oltean (13):
dt-bindings: phy: lynx-10g: initial document
phy: lynx-28g: move lane mode helpers to new core module
phy: lynx-28g: move data structures to core
phy: lynx-28g: common lynx_pll_get()
phy: lynx-28g: generalize protocol converter accessors
phy: lynx-28g: provide default lynx_lane_supports_mode()
implementation
phy: lynx-28g: move struct lynx_info definitions downwards
phy: lynx-28g: make lynx_28g_pll_read_configuration() callable per PLL
phy: lynx-28g: common probe() and remove()
phy: lynx-28g: add support for big endian register maps
phy: lynx-28g: optimize read-modify-write operation
phy: lynx-10g: new driver
MAINTAINERS: expand Lynx 28G entry to cover Lynx 10G SerDes

.../devicetree/bindings/phy/fsl,lynx-10g.yaml | 131 ++
MAINTAINERS | 8 +-
drivers/phy/freescale/Kconfig | 17 +
drivers/phy/freescale/Makefile | 2 +
drivers/phy/freescale/phy-fsl-lynx-10g.c | 1319 +++++++++++++++++
drivers/phy/freescale/phy-fsl-lynx-28g.c | 580 ++------
drivers/phy/freescale/phy-fsl-lynx-core.c | 386 +++++
drivers/phy/freescale/phy-fsl-lynx-core.h | 132 ++
include/soc/fsl/phy-fsl-lynx.h | 43 +
9 files changed, 2160 insertions(+), 458 deletions(-)
create mode 100644 Documentation/devicetree/bindings/phy/fsl,lynx-10g.yaml
create mode 100644 drivers/phy/freescale/phy-fsl-lynx-10g.c
create mode 100644 drivers/phy/freescale/phy-fsl-lynx-core.c
create mode 100644 drivers/phy/freescale/phy-fsl-lynx-core.h
create mode 100644 include/soc/fsl/phy-fsl-lynx.h

--
2.34.1