linux/include/soc/fsl
Vladimir Oltean 6dc92ba487 phy: lynx-10g: new driver
Introduce a driver for the networking lanes of the 10G Lynx SerDes
block, present on the majority of Layerscape and QorIQ (Freescale/NXP)
SoCs.

As with the 28G Lynx, the SerDes lanes come pre-initialized out of
reset and the consumers use them that way outside the Generic PHY
framework (for networking, the static configuration remains for the
entire SoC lifetime, whereas for SATA and PCIe, the hardware
reconfigures itself automatically for other link speeds).

The need for the Generic PHY framework comes specifically for networking
use cases where a static lane configuration is not sufficient. For
example a network MAC is connected to an SFP cage, where various SFP or
SFP+ modules can be connected. Each of them may require a different
SerDes protocol (SGMII, 1000Base-X, 10GBase-R), which phylink + sfp-bus
are responsible of figuring out. The phylink drivers are:
- enetc
- felix
- dpaa_eth (fman_memac)
- dpaa2-eth
- dpaa2-switch

and they all need to reconfigure the SerDes for the requested link mode,
using phy_set_mode_ext() (and phy_validate() to see if it is supported
in the first place).

Note that SerDes 2 on LS1088A is exclusively non-networking, so there is
currently no need for this driver. Therefore we skip matching on its
compatible string and do not probe on that device.

Co-developed-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://patch.msgid.link/20260610151952.2141019-16-vladimir.oltean@nxp.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2026-06-11 12:39:47 +05:30
..
qe soc: fsl: qe: Add missing PUSHSCHED command 2024-09-03 07:49:20 +02:00
bman.h soc: fsl: qbman_portals: add APIs to retrieve the probing status 2019-05-20 14:28:16 -05:00
caam-blob.h KEYS: trusted: caam based protected key 2025-10-20 12:10:28 +08:00
cpm.h soc: fsl: move cpm.h from powerpc/include/asm to include/soc/fsl 2019-12-09 13:54:34 -06:00
dcp.h crypto: mxs-dcp: Add support for hardware-bound keys 2024-05-09 18:29:03 +03:00
dpaa2-fd.h soc: fsl: Replace kernel.h with the necessary inclusions 2022-02-18 17:11:17 -06:00
dpaa2-global.h soc: fsl: dpio: add congestion notification support 2018-09-21 13:24:50 +08:00
dpaa2-io.h soc: fsl: dpio: add Net DIM integration 2021-10-15 14:32:41 +01:00
phy-fsl-lynx.h phy: lynx-10g: new driver 2026-06-11 12:39:47 +05:30
qman.h soc: fsl_qbman: use be16_to_cpu() in qm_sg_entry_get_off() 2024-11-04 18:44:43 -08:00