[U-Boot] [PATCH 0/2] am335x_boneblack: Enable fastboot flash support

Sam Protsenko semen.protsenko at linaro.org
Tue Feb 27 21:45:02 UTC 2018


Standard and recommended way to upgrade the firmware is DFU. But DFU has
extremely low transmission speed (around 150 KiB/sec), thus it's a bad
fit for flashing big images (like rootfs). Low DFU speed is mostly due to
next reasons (kudos to Ruslan Bilovol for investigation):
 1. DFU works only via EP0, per DFU specification [1]. But AM335x
    doesn't have DMA for EP0, according to AM335x TRM [2]: from
    section 16.2:

      "The CPPI DMA can be used to service Endpoints 1 to 15 not
       Endpoint 0. CPU access method is used to service Endpoint 0
       transactions."

 2. Max transmission packet size via EP0 is 64 bytes, whereas for other
    endpoints max transmission packet size is 512 bytes

fastboot specification [3], on the other hand, says nothing about which
EP should be used (and I see that EP1 is used on BBB board). So let's
enable fastboot flash support on BeagleBone Black board to provide a
better way to flash big images via USB.

[1] www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf
[2] www.ti.com/lit/ug/spruh73p/spruh73p.pdf
[3] https://android.googlesource.com/platform/system/core/+/master/fastboot/README.md

Sam Protsenko (2):
  omap: Fix AM335x build with enabled fastboot flash
  configs: am335x_boneblack: Enable fastboot flash capability

 arch/arm/mach-omap2/utils.c        | 2 ++
 configs/am335x_boneblack_defconfig | 2 ++
 2 files changed, 4 insertions(+)

-- 
2.16.1



More information about the U-Boot mailing list