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.

Getting phy id for TCP on RM57

Other Parts Discussed in Thread: RM57L843, RM48L952, HALCOGEN, DP83640

Hi.

I'm trying to use lwIP for TCP on RM57L843(HDK). I used lwIP for TCP on RM48L952 before.

I made a project by HALCoGen 4.0 and combine lwip files. But it bumped..

The problem occured 'Dp83640IDGet()' in HL_phy_dp83640.c

The fuction should to return phyID, but it doesn't. It returns 0.

'MDIOPhyRegRead()' is included DP83640IDGet() and read the ID register. but it read nothing..  data is 0. So it cannot makes 'id'.. because "id |= data"

What will I do..? I use HDK, maybe there is no H/W problem..

 

  • Hi Wonjae,

    Can you check if the Ethernet Switch (S2 Bit 4) is on? If it isn't, this can result in the PHY not getting a connection.

    Regards,

    Chaitanya

  • Hi Chaitanya.

    Switch is on..

    What will I check more?

  • The PHY address is set by pins sampled by the PHY when it comes out of reset.

    On the earlier LS3137 HDK  I think we noticed that the pins on the phy had pullups/pulldowns and they were opposite in some cases of the pullups/pulldowns on the TMS570 that they were connected to.  The result might be an intermediate logic level.

    You might check the state of the pins while holding the board in a power on reset and see if they're not set for the address you think they might be or you might try all the different addresses.

  • Hi Anthony.

    Could you explain how can I check state of the pins more detail? I don't know the way..

    Thank you.

  • Kim

    You would need to probe the pins on the PHY package with an oscilloscope or at least a volt-meter to see what voltage they are at.  You might find some pins in between logic levels due to a cross between a pullup on one part and a pulldown on another part being the default state during reset.

    If this is the problem then to work around you could have software turn the pins controlling the address on the MCU side into digital outputs, force the pins to a certain value to set the address, and then toggle the reset pin on the phy (but not the MCU) to make it latch them in again to known values.    I'd need to check the schematic though of the particular board to make sure this is all possible in particular not sure if the reset pin on the phy is hooked up to the MCU.  If not you might need to blue-wire it.

    Now that is just something to do if the pin voltage levels turn out to be the issue.  I'm not sure it is the issue in your case so I'd start by just checking the voltage at the pins during reset and if they're all at good logic levels then I'd just use these levels to figure out what the phy address is.