Zephyr RTOS USB Support
MCCI extends Zephyr RTOS with USB 3.2 device support. The package adds a Zephyr device_next USB device controller driver for the Synopsys DesignWare USB 3 (DWC3) core, together with the device tree and clock bindings that the Zephyr tree does not have, SuperSpeed Gen 1 operation at 5 Gbit/s and Gen 2 at 10 Gbit/s, and USB bulk streams.
This is an extension to Zephyr’s own USB device stack, using technology ported from the MCCI USB DataPump®. Applications written to Zephyr’s USB device API keep working; they gain SuperSpeed and streams.
MCCI brought the package up on the NXP i.MX 8M Plus EVK, running Zephyr 3.7 on the Cortex-M7 core. The i.MX 8M Plus controller is USB 3.2 Gen 1. Gen 2 operation was verified on a customer’s DWC3-based SoC, where, measured in loopback with MCCI’s usbiotest against a Linux host, it sustains 7.8 Gbit/s in each direction, 15.6 Gbit/s aggregate. The Gen 1 part does about half that.
MCCI also maintains fixes for Zephyr’s NXP USB 2.0 device_next support, verified on the FRDM-MCXN947 with USB-IF USBCV chapter 9 testing.
The package is licensed to customers in source form. For other DWC3-based SoCs, MCCI ports for a fixed fee, or supports your engineers doing the port.
Specifications:
| Operating systems | Zephyr RTOS 3.7; other versions on request |
| Microcontroller or CPU | NXP i.MX 8M Plus (Cortex-M7 core, USB 3.2 Gen 1); other SoCs with the Synopsys DWC3 controller on request |
| USB controller | Synopsys DesignWare USB 3 (DWC3), device mode, SuperSpeed Gen 1 and Gen 2, bulk streams |
| API | Zephyr device_next USB device controller (UDC) API |
| Technical Documentation | Bring-up and test procedure for the i.MX 8M Plus EVK |
| Basic Delivery Format | C source, Zephyr module layout |
| Support | MCCI supports its direct customers via telephone and email. Resellers and manufacturers of products incorporating MCCI technology support their own customers, with tier 2 support from MCCI. |
For more information, email sales@mcci.com.