BUBT (Burn ATF) command
--------------------------
Bubt command is used to burn a new ATF image to flash device.

The bubt command gets the following parameters: ATF file name, destination device and source device.
bubt [file-name] [destination [source]]
	- file-name		Image file name to burn. default = flash-image.bin
	- destination		Flash to burn to [spi, nand, mmc, sata]. default = active flash
	- source		Source to load image from [tftp, usb, mmc, sata]. default = tftp

Examples:
	bubt				- Burn flash-image.bin from tftp to active flash
	bubt latest-spi.bin nand	- Burn latest-spi.bin from tftp to NAND flash

Notes:
- For the TFTP interface set serverip and ipaddr.
- To burn image to SD/eMMC device, the target is defined by HW partition.

Bubt command details (burn image step by-step)
----------------------------------------------
This section describes bubt command flow:

1. Fetch the requested ATF image from an available interface (USB/SD/SATA/XDB, etc.)
   into the DRAM, and place it at <load_address>
   Example: when using the FAT file system on USB flash device:
   # usb reset
   # fatls usb 0 (see files in device)
   # fatload usb 0 <load_address> <file_name>

2. Erase the target device:
	- NAND:		# nand erase 0 100000
	- SPI:		# sf probe 0
			# sf erase 0 100000
	- SD/eMMC:	# mmc dev <dev_id> <boot_partition>

Notes:
- The eMMC has 2 boot partitions (BOOT0 and BOOT1) and a user data partition (DATA).
  The boot partitions are numbered as partition 1 and 2 in MMC driver.
  Number 0 is used for user data partition and should not be utilized for storing
  boot images and U-Boot environment in RAW mode since it will break file system
  structures usually located here.

  Currently configured boot partition can be printed by command:
  # mmc partconf 0
  (search for BOOT_PARTITION_ACCESS output, number 7 is user data)

  Change it to BOOT0:
  # mmc partconf 0 0 1 1

  Change it to BOOT1:
  # mmc partconf 0 0 2 2

  Change it to user data:
  # mmc partconf 0 0 7 0

- The partition number is ignored if the target device is SD card.
- The boot image offset starts at block 0 for eMMC and block 1 for SD devices.
  The block 0 on SD devices is left for MBR storage.

3. Write the ATF image:
	- NAND:		# nand write <load_address> 0 <ATF Size>
	- SPI:		# sf write <load_address> 0 <ATF Size>
	- SD/eMMC:	# mmc write <load_address> [0|1] <ATF Size>/<block_size>
