by tnt » Thu Jul 16, 2015 9:27 am
I'm still wondering why you even think the fix would be software ...
AFAICT everything points to a hardware issue. The design isn't at fault, it _should_ work according to the datasheet of the zynq and the ulpi phy. But sometimes it doesn't ... which could be due to either the ZYNQ or to the PHY not behaving. The workaround in this thread is to hold the phy reset line longer, but no amount of software can accomplish that because that line is just not controllable by software !
And speaking of USB issue, I'd like to point out the RPi has plenty of those too ! I use one has a console server to access USB serial console and it fails half the time (and yeah, it's using a powered hub, and an industrial 5V power supply so not a power issue). Even just doing a while true; do lsusb; done will inevitably end up in a crash.