summaryrefslogtreecommitdiff
path: root/drivers/fastboot/fastboot.c
diff options
context:
space:
mode:
authorSammy He <r62914@freescale.com>2011-07-26 00:15:45 +0800
committerSammy He <r62914@freescale.com>2011-07-26 18:52:00 +0800
commit25f925214af7a5abe9808e273365a87bc8474fc5 (patch)
tree27de5ca0721177b057f587b74c64cd5f7b349486 /drivers/fastboot/fastboot.c
parente436084d533dfc3d7569b6928e0c34278ba42b67 (diff)
downloadu-boot-imx-25f925214af7a5abe9808e273365a87bc8474fc5.zip
u-boot-imx-25f925214af7a5abe9808e273365a87bc8474fc5.tar.gz
u-boot-imx-25f925214af7a5abe9808e273365a87bc8474fc5.tar.bz2
ENGR00153605 fastboot: uboot cannot be burned to boot partition
uboot image cannot be burned to boot partition for eMMC 4.3. This patch will fix it. Signed-off-by: Sammy He <r62914@freescale.com>
Diffstat (limited to 'drivers/fastboot/fastboot.c')
-rw-r--r--drivers/fastboot/fastboot.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/fastboot/fastboot.c b/drivers/fastboot/fastboot.c
index 6613550..97572cc 100644
--- a/drivers/fastboot/fastboot.c
+++ b/drivers/fastboot/fastboot.c
@@ -283,7 +283,7 @@ int fastboot_init(struct cmd_fastboot_interface *interface)
#ifdef CONFIG_FASTBOOT_STORAGE_EMMC_SATA
static int fastboot_init_mmc_sata_ptable(void)
{
- int i, sata_device_no;
+ int i, sata_device_no, boot_partition = 0;
struct mmc *mmc;
block_dev_desc_t *dev_desc;
disk_partition_t info;
@@ -328,6 +328,10 @@ static int fastboot_init_mmc_sata_ptable(void)
mmc_no);
return -1;
}
+
+ /* multiple boot paritions for eMMC 4.3 later */
+ if (mmc->boot_size_mult)
+ boot_partition = 1;
}
memset((char *)ptable, 0,
@@ -342,6 +346,7 @@ static int fastboot_init_mmc_sata_ptable(void)
ANDROID_BOOTLOADER_OFFSET / dev_desc->blksz;
ptable[PTN_BOOTLOADER_INDEX].length =
ANDROID_BOOTLOADER_SIZE / dev_desc->blksz;
+ ptable[PTN_BOOTLOADER_INDEX].partition_id = boot_partition;
/* kernel */
strcpy(ptable[PTN_KERNEL_INDEX].name, "kernel");
ptable[PTN_KERNEL_INDEX].start =