[U-Boot-Users] usb problem

Rodolfo Giometti giometti at enneenne.com
Fri Apr 20 15:49:35 CEST 2007


On Thu, Apr 19, 2007 at 10:28:55AM -0700, kow9loon wrote:
> 
> At this point, we have not yet identified the location of the driver where
> it gets hung. Just everything got frozen once the 128 MB mark  was reached.

My problem was different one. I _never_ got my board frozen due USB
activity.

> By the way, where could I get hold of the patch from Rodolfos? I did a
> serach and followed the link provided by Rodolfos, but the link when
> NOWHERE. Did Rodolfos submitted his patches to be incorporated to the U-boot
> trunk? If he did, where could I get hold of his patches such that I could
> better understand it and try it out? Thank you in advance for your help. 

Here my patches:

commit a8c7af8c768d1ac657286b97952eb1e66b2dd2e0
Author: Rodolfo Giometti <giometti at linux.it>
Date:   Fri Mar 30 16:33:00 2007 +0200

    USB: (Another) delay for crappy USB keys.
    
    Some USB keys are slow in giving back an answer when the Root HUB enables
    power lines.
    
    Signed-off-by: Rodolfo Giometti <giometti at linux.it>

diff --git a/drivers/usb_ohci.c b/drivers/usb_ohci.c
index c5e4c38..f381c40 100644
--- a/drivers/usb_ohci.c
+++ b/drivers/usb_ohci.c
@@ -1178,7 +1178,9 @@ pkt_print(dev, pipe, buffer, transfer_len, cmd, "SUB(rh)", usb_pipein(pipe));
                                            WR_RH_PORTSTAT (RH_PS_PRS);
                                        OK (0);
                        case (RH_PORT_POWER):
-                                       WR_RH_PORTSTAT (RH_PS_PPS ); OK (0);
+                                       WR_RH_PORTSTAT (RH_PS_PPS );
+                                       wait_ms(100);
+                                       OK (0);
                        case (RH_PORT_ENABLE): /* BUG IN HUP CODE *********/
                                        if (RD_RH_PORTSTAT & RH_PS_CCS)
                                            WR_RH_PORTSTAT (RH_PS_PES );

---

commit 22bd6ed0e4b31a0d1060436893d7d03c6eb203fc
Author: Rodolfo Giometti <giometti at linux.it>
Date:   Tue Mar 6 11:32:04 2007 +0100

    USB: Delay for crappy USB keys.
    
    Signed-off-by: Rodolfo Giometti <giometti at linux.it>

diff --git a/common/usb.c b/common/usb.c
index 0857494..087a65f 100644
--- a/common/usb.c
+++ b/common/usb.c
@@ -61,7 +61,7 @@
 #ifdef USB_DEBUG
 #define        USB_PRINTF(fmt,args...) printf (fmt ,##args)
 #else
-#define USB_PRINTF(fmt,args...)
+#define USB_PRINTF(fmt,args...)        wait_ms(1) /* for crappy USB keys... */
 #endif
 
 #define USB_BUFSIZ     512

---

Ciao,

Rodolfo

-- 

GNU/Linux Solutions                  e-mail:    giometti at enneenne.com
Linux Device Driver                             giometti at gnudd.com
Embedded Systems                     		giometti at linux.it
UNIX programming                     phone:     +39 349 2432127




More information about the U-Boot mailing list