[U-Boot] [PATCH 3/3] omap3_beagle: enable EHCI and USB storage.

Alexander Holler holler at ahsoftware.de
Thu May 26 17:41:03 CEST 2011


Am 26.05.2011 13:30, schrieb Christian Spielberger:
> Hi Alexander Holler,
>
> is EHCI on omap3 already working?
>
> On my beagleboard xM
>
> usb start
>
> hangs at this position in method ehci_hcd_init:
>
> + /* perform TLL soft reset, and wait until reset is complete */
> + writel(OMAP_USBTLL_SYSCONFIG_SOFTRESET,
> + OMAP3_USBTLL_BASE + OMAP_USBTLL_SYSCONFIG);

It works on a normal BeagleBoard (720 MHz). On the XM it seems you have 
either move the initialization of the usb-clocks a bit upwards (e.g. 
before the reset of the phy) or you have to add a check if the clock 
runs after it was initialized (before that writel). The XM seems to be 
too fast and the peripheral-clock isn't ready when that writel wants to 
write to the peripheral-register, therefor it hangs there on a XM.

But even than USB doesn't seem to work on a BeagleBoard XM (at least 
some people told me so). I don't have a XM, so I can't help more there. 
It might be a problem with (a needed reset of) the HUB which is included 
on the XM, I don't know.

And a side note: don't try a kernel compiled with gcc 4.6 on the 
BeagleBoard. EHCI on the OMAP3 doesn't come up here when the kernel is 
compiled with gcc 4.6. That seems to be specific to OMAP, I don't have 
those problems on other ARM hw (I use successfull e.g. EHCI on some 
armv5 devices with kernels which are compiled with gcc 4.6).When I 
compile the same kernel using gcc 4.5.2 I have no problems with EHCI on 
the BeagleBoard. Haven't investigated that further.

Regards,

Alexander


More information about the U-Boot mailing list