Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933975AbcCITG2 (ORCPT ); Wed, 9 Mar 2016 14:06:28 -0500 Received: from mail-vk0-f53.google.com ([209.85.213.53]:34608 "EHLO mail-vk0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933901AbcCITGT convert rfc822-to-8bit (ORCPT ); Wed, 9 Mar 2016 14:06:19 -0500 MIME-Version: 1.0 In-Reply-To: <941828343.8833.cdbd40c7-e6f4-4b3e-9665-30fc6680f6e0.open-xchange@email.1und1.de> 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> Date: Wed, 9 Mar 2016 11:06:17 -0800 X-Google-Sender-Auth: MtqBUNlKwaRvZ181kl1fkKUWQFg Message-ID: Subject: Re: [RFT PATCH 2/2] Revert "usb: dwc2: Fix probe problem on bcm2835" From: Doug Anderson To: Stefan Wahren 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 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1978 Lines: 57 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?