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: Tue, 18 Jun 2013 16:59:48 -0600 [thread overview]
Message-ID: <51C0E664.7060200@wwwdotorg.org> (raw)
In-Reply-To: <20130616103004.GA28222@manwe>
On 06/16/2013 04:30 AM, Thierry Reding wrote:
> 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.
Interesting. I see this exact same issue on Dalmore (Tegra114) with my
SD card reader too. I tried inserting a 1000ms delay at the end of
ehci_hcd_init() and that solves the problem for me too.
I already have 020bbcb "usb: hub: Power-cycle on root-hub ports"
reverted locally, although when I reverted it, IIRC there was a
conflict, so it's possible I just hacked around that and ended up
reverting all/part of 0bf796f "usb: hub: Parallelize power-cycling of
root-hub ports" too; see my branch at:
git://github.com:swarren/u-boot.git mainline_dev
... if you want to see the revert (about 8 commits down).
Another interesting aspect to this: An NVIDIA intern is trying to get
the Linux Tegra USB driver working on Tegra114. All the devices we've
tried except this SD card reader work fine with that driver, so
there's obviously something quirky with it. However, once I've run
"usb start" twice in U-Boot, or added the mdelay() to U-Boot and run
"usb start" once in U-Boot, then the kernel driver works with the
problematic SD card reader...
prev parent reply other threads:[~2013-06-18 22:59 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
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 [this message]
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=51C0E664.7060200@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