Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: phy: aquantia: add USXGMII support and warn if XGMII mode is set

So far we didn't support mode USXGMII, and in order to not break few
boards mode XGMII was accepted for the AQR107 family even though it
doesn't support XGMII. Add USXGMII support to the Aquantia PHY driver
and warn if XGMII mode is set.

v2:
- add warning if XGMII mode is set

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Heiner Kallweit and committed by
David S. Miller
ce64c1f7 79b647a0

+8
+8
drivers/net/phy/aquantia_main.c
··· 27 27 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) 28 28 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_KR 0 29 29 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_XFI 2 30 + #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_USXGMII 3 30 31 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_SGMII 6 31 32 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_OCSGMII 10 32 33 ··· 361 360 case MDIO_PHYXS_VEND_IF_STATUS_TYPE_XFI: 362 361 phydev->interface = PHY_INTERFACE_MODE_10GKR; 363 362 break; 363 + case MDIO_PHYXS_VEND_IF_STATUS_TYPE_USXGMII: 364 + phydev->interface = PHY_INTERFACE_MODE_USXGMII; 365 + break; 364 366 case MDIO_PHYXS_VEND_IF_STATUS_TYPE_SGMII: 365 367 phydev->interface = PHY_INTERFACE_MODE_SGMII; 366 368 break; ··· 492 488 if (phydev->interface != PHY_INTERFACE_MODE_SGMII && 493 489 phydev->interface != PHY_INTERFACE_MODE_2500BASEX && 494 490 phydev->interface != PHY_INTERFACE_MODE_XGMII && 491 + phydev->interface != PHY_INTERFACE_MODE_USXGMII && 495 492 phydev->interface != PHY_INTERFACE_MODE_10GKR) 496 493 return -ENODEV; 494 + 495 + WARN(phydev->interface == PHY_INTERFACE_MODE_XGMII, 496 + "Your devicetree is out of date, please update it. The AQR107 family doesn't support XGMII, maybe you mean USXGMII.\n"); 497 497 498 498 ret = aqr107_wait_reset_complete(phydev); 499 499 if (!ret)