[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56E1C79D.3090104@synopsys.com>
Date: Thu, 10 Mar 2016 11:14:37 -0800
From: John Youn <John.Youn@...opsys.com>
To: Doug Anderson <dianders@...omium.org>,
Stefan Wahren <stefan.wahren@...e.com>
CC: Michael Niewoehner <linux@...ewoehner.de>,
Tao Huang <huangtao@...k-chips.com>,
Julius Werner <jwerner@...omium.org>,
"Greg Kroah-Hartman" <gregkh@...uxfoundation.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
John Youn <John.Youn@...opsys.com>,
Caesar Wang <caesar.upstream@...il.com>,
Heiko Stuebner <heiko@...ech.de>,
Felipe Balbi <balbi@...nel.org>,
Remi Pommarel <repk@...plefau.lt>
Subject: Re: [RFT PATCH 2/2] Revert "usb: dwc2: Fix probe problem on bcm2835"
On 3/9/2016 11:06 AM, Doug Anderson wrote:
> Stefan,
>
> On Wed, Mar 9, 2016 at 11:01 AM, Stefan Wahren <stefan.wahren@...e.com> wrote:
>>
>>> Doug Anderson <dianders@...omium.org> hat am 7. März 2016 um 22:30
>>> geschrieben:
>>>
>>>
>>> Stefan,
>>>
>>> On Mon, Mar 7, 2016 at 10:40 AM, Stefan Wahren <stefan.wahren@...e.com> wrote:
>>>> Hi Doug,
>>>>
>>>>> Douglas Anderson <dianders@...omium.org> 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.
>
> Great news! :-)
>
> John: it's pretty clear that there's something taking almost exactly
> 10ms on my system and almost exactly 50ms on Stefan's system. Is
> there some register we could poll to see when this process is done?
> ...or can we look at the dwc2 revision number / feature register and
> detect how long to delay?
>
Hi Doug,
I'll have to ask around to see if anyone knows about this. And I'll
run some tests on the platforms I have available to me as well.
Regards,
John
Powered by blists - more mailing lists