public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 1/3] ARM: Tegra: FDT: Add USB EHCI function for T30/T114
Date: Mon, 17 Jun 2013 15:16:46 -0600	[thread overview]
Message-ID: <51BF7CBE.4090607@wwwdotorg.org> (raw)
In-Reply-To: <201306172239.12320.marex@denx.de>

On 06/17/2013 02:39 PM, Marek Vasut wrote:
> Dear Thierry Reding,
> 
>> On Sun, Jun 16, 2013 at 10:48:45PM +0200, Marek Vasut wrote:
>>> Dear Thierry Reding,
>>>
>>>> On Sat, Jun 15, 2013 at 11:28:25PM +0200, Marek Vasut wrote:
>>>>> Dear Thierry Reding,
>>>>>
>>>>>> On Fri, Jun 14, 2013 at 06:41:40PM +0800, Jim Lin wrote:
>>>>>> [...]
>>>>>>
>>>>>>> diff --git a/board/nvidia/dts/tegra30-beaver.dts
>>>>>>> b/board/nvidia/dts/tegra30-beaver.dts
>>>>>>
>>>>>> [...]
>>>>>>
>>>>>>> @@ -68,4 +69,9 @@
>>>>>>>
>>>>>>>  		status = "okay";
>>>>>>>  		bus-width = <8>;
>>>>>>>  	
>>>>>>>  	};
>>>>>>>
>>>>>>> +
>>>>>>> +	usb at 7d008000 {
>>>>>>> +		nvidia,vbus-gpio = <&gpio 61 3>; /* PH5,
>>>
>>> USB13_VBUS_PULLUP */
>>>
>>>>>> This doesn't work for me on Beaver. I need to turn the above line
>>>>>> into
>>>>>>
>>>>>> this:
>>>>>> 	nvidia,vbus-gpio = <&gpio 236 0>; /* PDD4 */
>>>>>>
>>>>>> PDD4 is the correct GPIO according to the schematics and the pin is
>>>>>> high-active. Also as far as I can tell, 3 is not a meaningful value
>>>>>> for the U-Boot GPIO bindings. Only the value 1 (low-active) is
>>>>>> used.
>>>>>>
>>>>>> With that change applied on top of your patches I can see that a
>>>>>> USB flash drive connected to USB3 is indeed powered. However I
>>>>>> noticed
>>>>>>
>>>>>> something strange. When I try to use USB, I get this:
>>>>>> 	Tegra30 (Beaver) # usb start
>>>>>> 	(Re)start USB...
>>>>>> 	USB0:   set_host_mode: GPIO 236 high
>>>>>> 	USB EHCI 1.00
>>>>>> 	scanning bus 0 for devices... 1 USB Device(s) found
>>>>>> 	
>>>>>> 	       scanning usb for storage devices... 0 Storage Device(s)
>>>>>> 	       found scanning usb for ethernet devices... 0 Ethernet
>>>>>> 	       Device(s) found
>>>>>>
>>>>>> So no storage device is detected, even though a USB flash drive is
>>>>>> connected and powered properly. If I repeat the same command,
>>>>>> however,
>>>>>>
>>>>>> the storage device is detected:
>>>>>> 	Tegra30 (Beaver) # usb reset
>>>>>> 	(Re)start USB...
>>>>>> 	USB0:   set_host_mode: GPIO 236 high
>>>>>> 	USB EHCI 1.00
>>>>>> 	scanning bus 0 for devices... 2 USB Device(s) found
>>>>>> 	
>>>>>> 	       scanning usb for storage devices... 1 Storage Device(s)
>>>>>> 	       found scanning usb for ethernet devices... 0 Ethernet
>>>>>> 	       Device(s) found
>>>>>>
>>>>>> Any idea what might be going on here?
>>>>>
>>>>> Try waiting a little after setting the GPIO maybe? The drive might
>>>>> need some time to settle.
>>>>
>>>> I can make it work on the first invocation of "usb start" by adding a
>>>> rather long mdelay() at the very end of ehci_hcd_init() in the Tegra
>>>> EHCI driver. The magic value seems to be 853 ms. 852 ms wasn't enough
>>>> in any of the test runs. 853 ms always worked.
>>>>
>>>> However 850+ ms seems like a very long time for the device to settle,
>>>> and keeping it in the driver probably isn't a good idea. Furthermore I
>>>> cannot reproduce the same issue with a newer flash drive, which works
>>>> fine with no additional delays.
>>>
>>> Try reverting 020bbcb "usb: hub: Power-cycle on root-hub ports" ...
>>> there's a thread in the ML that it caused issues.
>>
>> I reverted the following two patches:
>>
>> 	0bf796f usb: hub: Parallelize power-cycling of root-hub ports
>> 	020bbcb usb: hub: Power-cycle on root-hub ports
>>
>> because it wasn't trivial to revert only 020bbcb alone. However it
>> didn't change anything regarding the problem I was seeing.
>>
>> Thierry
> 
> Ok, this looks ugly and calls for a bisect. Can you check it ? I'll try to test 
> if USB works for me on some EHCI-enabled device.

The problem is definitely caused by 020bbcb "usb: hub: Power-cycle on
root-hub ports"; I reverted just that locally and it fixed my problems.

  reply	other threads:[~2013-06-17 21:16 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-14 10:41 [U-Boot] [PATCH v2 1/3] ARM: Tegra: FDT: Add USB EHCI function for T30/T114 Jim Lin
2013-06-14 10:41 ` [U-Boot] [PATCH v2 2/3] ARM: Tegra: USB: EHCI: Add support for Tegra30/Tegra114 Jim Lin
2013-06-14 10:41 ` [U-Boot] [PATCH v2 3/3] Tegra: Config: Enable Tegra30/Tegra114 USB function Jim Lin
2013-06-14 19:31 ` [U-Boot] [PATCH v2 1/3] ARM: Tegra: FDT: Add USB EHCI function for T30/T114 Thierry Reding
2013-06-15 12:38   ` Marek Vasut
2013-06-15 19:46 ` Marek Vasut
2013-06-17  3:07   ` Jim Lin
2013-06-17 10:31   ` Thierry Reding
2013-06-15 21:25 ` Thierry Reding
2013-06-15 21:28   ` Marek Vasut
2013-06-16 10:30     ` Thierry Reding
2013-06-16 20:48       ` Marek Vasut
2013-06-17 10:23         ` Thierry Reding
2013-06-17 20:39           ` Marek Vasut
2013-06-17 21:16             ` Stephen Warren [this message]
2013-06-18 11:29               ` Marek Vasut
2013-06-18 15:35                 ` Stephen Warren
2013-06-18 10:58             ` Thierry Reding
2013-06-18 11:28               ` Marek Vasut
2013-06-18 15:34               ` Stephen Warren
2013-06-18 22:59       ` Stephen Warren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51BF7CBE.4090607@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox