sd_fuse: sd_fusing: Add Embedded MMC (eMMC) support

Odroid boards can boot from either a SD/MMC or an eMMC. The iROM
load the bootloader binaries (first and second stage bootloader,
trustzone, DRM, etc) from the first sectors of the boot device.

An SD exposes all its physical address space as just one device
(e.g: /dev/mmcblk0) so its first sectors are just located on that
device but the eMMC split its physical address space in different
virtual devices (e.g: mmcblk0boot0, mmcblk0boot1, mmcblk0rpmb and
mmcblk0). So the eMMC first sectors are not located on the device
but on the virtual ${device}boot0.

Also, the addresses are at a different offset for SD/MMC and eMMC
so special care has to be taken when flashing images to an eMMC
since just dd'ing an image to the block device won't work.

The binaries written and their offset on both a SD/MMC and eMMC are:

+---------------------------------+--------------+-----------------+
|                               eMMC                               |
+---------------------------------+--------------+-----------------+
| Binary                          | Start sector | Length (sector) |
+---------------------------------+--------------+-----------------+
|                                 |              |                 |
| bl1.HardKernel (BL1/DRM)        |    0         |   30            |
|                                 |              |                 |
| bl2.HardKernel (BL2/SPL)        |   30         |   32            |
|                                 |              |                 |
| u-boot.bin (U-Boot)             |   62         | 1024            |
|                                 |              |                 |
| tzsw.HardKernel (TrustZone S/W) | 2110         |  312            |
+---------------------------------+--------------+-----------------+

+---------------------------------+--------------+-----------------+
|                              SD/MMC                              |
+---------------------------------+--------------+-----------------+
| Binary                          | Start sector | Length (sector) |
+---------------------------------+--------------+-----------------+
|                                 |              |                 |
| bl1.HardKernel (BL1/DRM)        |    1         |   30            |
|                                 |              |                 |
| bl2.HardKernel (BL2/SPL)        |   31         |   32            |
|                                 |              |                 |
| u-boot.bin (U-Boot)             |   63         | 1024            |
|                                 |              |                 |
| tzsw.HardKernel (TrustZone S/W) | 2111         |  312            |
+---------------------------------+--------------+-----------------+

Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Merge pull request #6 from martinezjavier/emmc-fusing

Add Embedded MMC (eMMC) support to sd_fusing.sh script