[U-Boot] [PATCH] ARM: tegra: fix trimslice environment location
Simon Glass
sjg at chromium.org
Mon Aug 8 23:44:27 CEST 2016
On 8 August 2016 at 13:56, Stephen Warren <swarren at wwwdotorg.org> wrote:
> From: Stephen Warren <swarren at nvidia.com>
>
> Trimslice currently stores its environment at 512KiB into the SPI flash
> chip. The U-Boot binary has grown such that the size of the boot image
> (which includes the Tegra BCT, padding, and the U-Boot binary) is slightly
> larger than 512K now. Consequently, writing the boot image to flash
> corrupts the saved environment, and equally, writing to or erasing the
> environment will corrupt the bootloader, which in turn will cause the
> Tegra boot ROM to enter recovery mode during boot, making it look as if
> the system is non-operational. Note that tegra-uboot-flasher writes to
> the environment during the flashing process.
>
> Solve this by moving the environment as high as possible in flash. This
> will allow the U-Boot binary to roughly double in size before this problem
> is hit again, at which point there's nothing we can do anyway since the
> binary won't fit into flash.
>
> 99% of other Tegra boards store the environment in eMMC and use a negative
> value for CONFIG_ENV_OFFSET, which already automatically places the
> environment as near the end of boot flash as possible. The 1 remaining
> board hard-codes CONFIG_ENV_OFFSET to 2MiB, which allows for plenty more
> bloat.
>
> Reported-by: Stephen L Arnold <nerdboy at gentoo.org>
> Signed-off-by: Stephen Warren <swarren at nvidia.com>
> ---
> include/configs/trimslice.h | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
Reviewed-by: Simon Glass <sjg at chromium.org>
More information about the U-Boot
mailing list