u-boot-brain/drivers/usb/host
Stephen Warren 9b20fe6f1a 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 7e44d9320e "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>
2014-05-15 00:21:17 +02:00
..
ehci-armada100.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-atmel.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-exynos.c exynos: usb: Fix data abort on boards w/o vbus-gpio node in the DT 2014-04-30 10:30:57 +02:00
ehci-faraday.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-fsl.c fsl/usb: Increase TXFIFOTHRESH value for usb write in T4 Rev 2.0 2014-04-22 17:58:49 -07:00
ehci-hcd.c usb: Add endian support macros to interrupt transfers in the EHCI driver. 2014-04-30 10:30:56 +02:00
ehci-marvell.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-mpc512x.c powerpc/usb:Differentiate USB controller base address 2013-10-24 09:35:09 -07:00
ehci-mx5.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-mx6.c usb: ehci-mx6: add support for otg port 2013-10-20 23:46:33 +02:00
ehci-mxc.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-mxs.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-omap.c usb: ehci-omap: Reset the USB Host OMAP module 2013-12-06 07:02:32 -05:00
ehci-pci.c usb: ehci-pci: Clarify and cleanup the EHCI controller detection 2013-12-18 19:53:19 +01:00
ehci-ppc4xx.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-rmobile.c usb: ehci: rmobile: Add support ehci host driver of rmobile SoCs 2014-04-30 10:30:56 +02:00
ehci-spear.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-tegra.c usb: tegra: fix PHY selection code 2014-05-15 00:21:17 +02:00
ehci-vct.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci.h usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
isp116x-hcd.c usb: create common header virtual root hub descriptors 2014-03-10 18:53:36 +01:00
isp116x.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
Makefile usb: ehci: rmobile: Add support ehci host driver of rmobile SoCs 2014-04-30 10:30:56 +02:00
ohci-at91.c arm: atmel: get rid of too many ifdeffery 2013-11-04 20:32:37 +01:00
ohci-da8xx.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ohci-hcd.c usb: create common header virtual root hub descriptors 2014-03-10 18:53:36 +01:00
ohci-s3c24xx.c usb: create common header virtual root hub descriptors 2014-03-10 18:53:36 +01:00
ohci-s3c24xx.h dm: Move s3c24xx USB driver to a proper place 2012-10-18 06:54:18 +02:00
ohci.h usb: new board-specific USB init interface 2013-10-20 23:42:40 +02:00
r8a66597-hcd.c usb: create common header virtual root hub descriptors 2014-03-10 18:53:36 +01:00
r8a66597.h usb: r8a66597: Fix argument mistake of inl 2011-08-08 21:40:40 +02:00
sl811-hcd.c usb: add enum usb_init_type parameter to usb_lowlevel_init 2013-10-20 23:45:26 +02:00
sl811.h drivers/usb: regorganisation 2009-04-06 20:40:46 +02:00
utmi-armada100.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
xhci-exynos5.c exynos: usb: Fix data abort on boards w/o vbus-gpio node in the DT 2014-04-30 10:30:57 +02:00
xhci-mem.c USB: xHCI: Add stack support for xHCI 2013-10-20 23:42:38 +02:00
xhci-omap.c usb: rename board_usb_init_type to usb_init_type 2013-10-22 17:33:09 -04:00
xhci-ring.c USB: xHCI: Add stack support for xHCI 2013-10-20 23:42:38 +02:00
xhci.c usb: add enum usb_init_type parameter to usb_lowlevel_init 2013-10-20 23:45:26 +02:00
xhci.h USB: xHCI: Add stack support for xHCI 2013-10-20 23:42:38 +02:00