summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@armlinux.org.uk>2020-03-10 13:36:48 +0000
committerRussell King <rmk+kernel@armlinux.org.uk>2020-10-12 22:41:26 +0100
commit45e523e95f82bb6260ee1aefeae32925d9cb93e7 (patch)
tree31b2f84abfd10116e6d2f493050d7b84fd493bad
parent28219b6cfc8746147ff80267e2d6139ed7879f35 (diff)
dpaa2-mac: add 2500BASE-X PCS support [*not for mainline*]
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
-rw-r--r--drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c
index 9ca7b51d61f6..622e145d40c6 100644
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c
@@ -41,6 +41,7 @@ static void lynx_pcs_get_state(struct phylink_pcs *pcs,
switch (state->interface) {
case PHY_INTERFACE_MODE_SGMII:
case PHY_INTERFACE_MODE_1000BASEX:
+ case PHY_INTERFACE_MODE_2500BASEX:
phylink_mii_c22_pcs_get_state(lynx->mdio, state);
break;
@@ -89,6 +90,7 @@ static int lynx_pcs_config(struct phylink_pcs *pcs,
break;
case PHY_INTERFACE_MODE_1000BASEX:
+ case PHY_INTERFACE_MODE_2500BASEX:
link_timer = DPAA2_MAC_PCS_CLK_MHZ * LINK_TIMER_US_IEEE8023;
mdiobus_write(lynx->mdio->bus, lynx->mdio->addr,
MII_LINK_TIMER_1, link_timer & 0xffff);
@@ -264,6 +266,12 @@ static void dpaa2_mac_validate(struct phylink_config *config,
if (state->interface != PHY_INTERFACE_MODE_NA)
break;
/* fallthrough */
+ case PHY_INTERFACE_MODE_2500BASEX:
+ phylink_set(mask, 2500baseX_Full);
+ phylink_set(mask, 2500baseT_Full);
+ if (state->interface != PHY_INTERFACE_MODE_NA)
+ break;
+ /* fallthrough */
case PHY_INTERFACE_MODE_1000BASEX:
case PHY_INTERFACE_MODE_SGMII:
case PHY_INTERFACE_MODE_RGMII: