i.MX8M Mini - IoT Core - USB Device

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX8M Mini - IoT Core - USB Device

1,115 Views
marcow
Contributor I

Hi everyone

I have some questions regarding the i.MX8M Mini running IoT Core and the USB stacks.
As the i.MX8M has two integrated USB OTG controllers, I was wondering if those can be used in parallel on IoT Core. One would be a standard USB Host and the other a USB Device/Function interface.
The two USB functions would be:
-    USB CDC/ACM: The device should expose a Virtual COM Port when connected to a computer, so it can be used for simple serial communication between a PC and the device
-    USB HID Keyboard: The device should expose a second interface as an HID Keyboard, so the device is able to send simple values to a PC without the need for a special driver on the PC, since it would use the HID protocol


On WEC7 I was able to use the built-in Microsoft driver for the CDC part and I wrote a custom driver for the HID Keyboard part. This driver would accept simple ASCII strings and then convert them to keystrokes that were sent through USB to the PC.

I tried to figure out if and how it would be possible to reach the same functionality with IoT Core and an i.MX8M Mini based SOM. I found the documentation regarding USB OTG support for IoT Core: https://docs.microsoft.com/en-us/windows/iot-core/learn-about-hardware/usb-support
Using the schematic diagram of the different components, I am trying to figure out, what is currently available and what would need to be supplied (e.g. by us or by a SOM provider):
-    IoT Core Drivers for USB CDC/ACM and USB HID Keyboard: From what I could gather, there are currently no class drivers supplied with IoT Core. Is that correct?
-    USB Function Stack: I am not sure which controllers the i.MX8M Mini uses. Are those supported by NXP/MS on IoT Core or would we need a custom driver?
-    USB Role Switching driver: our USB Controllers would not need to switch, one is always a Host and the other always a Device. Is that currently possible?
-    Is there any external hardware necessary with the i.MX8M Mini? From what I could gather, the controllers and PHYs are already part of the chip.

Any input on these topics would be greatly appreciated.

2 Replies

869 Views
Alexey_Zazhorik
Contributor I

Hello @marcow ,

Do you have success in switching USB port to device mode with Windows 10 IoT Core? I'm doing research for the same task - I need one of USB ports to be connected to PC (or other capable device) as a webcam. I suppose a lot of low-level manual work here and still not sure if it's even possible.

0 Kudos

900 Views
Rita_Wang
NXP TechSupport
NXP TechSupport

Connect USB keyboard and mouse, otherwise it might hung up while booting. You can try this.

0 Kudos