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.

DP83867CR: 100BASE-TX design with Zynq

Part Number: DP83867CR

Hello,

I am working on a design based on Xilinx's reference design. I want to replace the Marvell PHY in that design with DP83867CR.

Due to some constraints, the design requires 100BASE-TX. Below is the PHY section of the schematics.

VCCMIO is 1.8V. I have used the two supply configuration to avoid power sequencing issues mentioned in data sheet. Power up  sequence is  1.0V->1.8V->2.5V per Zynq's PUP sequencing requirements.

I omitted surge protection in this diagram but it will be added later.

I would appreciate your feedback on the diagram above (is it OK? Is there something missing?)

I have another question, software related. I saw in another topic ( second post of ) about auto-negotiation being disabled. Does Linux driver support this? Is some configuration or modification required to do it or the driver takes care of it when it is  loaded? I am asking this because we try to rely on available software and keep it as pristine as possible to avoid maintenance nightmares.

Thank you in advance.

  • Hi, just following up, no clue on the subject?

    Some additional questions:

    1- Is the magnetics connection OK? No termination required on the transformer side? I followed the data sheet/design reference but they are based on t 1Gbps transformer while my design requires a 100Mbps transformer.

    2- About the auto-negotiation question, can it be done through the straps?

    3- Is there a preferred PHY address?

    Again, thanks in advance

  • Hello Elder,

    Is this system always going to be 100Base-TX application? If yes, then why not use a 100Base-TX PHY? We have DP83822 which is our latest 10M/100M PHY. Which Xilinx reference design are you using?

    For this schematic,
    1. Check that R1 resistor is 1% tolerance.
    2. Do Not Populate(DNP) R5 resistor on crystal circuit. Leave footprint for debug.
    3. Add strap resistor on RX_CTRL to strap in mode 3.
    4. DNP R2 resistor.

    Power sequencing should not be an issue in your case. You can definitely use software to disable 1G advertisement so that your application will only link up in 100M or 10M mode. Linux driver is capable of accessing register but it will not modify register automatically. You would have to create your own software which uses the Linux Driver to modify the required registers.

    Magnetics connection is ok. Termination resistors are not required for DP83867.

    Auto-negotiation can be disable through straps but you will still have to perform register writes to force speed to 100M. Another option is to do what I mentioned above, to disable 1G advertisement via software and keeping auto-neg ON.

    There is not preferred PHY address, you can use any address from the valid range.

    -Regards,
    Aniruddha
  • Hi, Aniruddha

    First of all, thank you very much for your response.

    The reference design is XTP 185-ZC102 v.1.0.

    About DP83822, I will take a look. I see it is supported on Linux as well. The problem is I will have to spend some time to understand how to adapt it to our application and I am in a rush. Still it may be an option.

    About the phrase "Auto-negotiation can be disable through straps but you will still have to perform register writes to force speed to 100M. Another option is to do what I mentioned above, to disable 1G advertisement via software and keeping auto-neg ON", do you mean strapping to mode 3? So, if I force it into mode 3, I may be able not to change driver or configure it by software? If so, that will be certainly my approach to avoid dealing with the software.

    Once again, thank you for your support.

    Elder.
  • Hello, Aniruddha

    Another question: do you know if there is a U-BOOT driver for DP83822?
  • Hi Elder,

    If you strap RX_CTRL in mode 3, auto-negotiation will be on and in mode 4 auto-negotiation will be off. You can change this via software after power-up irrespective of the strap setting. However, straps are sampled on every power-up and reset. So the software register settings will be wiped off and you will have to do it again.

    If you are sure that your DP83867 system will always be connected to a 10/100M link partner, then you can simplify your design by strapping RX_CTRL in mode 3 and no force speeds. In this case DP83867 will advertise all three speeds: 1000M, 100M, and 10M. But the link partner will always be 10/100M. So the link will always resolve in 100M or 10M. If you have no control over the link partner then I would recommend RX_CTRL in mode 3 (auto-neg ON) and disabling 1000M speed advertisement via software.

    -Regards,
    Aniruddha