
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).
Patrick Delaunay (14): dfu: cosmetic: cleanup sf to avoid checkpatch error 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 0 data 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 stp32mp1: configs: activate CONFIG_MTD_SPI_NAND stm32mp1: board: add spi nand support stm32mp1: add support for virtual partition read
board/st/stm32mp1/README | 111 ++++++++++ board/st/stm32mp1/stm32mp1.c | 164 ++++++++++++++- cmd/dfu.c | 21 +- configs/stm32mp15_basic_defconfig | 6 + configs/stm32mp15_optee_defconfig | 6 + configs/stm32mp15_trusted_defconfig | 6 + 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 | 51 +++++ 14 files changed, 947 insertions(+), 30 deletions(-) create mode 100644 drivers/dfu/dfu_mtd.c create mode 100644 drivers/dfu/dfu_virt.c