Pine A64 / Sopine A64/R18 Ethernet

Recommended Posts

I am currently developing a custom board which is based of the Pine64/Pine64-R18 dev board.

I previously had an issue with the ethernet not working at u-boot level using the sopine based R18 board, this I resolved by patching u-boot with the relevant emac sections that were missing from the device tree.


On the custom board we have used the R18 processor with the LAN8720 ethernet-phy chip rather than the RTL8211 used by the pine, and can't get the ethernet to initialise.

We have checked rmii clock timings etc and compared the custom board to the Pine and have noticed the following:-


MDC has been measured to be running at 18.6Mhz, resulting in 53ns pulse periods, on both our custom and the pine64 board.

The minimum MDC clock period for both the lan8720 and rtl8211 however is 400ns according to datasheet.

The ethernet is not working on the LAN, yet it is on the RTL.

It seems the RTL is capable of running at that speed, although spec is 400ns, but the LAN is conforming to it's spec.


Any ideas on how to slow this clock speed down to the minimum 400ns period would be appreciated.






Link to post
Share on other sites
Donate and support the project!

Hi, yes we have.

Just to update as well, we have managed to got the phy to respond to processor at uboot level by slowing down the MDC clock.

Found a reference path

our u-boot 2017.11 did not have the MDIO_CMD_MDC_DIV_128 definitions and setting up miiaddr |= MDIO_CMD_MDC_DIV_128 resolved the clock issue.


Our next step is to resolve why the phy isn't transmitting data

Link to post
Share on other sites
This topic is now closed to further replies.