[U-Boot] ELF_RELOC causes strange I-cache issues
Stefan Roese
sr at denx.de
Thu Oct 21 13:03:16 CEST 2010
On Thursday 21 October 2010 12:34:01 Albert ARIBAUD wrote:
> > 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.
> And I suggest we move this dcache issue to its own discussion thread.
Yes. This should be analysed/handled independently.
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 at denx.de
More information about the U-Boot
mailing list