On Wed, May 22, 2019 at 09:58:32PM +0200, Heiner Kallweit wrote: > So far we didn't support mode USXGMII, and in order to not break the > two Freescale 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 change the phy connection type for the two > boards. > > As an additional note: Even though the handle is named aqr106 > there seem to be LS1046A boards with an AQR107. > > Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> > --- > arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts | 2 +- > arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts | 2 +- > drivers/net/phy/aquantia_main.c | 6 +++++- > 3 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts > index 4223a2352..c2ce1a611 100644 > --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts > @@ -139,7 +139,7 @@ > > ethernet@f0000 { /* 10GEC1 */ > phy-handle = <&aqr105_phy>; > - phy-connection-type = "xgmii"; > + phy-connection-type = "usxgmii"; > }; > > mdio@fc000 { > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts > index 6a6514d0e..f927a8a25 100644 > --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts > @@ -147,7 +147,7 @@ > > ethernet@f0000 { /* 10GEC1 */ > phy-handle = <&aqr106_phy>; > - phy-connection-type = "xgmii"; > + phy-connection-type = "usxgmii"; > }; > > ethernet@f2000 { /* 10GEC2 */ > diff --git a/drivers/net/phy/aquantia_main.c b/drivers/net/phy/aquantia_main.c > index 0fedd28fd..3f24c42a8 100644 > @@ -487,7 +491,7 @@ static int aqr107_config_init(struct phy_device *phydev) > /* Check that the PHY interface type is compatible */ > if (phydev->interface != PHY_INTERFACE_MODE_SGMII && > phydev->interface != PHY_INTERFACE_MODE_2500BASEX && > - phydev->interface != PHY_INTERFACE_MODE_XGMII && > + phydev->interface != PHY_INTERFACE_MODE_USXGMII && > phydev->interface != PHY_INTERFACE_MODE_10GKR) > return -ENODEV; Hi Heiner Just to reiterate Florian's point. We need to be careful with device tree blobs. We should try not to break them, at least not for a few cycles. I would much prefer to see a WARN_ON(phydev->interface == PHY_INTERFACE_MODE_XGMII, "Your devicetree is out of date, please update it"); and accept XGMII for this cycle. These are development boards, so in theory users are developers, so should know how to update the DT. Andrew