RE: [PATCH 0/4] USB host support for TQMa8MPxL + MBa8MPxL

From: Jun Li
Date: Wed Sep 07 2022 - 12:08:51 EST


Hi

> -----Original Message-----
> From: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx>
> Sent: Wednesday, September 7, 2022 10:46 PM
> To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>; Rob Herring
> <robh+dt@xxxxxxxxxx>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt@xxxxxxxxxx>; Shawn Guo <shawnguo@xxxxxxxxxx>;
> Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>; Pengutronix Kernel Team
> <kernel@xxxxxxxxxxxxxx>; Fabio Estevam <festevam@xxxxxxxxx>; dl-linux-imx
> <linux-imx@xxxxxxx>; Jun Li <jun.li@xxxxxxx>
> Cc: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx>;
> linux-usb@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH 0/4] USB host support for TQMa8MPxL + MBa8MPxL
>
> Hi everybody,
>
> this is a series based on the RFC at [1] for USB host support on TQMa8MPxL
> + MBa8MPxL. The main difference is that USB DR support has already been added
> and has been removed from this series.
>
> 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.

This can be updated:)

>
> I also added snps,dis_u3_susphy_quirk to the board level as for some reason
> USB Superspeed U3 does not work. Detecting the onboard hub takes much longer
> and once all devices are diconnected from the hub it is put into runtime
> suspend (U3) and new attached devices are not detected at all. Until the
> cause is known and fixed runtime suspend has to be disabled.

For this issue you are reporting, I am not sure if this is caused by a USB
clock change merged on v5.19, if you use latest kernel, can you try with
below patches applied to see if U3 can work for you?

[1] https://patchwork.kernel.org/project/linux-arm-kernel/patch/1662547028-22279-1-git-send-email-jun.li@xxxxxxx/
[2] https://patchwork.kernel.org/project/linux-arm-kernel/patch/1662547028-22279-2-git-send-email-jun.li@xxxxxxx/
[3] https://patchwork.kernel.org/project/linux-arm-kernel/patch/1661328612-3932-1-git-send-email-jun.li@xxxxxxx/

Li Jun
>
> Thanks and best regards,
> Alexander
>
> [1]
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.
> kernel.org%2Fall%2F20220622130440.955465-1-alexander.stein%40ew.tq-grou
> p.com%2F&amp;data=05%7C01%7Cjun.li%40nxp.com%7Cd1bdfb58b364464e957d08da
> 90dfc29f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63798158796971424
> 0%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I
> k1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=WSQHERVO9SCWk%2B%2Fmq8g
> K78yluy5VE7T%2BhUaDMlNhbWk%3D&amp;reserved=0
> [2]
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourc
> e.codeaurora.org%2Fexternal%2Fimx%2Flinux-imx%2Ftree%2Fdrivers%2Fusb%2F
> dwc3%2Fdwc3-imx8mp.c%3Fh%3Dlf-5.10.y%23n134&amp;data=05%7C01%7Cjun.li%4
> 0nxp.com%7Cd1bdfb58b364464e957d08da90dfc29f%7C686ea1d3bc2b4c6fa92cd99c5
> c301635%7C0%7C0%7C637981587969870477%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC
> 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7
> C&amp;sdata=9%2FxYZoZSelekGcWIZZNwRQqy8LTGPnnn13Rf4L5a0iY%3D&amp;reserv
> ed=0
> [3]
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourc
> e.codeaurora.org%2Fexternal%2Fimx%2Flinux-imx%2Ftree%2Fdrivers%2Fusb%2F
> dwc3%2Fcore.c%3Fh%3Dlf-5.10.y%23n333&amp;data=05%7C01%7Cjun.li%40nxp.co
> m%7Cd1bdfb58b364464e957d08da90dfc29f%7C686ea1d3bc2b4c6fa92cd99c5c301635
> %7C0%7C0%7C637981587969870477%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwM
> DAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;s
> data=Or9hvtM%2F9DhPZbfv%2BKzwAm8QTyXg4y0ddVbMFqOM67Q%3D&amp;reserved=0
> [4]
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fandro
> id.googlesource.com%2Fkernel%2Fmsm%2F%2B%2F87a6b154766907020cc74c7726e8
> a68aaa9d7f6b%255E%2521%2F%23F0&amp;data=05%7C01%7Cjun.li%40nxp.com%7Cd1
> bdfb58b364464e957d08da90dfc29f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7
> C0%7C637981587969870477%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJ
> QIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=3
> tjAzUL81SwFkaoUh56CND%2B27FHqdo6TbY7Z66ldE8Q%3D&amp;reserved=0
>
> 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 | 42 +++++++++++++++++++
> arch/arm64/boot/dts/freescale/imx8mp.dtsi | 2 +
> drivers/usb/dwc3/core.c | 8 +++-
> drivers/usb/dwc3/core.h | 2 +
> 5 files changed, 58 insertions(+), 1 deletion(-)
>
> --
> 2.25.1