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.

DP83867ERGZ-R-EVM: MDIO being pulled low

Part Number: DP83867ERGZ-R-EVM


1>  I can read from the DP83867 dev board with the MSP430 at VDDIO down to about 2.2V but below that it does not work?  I have removed R74 on the EVM and the 3V3 jumper on the LaunchPad and provided separate adjustable VDDIO to J7 on the EVM and the 3V3 pin on the LaunchPad.

The error is "Error! Device not connected!" but I can see the correct signals on my logic analyser.

At about the same threshold, reading from my micro gets strange results.  On the analyser it appears that the DP83867 is getting clock edges that are  not there and data is changing before it should.

2>  I am trying to share I2C and MDIO on the same pins.

When my micro boots, it can read/write the I2C and read the DP83867 but after that the MDIO line is stuck high or low, held by the DP8367 and I cannot communicate with the I2C devices.

How can I get the DP83867 to release MDIO at the end of read??

I hope the 2 questions in one thread is acceptable, if not I am happy to separate them.

  • Ok, so I can read the registers from the DP83867 down to 1.8V with my own bit-bang code as long as I remove power from the I2C devices. So my code and the 83867 seem to be OK. I can use this workaround as the DP83867 and micro are on a breakout board connected to the board with the I2C devices by a flex.

    I am getting the idea that I will have to keep the I2C and MDIO separate in the future.

    I still need to know how to get the DP83867 to release the MDIO (SDA) line so that I can work with the I2C devices after configuring the DP83867.
    There is no strapping on the DP83867 as we thought we would be able to configure it using MDIO.
  • Hi Ian,

    Yes, it is a limitation of the micro and not the PHY.
    For your workaround, you just diconnected I2C or added a line of code to disable I2C?

    MDIO is not driven by the 867 unless you address it. There is a pull-up resistor on MDIO, you sure it is not that pull-up you are seeing?
    The 867 will not hold the line.
  • Ross
    The problem occurs after I have read from the 867. I am sure that it is holding the line in that situation as my micro is trying to poll the I2C devices and the data line is flat until I pull the MDIO (SDA) wire from my breadboard to the 867 dev board and then it all works normally.
  • Hi Ian,

    The 867 will only pull the line LOW when it is responding to a request.
    Otherwise, the external pull-up resistor will hold the line HIGH.