linux/drivers/net/dsa
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
..
b53 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-08-21 11:33:15 -07:00
hirschmann net: dsa: hellcreek: Constify struct devlink_region_ops and struct hellcreek_fdb_entry 2025-07-01 19:33:31 -07:00
lantiq net: dsa: lantiq_gswip: move MDIO bus registration to .setup() 2025-09-02 17:45:43 -07:00
microchip net: dsa: microchip: Fix KSZ9477 HSR port setup issue 2025-08-20 19:25:38 -07:00
mv88e6xxx net: dsa: mv88e6xxx: Fix fwnode reference leaks in mv88e6xxx_port_setup_leds 2025-09-02 17:04:03 -07:00
ocelot net: dsa: felix: support phy-mode = "10g-qxgmii" 2025-09-05 19:03:40 -07:00
qca net: Use dev_fwnode() 2025-06-12 18:46:37 -07:00
realtek net: dsa: realtek: remove unnecessary file, dentry, inode declarations 2025-08-14 17:39:44 -07:00
sja1105 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-05-15 11:28:30 -07:00
xrs700x net: dsa: use ethtool string helpers 2024-11-03 10:36:34 -08:00
bcm_sf2_cfp.c net: dsa: use ethtool string helpers 2024-11-03 10:36:34 -08:00
bcm_sf2_regs.h net: dsa: bcm_sf2: refactor LED regs access 2021-12-30 17:28:32 -08:00
bcm_sf2.c net: dsa: b53: implement setting ageing time 2025-05-12 18:51:09 -07:00
bcm_sf2.h net: dsa: use ethtool string helpers 2024-11-03 10:36:34 -08:00
dsa_loop_bdinfo.c net: fill in MODULE_DESCRIPTION()s for dsa_loop_bdinfo 2024-02-09 14:12:02 -08:00
dsa_loop.c net: dsa: dsa_loop: use int type to store negative error codes 2025-09-04 07:26:44 -07:00
dsa_loop.h
Kconfig net: dsa: lantiq_gswip: move to dedicated folder 2025-09-02 17:45:42 -07:00
ks8995.c net: dsa: ks8995: Add basic switch set-up 2025-08-18 17:26:09 -07:00
lan9303_i2c.c net: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-06-26 07:28:08 -07:00
lan9303_mdio.c dsa: lan9303: consistent naming for PHY address parameter 2024-07-15 08:49:59 -07:00
lan9303-core.c net: dsa: lan9303: ensure chip reset and wait for READY status 2024-10-07 16:38:02 -07:00
lan9303.h net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
Makefile net: dsa: lantiq_gswip: move to dedicated folder 2025-09-02 17:45:42 -07:00
mt7530-mdio.c net: dsa: mt7530: Constify struct regmap_config 2025-07-13 22:28:56 +01:00
mt7530-mmio.c net: dsa: mt7530: Constify struct regmap_config 2025-07-13 22:28:56 +01:00
mt7530.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
mt7530.h net: dsa: mt7530: Add AN7583 support 2025-05-27 17:07:52 -07:00
mv88e6060.c net: dsa: mv88e6060: add phylink_get_caps implementation 2023-08-14 18:57:17 -07:00
mv88e6060.h
rzn1_a5psw.c net: dsa: rzn1_a5psw: use devm to enable clocks 2025-07-10 15:41:02 +02:00
rzn1_a5psw.h net: dsa: rzn1-a5psw: add vlan support 2023-08-11 11:58:36 +01:00
vitesse-vsc73xx-core.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
vitesse-vsc73xx-platform.c net: dsa: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
vitesse-vsc73xx-spi.c net: dsa: vitesse-vsc73xx: remove unnecessary set_drvdata() 2022-09-22 19:30:39 -07:00
vitesse-vsc73xx.h net: dsa: vsc73xx: implement FDB operations 2024-09-03 10:22:58 +02:00