I'm porting non-linux Ethernet driver from sabre-lite / nitrogen_6x to i.MX6ul using EVK board. There are certain problems I'm facing.
- Initially it has problem connecting DHCP server, sometime it connect or sometime not then I put some delay to give time for link-up, now that problem has hide-out but I'm not satisfied, I still think there is some initialization problem, I don't know where.
- I'm using RMII 50MHz mode to fix errata, 100T speed, Full-duplex, give it delay in link-up loop and enable the link-up and link-down interrupt. BUT
- As the PHY chip(KSZ8081, 100T, RMII) is different as of sabre-lite/nitrogen_6x(KSZ9021, up-to 1000T, RGMII) but Ethernet driver should be same (as I think, no modification required, same register set, except some giga_byte bits) as imx6ul_evk Ethernet is connecting now then why it's throughput performance(iperf -s) is very low. 16 Mbit/sec. While the same driver and Ethernet stack on sabre-lite show throughput more then 96 Mbit/sec
- It's also error receiving data of size 467 as TCP/UDP loop-back server.