Skip to content

Commit

Permalink
net: phy: Add Synopsys DesignWare XPCS MDIO module
Browse files Browse the repository at this point in the history
Synopsys DesignWare XPCS is an MMD that can manage link status,
auto-negotiation, link training, ...

In this commit we add basic support for XPCS using USXGMII interface and
Clause 73 Auto-negotiation.

This is highly tied with PHYLINK and can't be used without it. A given
ethernet driver can use the provided callbacks to add the support for
XPCS.

Signed-off-by: Jose Abreu <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
joabreu authored and davem330 committed Mar 10, 2020
1 parent 9414819 commit fcb26bd
Show file tree
Hide file tree
Showing 5 changed files with 667 additions and 0 deletions.
7 changes: 7 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -16117,6 +16117,13 @@ L: [email protected]
S: Supported
F: drivers/net/ethernet/synopsys/

SYNOPSYS DESIGNWARE ETHERNET XPCS DRIVER
M: Jose Abreu <[email protected]>
L: [email protected]
S: Supported
F: drivers/net/phy/mdio-xpcs.c
F: include/linux/mdio-xpcs.h

SYNOPSYS DESIGNWARE I2C DRIVER
M: Jarkko Nikula <[email protected]>
R: Andy Shevchenko <[email protected]>
Expand Down
6 changes: 6 additions & 0 deletions drivers/net/phy/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,12 @@ config MDIO_XGENE
This module provides a driver for the MDIO busses found in the
APM X-Gene SoC's.

config MDIO_XPCS
tristate "Synopsys DesignWare XPCS controller"
help
This module provides helper functions for Synopsys DesignWare XPCS
controllers.

endif
endif

Expand Down
1 change: 1 addition & 0 deletions drivers/net/phy/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ obj-$(CONFIG_MDIO_OCTEON) += mdio-octeon.o
obj-$(CONFIG_MDIO_SUN4I) += mdio-sun4i.o
obj-$(CONFIG_MDIO_THUNDER) += mdio-thunder.o
obj-$(CONFIG_MDIO_XGENE) += mdio-xgene.o
obj-$(CONFIG_MDIO_XPCS) += mdio-xpcs.o

obj-$(CONFIG_NETWORK_PHY_TIMESTAMPING) += mii_timestamper.o

Expand Down
Loading

0 comments on commit fcb26bd

Please sign in to comment.