Hello, I wrote:
I'm trying to implement support for USB host into u-boot. I initialized the USB controller just as linux does, the EDs and the TDs look like good in memory but the controller seems not well reading them and on the bus I see random USB messages...
I think that there could be some problem on memory coherency... some suggestion?
try to disable USB controller's DMA coherency in the USB enable register (there's a related errata in all Au1xx0 family) -- the Linux driver doesn't do this though, and this shouldn't matter unless you're modifying USB buffers on the fly. :-)
AND make sure every buffer/TD/ED is written back / invalidated from cache before the OHCI accesses them since the cache coherency on Au1xx0 is b0rken!
WBR, Sergei