[U-Boot] AT91: USB and DCACHE issue (was: ELF_RELOC causes strange I-cache issues)

Hi,
But with DCACHE ON, the USB Stick is not found - maybe a timing problem:
TOP9000> dc off Data (writethrough) Cache is OFF TOP9000> usb reset (Re)start USB... USB: scanning bus for devices... 2 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
TOP9000> dc on Data (writethrough) Cache is ON TOP9000> usb reset (Re)start USB... USB: scanning bus for devices... ERROR: CTL:TIMEOUT 2 USB Device(s) found
scanning bus for storage devices... 0 Storage Device(s) found
TOP9000>
Reinhard
If the USB controller uses DMA, then the DCache issue probably has to do with making sure to flush the (relevant lines of) cache before memory-to-device DMAs and to invalidate the (again, relevant lines of) cache after device-to-memory DMAs.
Correct. Note that the EHCI driver already supports such a mode with d-cache enabled. You need to set CONFIG_EHCI_DCACHE to enable these cache handling functions.
AT91 uses OHCI. As far as I can tell there is no cache code in it. And I am not sure whether the USB RAM is cache inhibited. Do any other architectures work with DCACHE and OHCI?
Best Regards, Reinhard

On Thursday 21 October 2010 13:22:10 Reinhard Meyer wrote:
Correct. Note that the EHCI driver already supports such a mode with d-cache enabled. You need to set CONFIG_EHCI_DCACHE to enable these cache handling functions.
AT91 uses OHCI. As far as I can tell there is no cache code in it. And I am not sure whether the USB RAM is cache inhibited. Do any other architectures work with DCACHE and OHCI?
No, the OHCI code has no d-cache support right now. This needs to be added when used with d-cache enabled.
Cheers, Stefan
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de
participants (2)
-
Reinhard Meyer
-
Stefan Roese