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.

DP83TD510E-EVM: AN (MMD7) registers return zero value

Part Number: DP83TD510E-EVM
Other Parts Discussed in Thread: USB-2-MDIO

Tool/software:

I have a setup with two DP83TD510E-EVM boards. Each of the boards has been connected to a laptop via Ethernet and USB. The two boards are connected via a short SPE cable. The link has been established, so I can ping between the two laptops.

Because I want to double check the transmit level and auto negotiation settings, I tried to read out the MMD7 registers 0x200 to 0x20F by using the USB-2-MDIO tool. However, all these registers return the value 0x0000.

Some other registers return non-zero values (e.g. the SQI register 0x872, which returns the value 0x0002), so the readout via the MSP430 seems to work.

I also tried the DIEP tool. However in the MDD field I only can select "1F", "03" or "01" but not "07". If I select "MDD = 1F" and fill in register 0200, then acronym "AN_CONTROL" appears, which seems to be correct. But here the read out value is also 0x0000. This applies to all registers in the 0x20x range. At least register 0x201 should have a non-zero value, because a link has been established.

How can I reliably read out the MMD7 registers via USB?

 

  • Hi Eelco,

    Can you clarify your extended register sequence?

    Here's a quick spot-check read for 0x200 on 510EVM:

    The expected default value is returned. Please confirm this sequence is being used for MMD7:

    0xd = 0x7

    0xe = <register address>

    0xd = 0x4007

    read 0xe to return <value @ register address>

    Manual extended register read should work as above when using USB-2-MDIO with "Extended Register" drop-down = "No".

    For DIEP, thank you for noting this issue. I will investigate and look to add MMD7.

    Best Regards,

    Evan

  • Hi Evan, thank you for your answer. The described procedure works for me.

    I assumed that with "Extended Register = Yes" the extended registers could be addressed directly (via MSP430). But do I understand right that only indirect addressing is supported (by using "Extended Register = No")?

    The strange thing is that direct addressing seems to work for certain other registers in the list. See the example below, with first indirect and second direct addressing of register 0x872. Or does this only work for a certain MDDx field?

  • Hi Eelco,

    This will depend on the MMD address space used.

    "Extended Register = Yes" is valid for direct access to registers in MMD1 and MMD1F spaces.

    The GUI applies the indirect access method on the back-end when enabling extended access, but USB-2-MDIO does not support MMD7 here.

    "Extended Register = No" should be used when applying the indirect register access method manually.

    I recommend using the indirect method as shown in Table 6-15 if there are any doubts for the register value returned.

    Thank you,

    Evan

  • Thank you for the clear answer. Issue solved.