Skip to content

Commit 7eaa857

Browse files
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

File tree

2 files changed

+3302
-175
lines changed

2 files changed

+3302
-175
lines changed

0 commit comments

Comments
 (0)