Hi,
I am facing an issue with USB 2.0 controller in the PICO-IMX8 SOM.
I am using this USB for audio device with EN1 IN and EN1 OUT for mic and speakers. I connect this audio device to the host pc , through a USB hub. Here, whenever I connect a new device to the USB hub, my audio device stops receiving OUT packets. IN transactions are happening fine. I debugged it and understood that USB_ENDPTCOMLETE register shows whether an endpoint completed the request or not. It seems that this bit is not getting asserted. Which means , OUT transaction is not getting completed even if transfer-descriptors are present.
Can someone help me with what are the cases when endpoint stops receiving packets?
P.S: We observed in USB sniffer, host is sending the packets. Its the device that is not receiving them.
Appreciate your help,
Thanks,
Jahnavi.
Hi Jahnavi
in general, supported usb functionality is described in sect.4.9 USB i.MX Linux Reference Manual
so I am not sure if usb audio could be well supported:
•Host mode-Supports HID (Human Interface Devices), MSC (Mass Storage Class)
• Peripheral mode-Supports MSC, and CDC (Communication Devices Class) drivers,
which include Ethernet and serial support.
Best regards
igor
Hi Igor,
From the iMX8MINI reference maual, https://www.nxp.com/webapp/Download?colCode=IMX8MMRM
It is mentioned that the 2.0 OTG controller can be used for isochronous transfers also.
We are trying to use this controller driver with USB audio gadget driver to achieve audio functionality.
Please let me know if i am missing something..
Thanks,
Jahnavi.