Skip to content

vf610: Add USB support

Stefan Agner linux-arm-kernel lkml 3 versions – Applied

Status from this message: Applied these 5 patches, thanks.

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest posting 2/27 patches 6 repliesApplied
  2. v2 posting 1/27 patches 4 repliesSuperseded
  3. v16 patches 11 repliesSuperseded

Changes in v2 from the cover letter

- 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

Patches in v2 posting 2/2 Applied

#Subject and filesSizeRepliesApplied
1/7ARM: dts: vf610: Add USB PHY and controllerarch/arm/boot/dts/vf610.dtsi+43 -30 replies
2/7ARM: imx: clk-vf610: Add USBPHY clocksarch/arm/mach-imx/clk-vf610.c include/dt-bindings/clock/vf610-clock.h+14 -30 replies
3/7usb: phy: mxs: Add VF610 USB PHY supportDocumentation/devicetree/bindings/usb/mxs-phy.txt drivers/usb/phy/phy-mxs-usb.c+7 -02 replies
4/7ARM: dts: vf610: Add usbmisc for non-core registersarch/arm/boot/dts/vf610.dtsi+15 -10 replies
5/7chipidea: usbmisc_imx: Add USB support for VF610 SoCsDocumentation/devicetree/bindings/usb/usbmisc-imx.txt drivers/usb/chipidea/ci_hdrc_imx.c drivers/usb/chipidea/ci_hdrc_imx.h +1 more+51 -110 replies
6/7ARM: dts: vf610-colibri: Add USB supportarch/arm/boot/dts/vf610-colibri.dts+10 -00 replies
7/7ARM: dts: vf610-twr: Add USB supportarch/arm/boot/dts/vf610-twr.dts+10 -02 replies

Reviews trailers per patch

2 of 7 patches have a Reviewed-by or Acked-by.

PatchJingchang LuPeter Chen
1/7
2/7A-b
3/7A-b
4/7
5/7
6/7
7/7

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH RESEND v2 0/7] vf610: Add USB support

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.

Resend, also added Felipe Balbi this time, sorry about that. I think I only miss the Ack/Review from you here and then things should be fine.

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(-)
Signature · 1 line
2.0.4