u-boot-brain/drivers/usb/host
Hans de Goede c9f8947e66 sunxi: usb-phy: Never power off the usb ports
USB devices are not really designed to get the power bounced off and on
at them. Esp. USB powered harddisks do not like this.

Currently we power off the USB ports both on a "usb reset" and when
booting the kernel, causing the usb-power to bounce off and then back
on again.

This patch removes the powering off calls, fixing the undesirable power
bouncing.

Note this requires some special handling for the OTG port:
1) We must skip the external vbus check if we've already enabled our own
vbus to avoid false positives
2) If on an usb reset we no longer detect that the id-pin is grounded, turn
off vbus as that means an external vbus may be present now

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
2015-08-08 16:26:19 +02:00
..
dwc2.c dm: usb: Add driver-model support to dwc2 2015-08-06 07:31:37 -06:00
dwc2.h usb: dwc2: Add support for v3 snpsid value 2015-05-29 12:41:04 +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-atmel: use pcr to enable or disable clock 2014-09-19 00:11:21 +02:00
ehci-exynos.c dm: usb: exynos: Drop legacy USB code 2015-05-06 14:00:35 -06:00
ehci-faraday.c dm: usb: Drop the EHCI weak functions 2015-04-18 11:11:24 -06:00
ehci-fsl.c drivers: usb: fsl: Return if USB_MAX_CONTROLLER_COUNT is incorrect 2015-06-07 15:46:02 +02:00
ehci-hcd.c usb: Update some EHCI driver licenses to use SPDX 2015-07-21 17:39:38 -06:00
ehci-marvell.c usb: ehci-marvell: Drop wrl accessor function 2015-07-22 10:19:13 +02:00
ehci-mpc512x.c powerpc/usb:Differentiate USB controller base address 2013-10-24 09:35:09 -07:00
ehci-mx5.c dm: usb: Drop the EHCI weak functions 2015-04-18 11:11:24 -06:00
ehci-mx6.c usb:ehci-mx6 add phy mode query function 2014-11-14 20:56:54 +01: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: mxs: Add board-specific callbacks 2014-09-29 09:02:16 +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 dm: usb: Add driver-model support to ehci-pci 2015-07-21 17:39:40 -06: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: rmobile: Use ARRAY_SIZE(usb_base_address) instead of CONFIG_USB_MAX_CONTROLLER_COUNT 2014-11-07 16:32:02 +01: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-sunxi.c sunxi: usb-phy: Never power off the usb ports 2015-08-08 16:26:19 +02:00
ehci-tegra.c Tegra: clocks: Add 38.4MHz OSC support for T210 use 2015-08-05 15:22:51 -07:00
ehci-uniphier.c ARM: UniPhier: replace <asm/io.h> with <linux/io.h> 2015-05-31 02:53:56 +09: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-vf.c usb: ehci-vf: Add weak function for board specific initialisation 2015-06-08 08:41:56 +02:00
ehci-zynq.c ARM: zynq: ehci: Added USB host driver support 2014-05-14 07:43:35 +02:00
ehci.h usb: Update some EHCI driver licenses to use SPDX 2015-07-21 17:39:38 -06:00
isp116x-hcd.c include: move various macros to include/linux/kernel.h 2014-11-20 11:28:25 -05:00
isp116x.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
Kconfig arm: mx6: usb: kconfig: add USB_EHCI_MX6 kconfig option 2015-08-02 10:51:39 +02:00
Makefile usb: fsl: Add XHCI driver support 2015-07-22 08:55:45 +02:00
ohci-at91.c USB: ohci-at91: use pcr to enable or disable clock 2014-09-19 00:11:20 +02:00
ohci-da8xx.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ohci-ep93xx.c arm: ep9315: Return back Cirrus Logic EDB9315A board support 2014-07-04 23:45:48 +02:00
ohci-hcd.c usb: ohci: Add support for interrupt queues 2015-05-14 18:49:35 -06:00
ohci-s3c24xx.c include: move various macros to include/linux/kernel.h 2014-11-20 11:28:25 -05:00
ohci-s3c24xx.h dm: Move s3c24xx USB driver to a proper place 2012-10-18 06:54:18 +02:00
ohci-sunxi.c sunxi: usb-phy: Never power off the usb ports 2015-08-08 16:26:19 +02:00
ohci.h usb: ohci: Do not reuse ed for interrupt endpoints of different devices 2015-05-14 18:49:35 -06:00
r8a66597-hcd.c usb: Update some EHCI driver licenses to use SPDX 2015-07-21 17:39:38 -06:00
r8a66597.h usb: Update some EHCI driver licenses to use SPDX 2015-07-21 17:39:38 -06: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
usb-sandbox.c dm: usb: sandbox: Add a driver for sandbox 2015-04-18 11:11:26 -06:00
usb-uclass.c usb: USB storage-specific part ifdef in uclass 2015-08-05 17:20:34 +02:00
utmi-armada100.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
xhci-dwc3.c drivers: usb: fsl: Implement Erratum A-009116 for XHCI controller 2015-07-22 08:55:45 +02:00
xhci-exynos5.c usb: xhci: exynos: Remove common dwc3 drv functions calls 2015-07-22 08:55:44 +02:00
xhci-fsl.c drivers: usb: fsl: Remove LS102XA immap inclusion 2015-07-22 08:55:45 +02:00
xhci-keystone.c usb: xhci: keystone: Remove common dwc3 drv functions calls 2015-07-22 08:55:44 +02:00
xhci-mem.c dm: usb: Support driver model in XHCI 2015-04-18 11:11:28 -06:00
xhci-omap.c usb: xhci: omap: Remove common dwc3 drv functions calls 2015-07-22 08:55:44 +02:00
xhci-pci.c usb: pci: Add XHCI driver for PCI 2015-02-05 22:16:42 -07:00
xhci-ring.c dm: usb: xhci: Use a function to get xhci_ctrl 2015-04-18 11:11:28 -06:00
xhci-uniphier.c ARM: UniPhier: replace <asm/io.h> with <linux/io.h> 2015-05-31 02:53:56 +09:00
xhci.c dm: usb: Rename the XHCI HCD to U-Boot 2015-04-18 11:11:28 -06:00
xhci.h dm: usb: Support driver model in XHCI 2015-04-18 11:11:28 -06:00