[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