This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

U-Boot Ethernet

I'm having trouble getting RMII to work.  In looking at the code, there seem to be two similar files in u-boot-omapl1:

~\cpu\arm926ejs\davinci\ether.c

~\drivers\net\davinci_emac.c

It looks like only the ether.c file is used.  I tried compiling (did a distclean first) after renaming davinci_emac.c and there were no build errors.  Why the two files?

As for the problem I'm having:  intermittently, two PHYs are showing up at addresses 0x02 and 0x01, even though only one is attached to the MDIO bus.  Once a single phy is detected, the code seems to go through initialization, but I can't ping any host on the network.  The MAC address of the board does show up on the router.

  • Ping issue has been resolved:  PINMUX15_3_0 must be set to 0 for an external RMII clock, according to section 7.3.4 of the L138 Reference Guide (SPRUGM7D).  Table 11-37 of the same Reference Guide however states that 0 selects PRU0_R31[13].  Not sure if this will help with the two PHY detection problem - more testing is required.

    I spent several days chasing this issue - Table 11-37 should be updated to clearly state that setting PINMUX15_3_0 will enable it as an output RMII clock, and that setting PINMUX15_3_0 to 0 enables it as an input for an external RMII clock.