]> git.ipfire.org Git - people/ms/u-boot.git/commit
arm: am57xx: Fix Linux boot from eMMC
authorSam Protsenko <semen.protsenko@linaro.org>
Thu, 21 Sep 2017 19:37:56 +0000 (22:37 +0300)
committerTom Rini <trini@konsulko.com>
Fri, 29 Sep 2017 18:07:57 +0000 (14:07 -0400)
commitf6d245b8c56c8188cef884a45de7fd714c940cad
tree73ec087d346471fc038e2b76471e28917550fcce
parent8adb6ec885aac9a941097cbaeb8516bd46fc66ee
arm: am57xx: Fix Linux boot from eMMC

Right now on OMAP5-based boards we have only one partition defined for
Linux boot, which is rootfs. That doesn't work with bootpart=1:2 (that
is defined in include/environment/ti/boot.h). To fix Linux boot we may
either:

 1. Change bootpart to be 1:1
 2. Or add preceding partition, so that rootfs is actually 1:2

Second choice seems more reasonable, as DFU is already using similar
partition table and can rely on bootpart to be 1:2.

This patch adds "bootloader" partition. So now eMMC layout for Linux
boot looks like this:

offset               content                 size          partition
(KiB)                                        (KiB)
Reviewed-by: Tom Rini <trini@konsulko.com>
=======================================================================

0       +--------------------------------+
        | MBR/GPT header                 |   128           -
128     +--------------------------------+
        | MLO                            |   256           -
384     +--------------------------------+
        | u-boot.img                     |   1792          bootloader
2176    +--------------------------------+
        | //////////// hole //////////// |   256           -
2432    +--------------------------------+
        | U-Boot environment             |   128           -
2560    +--------------------------------+
        | U-Boot environment (redundant) |   128           -
2688    +--------------------------------+
        | rootfs                         |   remaining     rootfs
end     +--------------------------------+

=======================================================================

Guard hole appears because U-Boot environment offset was calculated for
Android partition table, which has two additional partitions in place of
that hole ("environment" and "misc" partitions).

This patch also changes rootfs offset from 2 MiB further to 2688 KiB,
so that there won't be any collisions with U-Boot environment when we
flash rootfs.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
include/configs/am57xx_evm.h