Electronic – RGMII and RMII backwards compatibility

ethernetrgmiirmii

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).

Best Answer

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).