
Greetings,
I'm seeing a hang on imx8mm-venice and imx8mn-venice boards which have a USB host controller in host mode when ehci_shutdown() is called (which is called for 'usb stop' as well as when booting a kernel once 'usb start' has been issued).
This appears to be caused by the ehci_shutdown() function, specifically the write to the or_portsc register to set EHCI_PS_SUSP: for (i = 0; i < max_ports; i++) { reg = ehci_readl(&ctrl->hcor->or_portsc[i]); reg |= EHCI_PS_SUSP; ehci_writel(&ctrl->hcor->or_portsc[i], reg); }
Does anyone else out there with an imx8mm/imx8mn board with usbotg1 or usbotg2 configured with dr_mode="host" see this as well?
I'm not clear where the equivalent code would be in the Linux kernel to compare with. I do know that commenting out the ehcI_write above keeps ehci_shutdown from hanging but does cause the handshake to fail on the next cmd that disables CMD_RUN and thus prints "EHCI failed to shut down host controller.".
Any ideas?
Best Regards,
Tim