summaryrefslogtreecommitdiff
path: root/drivers
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-05-23 13:11:45 +0100
commit49e8afcfa294c938e1b87365f02fde865c2b1350 (patch)
treea0030510eb35a19f8042a325d09787ac6699877a /drivers
parent7398287812d275f6def5a417a9e73fb0ede8e0cf (diff)
dpaa2-mac: add 2500BASE-X PCS support [*not for mainline*]
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'drivers')
-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 8cf83168e2a0..a757452cef47 100644
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c
@@ -31,6 +31,7 @@ static void dpaa2_mac_pcs_get_state(struct phylink_config *config,
switch (state->interface) {
case PHY_INTERFACE_MODE_SGMII:
case PHY_INTERFACE_MODE_1000BASEX:
+ case PHY_INTERFACE_MODE_2500BASEX:
phylink_mii_c22_pcs_get_state(mac->pcs_sgmii, state);
break;
@@ -78,6 +79,7 @@ static int dpaa2_mac_pcs_config(struct phylink_config *config,
break;
case PHY_INTERFACE_MODE_1000BASEX:
+ case PHY_INTERFACE_MODE_2500BASEX:
link_timer = DPAA2_MAC_PCS_CLK_MHZ * LINK_TIMER_US_IEEE8023;
mdiobus_write(mac->pcs_sgmii->bus, mac->pcs_sgmii->addr,
MII_LINK_TIMER_1, link_timer & 0xffff);
@@ -253,6 +255,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: