Re: USB 3.0 gadget stack

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sarah Sharp wrote:

One new thing for USB 3.0 devices is the requirement for an endpoint
companion descriptor after every endpoint.  You can see what sort of
information is in that descriptor by looking at section 9.6.7 of the USB
3.0 bus spec.  I have a patch to add the structure to
include/linux/usb/ch9.h and parse that descriptor on the host side.
Would the gadget size need more than that?

There's also a new Binary Object Store descriptor required for USB 3.0
devices (section 9.6.2.2).  I don't have any patches that deal with
descriptor yet.  David Vrabel said the wireless USB stack has some code
to parse the BOS descriptor.  The new SuperSpeed USB Device Capability
BOS descriptor structure would still need to be added to
include/linux/usb/ch9.h.

Wireless USB needs very similar functionality.  I'm looking at:

1. Only supporting composite devices.
2. Converting the remaining non-composite gadget drivers to be composite ones (file_storage and printer I think). 3. Adding a list of BOS descriptor children. Gadgets and UDCDs can add to this list with usb_composite_add_bos() or similar. 4. Splitting the whole configuration descriptor blob into a list of individual configuration, interface and endpoint descriptors. 5. Adding a usb_composite_add_ep_companion() or similar. This would allow a udcd to add one (1) endpoint companion that is used for all endpoints. This is good enough for WUSB.

In the longer term I will also be looking at:

1. Adding a kernel-user space interface for radio and association management. 2. Supporting multiple UDCDs with gadget drivers being dynamically bound to one or more of the UDCs. This will require removing much of the compile time #ifdef and #include <*.c> stuff.

David
--
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

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux