Re: Aquantia PHY in OCSGMII mode?
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
Date: 2025-08-04 14:23:03
Also in:
lkml
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:quoted
On Mon, Aug 04, 2025 at 08:17:47AM +0200, Alexander Wilhelm wrote:quoted
Am Fri, Aug 01, 2025 at 04:04:20PM +0300 schrieb Vladimir Oltean:quoted
On Fri, Aug 01, 2025 at 01:23:44PM +0100, Russell King (Oracle) wrote:quoted
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 WilhelmPlease 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!