I need to do the same - attach a MIPI camera to an i.MX6 MCU, and present a UVC interface to the USB.
I looked for UVC within the MCUXpresso peripheral configuration for the USB Middleware, and was disappointed to find this is not a supported class.
I presume this is the same functionality provided by the Ridgerun UVC Gadget Library, but $2500 license fee means I'll be dropping the iMX6 as an option for this project.
In my opinion, it's pretty ludicrous to provide a device with heavy processing power, a camera interface ideal for streaming, and then ignore the obvious STANDARD defined to complete the stream.
Thank you for your reply. I check the USB certification and only can find iMX6 as host and test with Logitech QuickCam. Could you please teach me where to find the iMX6 as USB device (Camera) to connect with PC. Thank you.
For i.MX6 you need to enable the g_webcam driver in the kernel however, this gadget driver requires a user space application to finish the enumeration and attend the USB requests. You might need something like this in order to get it working on i.MX6: