[PATCH 1/2] drivers: net: phy: aquantia: drop XGMII as a valid system interface proto

Priyanka Jain priyanka.jain at nxp.com
Thu Dec 5 05:48:10 CET 2019



>-----Original Message-----
>From: U-Boot <u-boot-bounces at lists.denx.de> On Behalf Of Alex Marginean
>Sent: Wednesday, December 4, 2019 7:02 PM
>To: u-boot at lists.denx.de
>Cc: Joe Hershberger <joe.hershberger at ni.com>
>Subject: [PATCH 1/2] drivers: net: phy: aquantia: drop XGMII as a valid system
>interface proto
>
>Use either USXGMII or XFI in aquantia_set_proto and drop XGMII as a valid
>protocol configuration.  The PHY doesn't support it, it's just used as an alias
>for one of the other two protocols.
>
>Signed-off-by: Florin Chiculita <florinlaurentiu.chiculita at nxp.com>
>Signed-off-by: Alex Marginean <alexandru.marginean at nxp.com>
>---
>
>Depends on:
>https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatchw
>ork.ozlabs.org%2Fproject%2Fuboot%2Flist%2F%3Fseries%3D142879&data
>=02%7C01%7Cpriyanka.jain%40nxp.com%7Ca188babb8ac44ea01a0f08d778c32
>b7a%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637110651953798
>880&sdata=09%2Fd1o844AoHOs4YdedTEK5FznY3FBHqlzBcC82EVZs%3D&
>amp;reserved=0
>
> drivers/net/phy/aquantia.c | 17 +++++++++--------
> 1 file changed, 9 insertions(+), 8 deletions(-)
>
>diff --git a/drivers/net/phy/aquantia.c b/drivers/net/phy/aquantia.c index
>7817d3cb8d..2af09907a1 100644
>--- a/drivers/net/phy/aquantia.c
>+++ b/drivers/net/phy/aquantia.c
>@@ -303,30 +303,29 @@ struct {
>
>AQUANTIA_VND1_GSTART_RATE_1G},
> 	[PHY_INTERFACE_MODE_SGMII_2500] = {0x144,
>AQUANTIA_VND1_GSYSCFG_2_5G,
>
>AQUANTIA_VND1_GSTART_RATE_2_5G},
>-	[PHY_INTERFACE_MODE_XGMII] =      {0x100,
>AQUANTIA_VND1_GSYSCFG_10G,
>-
>AQUANTIA_VND1_GSTART_RATE_10G},
> 	[PHY_INTERFACE_MODE_XFI] =        {0x100,
>AQUANTIA_VND1_GSYSCFG_10G,
>
>AQUANTIA_VND1_GSTART_RATE_10G},
> 	[PHY_INTERFACE_MODE_USXGMII] =    {0x080,
>AQUANTIA_VND1_GSYSCFG_10G,
>
>AQUANTIA_VND1_GSTART_RATE_10G},  };
>
>-static int aquantia_set_proto(struct phy_device *phydev)
>+static int aquantia_set_proto(struct phy_device *phydev,
>+			      phy_interface_t interface)
> {
> 	int i;
>
>-	if (!aquantia_syscfg[phydev->interface].cnt)
>+	if (!aquantia_syscfg[interface].cnt)
> 		return 0;
>
> 	/* set the default rate to enable the SI link */
> 	phy_write(phydev, MDIO_MMD_VEND1,
>AQUANTIA_VND1_GSTART_RATE,
>-		  aquantia_syscfg[phydev->interface].start_rate);
>+		  aquantia_syscfg[interface].start_rate);
>
> 	/* set selected protocol for all relevant line side link speeds */
>-	for (i = 0; i <= aquantia_syscfg[phydev->interface].cnt; i++)
>+	for (i = 0; i <= aquantia_syscfg[interface].cnt; i++)
> 		phy_write(phydev, MDIO_MMD_VEND1,
> 			  AQUANTIA_VND1_GSYSCFG_BASE + i,
>-			  aquantia_syscfg[phydev->interface].syscfg);
>+			  aquantia_syscfg[interface].syscfg);
> 	return 0;
> }
>
>@@ -429,6 +428,8 @@ int aquantia_config(struct phy_device *phydev)
> 	 * on FW config
> 	 */
> 	if (interface == PHY_INTERFACE_MODE_XGMII) {
>+		debug("use XFI or USXGMII SI protos, XGMII is not valid\n");
>+
> 		reg_val1 = phy_read(phydev, MDIO_MMD_PHYXS,
> 				    AQUANTIA_SYSTEM_INTERFACE_SR);
> 		if ((reg_val1 & AQUANTIA_SI_IN_USE_MASK) ==
>AQUANTIA_SI_USXGMII) @@ -451,7 +452,7 @@ int aquantia_config(struct
>phy_device *phydev)
> 		mdelay(10);
>
> 		/* configure protocol based on phydev->interface */
>-		aquantia_set_proto(phydev);
>+		aquantia_set_proto(phydev, interface);
> 		/* apply custom configuration based on DT */
> 		aquantia_dts_config(phydev);
>
>--
>2.17.1
Reviewed-by: Priyanka Jain <priyanka.jain at nxp.com>


More information about the U-Boot mailing list