[RFC PATCH 0/4] USB support for TQMa8MPxL + MBa8MPxL

Jun Li lijun.kernel at gmail.com
Sun Sep 4 20:28:19 PDT 2022


Hi Alexander,
Alexander Stein <alexander.stein at ew.tq-group.com> 于2022年6月22日周三 21:13写道:
>
> Hi everybody,
>
> this is an RFC for USB support on TQMa8MPxL + MBa8MPxL. DT support is currently
> in progress at [1]. This series is on top of that.
> 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 [2] & [3].
> Hacking this into mainline resulted in a working superspeed setup as well. I
> also noticed that on some android kernel [4] 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).
>
> I have to admit I do not know what this is actually about, nor why my setup
> does not work without this change or why this fixed my problem. So maybe
> someone with more knowledge can say if this is the way to go or what this is
> about.

Found this patch set some late.

Yes, your choice to enable GFLADJ.GFLADJ_REFCLK_LPM_SEL
is the right setting after checking with Synopsys, which can make USB2
with LPM supported devices work as well, as SOFTIPSYNC has below
description:
"If you plan to enable hardware-based LPM or software-based LPM
(PORTPMSC. HLE=1), then you cannot use this feature. Turn off
this feature by setting this bit to '0' and use the
GFLADJ.GFLADJ_REFCLK_LPM_SEL feature."

So could you please remove RFC mark and resume this
topic?

Thanks
Li Jun

>
> Note: I excluded the DT guys (for now) as this is more about usb internals, the
> DT patches are for completeness.
>
> Thanks and best regards,
> Alexander
>
> [1] https://patchwork.kernel.org/project/linux-arm-kernel/cover/20220622114949.889274-1-alexander.stein@ew.tq-group.com/
> [2] https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/usb/dwc3/dwc3-imx8mp.c?h=lf-5.10.y#n134
> [3] https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/usb/dwc3/core.c?h=lf-5.10.y#n333
> [4] https://android.googlesource.com/kernel/msm/+/87a6b154766907020cc74c7726e8a68aaa9d7f6b%5E%21/#F0
>
> 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 USB support
>
>  .../devicetree/bindings/usb/snps,dwc3.yaml    |  5 ++
>  .../freescale/imx8mp-tqma8mpql-mba8mpxl.dts   | 68 ++++++++++++++++++-
>  arch/arm64/boot/dts/freescale/imx8mp.dtsi     |  2 +
>  drivers/usb/dwc3/core.c                       |  8 ++-
>  drivers/usb/dwc3/core.h                       |  2 +
>  5 files changed, 83 insertions(+), 2 deletions(-)
>
> --
> 2.25.1
>



More information about the linux-arm-kernel mailing list