| 1 | ======================
|
| 2 | FunctionFS Descriptors
|
| 3 | ======================
|
| 4 |
|
| 5 | Some of the descriptors that can be written to the FFS gadget are
|
| 6 | described below. Device and configuration descriptors are handled
|
| 7 | by the composite gadget and are not written by the user to the
|
| 8 | FFS gadget.
|
| 9 |
|
| 10 | Descriptors are written to the "ep0" file in the FFS gadget
|
| 11 | following the descriptor header.
|
| 12 |
|
| 13 | .. kernel-doc:: include/uapi/linux/usb/functionfs.h
|
| 14 | :doc: descriptors
|
| 15 |
|
| 16 | Interface Descriptors
|
| 17 | ---------------------
|
| 18 |
|
| 19 | Standard USB interface descriptors may be written. The class/subclass of the
|
| 20 | most recent interface descriptor determines what type of class-specific
|
| 21 | descriptors are accepted.
|
| 22 |
|
| 23 | Class-Specific Descriptors
|
| 24 | --------------------------
|
| 25 |
|
| 26 | Class-specific descriptors are accepted only for the class/subclass of the
|
| 27 | most recent interface descriptor. The following are some of the
|
| 28 | class-specific descriptors that are supported.
|
| 29 |
|
| 30 | DFU Functional Descriptor
|
| 31 | ~~~~~~~~~~~~~~~~~~~~~~~~~
|
| 32 |
|
| 33 | When the interface class is USB_CLASS_APP_SPEC and the interface subclass
|
| 34 | is USB_SUBCLASS_DFU, a DFU functional descriptor can be provided.
|
| 35 | The DFU functional descriptor is a described in the USB specification for
|
| 36 | Device Firmware Upgrade (DFU), version 1.1 as of this writing.
|
| 37 |
|
| 38 | .. kernel-doc:: include/uapi/linux/usb/functionfs.h
|
| 39 | :doc: usb_dfu_functional_descriptor
|