From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodolfo Giometti Date: Fri, 20 Apr 2007 15:49:35 +0200 Subject: [U-Boot-Users] usb problem In-Reply-To: <10082723.post@talk.nabble.com> References: <10066981.post@talk.nabble.com> <87k5w8695m.fsf@denx.de> <10082723.post@talk.nabble.com> Message-ID: <20070420134935.GB4619@enneenne.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 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 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 Date: Tue Mar 6 11:32:04 2007 +0100 USB: Delay for crappy USB keys. Signed-off-by: Rodolfo Giometti 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