diff options
author | Stephen Warren <swarren@nvidia.com> | 2014-04-30 15:09:55 -0600 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2014-05-15 00:21:17 +0200 |
commit | 9b20fe6f1affdfc7441481dc0acb55eadd80134f (patch) | |
tree | d5f594acdc8e9509dda572fe3e125cf0303931e7 /lib | |
parent | 4180b3dba25c2c28cc4502f1c9f1cbad2a9972b8 (diff) | |
download | u-boot-imx-9b20fe6f1affdfc7441481dc0acb55eadd80134f.zip u-boot-imx-9b20fe6f1affdfc7441481dc0acb55eadd80134f.tar.gz u-boot-imx-9b20fe6f1affdfc7441481dc0acb55eadd80134f.tar.bz2 |
usb: tegra: fix PHY selection code
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.
Cc: Jim Lin <jilin@nvidia.com>
Cc: Stefan Agner <stefan@agner.ch>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions