I've modified the standard u-boot configuration under PetaLinux 2014.4 to include USB support, in order to use a plug-in device as a source for secondary boot file. All works well until I try to read from the USB device (I've tried several sticks and a USB HD) and all fail with the message:
"ECHI timed out on TD - token = <0xnnnnnnnn>"
I found some documentation that indicated this can happen with "older" USB devices, and it is necessary to change the u-boot code to compensate. I searched patch information and found a couple of files (usb.h and ehci-hcd.c) in the u-boot hierarchy that looked promising, but no matter how large I make the timeouts I get the same error and the read fails.
Has anyone been able to successfully read from a USB device from PetaLinux u-boot? Are there other files I should be looking to modify, or any more details on the changes required?
It turns out that the USB read does actually work for files up to about 5 MB. However, files larger than that approximate threshold end up with the ECHI timeout messages and the reads fail. I tried this with several different USB devices and the results are fairly consistent.
So it looks like this could be related to a buffer somewhere in the u-boot code?