Commit 7eaa857
committed
usb: host: uvc: implement full host uvc driver with video API support
This patch refactors the UVC host implementation from a minimal stub
to a complete USB Video Class (UVC) host driver. Key changes include:
- Introduce `struct uvc_device` to manage device state, FIFOs, mutex,
descriptors, and video format information.
- Add comprehensive descriptor parsing for VideoControl and
VideoStreaming interfaces, including format and frame descriptors.
- Implement UVC probe/commit protocol for format negotiation and
bandwidth calculation.
- Support dynamic frame rate adjustment and alternate interface
selection based on bandwidth.
- Provide full video API integration:
- set/get format, capabilities, frame intervals
- start/stop streaming, buffer enqueue/dequeue
- control handling (brightness, contrast, exposure, focus, etc.)
- Add ISO transfer handling with UVC payload header parsing and
frame assembly.
- Enhance device initialization and cleanup routines.
- Update device definition macros and register UVC host class.
Signed-off-by: Aiden Hu <[email protected]>1 parent b4fb918 commit 7eaa857
2 files changed
+3302
-175
lines changed
0 commit comments