Hi, I'm developing a Linux camera and the output is uvc via the g_webcam gadget. For now I'm capable of 40fps with a resolution of 640x480 yuy2. I'm working with a imx7D
I'm capable of much higher fps on a cypress microcontroller but it uses bulk transfer.
It is possible to use bulk transfer with the imx? If yes how ? I need to achieve 60fps.
one can look at i.MX6ULL (the same usb as imx7D) FreeRTOS SDK examples:
available on Welcome | MCUXpresso SDK Builder
and nxp gstreamer plugins described in sect.7.3.10 Web camera Linux Guide
included in Linux 4.19.35_1.1.0 Documentation
I didn't find any sdk for the MX6ULL , only for the MX7ULP and it use the M4 core which i won't use in my design.
The section 7.3.10 refer to how to receive data from the usb camera, not how to act as a usb camera.
sdk are available on link i.MX 6ULL Applications Processor | Single Arm® Cortex®-A7 @ 900 MHz | NXP
I am afraid there are no bulk transfer linux examples, in general nxp has special service
for helping with porting drivers: Commercial Support and Engineering Services | NXP
Hi Alexandre Caron,
Please refer to Interrupt/Bulk Endpoint Operational Model in i.MX7D reference manual for details regarding bulk transfers.
You can also check the <kernel_src>/Documentation/usb/ehci.txt and <kernel_src>/include/linux/usb/gadget.h for more reference.