mbox series

[v2,0/4] USB host support for TQMa8MPxL + MBa8MPxL

Message ID 20220915062855.751881-1-alexander.stein@ew.tq-group.com (mailing list archive)
Headers show
Series USB host support for TQMa8MPxL + MBa8MPxL | expand

Message

Alexander Stein Sept. 15, 2022, 6:28 a.m. UTC
Hi everybody,

this is the next version of this series for USB host support on TQMa8MPxL +
MBa8MPxL. Thanks everybody for their feedback on v1.

The DT configuration itself (patch 4) is rather straight forward, but leads to
the following dmesg errors regarding superspeed ports:
> [    8.549243] hub 2-1:1.0: hub_ext_port_status failed (err = -110)
> [   22.885263] usb 2-1: Failed to suspend device, error -110

This hardware works fine using the downstream kernel, because for imx8mp this
ITP sync feature is enabled conditionally [1] & [2].
Hacking this into mainline resulted in a working superspeed setup as well. I
also noticed that on some android kernel [3] depending in IP core version either
GCTL.SOFTITPSYNC or GFLADJ.GFLADJ_REFCLK_LPM_SEL is enabled unconditionally.
So I opted for the latter one using some quirk (patch 1-3).

Changes in v3:
* Added Krzysztof's A-b to Patch 1
* Added Li Jun's R-b to Patch 2
* Remove 'snps,dis-u2-freeclk-exists-quirk' in Patch 3
  snps,gfladj-refclk-lpm-sel-quirk is a superset of the old one
* Removed 'snps,dis_u3_susphy_quirk' in Patch 4
  This is addressed by patch series [4] & [5] separately

Thanks and best regards,
Alexander

[1] https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/usb/dwc3/dwc3-imx8mp.c?h=lf-5.10.y#n134
[2] https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/usb/dwc3/core.c?h=lf-5.10.y#n333
[3] https://android.googlesource.com/kernel/msm/+/87a6b154766907020cc74c7726e8a68aaa9d7f6b%5E%21/#F0
[4] https://lore.kernel.org/all/1662547028-22279-1-git-send-email-jun.li@nxp.com/
[5] https://lore.kernel.org/all/1663067426-29534-1-git-send-email-jun.li@nxp.com/

Alexander Stein (4):
  dt-bindings: usb: dwc3: Add gfladj-refclk-lpm-sel-quirk
  usb: dwc3: core: add gfladj_refclk_lpm_sel quirk
  arm64: dts: imx8mp: Add snps,gfladj-refclk-lpm-sel quirk to USB nodes
  arm64: dts: tqma8mpql: add support for 2nd USB (host) interface

Alexander Stein (4):
  dt-bindings: usb: dwc3: Add gfladj-refclk-lpm-sel-quirk
  usb: dwc3: core: add gfladj_refclk_lpm_sel quirk
  arm64: dts: imx8mp: Add snps,gfladj-refclk-lpm-sel quirk to USB nodes
  arm64: dts: tqma8mpql: add support for 2nd USB (host) interface

 .../devicetree/bindings/usb/snps,dwc3.yaml    |  5 +++
 .../freescale/imx8mp-tqma8mpql-mba8mpxl.dts   | 41 +++++++++++++++++++
 arch/arm64/boot/dts/freescale/imx8mp.dtsi     |  4 +-
 drivers/usb/dwc3/core.c                       |  8 +++-
 drivers/usb/dwc3/core.h                       |  2 +
 5 files changed, 57 insertions(+), 3 deletions(-)