[PATCH v2 0/7] vf610: Add USB support
Stefan Agner
stefan at agner.ch
Mon Jul 28 07:57:26 PDT 2014
This patchset adds USB support for Vybrid VF610 SoC. It extends the
clock framework to support the USB PHY cocks, extends the device
tree files and adds support for the non-core registers in the
usbmisc_imx driver.
This patchset needs the eSDHC registers length fix available in
Shawn's for-next branch, since that overlapped by chance the USB
areas.
The whole patchset proved to be working on a Colibri VF61 and
Freescale Tower VF65GS10. The first USB controller runs in
peripheral mode. I could successfully use RNDIS, however with some
stability issues: Suddenly the other side was not reachable anymore
and the interface needed to brought down and back up again. I'm
still investigating this.
The second USB controller, running in USB host mode, showed errors
when connecting devices behind a USB hub:
[ 215.163507] usb usb1-port1: cannot reset (err = -32)
[ 215.170498] usb usb1-port1: cannot reset (err = -32)
[ 215.185120] usb usb1-port1: cannot reset (err = -32)
[ 215.191345] usb usb1-port1: cannot reset (err = -32)
[ 215.202487] usb usb1-port1: cannot reset (err = -32)
[ 215.207718] usb usb1-port1: Cannot enable. Maybe the USB cable is bad?
[ 215.219317] usb usb1-port1: unable to enumerate USB device
By extending the PHY driver with the MXS_PHY_NEED_IP_FIX flag, this
issue is resolved.
Changes in v2:
- Extended usbmisc_imx to support multiple instances
- Update DT documentation and compatible strings where necessary
- Add USB PHY flag MXS_PHY_NEED_IP_FIX
- Added patches to enable USB on Tower
Stefan Agner (7):
ARM: dts: vf610: Add USB PHY and controller
ARM: imx: clk-vf610: Add USBPHY clocks
usb: phy: mxs: Add VF610 USB PHY support
ARM: dts: vf610: Add usbmisc for non-core registers
chipidea: usbmisc_imx: Add USB support for VF610 SoCs
ARM: dts: vf610-colibri: Add USB support
ARM: dts: vf610-twr: Add USB support
Documentation/devicetree/bindings/usb/mxs-phy.txt | 1 +
.../devicetree/bindings/usb/usbmisc-imx.txt | 1 +
arch/arm/boot/dts/vf610-colibri.dts | 10 ++++
arch/arm/boot/dts/vf610-twr.dts | 10 ++++
arch/arm/boot/dts/vf610.dtsi | 60 ++++++++++++++++++++--
arch/arm/mach-imx/clk-vf610.c | 12 ++++-
drivers/usb/chipidea/ci_hdrc_imx.c | 8 +++
drivers/usb/chipidea/ci_hdrc_imx.h | 1 +
drivers/usb/chipidea/usbmisc_imx.c | 52 +++++++++++++++----
drivers/usb/phy/phy-mxs-usb.c | 6 +++
include/dt-bindings/clock/vf610-clock.h | 5 +-
11 files changed, 149 insertions(+), 17 deletions(-)
--
2.0.2
More information about the linux-arm-kernel
mailing list