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.

Lwip demo on AM3359 locks up polling MDIO_USERACCESS

Other Parts Discussed in Thread: TLK110, SYSBIOS, AM3359

HI, I am trying to run the LWIP ethernet demo on a custom AM3359 board which is a clone of the AM3359 ICE board with a copy of the IA-EVM Ethernet circuit added using the same TLK110.  As far as I can see, the TLK110 circuit is identical to the IA-EVM reference schematic for the TLK110.  I can run the SysBios Lwip http demo OK on the IA-EVM.  But if I take the same working project and try to run it on the custom board, it locks up in the function MDIOPhyRegRead polling the MDIO_USERACCESS0 register for MDIO_USERACCESS0_GO, which is never true.   I can see the 25MHz clock ok on the TLK110 output pin.

I am wondering what areas I should look at? 

  • Peter,

    did you review your schematic for correct signals? Are pin-muxes set accordingly? Can you measure the MDIO signals to see if there is communication going on?

    Regards,

  • I compared our schematic vs the IA-EVM 1.2A schematic as far as the Ethernet port TLK110 and I cannot see any differences.  There are differences in that the rest of the AM3359 pins follow the ICE v1 board not the IA-EVM, but I am using the unmodified IA-EVM pinmux config assuming that it would work for the pins on the Ethernet.  But there is no ETH0_MDC MDIO clk (TLK110 pin31), but on the IA-EVM I see 1MHz clock on the MDIO clk after the init code is run.  On our board the pin 31 goes lo and stays lo after the init code is run.

  • Peter,

    you need to get your schematics reviewed by someone I assume.. ICEv2 board does have mux options for using either CPSW RMII ports or PRU-MII. In addition both MDIO ports are connected to each other... so it is not clear what you implemented. Usually that is not an option I would choose...

    Anyway if there is no clock on MDIO I would assume you are not able to read any regs on the phy and therefore the code stalls (probably it is not failsafe and has no timeout option...). Quite logical...

    Regards,

  • thanks, I was able to get the MDIO clock to appear by massaging the Pinmux, so am one step forward on my way through the ever-expanding labyrinth!