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.

DP83640: The PHY status displayed by the switch is different from that displayed by the register

Part Number: DP83640

Hi all:

    I am working on the DP83640 PHY. Nowdays, I meet a problem that the PHY status displayed by the switch is different from that displayed by the register.

   The PHY status displayed by the switch is 100Mbs, Half duplex.

   1.  However,when I read the " PHY Status Register(10h)" from trm, the value of this reg is 4 which means the bit 2 "DUPLEX STATUS" is 1, in this case, I think the PHY is Full duplex.  In my project, I keep reading " PHY Status Register(10h)", and it's always 4.

   2. I find that default value of  BMCR register is 2100 which means 100Mbs and full duplex but Auto-Negotiation Disabled in default but why disable Auto-Negotiation? Are most phys like this?

    Could  anyone help me out?

  • Hello,

    It appears that auto-negotiation enabling is defaulted via strapping. It appears the PHY may be strapped into a force mode. The fact that there is no link established and the switch displays different settings tells me that the PHY is in a full duplex force mode while switch is in half duplex mode. Please turn on auto-negotiation and advertise all speeds and duplexes to rectify.

    Sincerely,

    Gerome

  • Thank you for your answer.

    Unfortunately, due to the hardware design, the force mode is fixed.

    Are there any ways to disable strapping? I mean whether I can write some registers to determine phy mode to shield hardware strapping?

    Li

  • Hello,

    PHY strapping is a way to load up initial configurations for the PHY. These settings can always be changed after the fact. There is no way to "shield" strapping or disabled them.

    Sincerely,

    Gerome

  • Hi:

        "These settings can always be changed after the fact."

        Does this mean that I can change work mode from force mode to normal mode through changing the register when PHY completes initialization and works normally?

    Thanks

    Li

  • Hi,

    Yes, strapping will only set default configurations, but if your application requires a different set of settings which override the strapping, then you can change in register writes accordingly.

    Sincerely,

    Gerome

  • Thank you Gerome