[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