On Thursday 08 February 2018 12:11 AM, Sam Protsenko wrote: > From DFU_ALT_INFO_EMMC (include/environment/ti/dfu.h) we can see that > rootfs will be flashed to second partition on eMMC. But at the moment we > have only one partition in $partitions environment variable. Let's add > "bootloader" partition prior to "rootfs", so that DFU works correctly. > This also fixes eMMC boot, which looks for rootfs on second partition. > > "bootloader" partition start corresponds to "u-boot.img.raw" in DFU > eMMC info, which is 0x300 sector (384 KiB offset from eMMC start). > > rootfs start address can be also found from DFU eMMC info. > bootloader-related area is finished at 0x1500 sector (2688 KiB offset > from eMMC start). This should be the start address for rootfs in > $partitions environment variable. > > While at it, fix U-Boot environment address to be the same as for > AM57x EVM, so that it doesn't clash with other partitions. > > So now eMMC layout looks like this: > > =============================================================== > > 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 | 128 - > | (redundant) | > 2688 +------------------------+ > | rootfs | remaining rootfs > end +------------------------+ > > =============================================================== > > "hole" area can be used further for storing U-Boot environment (like > it's done in AM57x EVM config file) or for increasing u-boot.img area > (in case u-boot.img size increased, e.g. if new dtbs were added). > > This commit conforms with Linux partition table from f6d245b8c56c > ("arm: am57xx: Fix Linux boot from eMMC") commit, making things in > uniform way. > > Signed-off-by: Sam Protsenko <semen.protse...@linaro.org>
Reviewed-by: Lokesh Vutla <lokeshvu...@ti.com> Thanks and regards, Lokesh > --- > include/configs/am335x_evm.h | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) > > diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h > index 31ab503dca..8c2dd2aac8 100644 > --- a/include/configs/am335x_evm.h > +++ b/include/configs/am335x_evm.h > @@ -17,12 +17,13 @@ > #define __CONFIG_AM335X_EVM_H > > #include <configs/ti_am335x_common.h> > +#include <linux/sizes.h> > > #ifndef CONFIG_SPL_BUILD > # define CONFIG_TIMESTAMP > #endif > > -#define CONFIG_SYS_BOOTM_LEN (16 << 20) > +#define CONFIG_SYS_BOOTM_LEN SZ_16M > > #define CONFIG_MACH_TYPE MACH_TYPE_AM335XEVM > > @@ -34,7 +35,7 @@ > #define CONFIG_SYS_LDSCRIPT "board/ti/am335x/u-boot.lds" > > /* Always 128 KiB env size */ > -#define CONFIG_ENV_SIZE (128 << 10) > +#define CONFIG_ENV_SIZE SZ_128K > > #ifdef CONFIG_NAND > #define NANDARGS \ > @@ -99,7 +100,9 @@ > "console=ttyO0,115200n8\0" \ > "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" \ > "optargs=\0" \ > "ramroot=/dev/ram0 rw\0" \ > "ramrootfstype=ext2\0" \ > @@ -280,8 +283,8 @@ > #define CONFIG_ENV_OFFSET_REDUND (896 << 10) /* 896 KiB in */ > #elif defined(CONFIG_EMMC_BOOT) > #define CONFIG_SYS_MMC_ENV_DEV 1 > -#define CONFIG_SYS_MMC_ENV_PART 2 > -#define CONFIG_ENV_OFFSET 0x0 > +#define CONFIG_SYS_MMC_ENV_PART 0 > +#define CONFIG_ENV_OFFSET 0x260000 > #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) > #define CONFIG_SYS_REDUNDAND_ENVIRONMENT > #define CONFIG_SYS_MMC_MAX_DEVICE 2 > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot