[U-Boot] strawman Fastboot in U-Boot Design Doc
    John Rigby 
    john.rigby at linaro.org
       
    Fri Apr 29 03:07:24 CEST 2011
    
    
  
Here a first draft design doc.  It is based in part on the Fastboot
implementation in the rowboat git repo (pointer below).
As always, comments welcome.
John
Purpose
=======
Mainline support for Android Fastboot would be useful.  Arguing the merits
of Fastboot vs DFU is not in the scope of this document.  This document
is to discuss design goals/requirements of an implementation of
Fastboot in U-Boot.
Background
==========
See the Android Fastboot page in Omappedia for an example of how
Fastboot is used to flash nand partitions on an Android device.
http://www.omappedia.org/wiki/Android_Fastboot
A description of the Fastboot protocol is available in the gitorious
rowboat git repo.
http://gitorious.org/rowboat/bootable-bootloader-legacy/blobs/master/fastboot_protocol.txt
Hooks into U-Boot
=================
Fastboot gets access to the USB subsystem via the same interfaces as USB_TTY,
namely the udc_* api's:
	udc_init
	udc_startup_events
	udc_connect
	udc_poll
	udc_setup_ep
	etc.
Startup
=======
Fastboot will be started on the target by issuing the "fastboot" command.
Optionally a board specific startup method may exist.  For example if
a certain combination of keys is pressed on reset then fastboot will be
started immediately.
Shutdown
========
Once started the fastboot command will continue until:
	<CTRL-C> is typed on the console
	a "continue" command is sent from the host
	usb cable is removed
	no commands have been sent from the host for some configurable timeout
		
Coexistance With USB_TTY and DFU
================================
One should be able to enable USB_TTY, DFU and Fastboot at compile time
and chose one at runtime.
Questions
========
Should a Fastboot host program be included in the U-Boot source?
Could Fastboot be implemented as an extension to USB_TTY?
Could Fastboot, DFU and USB_TTY share a layer of code above the
udc_* api's?
    
    
More information about the U-Boot
mailing list