rockchip: mkimage: force 2KB alignment for init_size

The Rockchip BootROM relies on init_size being aligned to 2KB
(see https://lists.denx.de/pipermail/u-boot/2017-May/293268.html).

This pads the image to 2KB both for SD card images and SPI images
and uses a common symbolic constant for the alignment.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Philipp Tomsich 2017-05-30 23:32:09 +02:00 committed by Simon Glass
parent 2fb371ff64
commit ad972ac3d9
3 changed files with 5 additions and 4 deletions

View File

@ -10,6 +10,7 @@
enum {
RK_BLK_SIZE = 512,
RK_INIT_SIZE_ALIGN = 2048,
RK_INIT_OFFSET = 4,
RK_MAX_BOOT_SIZE = 512 << 10,
RK_SPL_HDR_START = RK_INIT_OFFSET * RK_BLK_SIZE,

View File

@ -46,10 +46,10 @@ static int rksd_vrec_header(struct image_tool_params *params,
struct image_type_params *tparams)
{
/*
* Pad to the RK_BLK_SIZE (512 bytes) to be consistent with init_size
* being encoded in RK_BLK_SIZE units in header0 (see rkcommon.c).
* Pad to a 2KB alignment, as required for init_size by the ROM
* (see https://lists.denx.de/pipermail/u-boot/2017-May/293268.html)
*/
return rkcommon_vrec_header(params, tparams, RK_BLK_SIZE);
return rkcommon_vrec_header(params, tparams, RK_INIT_SIZE_ALIGN);
}
/*

View File

@ -63,7 +63,7 @@ static int rkspi_check_image_type(uint8_t type)
static int rkspi_vrec_header(struct image_tool_params *params,
struct image_type_params *tparams)
{
int padding = rkcommon_vrec_header(params, tparams, 2048);
int padding = rkcommon_vrec_header(params, tparams, RK_INIT_SIZE_ALIGN);
/*
* The file size has not been adjusted at this point (our caller will
* eventually add the header/padding to the file_size), so we need to