Hi -

We recently updated our U-Boot release to v2016.11 and now our USB devices 
don't work.  When usb start is executed with a device inserted it hangs at 
'scanning bus 0 for devices...' and doesn't recover.  Our product uses an NXP 
T2081 and I can reproduce this issue on the T2080RDB development board using 
the tip of U-Boot.  For testing I am using both an EMTEC 16GB USB thumb drive 
and an Edimax Fast Ethernet adapter.  The code always hangs at 
drivers/usb/host/ehci-hcd.c:557 in ehci_submit_async, just before the call to 
handshake.


I have traced the issue to 'Commit cb1629f91a48 powerpc: Disable flush or 
invalidate dcache by range for some SoCs', which is prior to the v2016.07 
release.  Commit ac337168ad81 mentioned in this patch removes the original 
empty functions for the MPC85xx (and others), allowing the functions to be 
used, but I don't know how they would have worked before this.


Either reverting cb1629f91a48 or adding '|| defined(MPC85xx) ' to the #if 
statements makes usb work again.


diff --git a/arch/powerpc/lib/ppccache.S b/arch/powerpc/lib/ppccache.S
index 66cf02dbd0..ad28c7c369 100644
--- a/arch/powerpc/lib/ppccache.S
+++ b/arch/powerpc/lib/ppccache.S
@@ -65,7 +65,7 @@ ppcSync:
 * flush_dcache_range(unsigned long start, unsigned long stop)
 */
_GLOBAL(flush_dcache_range)
-#if defined(CONFIG_4xx) || defined(CONFIG_MPC86xx)
+#if defined(CONFIG_4xx) || defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx)
       li      r5,L1_CACHE_BYTES-1
       andc    r3,r3,r5
       subf    r4,r3,r4
@@ -89,7 +89,7 @@ _GLOBAL(flush_dcache_range)
 * invalidate_dcache_range(unsigned long start, unsigned long stop)
 */
_GLOBAL(invalidate_dcache_range)
-#if defined(CONFIG_4xx) || defined(CONFIG_MPC86xx)
+#if defined(CONFIG_4xx) || defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx)
       li      r5,L1_CACHE_BYTES-1
       andc    r3,r3,r5
       subf    r4,r3,r4

Do you have any thoughts on this before I submit the patch?


Cheers,

Tony O'Brien
Senior Software/Hardware Engineer
Allied Telesis Labs
27 Nazareth Avenue
Christchurch 8024
New Zealand
Ph: +64-3-339 3000
DDI: +64-3-339 9210
Web: http://AlliedTelesis.com


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to