c26cee817f
Add the ability for the USB FunctionFS (FFS) gadget driver to be able to create Device Firmware Upgrade (DFU) functional descriptors. [1] This patch allows implementation of DFU in userspace using the FFS gadget. The DFU protocol uses the control pipe (ep0) for all messaging so only the addition of the DFU functional descriptor is needed in the kernel driver. The DFU functional descriptor is written to the ep0 file along with any other descriptors during FFS setup. DFU requires an interface descriptor followed by the DFU functional descriptor. This patch includes documentation of the added descriptor for DFU and conversion of some existing documentation to kernel-doc format so that it can be included in the generated docs. An implementation of DFU 1.1 that implements just the runtime descriptor using the FunctionFS gadget (with rebooting into u-boot for DFU mode) has been tested on an i.MX8 Nano. An implementation of DFU 1.1 that implements both runtime and DFU mode using the FunctionFS gadget has been tested on Xilinx Zynq UltraScale+. Note that for the best performance of firmware update file transfers, the userspace program should respond as quick as possible to the setup packets. [1] https://www.usb.org/sites/default/files/DFU_1.1.pdf Signed-off-by: David Sands <david.sands@biamp.com> Co-developed-by: Chris Wulff <crwulff@gmail.com> Signed-off-by: Chris Wulff <crwulff@gmail.com> Link: https://lore.kernel.org/r/20240811000004.1395888-2-crwulff@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
41 lines
524 B
ReStructuredText
41 lines
524 B
ReStructuredText
===========
|
|
USB support
|
|
===========
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
acm
|
|
authorization
|
|
chipidea
|
|
dwc3
|
|
ehci
|
|
functionfs
|
|
functionfs-desc
|
|
gadget_configfs
|
|
gadget_hid
|
|
gadget_multi
|
|
gadget_printer
|
|
gadget_serial
|
|
gadget_uvc
|
|
gadget-testing
|
|
iuu_phoenix
|
|
mass-storage
|
|
misc_usbsevseg
|
|
mtouchusb
|
|
ohci
|
|
raw-gadget
|
|
usbip_protocol
|
|
usbmon
|
|
usb-serial
|
|
|
|
usb-help
|
|
text_files
|
|
|
|
.. only:: subproject and html
|
|
|
|
Indices
|
|
=======
|
|
|
|
* :ref:`genindex`
|