2395244_en-US

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2395244_en-US

2395244_en-US

USXGMII multi-rate on i.MX95

Hi,

we are trying to evaluate if we can implement an ethernet port on the i.MX95 that is able to support the following ethernet speeds:

  • 10GBASE-T
  • 5GBASE-T
  • 2.5GBASE-T
  • 1000BASE-T
  • 100BASE-TX
  • 10BASE-Te

In general this requires us to place a 10Gbit capable ethernet PHY on our design and connect it to the i.MX95 ethernet controller via one of two interfaces: USXGMII or XFI

From our understanding the USXGMII interface is a multi-rate interface in theory, meaning it can facilitate all speeds from 10Gbit to 10bit over one link.
In contrast the XFI interface is a single-rate interface that can only facilitate 10Gbit.

According to the i.MX95 reference manual (e.g. section 104.2, table 621) the i.MX95 supports both XFI and "10G-USXGMII". So initially it looks like our desired interface USXGMII seems to be supported.

There are several points that confuse us however:

1. The declaration "10G-USXGMII" could be interpreted to mean that the interface is a USXGMII link in theory but it only really works in the 10Gbit mode.

2. The NXP eval board IMX95LPD5EVK-19 implements a 10GBase-T port using a Marvell AQR113C PHY.

a) In the block diagram in figure 1, section 1.1 the PHY looks to be connected to the USXGMII interface:

stefan_wenninge_0-1784101377785.png

b) In the associated section 2.11.3 "10 Gbit Ethernet Interface" the AQR113C ethernet transceiver is said to support all data rates from 10Gbit to 10bit, hinting at true USXGMII:

stefan_wenninge_1-1784101562514.png

c) This section also mentions that the interface used to connect the ethernet PHY is XFI:

stefan_wenninge_2-1784101765113.png


So in conclusion we are confused wether or not the i.MX95 supports the full multi-rate USXGMII or only a 10Gbit-only version.
We tried to look at the NXP eval board as a reference but we are not sure either if the 10GbE port on that board is connected via USXGMII (allowing multi-rate from 10Gbit to 10bit) or via XFI (10Gbit only).


Could you please clarify for us: Is it possible to implement a true multi-rate 10GbE port on the i.MX95 that supports speeds from 10Gbit to 10bit?

Re: USXGMII multi-rate on i.MX95Thank you very much for this in-depth response.
This clears up any confusion on our side!
Re: USXGMII multi-rate on i.MX95

1. Meaning of "10G-USXGMII"

"10G-USXGMII" refers to the standard multi-rate USXGMII protocol, not a 10G-only mode. The "10G" denotes the fixed SerDes lane speed, while USXGMII supports in-band rate adaptation for 10M, 100M, 1G, 2.5G, 5G, and 10G Ethernet.

On i.MX95, this mode is represented by the PCS_PROT_10G_SXGMII setting.

2. Interface Used on the i.MX95 EVK

The i.MX95 EVK uses XFI (10GBASE-R) rather than USXGMII. In imx95-19x19-evk.dts, enetc_port2 is configured as:

phy-mode = "10gbase-r";

Therefore, the onboard AQR113C operates in XFI mode.

3. Is True Multi-Rate USXGMII Supported?

Yes. The i.MX95 NETC hardware supports USXGMII, and the Linux ENETC4 driver handles speed changes through enetc4_set_port_speed(). The Marvell AQR113C also supports USXGMII host-interface mode.

4. What Is Needed on a Custom Board?

To enable full multi-rate operation:

Configure the device tree:
phy-mode = "usxgmii";
managed = "in-band-status";

Configure the AQR113C firmware for USXGMII host mode instead of XFI.

The EVK uses XFI for its 10GbE port, but a custom i.MX95 design can use USXGMII with the AQR113C (or a similar PHY) to support 10M/100M/1G/2.5G/5G/10G over a single MAC-to-PHY link.

Thanks

Re: USXGMII multi-rate on i.MX95

I am not the original poster but I am also trying to get usxgmii working.


Has NXP ever validated if usxgmii works on the BSP kernel? I am trying to use it with a mv-cux3610 phy but I get these errors:

[   43.063202] nxp_enetc4 0002:00:10.0 (unnamed net_device) (uninitialized): MAC returned PCS which does not support usxgmii
[   43.074224] nxp_enetc4 0002:00:10.0 (unnamed net_device) (uninitialized): failed to validate link configuration for inband
[   43.085308] nxp_enetc4 0002:00:10.0: Failed to create phylink
[   43.091726] nxp_enetc4 0002:00:10.0: probe with driver nxp_enetc4 failed with error -22

it seems to be caused by the netc PCS not advertising usxgmii support, only 10gbase-r, 2500-basex and sgmii:

quentin_sai_0-1784223770904.png

(this is on the lf-6.18.y linux-imx branch)


Re: USXGMII multi-rate on i.MX95Just one more follow-up question: Is the driver for the Marvell AQR113C included in the NXP Linux BSP or is it an out-of-tree module we must supply ourselves?Re: USXGMII multi-rate on i.MX95Thank you for your reply!
Last question from my side: Is it possible to configure the enetc_port2 and the AQR113C on the i.MX95 EVK to USXGMII mode? Would this allow us to test the multi-rate functionality of the USXGMII interface on the EVK?
Re: USXGMII multi-rate on i.MX95

the driver has been included in NXP Linux BSP, link:

https://github.com/nxp-real-time-edge-sw/real-time-edge-linux/blob/linux_6.18.20/drivers/net/phy/aqu...

Re: USXGMII multi-rate on i.MX95

Simply "switching the DTS to usxgmii" on the EVK is only a software-level attempt.

You would also have to re-provision the AQR113C with USXGMII firmware, and because of the EVK's XFI-oriented board design, this is not a reliable path for multi-rate validation.
If the goal is to validate true multi-rate USXGMII (10M/100M/1G/2.5G/5G/10G), we recommend building a custom board designed for USXGMII (SerDes routing + AQR113C in USXGMII host-mode firmware + phy-mode = "usxgmii").

You can use EVK board, after obtaining the USXGMII provisioning firmware for the AQR113C, but please be aware of its limitations.

Thanks

Tags (1)
No ratings
Version history
Last update:
3 weeks ago
Updated by: