net: phy: marvell10g: allow 5gbase-r and usxgmii
These modes are also supported by these PHYs. Signed-off-by: Marek Behún <kabel@kernel.org> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
283828142f
commit
0d3755428d
|
@ -462,9 +462,11 @@ static int mv3310_config_init(struct phy_device *phydev)
|
||||||
/* Check that the PHY interface type is compatible */
|
/* Check that the PHY interface type is compatible */
|
||||||
if (phydev->interface != PHY_INTERFACE_MODE_SGMII &&
|
if (phydev->interface != PHY_INTERFACE_MODE_SGMII &&
|
||||||
phydev->interface != PHY_INTERFACE_MODE_2500BASEX &&
|
phydev->interface != PHY_INTERFACE_MODE_2500BASEX &&
|
||||||
|
phydev->interface != PHY_INTERFACE_MODE_5GBASER &&
|
||||||
phydev->interface != PHY_INTERFACE_MODE_XAUI &&
|
phydev->interface != PHY_INTERFACE_MODE_XAUI &&
|
||||||
phydev->interface != PHY_INTERFACE_MODE_RXAUI &&
|
phydev->interface != PHY_INTERFACE_MODE_RXAUI &&
|
||||||
phydev->interface != PHY_INTERFACE_MODE_10GBASER)
|
phydev->interface != PHY_INTERFACE_MODE_10GBASER &&
|
||||||
|
phydev->interface != PHY_INTERFACE_MODE_USXGMII)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
phydev->mdix_ctrl = ETH_TP_MDI_AUTO;
|
phydev->mdix_ctrl = ETH_TP_MDI_AUTO;
|
||||||
|
@ -599,6 +601,7 @@ static void mv3310_update_interface(struct phy_device *phydev)
|
||||||
|
|
||||||
if ((phydev->interface == PHY_INTERFACE_MODE_SGMII ||
|
if ((phydev->interface == PHY_INTERFACE_MODE_SGMII ||
|
||||||
phydev->interface == PHY_INTERFACE_MODE_2500BASEX ||
|
phydev->interface == PHY_INTERFACE_MODE_2500BASEX ||
|
||||||
|
phydev->interface == PHY_INTERFACE_MODE_5GBASER ||
|
||||||
phydev->interface == PHY_INTERFACE_MODE_10GBASER) &&
|
phydev->interface == PHY_INTERFACE_MODE_10GBASER) &&
|
||||||
phydev->link) {
|
phydev->link) {
|
||||||
/* The PHY automatically switches its serdes interface (and
|
/* The PHY automatically switches its serdes interface (and
|
||||||
|
@ -611,6 +614,9 @@ static void mv3310_update_interface(struct phy_device *phydev)
|
||||||
case SPEED_10000:
|
case SPEED_10000:
|
||||||
phydev->interface = PHY_INTERFACE_MODE_10GBASER;
|
phydev->interface = PHY_INTERFACE_MODE_10GBASER;
|
||||||
break;
|
break;
|
||||||
|
case SPEED_5000:
|
||||||
|
phydev->interface = PHY_INTERFACE_MODE_5GBASER;
|
||||||
|
break;
|
||||||
case SPEED_2500:
|
case SPEED_2500:
|
||||||
phydev->interface = PHY_INTERFACE_MODE_2500BASEX;
|
phydev->interface = PHY_INTERFACE_MODE_2500BASEX;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue