mbox series

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

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

Message

Alexander Stein Sept. 7, 2022, 2:46 p.m. UTC
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.

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.

Thanks and best regards,
Alexander

[1] https://lore.kernel.org/all/20220622130440.955465-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 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(-)

Comments

Jun Li Sept. 7, 2022, 4:08 p.m. UTC | #1
Hi

> -----Original Message-----
> From: Alexander Stein <alexander.stein@ew.tq-group.com>
> Sent: Wednesday, September 7, 2022 10:46 PM
> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>; Rob Herring
> <robh+dt@kernel.org>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt@linaro.org>; Shawn Guo <shawnguo@kernel.org>;
> Sascha Hauer <s.hauer@pengutronix.de>; Pengutronix Kernel Team
> <kernel@pengutronix.de>; Fabio Estevam <festevam@gmail.com>; dl-linux-imx
> <linux-imx@nxp.com>; Jun Li <jun.li@nxp.com>
> Cc: Alexander Stein <alexander.stein@ew.tq-group.com>;
> linux-usb@vger.kernel.org; devicetree@vger.kernel.org;
> linux-kernel@vger.kernel.org
> 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@nxp.com/
[2] https://patchwork.kernel.org/project/linux-arm-kernel/patch/1662547028-22279-2-git-send-email-jun.li@nxp.com/
[3] https://patchwork.kernel.org/project/linux-arm-kernel/patch/1661328612-3932-1-git-send-email-jun.li@nxp.com/

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
Alexander Stein Sept. 8, 2022, 5:49 a.m. UTC | #2
Hi,

Am Mittwoch, 7. September 2022, 18:08:25 CEST schrieb Jun Li:
> Hi
> 
> > -----Original Message-----
> > From: Alexander Stein <alexander.stein@ew.tq-group.com>
> > Sent: Wednesday, September 7, 2022 10:46 PM
> > To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>; Rob Herring
> > <robh+dt@kernel.org>; Krzysztof Kozlowski
> > <krzysztof.kozlowski+dt@linaro.org>; Shawn Guo <shawnguo@kernel.org>;
> > Sascha Hauer <s.hauer@pengutronix.de>; Pengutronix Kernel Team
> > <kernel@pengutronix.de>; Fabio Estevam <festevam@gmail.com>; dl-linux-imx
> > <linux-imx@nxp.com>; Jun Li <jun.li@nxp.com>
> > Cc: Alexander Stein <alexander.stein@ew.tq-group.com>;
> > linux-usb@vger.kernel.org; devicetree@vger.kernel.org;
> > linux-kernel@vger.kernel.org
> > 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?

Awesome, This does the trick!
I was already running with patches [1] & [2], but was missing patch [3]. With 
all of them applied, USB detects a newly attached superspeed device when the 
HUB is in runtime suspend (U3).

I forgot: thanks for checking with synopsis regarding soft ITP sync feature.

Best regards,
Alexander

> [1]
> https://patchwork.kernel.org/project/linux-arm-kernel/patch/1662547028-2227
> 9-1-git-send-email-jun.li@nxp.com/ [2]
> https://patchwork.kernel.org/project/linux-arm-kernel/patch/1662547028-2227
> 9-2-git-send-email-jun.li@nxp.com/ [3]
> https://patchwork.kernel.org/project/linux-arm-kernel/patch/1661328612-3932
> -1-git-send-email-jun.li@nxp.com/
>
> 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
Jun Li Sept. 8, 2022, 9:07 a.m. UTC | #3
Hi,

> -----Original Message-----
> From: Alexander Stein <alexander.stein@ew.tq-group.com>
> Sent: Thursday, September 8, 2022 1:50 PM
> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>; Rob Herring
> <robh+dt@kernel.org>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt@linaro.org>; Shawn Guo <shawnguo@kernel.org>;
> Sascha Hauer <s.hauer@pengutronix.de>; Pengutronix Kernel Team
> <kernel@pengutronix.de>; Fabio Estevam <festevam@gmail.com>; dl-linux-imx
> <linux-imx@nxp.com>; Jun Li <jun.li@nxp.com>
> Cc: linux-usb@vger.kernel.org; devicetree@vger.kernel.org;
> linux-kernel@vger.kernel.org
> Subject: RE: [PATCH 0/4] USB host support for TQMa8MPxL + MBa8MPxL
> 
> Hi,
> 
> Am Mittwoch, 7. September 2022, 18:08:25 CEST schrieb Jun Li:
> > Hi
> >
> > > -----Original Message-----
> > > From: Alexander Stein <alexander.stein@ew.tq-group.com>
> > > Sent: Wednesday, September 7, 2022 10:46 PM
> > > To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>; Rob Herring
> > > <robh+dt@kernel.org>; Krzysztof Kozlowski
> > > <krzysztof.kozlowski+dt@linaro.org>; Shawn Guo
> > > <shawnguo@kernel.org>; Sascha Hauer <s.hauer@pengutronix.de>;
> > > Pengutronix Kernel Team <kernel@pengutronix.de>; Fabio Estevam
> > > <festevam@gmail.com>; dl-linux-imx <linux-imx@nxp.com>; Jun Li
> > > <jun.li@nxp.com>
> > > Cc: Alexander Stein <alexander.stein@ew.tq-group.com>;
> > > linux-usb@vger.kernel.org; devicetree@vger.kernel.org;
> > > linux-kernel@vger.kernel.org
> > > 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?
> 
> Awesome, This does the trick!
> I was already running with patches [1] & [2], but was missing patch [3].
> With all of them applied, USB detects a newly attached superspeed device
> when the HUB is in runtime suspend (U3).

Yes, patch[3] needs to apply with patches [1]&[2], I am applying the
same tag to make sure the 3 patches land on the same target release
as they will go through diff maintainer's trees.

> 
> I forgot: thanks for checking with synopsis regarding soft ITP sync feature.
> 

Welcome.

Li Jun
Greg KH Sept. 9, 2022, 7:27 a.m. UTC | #4
On Thu, Sep 08, 2022 at 09:07:06AM +0000, Jun Li wrote:
> Hi,
> 
> > -----Original Message-----
> > From: Alexander Stein <alexander.stein@ew.tq-group.com>
> > Sent: Thursday, September 8, 2022 1:50 PM
> > To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>; Rob Herring
> > <robh+dt@kernel.org>; Krzysztof Kozlowski
> > <krzysztof.kozlowski+dt@linaro.org>; Shawn Guo <shawnguo@kernel.org>;
> > Sascha Hauer <s.hauer@pengutronix.de>; Pengutronix Kernel Team
> > <kernel@pengutronix.de>; Fabio Estevam <festevam@gmail.com>; dl-linux-imx
> > <linux-imx@nxp.com>; Jun Li <jun.li@nxp.com>
> > Cc: linux-usb@vger.kernel.org; devicetree@vger.kernel.org;
> > linux-kernel@vger.kernel.org
> > Subject: RE: [PATCH 0/4] USB host support for TQMa8MPxL + MBa8MPxL
> > 
> > Hi,
> > 
> > Am Mittwoch, 7. September 2022, 18:08:25 CEST schrieb Jun Li:
> > > Hi
> > >
> > > > -----Original Message-----
> > > > From: Alexander Stein <alexander.stein@ew.tq-group.com>
> > > > Sent: Wednesday, September 7, 2022 10:46 PM
> > > > To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>; Rob Herring
> > > > <robh+dt@kernel.org>; Krzysztof Kozlowski
> > > > <krzysztof.kozlowski+dt@linaro.org>; Shawn Guo
> > > > <shawnguo@kernel.org>; Sascha Hauer <s.hauer@pengutronix.de>;
> > > > Pengutronix Kernel Team <kernel@pengutronix.de>; Fabio Estevam
> > > > <festevam@gmail.com>; dl-linux-imx <linux-imx@nxp.com>; Jun Li
> > > > <jun.li@nxp.com>
> > > > Cc: Alexander Stein <alexander.stein@ew.tq-group.com>;
> > > > linux-usb@vger.kernel.org; devicetree@vger.kernel.org;
> > > > linux-kernel@vger.kernel.org
> > > > 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?
> > 
> > Awesome, This does the trick!
> > I was already running with patches [1] & [2], but was missing patch [3].
> > With all of them applied, USB detects a newly attached superspeed device
> > when the HUB is in runtime suspend (U3).
> 
> Yes, patch[3] needs to apply with patches [1]&[2], I am applying the
> same tag to make sure the 3 patches land on the same target release
> as they will go through diff maintainer's trees.

What "tag"?

And I'm confused as to the status of all of these, please resend the
series once you have a new version with the proper acked and reviewed-by
added.

thanks,

greg k-h
Jun Li Sept. 9, 2022, 3:27 p.m. UTC | #5
Hi

> -----Original Message-----
> From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Sent: Friday, September 9, 2022 3:28 PM
> To: Jun Li <jun.li@nxp.com>
> Cc: Alexander Stein <alexander.stein@ew.tq-group.com>; Rob Herring
> <robh+dt@kernel.org>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt@linaro.org>; Shawn Guo <shawnguo@kernel.org>;
> Sascha Hauer <s.hauer@pengutronix.de>; Pengutronix Kernel Team
> <kernel@pengutronix.de>; Fabio Estevam <festevam@gmail.com>; dl-linux-imx
> <linux-imx@nxp.com>; linux-usb@vger.kernel.org;
> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH 0/4] USB host support for TQMa8MPxL + MBa8MPxL
> 
> On Thu, Sep 08, 2022 at 09:07:06AM +0000, Jun Li wrote:
> > Hi,
> >
> > > -----Original Message-----
> > > From: Alexander Stein <alexander.stein@ew.tq-group.com>
> > > Sent: Thursday, September 8, 2022 1:50 PM
> > > To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>; Rob Herring
> > > <robh+dt@kernel.org>; Krzysztof Kozlowski
> > > <krzysztof.kozlowski+dt@linaro.org>; Shawn Guo
> > > <shawnguo@kernel.org>; Sascha Hauer <s.hauer@pengutronix.de>;
> > > Pengutronix Kernel Team <kernel@pengutronix.de>; Fabio Estevam
> > > <festevam@gmail.com>; dl-linux-imx <linux-imx@nxp.com>; Jun Li
> > > <jun.li@nxp.com>
> > > Cc: linux-usb@vger.kernel.org; devicetree@vger.kernel.org;
> > > linux-kernel@vger.kernel.org
> > > Subject: RE: [PATCH 0/4] USB host support for TQMa8MPxL + MBa8MPxL
> > >
> > > Hi,
> > >
> > > Am Mittwoch, 7. September 2022, 18:08:25 CEST schrieb Jun Li:
> > > > Hi
> > > >
> > > > > -----Original Message-----
> > > > > From: Alexander Stein <alexander.stein@ew.tq-group.com>
> > > > > Sent: Wednesday, September 7, 2022 10:46 PM
> > > > > To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>; Rob Herring
> > > > > <robh+dt@kernel.org>; Krzysztof Kozlowski
> > > > > <krzysztof.kozlowski+dt@linaro.org>; Shawn Guo
> > > > > <shawnguo@kernel.org>; Sascha Hauer <s.hauer@pengutronix.de>;
> > > > > Pengutronix Kernel Team <kernel@pengutronix.de>; Fabio Estevam
> > > > > <festevam@gmail.com>; dl-linux-imx <linux-imx@nxp.com>; Jun Li
> > > > > <jun.li@nxp.com>
> > > > > Cc: Alexander Stein <alexander.stein@ew.tq-group.com>;
> > > > > linux-usb@vger.kernel.org; devicetree@vger.kernel.org;
> > > > > linux-kernel@vger.kernel.org
> > > > > 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?
> > >
> > > Awesome, This does the trick!
> > > I was already running with patches [1] & [2], but was missing patch [3].
> > > With all of them applied, USB detects a newly attached superspeed
> > > device when the HUB is in runtime suspend (U3).
> >
> > Yes, patch[3] needs to apply with patches [1]&[2], I am applying the
> > same tag to make sure the 3 patches land on the same target release as
> > they will go through diff maintainer's trees.
> 
> What "tag"?

Sorry for the confusion, the "tag" mentioned here is not for this patch
set, but for another patch set sent from me, which can resolve one issue
this patch set reported.

I think Alexander will send a new version because at least one of patch(4/4 dts)
should be updated.

Li Jun
 
> 
> And I'm confused as to the status of all of these, please resend the series
> once you have a new version with the proper acked and reviewed-by added.
> 
> thanks,
> 
> greg k-h