Thanks for the OSHW/SW!
How do you find the efficiency / performance / throughput is using the ESP32 ethernet controller / MAC with the external PHY you have selected?
Do you recall what other interfaces of the ESP32 are subsequently impossible to use because of pin contention when using the RMII interface and talking to the PHY presumably by some kind of GPIO / MDIO etc.?
I didnt stress-tested much, except just various icmp test-patterns (usually it is enough to find issues on low level stack), including flood ping. Pulled about 30GB both direction without any error, which means i am withing specs for BER.
Can't recall exactly, but on other project i had issues with way less pleasant routing for other PHY, maybe IP101?. This board likely wont pass EMI tests as it is 2 layer and because of that routing is more painful if board is more populated than this minimal design. But anyway, it is still 100Mbit, so it is very forgiving
Main trick with ESP32 is how PHY can be clocked, as there is several configurations possible.
1)We clock PHY by crystal, then we feed ESP32 to GPIO0 which i consider not really great by multiple reasons (BOM, GPIO0 need to be routed for programming pin so impedance will suffer, etc etc)
2)Use GPIO16, i was getting out of phase issues sometimes.
3)GPIO17 as i did, phase issues seems corrected by inverted clock, downside that this pin might be used by PSRAM in some modules.