From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthias Brugger Date: Tue, 28 Jan 2020 12:11:25 +0100 Subject: [PATCH v4 0/6] Raspberry Pi4: add support for DFU over USB In-Reply-To: <20200127233637.6b388194@jawa> References: <20191202111118.12868-1-m.szyprowski@samsung.com> <20200127233637.6b388194@jawa> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 27/01/2020 23:36, Lukasz Majewski wrote: > 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. > Yes I was waiting on the first to patches for FAT as Tom asked to add a test. So I'm reluctant to take these two. I can take the rest of the series though. Regards, Matthias > 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 >