Zephyr: USB device stack and class drivers

Created on 2 Oct 2017  路  11Comments  路  Source: zephyrproject-rtos/zephyr

USB device stack and class drivers

This issue is there to provide an overview and to coordinate the work on USB device stack and the associated class drivers and functions.

Reusable USB components under samples

(_Components which can be moved to subsys/usb_)

  • [x] USB DFU class, PR #4373, developer: jfischer, status: RFC
  • [ ] webusb, ...
  • [ ] wpanusb, ...

Device stack

  • [x] common device descriptor, PR #4199, developer: jfischer, merged
  • [x] composite device support, PR #4200, developer: jfischer, merged
  • [x] modular USB class drivers and functions, PR #4661

Class driver

  • [x] CDC and MSC Class Header, PR #4073, developer: jfischer, merged
  • [x] CDC ECM, PR #4147, developer: finikorg, status: merged
  • [x] RNDIS, PR ?, developer: finikorg, status: planned?
  • [x] CDC EEM, PR?, #4144, developer: loicpoulain, status: wip

Device driver

(_OT but for the completeness_)

  • device driver for Kinetis USBFSOTG Controller #542
  • support for STM32Cube HAL_PCD USB driver #1384, #4212
  • usb_dw: USB DMA #852 (closed)
Enhancement USB

Most helpful comment

I'd like to see whether there is interest in developing an audio class (2.0 or even 3.0) stack. Please let me know.

All 11 comments

The PR #4147 is about CDC ECM

@finikorg fixed

PR #4376 adds DT support for STM32 USB device.

I don't think we should cross out STM32Cube HAL_PCD USB driver. The driver, now, supports only F4 family. I will create a new PR to make driver generic based on #1384.

PR #5163 adds support for the rest of the STM32 families.

I'd like to see whether there is interest in developing an audio class (2.0 or even 3.0) stack. Please let me know.

@sathishkuttan there is indeed. We talked about this today with @pawelzadrozniak and @finikorg and we'd have interest in sharing the work.

I am also interested in an USB audio class in Zephyr to run on a SAM E70 board. I would be happy to help or to test code.

Regarding WebUSB, I think it would be awesome if moved to subsys/usb with a few adjustments:

  • [ ] Functionality to change manufacturer and product string
  • [ ] Functionality to change serial runtime, e.g. to assign unique IDs from hardware
  • [ ] The possibility to merge with other interfaces (e.g. CDC & WebUSB)
  • [ ] License fix -> Apache2 (check with Intel?)

Also, it would be a good idea to involve Reilly Grant ( @reillyeon )

created this for WebUSB: #12527

Closing this one since there is already an issue for WebUSB and USB is already up and running and fully functional.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

rosterloh picture rosterloh  路  4Comments

mike-scott picture mike-scott  路  4Comments

nashif picture nashif  路  5Comments

Nukersson picture Nukersson  路  4Comments

akansal1 picture akansal1  路  4Comments