
Hi Patrick,
This serie based on v2019.07 propose some update on the DFU stack:
- add capability to have several DFU backend running in parallel
- add MTD backend for NAND, NOR or SPI-NAND
- add VIRTUAL backend for board/command specific behavior
- add some weak callback
To test the feature and as example, I update the stm32mp1 to use the new features (tested with command "dfu 0")
This serie prepares the DFU backend for communication with STM32CubeProgrammer on stm32mp1 platform (stm32prog command). This STMicroelectronics tool is based on DFU protocol and update the boot devices and the OTPs on the ST boards.
Thanks for such great enhancement on DFU. I've added Heiko to CC, so he also would be aware of your work (as some of his boards use DFU for update).
Please add detailed documentation entry (as I've indicated in other patches reviewed) for above features.
The roadmap:
- Please send v1 (without RFC). (Please run buildman on several siemens and trats/trats2/odroid-x* boards)
- I will test it on odroid-XU3 (and probably Heiko would test it for regression).
A side question - would you need in some point updating envs via DFU (no matter if those would be a whole image created with mkimage or an individual one) ?
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 | 165 ++++++++++++++++++- cmd/dfu.c | 21 ++- configs/stm32mp15_basic_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 | 38 ++++- include/dfu.h | 51 ++++++ 13 files changed, 939 insertions(+), 29 deletions(-) create mode 100644 drivers/dfu/dfu_mtd.c create mode 100644 drivers/dfu/dfu_virt.c
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de