I ran into an issue similar to this thread that was never resolved : https://e2e.ti.com/support/interface-group/interface/f/interface-forum/929036/dp83867ir-dp83867-mdio-control-issue/3457065?tisearch=e2e-sitesearch&keymatch=dp83867%20mdio#3457065
This post is more of a note to help others with this issue and hopefully closeout the referenced thread. I had the exact same responses on a custom Zynq/petalinux board for MDIO port in which I would either get all zeroes in response to MDIO commands or get the same garbage response for all registers. I did not observe the bus contention noted previously.
I found that my board house had populated the wrong resistor for RBIAS. It was 18k instead of 11k. I subsequently found this troubleshooting guide https://www.ti.com/lit/an/snla246a/snla246a.pdf?ts=1621613710679. Note that it is VERY important that RBIAS is correct.
I also found an issue with my bootstrapping pins. RX_CTRL didn't get strapped and I couldn't get the PHY link to come up until I cleared the INT_TEST bit in register 0x31. Make sure to boot strap that pin! Note that U-boot 2020.1 does not come with drivers for the DP83867 but you can add them in petalinux configuration and the link will come up automatically at linux boot.