We're running RGMII1 to an RGMII port on the MT7620.
Clearing the gmii_sel.rgmii1_idmode bit is marked as Reserved, so I am assuming that things will go terribly wrong if I clear it. However, when the bit is cleared, the AM335x outputs a perfectly skewed clock.. With the matching settings on the MT7620, the RGMII link works perfectly.
So my question is, is this supposed to work? Is the internal delay feature an HDL copy-paste that somebody forgot to remove, or is it part of the SoC design? This is a very useful feature, since the internal delay mode on the MT7620 is nowhere near as clean and as reliable.
And of course, this question would not be complete without the obligatory scope captures:
gmii_sel.rgmii1_idmode = 0:
gmii_sel.rgmii1_idmode = 1:
Additional info:
SoC P/N is AM3352BZCZD80. We're using processor-sdk-linux-03.01.00 with hacks to clear the rgmii1_idmode bit.