
On 08/20/2012 01:59 PM, Lucas Stach wrote:
Am Montag, den 20.08.2012, 12:09 -0600 schrieb Stephen Warren:
On 08/19/2012 10:08 AM, Lucas Stach wrote:
With this series we are able to initialize USB controllers using an external ULPI phy AKA USB2 on Tegra 2 devices.
This was tested to work on a Toradex Colibri T20 board, where USB2 is used to access the ASIX ethernet chipset. Testing was done with "tegra20: usb: rework set_host_mode" applied. I did not spot any regressions on the UTMI ports.
Patchset is based on top of u-boot-tegra/next
Hmmm. I tried testing this on my local branch on Harmony, which has all the patches necessary for multiple USB ports to work, and indeed they do on Seaboard. However, this series (plus some Harmony-specific config and .dts changes) didn't cause the ULPI port to work:-( Any idea why?
Could you try the attached hack and report back? If it doesn't help please build with DEBUG defined in arch/arm/cpu/armv7/tegra20/usb.c drivers/usb/host/ehci-hcd.c and provide me the output of the usb start command.
Oops. I had forgotten to enable ULPI/ULPI_VIEWPORT config options.
Now that I do that, U-Boot hangs when enabling the ULPI transceiver. I see this with series v1, v1 plus the patch you included in the email I'm replying to, and v2.
In particular, if I printf every line, the printf before the following line appears, but not the one after it:
setbits_le32(&usbctlr->susp_ctrl, ULPI_PHY_ENB);
If I comment that out, then the code runs farther, eventually hanging inside ulpi_init(). Do you have any idea what's wrong?