On Thu, Mar 25, 2021 at 02:12:49PM +0100, Marek Behún wrote:
> @@ -443,12 +446,24 @@ static int mv3310_probe(struct phy_device *phydev)
>  
>       switch (phydev->drv->phy_id) {
>       case MARVELL_PHY_ID_88X3310:
> +             ret = phy_read_mmd(phydev, MDIO_MMD_PMAPMD, MV_PMA_XGSTAT);
> +             if (ret < 0)
> +                     return ret;
> +
> +             has_macsec = !(ret & MV_PMA_XGSTAT_NO_MACSEC);
> +
>               if (nports == 4)
>                       priv->model = MV_MODEL_88X3340;
>               else if (nports == 1)
>                       priv->model = MV_MODEL_88X3310;
>               break;

The 88X3310 and 88X3340 can be differentiated by bit 3 in the revision.
In other words, 88X3310 is 0x09a0..0x09a7, and 88X3340 is
0x09a8..0x09af. We could add a separate driver structure, which would
then allow the kernel to print a more specific string via standard
methods, like we do for other PHYs. Not sure whether that would work
for the 88X21x0 family though.
-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

Reply via email to