I have 4 ethernet devices (1 PHY - AR8035; and 3 Dual PHYs - DP83849IFVS) on my custom PCB board. ICs are controlled by SoC AM335x via MDIO bus. Previous revisions of the board worked fine. New revision on the other hand doesn't work. The only differense is that now MDIO bus connected to Dual PHYs (there was no such thing in the previous revisions), so 4 devices on the bus now. So the problem is that now Dual PHYs behave unstable - heavy packet loss, strange registers values etc... While debugging I've noticed that at first accidentally AR8035 PHY has the same PHY address as DP83849IFVS device, so the devices may have started to transmit simultaneously. Can that fact damage the devices? As far as I understand if the outputs are open-drain (which is my case) nothing can happen, the current will be just devided between two transistrs. Something bad can happen only if the outputs are push-pull. Am I right?
The MDIO bus is not open-drain, when a device transmits data, the pin will change to push-pull output.
So yes, it can cause damage, but as the outputs will not be constantly driving the pins to opposite logic states, there is less likely to be damage.
Fix the address on one of the PHYs to something different and check board operation.