summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>2017-05-30 21:32:09 (GMT)
committerSimon Glass <sjg@chromium.org>2017-06-07 13:29:22 (GMT)
commitad972ac3d948ae1e8b9e75ef96e9dbe8392a4678 (patch)
tree2cfe0fba450efa032e029d1f521115517f704e29 /tools
parent2fb371ff6483227f9be74cbce17c088bec96b411 (diff)
downloadu-boot-fsl-qoriq-ad972ac3d948ae1e8b9e75ef96e9dbe8392a4678.tar.xz
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>
Diffstat (limited to 'tools')
-rw-r--r--tools/rkcommon.h1
-rw-r--r--tools/rksd.c6
-rw-r--r--tools/rkspi.c2
3 files changed, 5 insertions, 4 deletions
diff --git a/tools/rkcommon.h b/tools/rkcommon.h
index 75a4ed6..8790f1c 100644
--- a/tools/rkcommon.h
+++ b/tools/rkcommon.h
@@ -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,
diff --git a/tools/rksd.c b/tools/rksd.c
index a880a26..c56153d 100644
--- a/tools/rksd.c
+++ b/tools/rksd.c
@@ -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);
}
/*
diff --git a/tools/rkspi.c b/tools/rkspi.c
index f8a565d..4332ce1 100644
--- a/tools/rkspi.c
+++ b/tools/rkspi.c
@@ -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