If I press the ENET RESET button on a ZCU102 (resetting the PHY) I can see the ETH0 link going down and back up on Linux (as expected).
The problem is that after this I cannot ping my host machine anymore. It looks like some PHY initialization is missing.
The ENET_REST (PHY reset) button provided on a ZCU102 should be used to reset the PHY during the initialization sequence, but not for runtime reset.
Whenever there is a PHY reset, it enters 10 mbps half duplex and auto negotiation is disabled. This is NOT propagated to Linux, therefore the connection is lost until the next PS_POR_B.