
On Wednesday, May 14, 2014 at 07:26:36 PM, Stephen Warren wrote:
On 05/01/2014 10:47 PM, Marek Vasut wrote:
On Thursday, May 01, 2014 at 06:56:24 PM, Stephen Warren wrote:
On 05/01/2014 04:49 AM, Marek Vasut wrote:
On Wednesday, April 30, 2014 at 11:09:55 PM, Stephen Warren wrote:
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.
This patch fixes init_{utmi,ulpi}_usb_controller() to correctly set USBMODE_CM_HC before selecting the PHY. Now that this works, we can remove the duplicate UTMI-specific code in ehci_hcd_init(), thus simplifying that function.
This doesn't apply on u-boot-usb/master , so I cannot pick this, sorry .
Applied, thanks.
Best regards, Marek Vasut