[U-Boot] [PATCH v2 00/16] dfu: update dfu stack and add MTD backend

Patrick Delaunay
2019-09-30T13:38:16Z

This serie based on v2019.10-rc3 propose updates on the DFU stack:
- add capability to have several DFU backend running in parallel
- add MTD backend for update of NAND, NOR or SPI-NAND
- add VIRTUAL backend for board/command specific behavior
- add some weak callback

It is the same content that the previous RFC:
http://patchwork.ozlabs.org/project/uboot/list/?series=120375
"dfu: update dfu stack and use them for stm32mp1"

To test the new features and as example, I update the stm32mp1 board
to use the new features; I test them with the command "dfu 0"
(for test I have dependency with patch
http://patchwork.ozlabs.org/patch/1162076/)

The expected target of the dfu part for this serie is v2020.01.
I will merge the stm32mp1 part when they will be accepted by dfu
maintainers.

This serie prepares the DFU backend for the coming 'stm32prog' command
and for STM32CubeProgrammer on stm32mp1 platform.
This STMicroelectronics tool is based on DFU protocol and allows to
update all the boot devices and the OTPs on the ST boards
(so several DFU target in parallel, including spi nand).

Changes in v2:
- Add dfu documentation
- Update dfu documentation for callbacks
- Add dfu documentation for several device
- Update commit message
- Update commit message
- Update dfu documentation for MTD
- Update dfu documentation for MTD
- Update dfu documentation for virtual backend
- Update dfu documentation for callbacks
- Update callbacks comment after Lukasz review
- Update after Lukasz Majewski comments

Patrick Delaunay (16):
dfu: cosmetic: cleanup sf to avoid checkpatch error
doc: dfu: Add dfu documentation
dfu: sf: add partition support for nor backend
dfu: prepare the support of multiple interface
dfu: allow to manage DFU on several devices
dfu: allow read with no data without error for EOF indication
dfu: add backend for MTD device
dfu: add partition support for MTD backend
dfu: add DFU virtual backend
dfu: add callback for flush and initiated operation
stm32mp1: activate DFU support and command MTD
stm32mp1: activate SET_DFU_ALT_INFO
stm32mp1: configs: activate CONFIG_MTD_SPI_NAND
stm32mp1: board: add spi nand support
stm32mp1: add support for virtual partition read
board: stm32mp1: fixup the usb product id for USB download gadget

board/st/stm32mp1/README | 111 ++++++++++
board/st/stm32mp1/stm32mp1.c | 181 +++++++++++++++-
cmd/dfu.c | 21 +-
configs/stm32mp15_basic_defconfig | 6 +
configs/stm32mp15_optee_defconfig | 6 +
configs/stm32mp15_trusted_defconfig | 6 +
doc/README.dfu | 269 ++++++++++++++++++++++++
drivers/dfu/Kconfig | 13 ++
drivers/dfu/Makefile | 2 +
drivers/dfu/dfu.c | 145 +++++++++++--
drivers/dfu/dfu_mtd.c | 306 ++++++++++++++++++++++++++++
drivers/dfu/dfu_sf.c | 55 ++++-
drivers/dfu/dfu_virt.c | 49 +++++
include/configs/stm32mp1.h | 42 +++-
include/dfu.h | 71 +++++++
15 files changed, 1253 insertions(+), 30 deletions(-)
create mode 100644 doc/README.dfu
create mode 100644 drivers/dfu/dfu_mtd.c
create mode 100644 drivers/dfu/dfu_virt.c

--
2.17.1