We have been using the iMX28 in our products for some time based around the Windows CE 6.0 BSP. We have a customer that wishes to use 10Mbps Ethernet (for some unknown reason) but we have found that this is not supported by the BSP, despite the BSP reference manual stating that the driver supports 10/100Mbps.
Our customer uses 10Mbps HDX. If we configure a port to these settings then the PHY (LAN8720A over RMII, default HW set to auto-negotiate) detects and reports the link state (WinCE desktop shows connection made) but data transfer does not occur.
Studying the ENET driver it seems that the HW_ENET_MAC_RCR RMII_10T bit is not set anywhere. According to the register specification this must be set for 10Mbps mode with the RMII interface but there isn't any further information other than that. There is some anecdotal information suggesting a reset is required but this is not mentioned for this bit like others.
Has anyone else seen this issue? I know rare these days to run at 10Mbps (hence 4/5 years of product before we noticed it!).
Also could it be confirmed that RMII_10T must be set for this mode and if this can be done without resetting the controller.
It looks like in ENETParseLAN87xxSCSR I may need to set/clear the RMII_10T bit depending on whether this register shows 10 or 100Mbps capability.
I looked in the WEC7 driver but it looked the same as the CE6 one.