All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v2] Aquantia: Print information about system interface and firmware version
@ 2018-11-06 12:16 Valentin-catalin Neacsu
  2019-01-22 21:51 ` Joe Hershberger
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Valentin-catalin Neacsu @ 2018-11-06 12:16 UTC (permalink / raw)
  To: u-boot

Print information about Aquantia firmware loaded on the phy.

Signed-off-by: Valentin Catalin Neacsu <valentin-catalin.neacsu@nxp.com>
---
V2:
 - Fix typo in title. (Clement Peron)

 drivers/net/phy/aquantia.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/drivers/net/phy/aquantia.c b/drivers/net/phy/aquantia.c
index 553069f3dc..2609664c69 100644
--- a/drivers/net/phy/aquantia.c
+++ b/drivers/net/phy/aquantia.c
@@ -22,6 +22,11 @@
 
 #define AQUANTIA_SYSTEM_INTERFACE_SR     0xe812
 #define AQUANTIA_VENDOR_PROVISIONING_REG 0xC441
+#define AQUANTIA_FIRMWARE_ID		 0x20
+#define AQUANTIA_RESERVED_STATUS	 0xc885
+#define AQUANTIA_FIRMWARE_MAJOR_MASK	 0xff00
+#define AQUANTIA_FIRMWARE_MINOR_MASK	 0xff
+#define AQUANTIA_FIRMWARE_BUILD_MASK	 0xf0
 
 #define AQUANTIA_USX_AUTONEG_CONTROL_ENA 0x0008
 #define AQUANTIA_SI_IN_USE_MASK          0x0078
@@ -30,6 +35,7 @@
 int aquantia_config(struct phy_device *phydev)
 {
 	u32 val = phy_read(phydev, MDIO_MMD_PMAPMD, MII_BMCR);
+	u32 reg_val1 = 0;
 
 	if (phydev->interface == PHY_INTERFACE_MODE_SGMII) {
 		/* 1000BASE-T mode */
@@ -56,6 +62,11 @@ int aquantia_config(struct phy_device *phydev)
 			phy_write(phydev, MDIO_MMD_PHYXS,
 				  AQUANTIA_VENDOR_PROVISIONING_REG,
 				  AQUANTIA_USX_AUTONEG_CONTROL_ENA);
+			printf("%s: system interface USXGMII\n",
+			       phydev->dev->name);
+		} else {
+			printf("%s: system interface XFI\n",
+			       phydev->dev->name);
 		}
 
 	} else if (phydev->interface == PHY_INTERFACE_MODE_SGMII_2500) {
@@ -73,6 +84,16 @@ int aquantia_config(struct phy_device *phydev)
 		val = (val & ~AQUNTIA_SPEED_MSB_MASK) | AQUNTIA_SPEED_LSB_MASK;
 		phy_write(phydev, MDIO_MMD_PMAPMD, MII_BMCR, val);
 	}
+
+	val = phy_read(phydev, MDIO_MMD_VEND1, AQUANTIA_RESERVED_STATUS);
+	reg_val1 = phy_read(phydev, MDIO_MMD_VEND1, AQUANTIA_FIRMWARE_ID);
+
+	printf("%s: %s Firmware Version %x.%x.%x\n", phydev->dev->name,
+	       phydev->drv->name,
+	       (reg_val1 & AQUANTIA_FIRMWARE_MAJOR_MASK) >> 8,
+	       reg_val1 & AQUANTIA_FIRMWARE_MINOR_MASK,
+	       (val & AQUANTIA_FIRMWARE_BUILD_MASK) >> 4);
+
 	return 0;
 }
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH v2] Aquantia: Print information about system interface and firmware version
  2018-11-06 12:16 [U-Boot] [PATCH v2] Aquantia: Print information about system interface and firmware version Valentin-catalin Neacsu
@ 2019-01-22 21:51 ` Joe Hershberger
  2019-01-22 23:14 ` Joe Hershberger
  2019-01-24 17:39 ` [U-Boot] net: phy: aquantia: Print information on config Joe Hershberger
  2 siblings, 0 replies; 5+ messages in thread
From: Joe Hershberger @ 2019-01-22 21:51 UTC (permalink / raw)
  To: u-boot

On Tue, Nov 6, 2018 at 6:17 AM Valentin-catalin Neacsu
<valentin-catalin.neacsu@nxp.com> wrote:
>
> Print information about Aquantia firmware loaded on the phy.
>
> Signed-off-by: Valentin Catalin Neacsu <valentin-catalin.neacsu@nxp.com>

Acked-by: Joe Hershberger <joe.hershberger@ni.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH v2] Aquantia: Print information about system interface and firmware version
  2018-11-06 12:16 [U-Boot] [PATCH v2] Aquantia: Print information about system interface and firmware version Valentin-catalin Neacsu
  2019-01-22 21:51 ` Joe Hershberger
@ 2019-01-22 23:14 ` Joe Hershberger
  2019-01-22 23:29   ` Joe Hershberger
  2019-01-24 17:39 ` [U-Boot] net: phy: aquantia: Print information on config Joe Hershberger
  2 siblings, 1 reply; 5+ messages in thread
From: Joe Hershberger @ 2019-01-22 23:14 UTC (permalink / raw)
  To: u-boot

On Tue, Nov 6, 2018 at 6:17 AM Valentin-catalin Neacsu
<valentin-catalin.neacsu@nxp.com> wrote:
>
> Print information about Aquantia firmware loaded on the phy.
>
> Signed-off-by: Valentin Catalin Neacsu <valentin-catalin.neacsu@nxp.com>
> ---
> V2:
>  - Fix typo in title. (Clement Peron)
>
>  drivers/net/phy/aquantia.c | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
>
> diff --git a/drivers/net/phy/aquantia.c b/drivers/net/phy/aquantia.c
> index 553069f3dc..2609664c69 100644
> --- a/drivers/net/phy/aquantia.c
> +++ b/drivers/net/phy/aquantia.c
> @@ -22,6 +22,11 @@
>
>  #define AQUANTIA_SYSTEM_INTERFACE_SR     0xe812
>  #define AQUANTIA_VENDOR_PROVISIONING_REG 0xC441
> +#define AQUANTIA_FIRMWARE_ID            0x20
> +#define AQUANTIA_RESERVED_STATUS        0xc885
> +#define AQUANTIA_FIRMWARE_MAJOR_MASK    0xff00
> +#define AQUANTIA_FIRMWARE_MINOR_MASK    0xff
> +#define AQUANTIA_FIRMWARE_BUILD_MASK    0xf0
>
>  #define AQUANTIA_USX_AUTONEG_CONTROL_ENA 0x0008
>  #define AQUANTIA_SI_IN_USE_MASK          0x0078
> @@ -30,6 +35,7 @@
>  int aquantia_config(struct phy_device *phydev)
>  {
>         u32 val = phy_read(phydev, MDIO_MMD_PMAPMD, MII_BMCR);
> +       u32 reg_val1 = 0;
>
>         if (phydev->interface == PHY_INTERFACE_MODE_SGMII) {
>                 /* 1000BASE-T mode */
> @@ -56,6 +62,11 @@ int aquantia_config(struct phy_device *phydev)
>                         phy_write(phydev, MDIO_MMD_PHYXS,
>                                   AQUANTIA_VENDOR_PROVISIONING_REG,
>                                   AQUANTIA_USX_AUTONEG_CONTROL_ENA);

Is this still needed? This hunk doesn't apply any more.

Thanks,
-Joe

> +                       printf("%s: system interface USXGMII\n",
> +                              phydev->dev->name);
> +               } else {
> +                       printf("%s: system interface XFI\n",
> +                              phydev->dev->name);
>                 }
>
>         } else if (phydev->interface == PHY_INTERFACE_MODE_SGMII_2500) {
> @@ -73,6 +84,16 @@ int aquantia_config(struct phy_device *phydev)
>                 val = (val & ~AQUNTIA_SPEED_MSB_MASK) | AQUNTIA_SPEED_LSB_MASK;
>                 phy_write(phydev, MDIO_MMD_PMAPMD, MII_BMCR, val);
>         }
> +
> +       val = phy_read(phydev, MDIO_MMD_VEND1, AQUANTIA_RESERVED_STATUS);
> +       reg_val1 = phy_read(phydev, MDIO_MMD_VEND1, AQUANTIA_FIRMWARE_ID);
> +
> +       printf("%s: %s Firmware Version %x.%x.%x\n", phydev->dev->name,
> +              phydev->drv->name,
> +              (reg_val1 & AQUANTIA_FIRMWARE_MAJOR_MASK) >> 8,
> +              reg_val1 & AQUANTIA_FIRMWARE_MINOR_MASK,
> +              (val & AQUANTIA_FIRMWARE_BUILD_MASK) >> 4);
> +
>         return 0;
>  }
>
> --
> 2.17.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH v2] Aquantia: Print information about system interface and firmware version
  2019-01-22 23:14 ` Joe Hershberger
@ 2019-01-22 23:29   ` Joe Hershberger
  0 siblings, 0 replies; 5+ messages in thread
From: Joe Hershberger @ 2019-01-22 23:29 UTC (permalink / raw)
  To: u-boot

On Tue, Jan 22, 2019 at 5:14 PM Joe Hershberger
<joe.hershberger@gmail.com> wrote:
>
> On Tue, Nov 6, 2018 at 6:17 AM Valentin-catalin Neacsu
> <valentin-catalin.neacsu@nxp.com> wrote:
> >
> > Print information about Aquantia firmware loaded on the phy.
> >
> > Signed-off-by: Valentin Catalin Neacsu <valentin-catalin.neacsu@nxp.com>
> > ---
> > V2:
> >  - Fix typo in title. (Clement Peron)
> >
> >  drivers/net/phy/aquantia.c | 21 +++++++++++++++++++++
> >  1 file changed, 21 insertions(+)
> >
> > diff --git a/drivers/net/phy/aquantia.c b/drivers/net/phy/aquantia.c
> > index 553069f3dc..2609664c69 100644
> > --- a/drivers/net/phy/aquantia.c
> > +++ b/drivers/net/phy/aquantia.c
> > @@ -22,6 +22,11 @@
> >
> >  #define AQUANTIA_SYSTEM_INTERFACE_SR     0xe812
> >  #define AQUANTIA_VENDOR_PROVISIONING_REG 0xC441
> > +#define AQUANTIA_FIRMWARE_ID            0x20
> > +#define AQUANTIA_RESERVED_STATUS        0xc885
> > +#define AQUANTIA_FIRMWARE_MAJOR_MASK    0xff00
> > +#define AQUANTIA_FIRMWARE_MINOR_MASK    0xff
> > +#define AQUANTIA_FIRMWARE_BUILD_MASK    0xf0
> >
> >  #define AQUANTIA_USX_AUTONEG_CONTROL_ENA 0x0008
> >  #define AQUANTIA_SI_IN_USE_MASK          0x0078
> > @@ -30,6 +35,7 @@
> >  int aquantia_config(struct phy_device *phydev)
> >  {
> >         u32 val = phy_read(phydev, MDIO_MMD_PMAPMD, MII_BMCR);
> > +       u32 reg_val1 = 0;
> >
> >         if (phydev->interface == PHY_INTERFACE_MODE_SGMII) {
> >                 /* 1000BASE-T mode */
> > @@ -56,6 +62,11 @@ int aquantia_config(struct phy_device *phydev)
> >                         phy_write(phydev, MDIO_MMD_PHYXS,
> >                                   AQUANTIA_VENDOR_PROVISIONING_REG,
> >                                   AQUANTIA_USX_AUTONEG_CONTROL_ENA);
>
> Is this still needed? This hunk doesn't apply any more.

I fixed up the conflict and will take it as is.

> Thanks,
> -Joe
>
> > +                       printf("%s: system interface USXGMII\n",
> > +                              phydev->dev->name);
> > +               } else {
> > +                       printf("%s: system interface XFI\n",
> > +                              phydev->dev->name);
> >                 }
> >
> >         } else if (phydev->interface == PHY_INTERFACE_MODE_SGMII_2500) {
> > @@ -73,6 +84,16 @@ int aquantia_config(struct phy_device *phydev)
> >                 val = (val & ~AQUNTIA_SPEED_MSB_MASK) | AQUNTIA_SPEED_LSB_MASK;
> >                 phy_write(phydev, MDIO_MMD_PMAPMD, MII_BMCR, val);
> >         }
> > +
> > +       val = phy_read(phydev, MDIO_MMD_VEND1, AQUANTIA_RESERVED_STATUS);
> > +       reg_val1 = phy_read(phydev, MDIO_MMD_VEND1, AQUANTIA_FIRMWARE_ID);
> > +
> > +       printf("%s: %s Firmware Version %x.%x.%x\n", phydev->dev->name,
> > +              phydev->drv->name,
> > +              (reg_val1 & AQUANTIA_FIRMWARE_MAJOR_MASK) >> 8,
> > +              reg_val1 & AQUANTIA_FIRMWARE_MINOR_MASK,
> > +              (val & AQUANTIA_FIRMWARE_BUILD_MASK) >> 4);
> > +
> >         return 0;
> >  }
> >
> > --
> > 2.17.1
> >
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > https://lists.denx.de/listinfo/u-boot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] net: phy: aquantia: Print information on config
  2018-11-06 12:16 [U-Boot] [PATCH v2] Aquantia: Print information about system interface and firmware version Valentin-catalin Neacsu
  2019-01-22 21:51 ` Joe Hershberger
  2019-01-22 23:14 ` Joe Hershberger
@ 2019-01-24 17:39 ` Joe Hershberger
  2 siblings, 0 replies; 5+ messages in thread
From: Joe Hershberger @ 2019-01-24 17:39 UTC (permalink / raw)
  To: u-boot

Hi Valentin-catalin,

https://patchwork.ozlabs.org/patch/993651/ was applied to http://git.denx.de/?p=u-boot/u-boot-net.git

Thanks!
-Joe

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-01-24 17:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-06 12:16 [U-Boot] [PATCH v2] Aquantia: Print information about system interface and firmware version Valentin-catalin Neacsu
2019-01-22 21:51 ` Joe Hershberger
2019-01-22 23:14 ` Joe Hershberger
2019-01-22 23:29   ` Joe Hershberger
2019-01-24 17:39 ` [U-Boot] net: phy: aquantia: Print information on config Joe Hershberger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.