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: MDIOPhyRegRead

Part Number: TMS570LC4357

Hello again people,

I am trying to setup an Ethernet communication and the code gets stuck in the following loop from MDIOPhyRegRead function:

    HWREG(baseAddr + MDIO_USERACCESS0)
                           = (((uint32)MDIO_USERACCESS0_READ) | MDIO_USERACCESS0_GO
                              |((regNum & PHY_REG_MASK) << PHY_REG_SHIFT)
                              |((phyAddr & PHY_ADDR_MASK) << PHY_ADDR_SHIFT));

    /* wait for command completion */
    /*SAFETYMCUSW 28 D MR:NA <APPROVED> "Hardware status bit read check" */
    while((HWREG(baseAddr + MDIO_USERACCESS0) & MDIO_USERACCESS0_GO) == MDIO_USERACCESS0_GO)
    { 
	} /* Wait */

Any idea what I am missing? The tracecall is as follows:


MDIOPhyRegRead
Dp83640LinkStatusGet
EMACHWInit

Thank you in advance and kind regards,

Javier Guzman