[RFC net-next PATCH 00/16] Add support for Xilinx PCS

From: Sean Anderson
Date: Mon Oct 04 2021 - 15:15:52 EST


This series adds experimental support for Xilinx PCS devices. It is
experimental because while I believe I have the Linux side mostly
sorted, I have yet to achieve any data transfer. Adding support for this
device has required some plumbing work related to PCSs in general, and I
would appreciate feedback in that area. In general, I have not tested
these changes outside of my particular setup, though I do have the
ability to test the macb changes using the internal PCS in the future.


Sean Anderson (16):
dt-bindings: net: Add pcs property
dt-bindings: net: Add binding for Xilinx PCS
net: sfp: Fix typo in state machine debug string
net: phylink: Move phylink_set_pcs before phylink_create
net: phylink: Automatically attach PCS devices
net: phylink: Add function for optionally adding a PCS
net: phylink: Add helpers for c22 registers without MDIO
net: macb: Clean up macb_validate
net: macb: Move most of mac_prepare to mac_config
net: macb: Move PCS settings to PCS callbacks
net: macb: Support restarting PCS autonegotiation
net: macb: Support external PCSs
net: phy: Export get_phy_c22_id
net: mdio: Add helper functions for accessing MDIO devices
net: pcs: Add Xilinx PCS driver
net: sfp: Add quirk to ignore PHYs

.../bindings/net/ethernet-controller.yaml | 5 +
.../devicetree/bindings/net/xilinx,pcs.yaml | 83 ++++
MAINTAINERS | 6 +
drivers/net/ethernet/cadence/macb_main.c | 375 +++++++++++-------
drivers/net/pcs/Kconfig | 19 +
drivers/net/pcs/Makefile | 1 +
drivers/net/pcs/pcs-xilinx.c | 326 +++++++++++++++
drivers/net/phy/phy_device.c | 3 +-
drivers/net/phy/phylink.c | 335 ++++++++++++----
drivers/net/phy/sfp-bus.c | 12 +-
drivers/net/phy/sfp.c | 5 +-
include/linux/mdio.h | 17 +
include/linux/phy.h | 1 +
include/linux/phylink.h | 17 +-
14 files changed, 963 insertions(+), 242 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/xilinx,pcs.yaml
create mode 100644 drivers/net/pcs/pcs-xilinx.c

--
2.25.1