Signal integrity issues with MGBE0

I am having trouble bringing up the MGBE interface. It is never able to get an IP address from DHCP and if I set the IP manually, I am not able to ping between it and the other device. Everything appears to be working as the link is up, there is a lock success message in dmesg but rx and tx packet counters never seem to increase. My carrier uses a mezzanine board with the AQR113 PHY on it and it seems like I am running into signal integrity issues on the XFI interface. I was able to capture an eye diagram from the PHY using its built in eye measurement capability and it looks fairly good, but it struggles to lock sometimes. The PHY also produces a Figure of Merit value based on how good the incoming signal quality is.
Marvell’s tuning guide for the AQR113 suggests stepping through transmitter settings on the host device and determining where the best FOM value is.
My Questions are:

  • Does the Orin have a way to get a similar Figure of Merit value based on received signal
  • Can SERDES level RX issues or lock status be measured?
  • Can the TX and RX settings of the orin SERDES be tuned like they can on the PHY
  • If they can, how would it be implemented? MGBE is not documented so there are no registers I can see to mess with.

Here are some of the things I have looked at so far:
The Eye:


Output from a status tool I wrote that reads key registers:

Port mgbe0, Phy address 8
XFI Energy detect: 0 raw: 0
XFI Link Status RxUp 1, RxHighBer 1, RxLock 0
XFI Invalid char detected 1
FOM: 189
Serdes Status RxReady 1 TxReady 1 Dready 1
Serdes speed 2 mode 2
Serdes post-tap 0 pre-tap 0
Serdes main tap 24, amplitude 5

Output of ethtool -S mgbe0
ethtool.txt (8.9 KB)
Dmesg lines from both startup and link up:

[   12.709523] nvethernet 6810000.ethernet: Adding to iommu group 55
[   12.715876] nvethernet 6810000.ethernet: failed to read skip mac reset flag, default 0
[   12.723559] nvethernet 6810000.ethernet: setting to default DMA bit mask
[   13.114342] nvethernet 6810000.ethernet: Ethernet MAC address: 48:b0:2d:69:47:71
[   13.115534] nvethernet 6810000.ethernet: Macsec not supported/Not enabled in DT
[   13.118730] nvethernet 6810000.ethernet: mgbe0 (HW ver: 31) created with 10 DMA channels
...
[ 5403.898280] Aquantia AQR113 6810000.ethernet:00: AQR113 reset info:  value: 1286 value2: 1286 retode 0 is_c45 1
[ 5408.063249] nvethernet 6810000.ethernet: [xpcs_lane_bring_up][477][type:0x4][loga-0x0] PCS block lock SUCCESS
[ 5408.063378] IPv6: ADDRCONF(NETDEV_CHANGE): mgbe0: link becomes ready
[ 5408.064946] nvethernet 6810000.ethernet mgbe0: Link is Up - 1Gbps/Full - flow control rx/tx

Hi, for MGBE SI, tuning is not supported as custom design is assumed to well follow the MGBE Interface Signal Routing Requirements in Orin Design Guide. For compliance test, please refer to the chapter PCIe Compliance Testing Reference in Tuning Guide.

Hmm… that’s unfortunate.
The tuning guide mentions that the UPHYs have an Eye Opening monitor. How is this accessed? It does not say.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.