From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joe Hershberger Date: Tue, 22 Jan 2019 17:29:21 -0600 Subject: [U-Boot] [PATCH v2] Aquantia: Print information about system interface and firmware version In-Reply-To: References: <20181106121607.8063-1-valentin-catalin.neacsu@nxp.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Tue, Jan 22, 2019 at 5:14 PM Joe Hershberger wrote: > > On Tue, Nov 6, 2018 at 6:17 AM Valentin-catalin Neacsu > wrote: > > > > Print information about Aquantia firmware loaded on the phy. > > > > Signed-off-by: Valentin Catalin Neacsu > > --- > > 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