Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753221AbcCJTO6 (ORCPT ); Thu, 10 Mar 2016 14:14:58 -0500 Received: from us01smtprelay-2.synopsys.com ([198.182.47.9]:50210 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752543AbcCJTOu (ORCPT ); Thu, 10 Mar 2016 14:14:50 -0500 Subject: Re: [RFT PATCH 2/2] Revert "usb: dwc2: Fix probe problem on bcm2835" To: Doug Anderson , Stefan Wahren References: <1457115786-11370-1-git-send-email-dianders@chromium.org> <1457115786-11370-2-git-send-email-dianders@chromium.org> <1400647253.149212.b3bb45b6-c852-4cf1-9d3e-9fb299176369.open-xchange@email.1und1.de> <941828343.8833.cdbd40c7-e6f4-4b3e-9665-30fc6680f6e0.open-xchange@email.1und1.de> From: John Youn CC: Michael Niewoehner , Tao Huang , Julius Werner , "Greg Kroah-Hartman" , "linux-kernel@vger.kernel.org" , "linux-usb@vger.kernel.org" , John Youn , Caesar Wang , Heiko Stuebner , Felipe Balbi , Remi Pommarel Message-ID: <56E1C79D.3090104@synopsys.com> Date: Thu, 10 Mar 2016 11:14:37 -0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [10.10.161.112] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2235 Lines: 67 On 3/9/2016 11:06 AM, Doug Anderson wrote: > Stefan, > > On Wed, Mar 9, 2016 at 11:01 AM, Stefan Wahren wrote: >> >>> Doug Anderson hat am 7. März 2016 um 22:30 >>> geschrieben: >>> >>> >>> Stefan, >>> >>> On Mon, Mar 7, 2016 at 10:40 AM, Stefan Wahren wrote: >>>> Hi Doug, >>>> >>>>> Douglas Anderson 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