linux/drivers/net/dsa/ocelot
Vladimir Oltean 6f616757dd net: dsa: felix: support phy-mode = "10g-qxgmii"
The "usxgmii" phy-mode that the Felix switch ports support on LS1028A is
not quite USXGMII, it is defined by the USXGMII multiport specification
document as 10G-QXGMII. It uses the same signaling as USXGMII, but it
multiplexes 4 ports over the link, resulting in a maximum speed of 2.5G
per port.

This change is needed in preparation for the lynx-10g SerDes driver on
LS1028A, which will make a more clear distinction between usxgmii
(supported on lane 0) and 10g-qxgmii (supported on lane 1). These
protocols have their configuration in different PCCR registers (PCCRB vs
PCCR9).

Continue parsing and supporting single-port-per-lane USXGMII when found
in the device tree as usual (because it works), but add support for
10G-QXGMII too. Using phy-mode = "10g-qxgmii" will be required when
modifying the device trees to specify a "phys" phandle to the SerDes
lane. The result when the "phys" phandle is present but the phy-mode is
wrong is undefined.

The only PHY driver in known use with this phy-mode, AQR412C, will gain
logic to transition from "usxgmii" to "10g-qxgmii" in a future change.
Prepare the driver by also setting PHY_INTERFACE_MODE_10G_QXGMII in
supported_interfaces when PHY_INTERFACE_MODE_USXGMII is there, to
prevent breakage with existing device trees.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://patch.msgid.link/20250903130730.2836022-3-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-09-05 19:03:40 -07:00
..
felix.c net: dsa: felix: support phy-mode = "10g-qxgmii" 2025-09-05 19:03:40 -07:00
felix.h net: dsa: felix: support phy-mode = "10g-qxgmii" 2025-09-05 19:03:40 -07:00
felix_vsc9959.c net: dsa: felix: support phy-mode = "10g-qxgmii" 2025-09-05 19:03:40 -07:00
Kconfig
Makefile
ocelot_ext.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
seville_vsc9953.c net: dsa: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00