Traditionally the DFU support is available only as part 2nd stage boot loader(u-boot) and DFU is not supported in SPL.
The SPL-DFU feature is useful for boards which has only USB inteface and do not have external interface like ethernet or MMC/SD to boot the board. This feature enable DFU to be builtin part of SPL and boot the u-boot directly by loading u-boot image to RAM from PC using dfu-util. This patch series adds DFU support in SPL to flash binary images to factory or bare-metal boards to memory devices like SPI, RAM, eMMC, MMC/SD card using USB interface. As a reference, refer to application note [3] on SPL-DFU support based on 2014.07 u-boot. steps for SPL-DFU/RAM: 1) Soc ROMcode loads the u-boot-spl.bin(+DFU) to IRAM from PC host via usb interface and execute DFU(RAM/SPI). 2) if DFU/RAM is selected, then load u-boot.img to RAM using dfu-util from PC-host. 3) After loading u-boot, press ctrl+c to exit to jump to u-boot. Once u-boot steps for SPL-DFU/SPI: 1) Soc ROMcode loads the u-boot-spl.bin(+DFU) to IRAM from PC host via usb interface and execute DFU(RAM/SPI). 2) If DFU/SPI is selected, then load MLO/u-boot/kernel/dtb images directly to spi partitions. Note: I could not find better option to isolate dfu source to include/exclude in Makefile when SPL-DFU feature enabled/disabled, please suggest any better option. Tested on dra7xx SoCs family. [1] is EVM console output with SPL-DFU/SPI enabled. [2] is ubuntu host console output. references: [1] http://pastebin.ubuntu.com/16730701/ [2] http://pastebin.ubuntu.com/16730765/ [3] http://www.ti.com/lit/an/sprac33/sprac33.pdf Ravi Babu (6): spl: dfu: add dfu support in SPL spl: dfu: adding dfu support functions for SPL-DFU dfu: spl: add generic spl-dfu function in common-spl dra7x: spl: dfu: adding SPL-DFU support for dra7x platform dfu: spl: dra7x: enable SPL-dfu support for dra7x platform dfu: spl: am335x: SPL-DFU support for am335x Kconfig | 33 ++++++++ board/ti/am335x/board.c | 15 ++++ board/ti/dra7xx/evm.c | 17 ++++ common/Makefile | 26 +++++-- common/command.c | 2 +- common/spl/Makefile | 1 + common/spl/spl.c | 9 +++ common/spl/spl_dfu.c | 154 +++++++++++++++++++++++++++++++++++++ include/configs/am335x_evm.h | 17 +++- include/configs/dra7xx_evm.h | 8 +- include/configs/ti_omap5_common.h | 2 - include/spl.h | 11 +++ scripts/Makefile.spl | 13 ++++ 13 files changed, 293 insertions(+), 15 deletions(-) create mode 100644 common/spl/spl_dfu.c -- 1.7.9.5 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot