Re: [RFT PATCH 2/2] Revert "usb: dwc2: Fix probe problem on bcm2835"

From: Stefan Wahren
Date: Wed Mar 09 2016 - 14:02:57 EST



> Doug Anderson <dianders@xxxxxxxxxxxx> hat am 7. MÃrz 2016 um 22:30
> geschrieben:
>
>
> Stefan,
>
> On Mon, Mar 7, 2016 at 10:40 AM, Stefan Wahren <stefan.wahren@xxxxxxxx> wrote:
> > Hi Doug,
> >
> >> Douglas Anderson <dianders@xxxxxxxxxxxx> hat am 4. MÃrz 2016 um 19:23
> >> geschrieben:
> >>
> >>
> >> This reverts commit 192cb07f7928 ("usb: dwc2: Fix probe problem on
> >> bcm2835") now that we've found the root cause. See the change
> >> titled ("usb: dwc2: Add a 10 ms delay to dwc2_core_reset()").
> >
> > adding a delay of 10 ms after a core reset might be a idea, but applying
> > both
> > patches breaks USB support on RPi :-(
> >
> > I'm getting the wrong register values ...
>
> Ugh. :(
>
> Just out of curiosity, if you loop and time long it takes for the
> registers to get to the right state after reset, what do you get?
> AKA, pick:
>
> https://chromium-review.googlesource.com/331260
>
> ...and let me know what it prints out.

On my Raspberry Pi B i get the following:

[ 2.084411] dwc2 20980000.usb: mapped PA 20980000 to VA cc880000
[ 2.084461] dwc2 20980000.usb: cannot get otg clock
[ 2.084549] dwc2 20980000.usb: registering common handler for irq33
[ 2.084713] dwc2 20980000.usb: Configuration mismatch. dr_mode forced to host
[ 2.153965] dwc2 20980000.usb: Waited 49996 us, 0x00201000 => 0x01001000,
0x00000000 => 0x02002000
[ 2.174930] dwc2 20980000.usb: Forcing mode to host

So i changed the delay in patch #1 to msleep(50) and then both patches work like
a charm.

Stefan