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

Reinhard Meyer u-boot at emk-elektronik.de
Thu Oct 21 13:22:10 CEST 2010


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




More information about the U-Boot mailing list