[PATCH v4 0/6] Raspberry Pi4: add support for DFU over USB

Lukasz Majewski lukma at denx.de
Mon Jan 27 23:36:37 CET 2020


Hi Matthias,

Do you plan to pull this patch series to RPI repository? 

I'm asking as it contains some DFU related patches (Acked already by
me), which I would like to see pulled in this merge window.

Thanks in advance for your help :-)

> Hi All!
> 
> This patchset enables support for DFU over USB protocol on Raspberry
> Pi4 board. The board has DWC2 UDC controller connected to the USB-C
> power connector. Enabling DFU on it, make the u-boot development much
> more convenient, as one no longer needs to swap SD-card between RPi4
> board and host machine to update the u-boot binary.
> 
> Patches are based on current 'master' u-boot branch. They were tested
> on the 2019-07-10-raspbian-buster-lite.img sd-card image with the
> following lines added to config.txt:
> dtoverlay=dwc2,dr_mode=peripheral
> dtparam=i2c_arm=on
> dtparam=spi=on
> enable_uart=1
> uart_2ndstage=1
> kernel=u-boot.bin
> 
> To enable DFU, one has to enter follwing command:
> # dfu 0 mmc 0
> 
> During the development of this feature I've encountered a serious bugs
> in FAT write code. Over-writing discontiguous files always caused
> serious filesystem corruption. This was especially anoying, because
> the system environment is kept on FAT volume in uboot.env file, so
> 'saveenv' basically corrupted the boot partiting on the second call.
> Another bunch of the issues in the FAT write code has been revealed
> while removing predefined file size limit in DFU MMC code and then
> running sandbox tests.
> 
> I hope that my fixes for FAT code will be helpful for non-RPi users
> too.
> 
> Best regards
> Marek Szyprowski
> Samsung R&D Institute Poland
> 
> 
> Changelog:
> 
> v4:
> - rechecked the FAT related fixes, it turned out that much simpler
> patch fixes both issues discovered while working on DFU support;
> added simple sandbox based tests reveleaing the issue and showing
> correctness of the fix
> - rebased patches onto current u-boot's master branch: 4b19b89ca4a8
>   ("Merge tag 'rpi-next-2020.01' of https://github.com/mbgg/u-boot")
> 
> v3: https://patchwork.ozlabs.org/cover/1200793/
> - fixed one more FAT issue revealed by sandbox tests
> 
> v3: (patch 6/6 posted separately):
> https://patchwork.ozlabs.org/patch/1195645/
> - fixed non-RPi4 builds (missing #else ENV_DFU_SETTINGS def)
> - removed config.txt entity (not needed in uboot-based boot)
> - switched arm64 kernel filename to 'Image'
> 
> v2: https://patchwork.ozlabs.org/cover/1166589/
> - added changes to rpi_4_defconfig too (arm64 version)
> - extended DFU entity list by confix.txt, cmdline.txt and Image.gz
> - fixed missing '\0' at the end of dfu_alt_info env
> - added reviewed-by tags
> - added patches for DFU MMC to remove file size limit
> - added patch for fat write to fix issues on non-zero file offset
>   (revealed by previous patch)
> 
> v1: https://patchwork.ozlabs.org/cover/1162770/
> - initial version
> 
> 
> Patch summary:
> 
> Marek Szyprowski (6):
>   fat: write: fix broken write to fragmented files
>   fat: write: adjust data written in each partial write
>   dfu: mmc: rearrange the code
>   dfu: mmc: remove file size limit for io operations
>   usb: dwc2_udc_otg: add bcm2835 SoC (Raspberry Pi4) support
>   config: enable DFU over USB on Raspberry Pi4 boards
> 
>  configs/rpi_4_32b_defconfig                | 11 +++
>  configs/rpi_4_defconfig                    | 11 +++
>  drivers/dfu/dfu_mmc.c                      | 93
> +++++++++++++--------- drivers/usb/gadget/dwc2_udc_otg.c          |
> 2 + drivers/usb/gadget/dwc2_udc_otg_xfer_dma.c | 12 +--
>  fs/fat/fat_write.c                         |  8 +-
>  include/configs/rpi.h                      | 20 +++++
>  7 files changed, 112 insertions(+), 45 deletions(-)
> 




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 at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200127/5d63a466/attachment.sig>


More information about the U-Boot mailing list