Message ID | 20220907144624.2810117-1-alexander.stein@ew.tq-group.com |
---|---|
Headers | show |
Series | USB host support for TQMa8MPxL + MBa8MPxL | expand |
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&data=05%7C01%7Cjun.li%40nxp.com%7Cd1bdfb58b364464e957d08da > > 90dfc29f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63798158796971424 > > 0%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I > > k1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=WSQHERVO9SCWk%2B%2Fmq8g > > K78yluy5VE7T%2BhUaDMlNhbWk%3D&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&data=05%7C01%7Cjun.li%4 > > 0nxp.com%7Cd1bdfb58b364464e957d08da90dfc29f%7C686ea1d3bc2b4c6fa92cd99c5 > > c301635%7C0%7C0%7C637981587969870477%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC > > 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7 > > C&sdata=9%2FxYZoZSelekGcWIZZNwRQqy8LTGPnnn13Rf4L5a0iY%3D&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&data=05%7C01%7Cjun.li%40nxp.co > > m%7Cd1bdfb58b364464e957d08da90dfc29f%7C686ea1d3bc2b4c6fa92cd99c5c301635 > > %7C0%7C0%7C637981587969870477%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwM > > DAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&s > > data=Or9hvtM%2F9DhPZbfv%2BKzwAm8QTyXg4y0ddVbMFqOM67Q%3D&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&data=05%7C01%7Cjun.li%40nxp.com%7Cd1 > > bdfb58b364464e957d08da90dfc29f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7 > > C0%7C637981587969870477%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJ > > QIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3 > > tjAzUL81SwFkaoUh56CND%2B27FHqdo6TbY7Z66ldE8Q%3D&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
On 07/09/2022 16:46, Alexander Stein wrote: > This selects SOF/ITP to be running on ref_clk. > > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> > --- > Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 5 +++++ > 1 file changed, 5 insertions(+) > Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
Am Donnerstag, 8. September 2022, 11:12:23 CEST schrieb Jun Li: > > -----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 3/4] arm64: dts: imx8mp: Add snps,gfladj-refclk-lpm-sel > > quirk to USB nodes > > > > With this set the SOF/ITP counter is based on ref_clk when 2.0 ports are > > suspended. > > > > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> > > --- > > > > arch/arm64/boot/dts/freescale/imx8mp.dtsi | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi > > b/arch/arm64/boot/dts/freescale/imx8mp.dtsi > > index 53493dc7d976..0e7f5842a3e4 100644 > > --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi > > +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi > > @@ -1300,6 +1300,7 @@ usb_dwc3_0: usb@38100000 { > > > > phys = <&usb3_phy0>, <&usb3_phy0>; > > phy-names = "usb2-phy", "usb3- phy"; > > snps,dis-u2-freeclk-exists-quirk; > > So this property can be removed? I'm not so sure about this one, as the description is talking about USB2 PHY providing a free-running PHY clock. I don't know the details if this is true or not. But removing snps,dis-u2-freeclk-exists-quirk from both USB device nodes, USB devices attachments are still detected when the USB hub is suspended, both super-speed and high-speed ports. Best regards, Alexander > > + snps,gfladj-refclk-lpm-sel-quirk; > > > > }; > > > > }; > > > > @@ -1342,6 +1343,7 @@ usb_dwc3_1: usb@38200000 { > > > > phys = <&usb3_phy1>, <&usb3_phy1>; > > phy-names = "usb2-phy", "usb3- phy"; > > snps,dis-u2-freeclk-exists-quirk; > > Ditto. > > Li Jun > > > + snps,gfladj-refclk-lpm-sel-quirk; > > > > }; > > > > }; > > > > -- > > 2.25.1