Skip to content

Commit 728e508

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 <weiwei.hu@nxp.com>
1 parent cfde414 commit 728e508

File tree

1 file changed

+3419
-61
lines changed

1 file changed

+3419
-61
lines changed

0 commit comments

Comments
 (0)