Hi Robert, On Wednesday 24 March 2010 16:33:15 Robert Lukassen wrote: > Hi, > > We have been working on USB gadget function implementations for the > video device class, audio device class and human interface device class. > The main characteristics are: > > Video > > Intends to be compliant with version 1.1 of the USB video device class > specification, supporting BULK-IN video. This particular implementation > works by attaching itself to a framebuffer device (which should support > page-flipping mode). If synchronizes with the pan operation of the > framebuffer, so that each pan operation triggers the transmission of a > video frame over a bulk-in endpoint. The driver automatically determines > the proper video descriptors to use to represent the major aspects of > the attached framebuffer (such as width and height). From user-land > perspective, this driver has no particular interface; it just rides > along with any framebuffer updates. I've also been working on an UVC gadget driver. Mine creates a V4L2 device to let userspace applications send images to the host. Do you think it would make sense to share code between the two drivers ? > Audio > > This implements a USB soundcard interface with both playback and capture > support. The driver relies on isochronous endpoint support in the USB > device controller. From user-land perspective the interface is an ALSA > soundcard with two devices. There are module parameters that determine > the characteristics of the sound devices (samplerate, # channels). There > is a limitation that these characteristics are set upon initialisation > of the driver, and cannot be changed thereafter. I've written a similar driver and posted it to the linux-usb mailing list. Have you had a look at it ? > Human Interface > > This implements a small framework where handlers for various HID reports > can be added upon driver initialisation. The current implementation has > two report handlers that can handle 'touchscreen' reports (x,y & > pressure) and 'button press' reports. These are handled by inserting > appropriate events in the input framework and are represented in > user-land by the usual input device interfaces. > > These three functions are tied together in a composite gadget (using the > composite framework of course). > > We intend to release this implementation under the GPL (obviously) on > our GPL website, but feel that it may be of interest to others on this > list and may be a nice candidate for inclusion in upstream kernels. > Please let me know whether this work is of interest to you, and how I > should proceed. -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html