6
\$\begingroup\$

According to Wikipedia:

GMII [...] is backwards compatible with the media-independent interface (MII)

But is RGMII backwards compatible with RMII?

I'm asking this because I'm making a schematic of an iMX6 System on Module. I have the RGMII pins, I only want a 100/10 interface, I found some RGMII interface (for gigabit ethernet), and some RMII and MII interfaces (for 10/100).

\$\endgroup\$
2
  • \$\begingroup\$ Can you post the information about the SoM you are implementing? Specifically, what processor is used by that board? \$\endgroup\$ Commented Jun 2, 2016 at 17:37
  • \$\begingroup\$ RGMII is not backwards compatible with MII. The direction of TX_CLK differs, as well as the coding of RX_DV and RX_ER. There are however PHYs and MACs which can do both. \$\endgroup\$ Commented Jan 16, 2020 at 23:30

2 Answers 2

3
\$\begingroup\$

RGMII is Gigabit, RMII is Fast Ethernet as you've found and they have different pin counts. It's actually pretty easy to adapt RGMII <-> RMII if needed...if you have a FPGA or some digital logic fabric.

RGMII uses a 4-bit data interface, RMII is only 2-bits. I take it you want to interface a PHY to the RGMII controller on the i.MX6, but only run it at 10/100 speeds. I've had that design constraint a couple of times, and generally, the most flexible option is to use a gigabit PHY running at 10/100 at all times.

RGMII will be clocked much slower running at 10/100 speeds, which can make your layout a little bit easier (RGMII has an IMO poor design constraint where data changes simultaneously on a clock edge, requiring the designer to add delay in his PCB routing) as the constraints are relaxed when not at 10/100/1000 speeds.

If you must have a 10/100 PHY that uses RGMII, the Marvell 88E3018 is a rare part that is Fast Ethernet, but with RGMII MAC interface.

If you're lucky, the i.MX6 MAC may support running its RGMII host port in RMII mode, but if it doesn't, I think your best bet is to choose a common GigE PHY such as the KSZ9031RNX or 88E1512.

I am fairly certain though that you cannot take a host who has a RGMII only port and connect it up to a RMII PHY and expect that work out of the box. The MAC has to know it only has two-bits of data, not four (RMII-mode vs RGMII).

\$\endgroup\$
2
  • \$\begingroup\$ Thank you for the answer! I also found the KSZ9031RNX, and I think I will use it in 10/100 mode. \$\endgroup\$ Commented Jun 3, 2016 at 7:02
  • \$\begingroup\$ Is the difference related to wires between phy and mac only ? Or is there also differences related to magnetics ? \$\endgroup\$
    – ransh
    Commented Feb 23, 2020 at 7:47
3
\$\begingroup\$

From HP's specifications on RGMII and TI's description of RMII mode, RMII is a subset of the RGMII pins, dropping 2 each of Tx and Rx. Thus, RMII operates at 50MHz for 100Mb operation while RGMII operates at 25MHz for 100Mb operation.

Looking a Broadcom switch product, it has a port that supports both RGMII and RMII. I suggest consulting your iMX6 SoM datasheet and processor datasheet to see if that RGMII port can be configured in RMII mode.

\$\endgroup\$
2
  • \$\begingroup\$ Is the difference related to wires between phy and mac only ? Or is there also differences related to magnetics ? \$\endgroup\$
    – ransh
    Commented Feb 23, 2020 at 7:47
  • \$\begingroup\$ @ransh There are also different requirements for 10/100 operation and 1000 on the PHY/magnetics side in addition to the changed pin assignments and clock frequencies on the PHY/MAC (*MII) side. \$\endgroup\$ Commented Feb 27, 2020 at 14:55

Not the answer you're looking for? Browse other questions tagged or ask your own question.