On 12/02/2024 13:13, Roger Quadros wrote: > Hi Andrejs, > > On 09/02/2024 15:02, Andrejs Cainikovs wrote: >> From: Andrejs Cainikovs <andrejs.cainikovs@xxxxxxxxxxx> >> >> AM62 USB works with some devices, while failing to operate with others. > > Could you please share which devices failed to work for you? Hi Roger, This USB memory stick is the one that is failing most of the time: ID 058f:6387 Alcor Micro Corp. Flash Drive (DigiKey 1GB) I used following test to reproduce the issue: boot without any devices connected, once booted - connect to PC for gadget mode (RNDIS), and then unplug cable and connect USB drive. I did not had any failures with this USB memory stick, btw: ID 0951:1643 Kingston Technology DataTraveler G3 /Andrejs >> >> [ 560.189822] xhci-hcd xhci-hcd.4.auto: xHCI Host Controller >> [ 560.195631] xhci-hcd xhci-hcd.4.auto: new USB bus registered, assigned bus number 2 >> [ 574.388509] xhci-hcd xhci-hcd.4.auto: can't setup: -110 >> [ 574.393814] xhci-hcd xhci-hcd.4.auto: USB bus 2 deregistered >> [ 574.399544] xhci-hcd: probe of xhci-hcd.4.auto failed with error -110 >> >> This seems to be related to LPM (Link Power Management), and disabling it >> turns USB into reliable working state. >> >> As per AM62 reference manual: >> >>> 4.8.2.1 USB2SS Unsupported Features >>> >>> The following features are not supported on this family of devices: >>> ... >>> - USB 2.0 ECN: Link Power Management (LPM) >>> ... >> >> Fixes: 2240f96cf3cd ("arm64: dts: ti: k3-am62-main: Add support for USB") >> Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@xxxxxxxxxxx> >> --- >> arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi >> index 464b7565d085..c49fbce5cb70 100644 >> --- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi >> +++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi >> @@ -640,6 +640,8 @@ usb0: usb@31000000 { >> interrupt-names = "host", "peripheral"; >> maximum-speed = "high-speed"; >> dr_mode = "otg"; >> + snps,usb2-gadget-lpm-disable; >> + snps,usb2-lpm-disable; >> }; >> }; >> >> @@ -663,6 +665,8 @@ usb1: usb@31100000 { >> interrupt-names = "host", "peripheral"; >> maximum-speed = "high-speed"; >> dr_mode = "otg"; >> + snps,usb2-gadget-lpm-disable; >> + snps,usb2-lpm-disable; >> }; >> }; >> > > Instead of this could you please check if this series fixes the issue for you? > https://lore.kernel.org/all/20240205141221.56076-1-rogerq@xxxxxxxxxx/ >