[U-Boot] [PATCH v2 1/3] ARM: Tegra: FDT: Add USB EHCI function for T30/T114

Marek Vasut
2013-06-15T21:28:25Z

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.

Best regards,
Marek Vasut