diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2020-03-10 13:36:48 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2020-10-12 22:41:26 +0100 |
commit | 45e523e95f82bb6260ee1aefeae32925d9cb93e7 (patch) | |
tree | 31b2f84abfd10116e6d2f493050d7b84fd493bad | |
parent | 28219b6cfc8746147ff80267e2d6139ed7879f35 (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.c | 8 |
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: |