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.

DP83867CS: Invalid read data with multiple PHYs on MDIO bus

Part Number: DP83867CS

Hello,

We are having a similar issue on a custom board design as described in this post: https://e2e.ti.com/support/interface-group/interface/f/interface-forum/987883/dp83867cr-invalid-read-data-with-multiple-phys-on-mdio-busIn our design we are using a Zynq Ultrascale+ with three DP83867CS connected on a shared MDIO bus. There is a single pullup resistor (1.5 K)  on the MDIO net. DP83867CS devices are configured in SGMII mode. Data lanes are connected to the pins 27, 28, 35 and 36. Pins 33 and 34 are used for the strap configuarion.

PHY 0 has physical address 0, RX_D0 (pin 33) and RX_D1 (pin 34) are both unconnected.

PHY 1 has physical address 1. There is a 10k pullup resistor and 2.7k pulldown resistor on RX_D0 (pin 33) and RX_D1 is floating.

PHY 2 has physical address 2. There is a 5.6k pullup resistor and 2.7k pulldown resistor on RX_D0 (pin 33) and RX_D1 is floating.

VDDIO is 2.5 V.

After the power up phase the Zynq device drives the reset pin of every PHY independently and then it tries to read the PHY Identifier Registers (PHYIDR1 and PHYIDR2). PHY0 doesn't always answer.

See attached pictures.

SLIDE 1 shows the reset phase and the delay before accessing the MDIO registers of PHY0.

SLIDE 2 shows the 32 mdc idle clock cycles before starting the read request.

SLIDE 3 shows the read request and SLIDE 4 no answer from the PHY0. There are no undershooting or overshooting on the mdc clock, the zynq is configure with minimum slew rate.

Thank you for your help

  • Hi Alessandro,

    Could you please label each waveform on your scope? Are the PHYs connected to one another other than sharing the same MDIO bus?

    How are you powering the PHYs - are they all being powered through a single supply? Have you confirmed that they are all on?

    After the power up phase the Zynq device drives the reset pin of every PHY independently and then it tries to read the PHY Identifier Registers (PHYIDR1 and PHYIDR2). PHY0 doesn't always answer.

    Are you able to access the registers of PHY1 and PHY2 then? Can you read the values of registers 0x0000-0x001E?

    Best regards,

    Melissa

  • Hi Melissa, the yellow one is the MDC, the blue one is the MDIO, the purple one is the PHY0 reset and the green one is the PHY2 reset. I explain how our system works: after booting, the operating system (LINUX) scans the connected phys. It first issues a reset command to PHY0 and then it tries to read PHY0 identifier registers. Then It goes to PHY1 and the PHY2 with the same procedure. If one of the PHYs do not respond, that PHY doesn't exist per the Operating System so It is non configured and no other access can be made because it does non exist for the Operating System.

    Are you able to access the registers of PHY1 and PHY2 then? Can you read the values of registers 0x0000-0x001E?

    if the physical has been recognized, the register can be read, otherwise not because for the operating system 
    that physical does not exist and therefore does not allow access to a device that does not exist.

     

     
  • Hi Alessandro,

    How are the PHYs being powered? Is there enough current to support them? When operating in three-supply mode, the 1.8-V VDDA1P8 supply must be stable within 25 ms of the 2.5-V VDDA2P5 supply ramping up.

    Best regards,

    Melissa

  • Hi Melissa, thank you for your answer. We will check it.

     

    I’ll provide a feedback.

     

    Regards

     

    Alessandro

  • Hi Alessandro,

    No problem. 

    Best regards,

    Melissa

  • Hi Melissa, our HW engineer told me that we are using the device in two-supply mode, so 1.8V is not connected ad specified in the DS.

  • Hi Alessandro,

    Is there enough current to support them?

    Could you ask how much current/power is being supplied to each line on each PHY? I want to make sure all three devices have enough power to supply them.

    We have our power consumption requirements outlined in the datasheet and in this app note: DP83867E/IS/CS/IR/CR RGZ Power Consumption Data

    Best regards,

    Melissa

  • Hi Melissa, I’ll give you a feedback as soon as our HW engineer will report to me the data you have asked.

     

    Regards

     

    Alessandro