Linux-PHY Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 phy-next 00/15] New Generic PHY driver for Lynx 10G SerDes
@ 2026-05-29 17:14 Vladimir Oltean
  2026-05-29 17:14 ` [PATCH v2 phy-next 01/15] phy: lynx-28g: reject probing on devices with unsupported OF nodes Vladimir Oltean
                   ` (14 more replies)
  0 siblings, 15 replies; 19+ messages in thread
From: Vladimir Oltean @ 2026-05-29 17:14 UTC (permalink / raw)
  To: linux-phy
  Cc: Ioana Ciornei, Vinod Koul, Neil Armstrong, Tanjeff Moos,
	linux-kernel

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.

Changes since v1:
- 2 new patches (01/15 and 12/15) made in response to Sashiko
- minor drive-by refactoring in patch 04/15
- fix typo in commit message of 08/15 (Sashiko)
- minor cleanups in lynx-10g driver (14/15)

v1 at:
https://lore.kernel.org/linux-phy/20260528172404.733196-1-vladimir.oltean@nxp.com/

Vladimir Oltean (15):
  phy: lynx-28g: reject probing on devices with unsupported OF nodes
  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-28g: improve phy_validate() procedure
  dt-bindings: phy: lynx-10g: initial document
  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      | 1280 +++++++++++++++++
 drivers/phy/freescale/phy-fsl-lynx-28g.c      |  622 ++------
 drivers/phy/freescale/phy-fsl-lynx-core.c     |  445 ++++++
 drivers/phy/freescale/phy-fsl-lynx-core.h     |  134 ++
 include/soc/fsl/phy-fsl-lynx.h                |   43 +
 9 files changed, 2195 insertions(+), 487 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


-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2026-05-29 18:21 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-29 17:14 [PATCH v2 phy-next 00/15] New Generic PHY driver for Lynx 10G SerDes Vladimir Oltean
2026-05-29 17:14 ` [PATCH v2 phy-next 01/15] phy: lynx-28g: reject probing on devices with unsupported OF nodes Vladimir Oltean
2026-05-29 17:35   ` sashiko-bot
2026-05-29 17:14 ` [PATCH v2 phy-next 02/15] phy: lynx-28g: move lane mode helpers to new core module Vladimir Oltean
2026-05-29 17:27   ` sashiko-bot
2026-05-29 17:14 ` [PATCH v2 phy-next 03/15] phy: lynx-28g: move data structures to core Vladimir Oltean
2026-05-29 17:14 ` [PATCH v2 phy-next 04/15] phy: lynx-28g: common lynx_pll_get() Vladimir Oltean
2026-05-29 17:14 ` [PATCH v2 phy-next 05/15] phy: lynx-28g: generalize protocol converter accessors Vladimir Oltean
2026-05-29 17:15 ` [PATCH v2 phy-next 06/15] phy: lynx-28g: provide default lynx_lane_supports_mode() implementation Vladimir Oltean
2026-05-29 17:15 ` [PATCH v2 phy-next 07/15] phy: lynx-28g: move struct lynx_info definitions downwards Vladimir Oltean
2026-05-29 17:15 ` [PATCH v2 phy-next 08/15] phy: lynx-28g: make lynx_28g_pll_read_configuration() callable per PLL Vladimir Oltean
2026-05-29 17:15 ` [PATCH v2 phy-next 09/15] phy: lynx-28g: common probe() and remove() Vladimir Oltean
2026-05-29 17:15 ` [PATCH v2 phy-next 10/15] phy: lynx-28g: add support for big endian register maps Vladimir Oltean
2026-05-29 17:15 ` [PATCH v2 phy-next 11/15] phy: lynx-28g: optimize read-modify-write operation Vladimir Oltean
2026-05-29 17:15 ` [PATCH v2 phy-next 12/15] phy: lynx-28g: improve phy_validate() procedure Vladimir Oltean
2026-05-29 17:15 ` [PATCH v2 phy-next 13/15] dt-bindings: phy: lynx-10g: initial document Vladimir Oltean
2026-05-29 17:15 ` [PATCH v2 phy-next 14/15] phy: lynx-10g: new driver Vladimir Oltean
2026-05-29 18:21   ` sashiko-bot
2026-05-29 17:15 ` [PATCH v2 phy-next 15/15] MAINTAINERS: expand Lynx 28G entry to cover Lynx 10G SerDes Vladimir Oltean

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox