As part of the CVA6 project we're working on we did an ethernet implementation as part of adding a machine to emulate the FPGA build.
As part of this, we've done an MDIO bit-bang decoder which might be useful (although we can get by with just the ethernet MAC part)