u-boot-brain/drivers/usb/musb-new
Hans de Goede 90cdc1039d musb-new: Fix reset sequence when in host mode
This commit fixes a number of issues with the reset sequence of musb-new
in host mode:

1) Our usb device probe relies on a second device reset being done after the
first descriptors read. Factor the musb reset code into a usb_reset_root_port
function (and add this as an empty define for other controllers), and call
this when a device has no parent.

2) Just like with normal usb controllers there needs to be a delay after
reset, for normal usb controllers, this is handled in hub_port_reset, add a
delay to usb_reset_root_port.

3) Sync the musb reset sequence with the upstream kernel, clear all bits of
power except bits 4-7, and increase the time reset is asserted to 50 ms.

With these fixes an usb keyboard I have now always enumerates properly, where
as earlier it would only enumerare properly once every 5 tries.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-01-18 12:31:36 +01:00
..
am35x.c kbuild: force to define __UBOOT__ in all the C sources 2014-09-16 12:23:56 -04:00
linux-compat.h lib, linux: move linux specific defines to linux/compat.h 2014-08-25 19:25:03 -04:00
Makefile musb-new: Add sunxi musb controller support 2015-01-18 12:31:36 +01:00
musb_core.c usb: musb-new: core: set MUSB_POWER_HSENAB in MUSB_POWER for host mode 2014-10-06 21:04:44 +02:00
musb_core.h musb-new: port of Linux musb driver 2012-11-20 00:16:06 +01:00
musb_debug.h musb-new: port of Linux musb driver 2012-11-20 00:16:06 +01:00
musb_dma.h musb-new: port of Linux musb driver 2012-11-20 00:16:06 +01:00
musb_dsps.c kbuild: force to define __UBOOT__ in all the C sources 2014-09-16 12:23:56 -04:00
musb_gadget_ep0.c kbuild: force to define __UBOOT__ in all the C sources 2014-09-16 12:23:56 -04:00
musb_gadget.c kbuild: force to define __UBOOT__ in all the C sources 2014-09-16 12:23:56 -04:00
musb_gadget.h musb-new: port of Linux musb driver 2012-11-20 00:16:06 +01:00
musb_host.c kbuild: force to define __UBOOT__ in all the C sources 2014-09-16 12:23:56 -04:00
musb_host.h musb-new: port of Linux musb driver 2012-11-20 00:16:06 +01:00
musb_io.h musb-new: port of Linux musb driver 2012-11-20 00:16:06 +01:00
musb_regs.h musb-new: Add register defines for different reg layout on sunxi 2015-01-18 12:31:36 +01:00
musb_uboot.c musb-new: Fix reset sequence when in host mode 2015-01-18 12:31:36 +01:00
omap2430.c kbuild: force to define __UBOOT__ in all the C sources 2014-09-16 12:23:56 -04:00
omap2430.h musb-new: omap2plus backend driver 2012-11-20 00:16:08 +01:00
sunxi.c musb-new: Add sunxi musb controller support 2015-01-18 12:31:36 +01:00
usb-compat.h musb-new: port of Linux musb driver 2012-11-20 00:16:06 +01:00