Hi Maciek,
Just want to point you to the right place in source code that can cause the issue for you. Please look at fnet_mcf_eth.c => fnet_eth_phy_init():
#if FNET_CFG_CPU_MCF52235
…
/* Disable ANE that causes problems with some routers. Enable full-duplex and 100Mbps */
fnet_fec_mii_read(ethif, FNET_FEC_MII_REG_CR, ®_value);
fnet_fec_mii_write(ethif, FNET_FEC_MII_REG_CR, (fnet_uint16)(reg_value & (~FNET_FEC_MII_REG_CR_ANE)|FNET_FEC_MII_REG_CR_DPLX|FNET_FEC_MII_REG_CR_DATARATE));
...
#endif
The Kirin2 is the only platform that uses manual set of the PHY speed - selects 100 Mbps operation and disables autonegotioation (cause of HW issues with some version of chips), others platform use auto-negation.
As I know, if to enable auto negotiation for some reason it was autonegotiated to 10Mbps and Half-Duplex. Most probably it not valid any more for newer versions of chip. Why MQX goes to 10Mbs after FNET on Kirin2, I did not check.
Please write me back what register settings helped to you.
Thanks,
Andrey Butok