FYI the errors were caused by a decoupling problem on the RGMII interface. The EIM and RGMII are sharing a power supply and insufficient decoupling caused the RGMII to inject noise onto the EIM supply pins. Since BCLK is fed back as an input and used to clock the input data, noise at just the wrong time caused a double clock. This can be avoided by turning on hysteresis on the BCLK pad.