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.

TMS570LC4357: Verifying Launchpad PHY link

Part Number: TMS570LC4357
Other Parts Discussed in Thread: HALCOGEN, DP83640, DP83630

Tool/software:

Hello,

I am having trouble getting a "Hello world" proof-of-concept for using the MDIO module on the TMS570LC4357 Launchpad working.

 These are the lines of driver code integrated into a test application that are not producing expected results when I step through with the debugger:

wait(0xFFFFFF);

    MDIOInit(MDIO_BASE, MDIO_FREQ_INPUT, MDIO_FREQ_OUTPUT);

    MDIOEnable(MDIO_BASE);

 

    is_phy_alive = MDIOPhyAliveStatusGet(MDIO_BASE);

    is_link_alive = MDIOPhyLinkStatusGet(MDIO_BASE);

 

Both is_phy_alive and is_link_alive read 0. Per section 32.2.8.2 of the TRM, I am expecting a non-zero value at this point:

"The corresponding bit for the connected PHY (0-31) is set in ALIVE, if the PHY responded to the read request"

 

I have used HalCoGen to generate MDIO driver code with the following settings:

 

I've checked that the MDIO pinmuxing matches the Launchpad schematic.

Note: There is a difference in part number between the Launchpad (DP83630) and HalCoGen (DP83640).

I have looked through their datasheets and online forums and I do not believe there is any difference between these parts that affects use of the MDIO driver code.

Can you please reply with suggestions for hardware or software configuration parameters to check?