Hello,
Any RGMII people listening?
The RGMIIv2.0 specification identifies the supported RXER encodings which are decoded as the equivalent of the GMII notion of CRS. The encodings which translate to CRS assertion are:
RXER=1, RXDV=0, AND:
RXD[7:0] = 0x0e (false carrier) OR RXD[7:0] = 0x0f (carrier extend, gigabit only) OR RXD[7:0] = 0x1f (carrier extend error, gigabit only) OR RXD[7:0] = 0xff (carrier sense)
However, the specification also has a section (Section 5.0) on 10/100 functionality which says that in 10/100 modes, 'the data may be duplicated on the falling edge of the appropriate clock'.
This is ambiguous in my opinion. The specification is implying that during 10/100 modes, the interface effectively turns into a nibble based interface (which I agree with). But if the interface is really nibble based during 10/100, does this mean that in 10/100 mode, the CRS encodings are:
RXER=1, RXDV=0, AND:
RXD[7:0] = 0xe (false carrier) OR RXD[7:0] = 0xf (carrier sense)
The reason I think this is because the original MII interface was specified with 4-bit CRS encodings for false carrier (carrier sense
0xF, was a reserved encoding). If this is true, the implication is that 0xee and 0xff are also decoded as CRS assertion (since the nibble is repeated on both edges of clock.Am I even close on this one?
-Brandon Atkinson