[U-Boot] [ RFC ] fastboot protocol support in u-boot

Stefan Schmidt stefan at datenfreihafen.org
Tue Aug 16 16:47:21 CEST 2011


Hello.

On Wed, 2011-08-10 at 20:07, Sebastian Andrzej Siewior wrote:
> 
> The code uses the "newer" gadget API which is used by the rndis gadget for
> instance. The only udc implementing it (as far as I know) is the at91 udc
> sitting in cdc-at91 branch [0]. The other udcs in tree (musb for intance)
> is using the old interface which is something linux kernel 2.4 time frame.
> Since nobody plans to develop a udc for both frameworks I went for the newer
> framework.

It would be good to know what the preferred way for new code is here.
I have some DFU work pending I need to finish and get it ready for
review and hopefully upstreaming.

Right now I'm using the "old" interface while working with musb on the
beagleboard. Having the "new" API only available on one hardware makes
it really hard to develop against it.

> I've been looking at DFU as an alternative. I think its main problem is
> the fact that it is ep0 based which limits the USB packet size to 64bytes
> on HighSpeed which makes it slower than necessary.

While speed may be a problem it still works ok for images with a size
over 60 MB. We used that a lot with DFU on the Freerunner devices from
Openmoko. Most devices using DFU are having way smaller images though.

I would like to wait for a ready to merge implementation before doing
measurements here on my side though.

But back to the DFU vs. fastboot topic. I'm maintaining the dfu-util
host utility which allows DFU flashing under Linux and other systems.
The devices supporting DFU I see are normally interested in flashing
or doing a backup only. Fastboot (or something like novacom for WebOS)
goes further here by providing other mechanisms to communicate with
the bootloader. This is beyond what DFU was designed and should be
used for in my opinion.

Given these different use cases I never seen fastboot and DFU as
competitors. Personally I see DFU as a good and standardized way of
_flashing_ devices while fastboot/novacom are way to communicate with
the bootloader (allow flashing as on task).

> So, any comments on that? Suggestions? Anything?

Not much over what I have written above. Looking into novacom for some
more ideas may be worth it.

regards
Stefan Schmidt


More information about the U-Boot mailing list