aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSam Protsenko2017-09-21 22:37:57 +0300
committerTom Rini2017-09-29 14:07:58 -0400
commita0b0ff0ae643b77a3c40bfa87dc2ffa964b4371a (patch)
treec300707de2b695f1addf4841fbc00597a358ca77 /include
parentf6d245b8c56c8188cef884a45de7fd714c940cad (diff)
arm: dra7xx: 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>
Diffstat (limited to 'include')
-rw-r--r--include/configs/dra7xx_evm.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/configs/dra7xx_evm.h b/include/configs/dra7xx_evm.h
index 6c0fc35d3a3..1555fc1b504 100644
--- a/include/configs/dra7xx_evm.h
+++ b/include/configs/dra7xx_evm.h
@@ -51,7 +51,8 @@
#define PARTS_DEFAULT \
/* Linux partitions */ \
"uuid_disk=${uuid_gpt_disk};" \
- "name=rootfs,start=2MiB,size=-,uuid=${uuid_gpt_rootfs}\0" \
+ "name=bootloader,start=384K,size=1792K,uuid=${uuid_gpt_bootloader};" \
+ "name=rootfs,start=2688K,size=-,uuid=${uuid_gpt_rootfs}\0" \
/* Android partitions */ \
"partitions_android=" \
"uuid_disk=${uuid_gpt_disk};" \