Re: Aquantia PHY in OCSGMII mode?

Russell King (Oracle)
2025-08-04T14:23:03Z

On Mon, Aug 04, 2025 at 03:01:44PM +0200, Alexander Wilhelm wrote:
> Am Mon, Aug 04, 2025 at 01:01:39PM +0300 schrieb Vladimir Oltean:
> > On Mon, Aug 04, 2025 at 08:17:47AM +0200, Alexander Wilhelm wrote:
> > > Am Fri, Aug 01, 2025 at 04:04:20PM +0300 schrieb Vladimir Oltean:
> > > > On Fri, Aug 01, 2025 at 01:23:44PM +0100, Russell King (Oracle) wrote:
> > > > > It looks like memac_select_pcs() and memac_prepare() fail to
> > > > > handle 2500BASEX despite memac_initialization() suggesting the
> > > > > SGMII PCS supports 2500BASEX.
> > > >
> > > > Thanks for pointing this out, it seems to be a regression introduced by
> > > > commit 5d93cfcf7360 ("net: dpaa: Convert to phylink").
> > > >
> > > > If there are no other volunteers, I can offer to submit a patch if
> > > > Alexander confirms this fixes his setup.
> > >
> > > I'd be happy to help by applying the patch on my system and running some tests.
> > > Please let me know if there are any specific steps or scenarios you'd like me to
> > > focus on.
> > >
> > > Best regards
> > > Alexander Wilhelm
> >
> > Please find the attached patch.
> [...]
>
> Hi Vladimir,
>
> I’ve applied the patch you provided, but it doesn’t seem to fully resolve the
> issue -- or perhaps I’ve misconfigured something. I’m encountering the following
> error during initialization:
>
> mdio_bus 0x0000000ffe4e7000:00: AN not supported on 3.125GHz SerDes lane
> fsl_dpaa_mac ffe4e6000.ethernet eth0: pcs_config failed: -EOPNOTSUPP

We're falling foul of the historic crap that 2500base-X is (802.3 were
very very late to the party in "standardising" it, but after there were
many different implementations with varying capabilities already on the
market.)

aquantia_main.c needs to implement the .inband_caps() method, and
report what its actual capabilities are for the supplied interface
mode according to how it has been provisioned.

>
> The relevant code is located in `drivers/net/pcs/pcs-lynx.c`, within the
> `lynx_pcs_config(...)` function. In the case of 2500BASE-X with in-band
> autonegotiation enabled, the function logs an error and returns -EOPNOTSUPP.
>
> From what I can tell, autonegotiation isn’t supported on a 3.125GHz SerDes lane
> when using 2500BASE-X.

Due to the lack of early standardisation, some manufacturers require
AN, some have it optional, others simply do not support it.

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!