
Those patches add support for composite USB download gadget. This gadget (at least for now) is equipped with DFU download function.
A separate DFU back-end and front-end have been added. Back-end is placed at ./drivers/dfu directory. The front-end is implemented as USB function.
The back-end is written in a generic manner with storage device specific code separated (eMMC).
DFU specification can be found at: http://wiki.openmoko.org/wiki/USB_DFU_-_The_USB_Device_Firmware_Upgrade_stan...
Example usage:
u-boot side: dfu mmc 0 PC: dfu-util -U IMAGE.bin -a uImage (for upload) dfu-util -D uImage -a uImage (download)
To list the alt settings: dfu mmc 0 list
Test HW: Exynos4210 Trats board
Lukasz Majewski (7): dfu:usb: Support for g_dnl composite download gadget. dfu:usb: DFU USB function (f_dfu) support for g_dnl composite gadget dfu: DFU backend implementation dfu: MMC specific routines for DFU operation dfu:cmd: Support for DFU u-boot command arm:trats: Support for USB UDC driver at TRATS board. arm:trats: Enable g_dnl composite USB gadget with embedded DFU function on TRATS
Makefile | 1 + board/samsung/trats/trats.c | 9 + common/Makefile | 1 + common/cmd_dfu.c | 81 ++++++ drivers/dfu/Makefile | 44 +++ drivers/dfu/dfu.c | 259 +++++++++++++++++ drivers/dfu/dfu_mmc.c | 126 ++++++++ drivers/usb/gadget/Makefile | 2 + drivers/usb/gadget/f_dfu.c | 666 +++++++++++++++++++++++++++++++++++++++++++ drivers/usb/gadget/f_dfu.h | 100 +++++++ drivers/usb/gadget/g_dnl.c | 235 +++++++++++++++ include/configs/trats.h | 19 ++- include/dfu.h | 99 +++++++ include/g_dnl.h | 33 +++ 14 files changed, 1674 insertions(+), 1 deletions(-) create mode 100644 common/cmd_dfu.c create mode 100644 drivers/dfu/Makefile create mode 100644 drivers/dfu/dfu.c create mode 100644 drivers/dfu/dfu_mmc.c create mode 100644 drivers/usb/gadget/f_dfu.c create mode 100644 drivers/usb/gadget/f_dfu.h create mode 100644 drivers/usb/gadget/g_dnl.c create mode 100644 include/dfu.h create mode 100644 include/g_dnl.h