[U-Boot] [PATCH] usb: dwc2: Enhance interrupt handling for CONTROL transaction

Chin Liang See clsee at altera.com
Wed Jan 13 16:18:43 CET 2016


On Wed, 2016-01-13 at 03:58 +0100, Marek Vasut wrote:
> On Tuesday, January 05, 2016 at 05:16:05 PM, Marek Vasut wrote:
> > On Tuesday, January 05, 2016 at 04:51:47 PM, Chin Liang See wrote:
> > > On Tue, 2016-01-05 at 15:36 +0100, Marek Vasut wrote:
> > > > On Tuesday, January 05, 2016 at 06:00:04 AM, Chin Liang See
> > > > wrote:
> > > > > Per DesignWare USB OTG databook, driver should retry up to
> > > > > 3 times when transaction error (hcint.xacterr) happen. But
> > > > > the 3 times doesn't count when the response is nack
> > > > > (hcint.nak) or frame overrun (hcint.frmoverun)
> > > > > 
> > > > > This patch solved the enumeration error as spotted at socfpga
> > > > > cyclone5_socdk when plugging in certain pendrive.
> > > > > 
> > > > > Signed-off-by: Chin Liang See <clsee at altera.com>
> > > > > Cc: Marek Vasut <marex at denx.de>
> > > > > Cc: Dinh Nguyen <dinguyen at opensource.altera.com>
> > > > > Cc: Dinh Nguyen <dinh.linux at gmail.com>
> > > > > Cc: Pavel Machek <pavel at denx.de>
> > > > > Cc: Oleksandr Tymoshenko <gonzo at bluezbox.com>
> > > > > Cc: Stephen Warren <swarren at wwwdotorg.org>
> > > > > Cc: Alexander Stein <alexanders83 at web.de>
> > > > > Cc: Peter Griffin <peter.griffin at linaro.org>
> > > > 
> > > > I applied this change on top of u-boot-socfpga/master and
> > > > tested it
> > > > on
> > > > SoCFPGA CycloneV SoCDK with "Sandisk cruzer force" stick. The
> > > > board
> > > > gets
> > > > completely stuck if I have dcache ENABLED and perform 'usb
> > > > reset'.
> > > > This
> > > 
> > > > patch is:
> > > Thanks Marek for testing. I managed to find a SanDisk Cruzer
> > > Blade and
> > > notice the same fail behaviours as yours. FYI, note that this
> > > patch
> > > works well with other 3 pendrive that I have.
> > > 
> > > With SanDisk, the dwc2 driver was timed out as hcint.xfercomp and
> > > chhltd never get set even after 1s. It keep retrying endlessly
> > > due to
> > > miss handling for the ETIMEDOUT within this patch.
> > > 
> > > In short, the retry doesn't work for SanDisk but the dcache
> > > disable
> > > works. Need to figure out more what cause the failure.
> > 
> > Excellent, I have one of those too (I bought the entire lineup of
> > these
> > sandisk sticks at one point ;-) )
> 
> Hi, any news on the SoCFPGA USB/QSPI problem investigation? Thanks!
> 

I am still troubleshooting it. I played with few configuration within
L3 but not helping. This including avoiding multiple outstanding
transaction and security (allow both secure and non secure).

But all these issue will gone once dcache is off. I believe need to
visit the MMU table.

Thanks
Chin Liang

> Best regards,
> Marek Vasut


More information about the U-Boot mailing list