Re: Aquantia PHY in OCSGMII mode?

Alexander Wilhelm
2025-08-27T05:57:55Z

Am Wed, Aug 06, 2025 at 05:58:56PM +0300 schrieb Vladimir Oltean:
> On Tue, Aug 05, 2025 at 02:44:15PM +0200, Alexander Wilhelm wrote:
> > Patch is applied. Here are the registers log:
> >
> > user@host:~# logread | grep AQR115
> > Aquantia AQR115 0x0000000ffe4fd000:07: Speed 10 SerDes mode 4 autoneg 0 training 0 reset on transition 0 silence 0 rate adapt 2 macsec 0
> > Aquantia AQR115 0x0000000ffe4fd000:07: Speed 100 SerDes mode 4 autoneg 0 training 1 reset on transition 0 silence 1 rate adapt 2 macsec 0
> > Aquantia AQR115 0x0000000ffe4fd000:07: Speed 1000 SerDes mode 4 autoneg 0 training 1 reset on transition 0 silence 1 rate adapt 2 macsec 0
> > Aquantia AQR115 0x0000000ffe4fd000:07: Speed 2500 SerDes mode 4 autoneg 1 training 1 reset on transition 0 silence 1 rate adapt 0 macsec 0
> > Aquantia AQR115 0x0000000ffe4fd000:07: Speed 5000 SerDes mode 0 autoneg 0 training 0 reset on transition 0 silence 0 rate adapt 2 macsec 0
> > Aquantia AQR115 0x0000000ffe4fd000:07: Speed 10000 SerDes mode 0 autoneg 0 training 0 reset on transition 0 silence 0 rate adapt 0 macsec 0
> > fsl_dpaa_mac ffe4e4000.ethernet eth0: PHY [0x0000000ffe4fd000:07] driver [Aquantia AQR115] (irq=POLL)
> >
> > While 100M transfer, I see the MAC TX frame increasing and SGMII TX good frames
> > increasing. But the receiving frames are counted as SGMII RX bad frames and MAC
> > RX frames counter does not increase. The TX/RX pause frames always stay at 0,
> > independently whether ping is working with 1G/2.5G or not with 100M. Do you have
> > any idea here?
> >
> > user@host:~# ethtool -S eth0 --groups eth-mac eth-phy eth-ctrl rmon | grep -v ': 0' && ethtool --phy-statistics eth0 | grep -v ': 0' && ethtool -I --show-pause eth0
> > Standard stats for eth0:
> > eth-mac-FramesTransmittedOK: 529
> > eth-mac-FramesReceivedOK: 67
> > eth-mac-OctetsTransmittedOK: 79287
> > eth-mac-OctetsReceivedOK: 9787
> > eth-mac-MulticastFramesXmittedOK: 43
> > eth-mac-BroadcastFramesXmittedOK: 451
> > eth-mac-MulticastFramesReceivedOK: 32
> > eth-mac-BroadcastFramesReceivedOK: 1
> > rx-rmon-etherStatsPkts64to64Octets: 3
> > rx-rmon-etherStatsPkts65to127Octets: 42
> > rx-rmon-etherStatsPkts128to255Octets: 18
> > rx-rmon-etherStatsPkts256to511Octets: 4
> > tx-rmon-etherStatsPkts64to64Octets: 5
> > tx-rmon-etherStatsPkts65to127Octets: 385
> > tx-rmon-etherStatsPkts128to255Octets: 26
> > tx-rmon-etherStatsPkts256to511Octets: 113
> > PHY statistics:
> > sgmii_rx_good_frames: 21149
> > sgmii_rx_bad_frames: 176
> > sgmii_rx_false_carrier_events: 1
> > sgmii_tx_good_frames: 21041
> > sgmii_tx_line_collisions: 1
> > Pause parameters for eth0:
> > Autonegotiate: on
> > RX: off
> > TX: off
> > RX negotiated: on
> > TX negotiated: on
> > Statistics:
> > tx_pause_frames: 0
> > rx_pause_frames: 0
>
> Sorry, I am not fluent enough with the Aquantia PHYs to be further
> helpful here.

Hi Vladimir,

One of our hardware engineers has looked into the issue with the 100M link and
found the following: the Aquantia AQR115 always uses 2500BASE-X (GMII) on the
host side. For both 1G and 100M operation, it enables pause rate adaptation.
However, our MAC only applies rate adaptation for 1G links. For 100M, it uses a
10x symbol replication instead.

We’re exploring a workaround where the MAC is configured to believe it’s
operating at 1G, so it continues using pause rate adaptation, since flow control
is handled by the PHY. Given your deep expertise with Freescale MACs, I’d really
value your opinion on whether this approach makes sense or if you’ve seen
similar configurations before.

Best regards
Alexander Wilhelm