
Dear Zang Roy-R61911,
The patch "[PATCH V2] MPC8xxx: Define cache ops for USB" wasn't applied yet for some reason. It fixes the issue.
Hi, Marek
When I build P5020DS_config with the current u-boot head, I got: /home/roy/CVS/upstream/u-boot/drivers/usb/host/ehci-hcd.c:346: undefined reference to `flush_dcache_range' /home/roy/CVS/upstream/u-boot/drivers/usb/host/ehci-hcd.c:348: undefined reference to `flush_dcache_range' /home/roy/CVS/upstream/u-boot/drivers/usb/host/ehci-hcd.c:349: undefined reference to `flush_dcache_range' /home/roy/CVS/upstream/u-boot/drivers/usb/host/ehci-hcd.c:372: undefined reference to `invalidate_dcache_range' /home/roy/CVS/upstream/u-boot/drivers/usb/host/ehci-hcd.c:374: undefined reference to `invalidate_dcache_range' /home/roy/CVS/upstream/u-boot/drivers/usb/host/ehci-hcd.c:376: undefined reference to `invalidate_dcache_range' /home/roy/CVS/upstream/u-boot/drivers/usb/host/ehci-hcd.c:386: undefined reference to `invalidate_dcache_range' make: *** [u-boot] Error 1
I found it was caused by your commit :
commit b8adb12095814260d2b5edb23663ddf0ab97b877 Author: Marek Vasut marex@denx.de Date: Mon Apr 9 04:07:46 2012 +0200
USB: Drop cache flush bloat in EHCI-HCD Discard the creepy cache flushing mechanisms in ehci-hcd.c and replace
them more straightforward flushing. In the new approach, the flushing takes place directly in ehci_submit_async() call instead of going through the QH list an flushing all members and buffers. This discards a lot of weird bit operation on the members of QH and qTD structures.
NOTE: Certainly, this flushes even qTDs which are possibly unused in
some transactions, though the overhead of the previous code was much higher than the overhead of flushing two more cache lines (which most probably aren't ev cached).
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Do you have any comment? Your commit will break all 85xx platforms with USB controller. Thanks Roy
Best regards, Marek Vasut