
Am 2014-04-30 23:09, schrieb Stephen Warren:
From: Stephen Warren swarren@nvidia.com
The TRM for Tegra30 and later all state that USBMODE_CM_HC must be set before writing to hostpc1_devlc to select which PHY to use for a USB controller. However, neither init_{utmi,ulpi}_usb_controller() do this today, so the register writes they perform for PHY selection do not work.
For the UTMI case, this was hacked around in commit 7e44d9320ed4 "ARM: Tegra: USB: EHCI: Add support for Tegra30/Tegra114" by adding code to ehci_hcd_init() which sets USBMODE_CM_HC and duplicates the PHY selection register write. This code doesn't cover the ULPI case, so I wouldn't be surprised if ULPI doesn't work with the current code, unless the ordering requirement only ends up being an issue in HW for UTMI not ULPI.
On Toradex Colibri T30, all USB, including USB2, are using the UTMI phy. I successfully tested this patchset on the Colibri T30 module (not yet in mainline U-Boot).
Tested-by stefan@agner.ch
-- Stefan