diff options
author | Sammy He <r62914@freescale.com> | 2011-07-26 00:15:45 +0800 |
---|---|---|
committer | Sammy He <r62914@freescale.com> | 2011-07-26 18:52:00 +0800 |
commit | 25f925214af7a5abe9808e273365a87bc8474fc5 (patch) | |
tree | 27de5ca0721177b057f587b74c64cd5f7b349486 /drivers/fastboot | |
parent | e436084d533dfc3d7569b6928e0c34278ba42b67 (diff) | |
download | u-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')
-rw-r--r-- | drivers/fastboot/fastboot.c | 7 |
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 = |