[U-Boot] [PATCH v3] ARM: ti: Update layout for MMC and eMMC (env and dfu)

Sam Protsenko semen.protsenko at linaro.org
Mon May 29 13:38:35 UTC 2017


On 24 May 2017 at 13:08, Jean-Jacques Hiblot <jjhiblot at ti.com> wrote:
> The problems with the current DFU layout are:
> MMC: The space allocated for u-boot is too small for the latest u-boot
>      (>750KB). We need to increase it. eMMC uses a much bigger area (2MB).
> eMMC: region "u-boot.img.raw" overlaps the environment area and the region
>       "spl-os-image.raw".
> both: region "spl-os-image.raw" is quite small and can't handle android
>       kernels
>
> Fixing this requires growing some regions and moving others.
> Care has been taken to leave some room for further growth of
> "spl-os-args.raw".
> Also the "env" now appears in the dfu so that it's apparent that the
> region is not free space that can be used to grow "u-boot.img.raw".
> The MLO region is 0x100 sectors wide but the 0x100 are unused in case the
> MLO comes too overflow this areas.
> The total space allocated for those raw binaries is 16MB, of which 13+MB
> are reserved for the kernel image.
>
> Signed-off-by: Jean-Jacques Hiblot <jjhiblot at ti.com>
> ---
>
> Changed since v2:
> * reduced the size of the MLO area exposed by the DFU to 0x100 (128kB)
>
> changes since v1:
> * increased u-boot size to 2MB
> * updated CONFIG_ENV_OFFSET in omap5_uevm.h
>
>  include/configs/dra7xx_evm.h      |  2 +-
>  include/configs/omap5_uevm.h      |  2 +-
>  include/configs/ti_armv7_common.h |  7 ++++---
>  include/environment/ti/dfu.h      | 12 +++++++-----
>  4 files changed, 13 insertions(+), 10 deletions(-)
>
> diff --git a/include/configs/dra7xx_evm.h b/include/configs/dra7xx_evm.h
> index 17608a5..71c9d82 100644
> --- a/include/configs/dra7xx_evm.h
> +++ b/include/configs/dra7xx_evm.h
> @@ -27,7 +27,7 @@
>  #define CONFIG_ENV_IS_IN_MMC
>  #define CONFIG_SYS_MMC_ENV_DEV         1       /* SLOT2: eMMC(1) */
>  #define CONFIG_ENV_SIZE                        (128 << 10)
> -#define CONFIG_ENV_OFFSET              0xE0000
> +#define CONFIG_ENV_OFFSET              0x260000
>  #define CONFIG_ENV_OFFSET_REDUND       (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
>  #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
>  #endif
> diff --git a/include/configs/omap5_uevm.h b/include/configs/omap5_uevm.h
> index d8b0c02..e7fac6d 100644
> --- a/include/configs/omap5_uevm.h
> +++ b/include/configs/omap5_uevm.h
> @@ -37,7 +37,7 @@
>  #define CONFIG_ENV_IS_IN_MMC
>  #define CONFIG_SYS_MMC_ENV_DEV         1       /* SLOT2: eMMC(1) */
>  #define CONFIG_ENV_SIZE                        (128 << 10)
> -#define CONFIG_ENV_OFFSET              0xE0000
> +#define CONFIG_ENV_OFFSET              0x260000
>  #define CONFIG_ENV_OFFSET_REDUND       (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
>  #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
>
> diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h
> index 0bd3c9f..6f87b6d 100644
> --- a/include/configs/ti_armv7_common.h
> +++ b/include/configs/ti_armv7_common.h
> @@ -207,9 +207,10 @@
>  #define CONFIG_SPL_FS_LOAD_ARGS_NAME           "args"
>
>  /* RAW SD card / eMMC */
> -#define CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR        0x900   /* address 0x120000 */
> -#define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR  0x80    /* address 0x10000 */
> -#define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS 0x80    /* 64KiB */
> +#define CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR        0x1700  /* address 0x2E0000 */
> +#define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR  0x1500  /* address 0x2A0000 */
> +#define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS 0x200   /* 256KiB */
> +
>
>  /* spl export command */
>  #define CONFIG_CMD_SPL
> diff --git a/include/environment/ti/dfu.h b/include/environment/ti/dfu.h
> index caf71a3..c9f61a5 100644
> --- a/include/environment/ti/dfu.h
> +++ b/include/environment/ti/dfu.h
> @@ -12,9 +12,10 @@
>         "rootfs part 0 2;" \
>         "MLO fat 0 1;" \
>         "MLO.raw raw 0x100 0x100;" \
> -       "u-boot.img.raw raw 0x300 0x400;" \
> -       "spl-os-args.raw raw 0x80 0x80;" \
> -       "spl-os-image.raw raw 0x900 0x2000;" \
> +       "u-boot.img.raw raw 0x300 0x1000;" \
> +       "u-env.raw raw 0x1300 0x200;" \
> +       "spl-os-args.raw raw 0x1500 0x200;" \
> +       "spl-os-image.raw raw 0x1700 0x6900;" \
>         "spl-os-args fat 0 1;" \
>         "spl-os-image fat 0 1;" \
>         "u-boot.img fat 0 1;" \
> @@ -28,8 +29,9 @@
>         "MLO fat 1 1;" \
>         "MLO.raw raw 0x100 0x100;" \
>         "u-boot.img.raw raw 0x300 0x1000;" \
> -       "spl-os-args.raw raw 0x80 0x80;" \
> -       "spl-os-image.raw raw 0x900 0x2000;" \
> +       "u-env.raw raw 0x1300 0x200;" \
> +       "spl-os-args.raw raw 0x1500 0x200;" \
> +       "spl-os-image.raw raw 0x1700 0x6900;" \
>         "spl-os-args fat 1 1;" \
>         "spl-os-image fat 1 1;" \
>         "u-boot.img fat 1 1;" \
> --
> 1.9.1
>

Reviewed-by: Sam Protsenko <semen.protsenko at linaro.org>

Guys, please let me know when this patch got merged. I'll need to
update Android partitions accordingly.


More information about the U-Boot mailing list