sunxi: musb: Fix some lo speed devices not working with musb host
authorHans de Goede <hdegoede@redhat.com>
Fri, 27 Mar 2015 19:54:25 +0000 (20:54 +0100)
committerHans de Goede <hdegoede@redhat.com>
Sun, 29 Mar 2015 10:58:59 +0000 (12:58 +0200)
commit246e3b87870aaa774769267012f624757f28d873
tree20b6e4eafb96d603199172e952a94cf3f2b8ffcc
parent5db752353b6a19c50db4a30692efb7e845fb8a6e
sunxi: musb: Fix some lo speed devices not working with musb host

The usb0 / otg phy on sunxi boards has a bug where it wrongly detects a
high speed squelch on usb reset deassert when a lo speed device is plugged in.

The android kernel has a work around for this in the form of temporary
disabling the phy's squelch detection on reset deassert, this commit adds
the same workaround to the u-boot sunxi musb code, thereby fixing various usb
lo speed devices not working.

Tested with a (before non working) usb keyboard and a usb 2.4 GHz wireless
keyboard/mouse combo receiver.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
arch/arm/cpu/armv7/sunxi/usbc.c
arch/arm/include/asm/arch-sunxi/usbc.h
drivers/usb/musb-new/musb_uboot.c