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.

DP83822IF: RGMII mode connection to a switch, 100base-FX mode is not able to link

Part Number: DP83822IF

I have new design that I'm in the board bring-up phase with and I have some familiarity with the switch and this is my first design with the DP83822 PHY.  The PHY is pin strapped to work in 100base-FX mode and is connected to a 100mbs 1x9 optical module.

The design is using a comparator on the signal detect pin and it's working correctly as the datasheet mentions that the signal detect is active high.  With no fiber connected the SD signal is 0v with the fiber connected the SD is 2.4V.    The LED_0 pin is remaining high whether the fiber is connected or not.

I have access to read registers via the MDIO/MDC and I'm seeing that the bit[14] in the control register #2 0x000A is set. Bit[2] in the basic mode status register 0x0001 is never set with the fiber connected.  I'm starting to look in the datasheet to see if there are any other pertinent bits I should reading to help troubleshoot this. Any advice is welcome.

The basic mode control register 0x0000 is reading 0x3100 which indicates that bit[12] is set.  Should the Auto-Negotiation Enable bit be set with 100base-FX?

Any help is greatly appreciated.

  • Hi Bruce,

    Could you share a block diagram of your design? Are you facing any issues as of now?

    The LED_0 'Good Link' setting doesn't accurately describe the Fiber status and Bit[2] in Register 0x0001 only works for Copper, it will not tell you if Fiber link is up or not (as I'm sure you've noticed). When using Fiber Auto-neg doesn't make a difference, I tested it out with auto-neg both enabled and disabled. Setup was our 822 EVM with an SFP Module connected to a modem.

    Regards,

    Alvaro

  • The design I'm working on is a media converter that is using a 10/100 UTP port and a 1x9 100mbs Optical module.  The signal detect is going thru a comparator to the LED_1 PIN.  Have you tried 100Base-FX mode with RGMII?  the datasheet doesn't explicitly have it listed as working like it does for RMII.

    I am still facing a link issue with this board and help you can provide is greatly appreciated. 

  • I did notice that the  Bit[2] in Register 0x0001 did not reflect a link, but then again I didn't realize that it only works for Copper.  I' looked at the datasheet and I can't seem to find where a fiber link status is reported? any idea on that?

  • Hi Bruce,

    When I was doing the lab setup I came across the same question. I couldn't find anything either and need to consult more with my design team, please allow me another few days. Communication can be slow sometimes, I will reply by no later than Friday Sep 1st.

    Regards

    Alvaro

  • Hi Bruce!

    I did more testing in lab and confirmed the following:

    Register 0x0001 DOES Work for Fiber Link up

    However it requires a Soft Reset (Reg 0x1F = 4000) whenever the cable gets disconnected.

    Let me know if this works for you.

    Regards,

    Alvaro

  • Yes, that works for me.  I really appreciate your help with this.

  • Has anyone had success in getting RGMII mode to work with 100base-FX mode configuration?  The datasheet doesn't explicitly have it listed as working like it does for RMII.  With RMII it clearly specifies it.

  • Hi Bruce,

    I don't see why it wouldn't work, but I can try it out in lab on Tuesday. Sorry that I couldn't get to it today.

    Regards,

    Alvaro

  • Thank you and I appreciate your help with that

  • Hi Bruce,

    I was able to achieve Fiber Link up with the DP83822 using RGMII. By default the 822 was in MII mode, which works, and I also double checked RMII mode as well.

    Reg 0xA   = 4100 // Enables Fiber

    Reg 0x17 = 0241 // Enables RGMII

    Regards,

    Alvaro

  • Thank you, I will try that out and let you know what I find.  I can't tell you how much appreciate the help.  In the usual fashion at my company I'm putting out a fire and it will take me a few days to get back this project again.  I'll post with an update when I have one.

  • Sounds good Bruce, reach back whenever you have a chance.

  • Again, I want to start by thanking you for all your help with this problem.  I did add the two register writes that you had recomended and I read them back to confirm that the values took, which they did but I'm still not able to get a link.  The RGMII interface of the PHY is connected to a switch which we are still learning as well, the problem could be with that interface?  

    Is it true that the RGMII and analog front end of the PHY would show link status independent of eachother?  In otherwords if the the RGMII interface is not configured properly, would the analog front end still show a link? 

  • Hi Bruce,

    In Fiber MAC Side link could be independent of MDI Fiber link. But we know now that the 822 has fiber link detect issues.

    In my own testing I have noticed that:

    1. If the 822 is powered up with fiber cable connected, it will not detect link, even though link is good according to the Link Partner (an ethernet switch was used as the LP).
    2. If I disconnect and reconnect the fiber cable, the 822 will recognize link.
      1. There is an onboard LED that lights up when Link is up
      2. Reading Register 0x1 Bit 2 is another way to check link
    3. If the cable is disconnected again, the DP83822 will still say link is up.
      1. This is where writing Reg 0x1f=4000 (Soft-Reset) is necessary, it will recognize link is down.
      2. The DP83822 will recognize link again after reconnecting the cable after the Soft-Reset 

    I would recommend checking the Link Partner's link status (the switch in our Lab has an LED to indicate link). Checking the voltage level on Signal Detect would also be a good test to see if Link is up or not.

    [Edit] Please disregard Steps 1-3, the board I was using was faulty. On another board, the correct link status was obtained after a Soft-Reset, regardless of cable connection. 

    Regards,

    Alvaro

  • I'm digging into this deeper and I'm thinking that the layer 2 switch is not the problem.  I've looked at the RGMII TXC source clock from the switch and it's at the correct 25Mhz clock for 100mbs.  The DP83822IF PHY is sourcing the RGMII RXC clock at approx 68Mhz.  I thought the PHY might source a proper clock when a link is established, but I haven't been succussful in getting a link with a known good link partner.    Can the phy speed be forced in FX mode?

  • Hi Bruce!

    Yes, speed can be forced in Fiber. Below are the register writes to Force 100 Mbps.

    Register Write Value Remark
    0x0000 2100 Auto-Negotiation Disable, Speed Select = 100 Mbps
    0x0004 0101 Optional, de-advertises half duplex and 10 Mbps modes
    0x000A 4000 Enables Fiber
    0x0001F 4000 Soft-Reset

    Regards,

    Alvaro

  • Thank you so much for your help, forcing the speed actually worked in my application.  I was able to ping thru the board accross the optical link, we're done!

    Thanks again,