Discussion of the VIRTIO specification
 help / color / mirror / Atom feed
* [RFC PATCH] virtio-usb: Add initial virtio-usb specification
@ 2026-06-11 13:08 Vasilii Ianikeev
  2026-06-11 13:08 ` Vasilii Ianikeev
  2026-06-13 15:42 ` Demi Marie Obenour
  0 siblings, 2 replies; 3+ messages in thread
From: Vasilii Ianikeev @ 2026-06-11 13:08 UTC (permalink / raw)
  To: virtio-comment; +Cc: igor.skalkin

This patch introduces the draft virtio-usb device specification, which
defines a dual-role USB device capable of operating as a USB host
controller, USB device controller, or both roles with dynamic role
switching support.

A USB device may support one or more ports. Each port can operate as a
USB host controller port, USB device controller port, or a dual-role
port that allows role switching, depending on the device’s capabilities.


The specification includes:

- Device ID assignment (49) (already reserved) and feature bits for
  host, device, and role switching capabilities
- Dedicated virtqueue sets for USB host role, USB device role, and OTG
  role switching operations
- Data transfer support for all USB endpoint types (control, interrupt,
  bulk, and isochronous)
- USB host role operations including device connection/disconnection
  events, URB submission, and bulk stream management
- USB device role operations including endpoint management, gadget
  lifecycle events, and control request handling
- USB OTG support for dynamic role switching between host and device
  modes
- Multi-port support allowing devices to expose multiple USB ports with
  independent role configurations

The specification refers to USB 2.0 and USB 3.2 specifications for
common terms.

For this device, there is a prototypical Linux kernel driver for which
upstreaming is planned, and a proprietary device implementation.

Any feedback is appreciated very much.


Vasilii Ianikeev (1):
  virtio-usb: Add initial virtio-usb specification

 conformance.tex                         |   12 +-
 content.tex                             |    1 +
 device-types/usb/description.tex        | 1369 +++++++++++++++++++++++
 device-types/usb/device-conformance.tex |   26 +
 device-types/usb/driver-conformance.tex |   17 +
 introduction.tex                        |    6 +
 6 files changed, 1427 insertions(+), 4 deletions(-)
 create mode 100644 device-types/usb/description.tex
 create mode 100644 device-types/usb/device-conformance.tex
 create mode 100644 device-types/usb/driver-conformance.tex

-- 
2.34.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-06-13 15:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-11 13:08 [RFC PATCH] virtio-usb: Add initial virtio-usb specification Vasilii Ianikeev
2026-06-11 13:08 ` Vasilii Ianikeev
2026-06-13 15:42 ` Demi Marie Obenour

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox