aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2021-11-08 18:12:46 +0100
committerStefan Roese <sr@denx.de>2021-11-10 12:08:06 +0100
commit188099ed7ff4f606a2a74ac82350a78c26bdfe2c (patch)
treebe9b2de6957d84c254d65d54eec71db0678761cf
parent56087c1b4dd4bd976b072f069dc4c5f51b3f6f46 (diff)
downloadu-boot-188099ed7ff4f606a2a74ac82350a78c26bdfe2c.zip
u-boot-188099ed7ff4f606a2a74ac82350a78c26bdfe2c.tar.gz
u-boot-188099ed7ff4f606a2a74ac82350a78c26bdfe2c.tar.bz2
tools: kwbimage: Align final UART image to 128 bytes
xmodem block size is 128 bytes, therefore it is possible to transfer only images with size multiple of 128 bytes. kwboot automatically pads image with zero bytes at the end to align it to 128 bytes boundary. Do this padding when generating image to allow uploading with other xmodem tools or older kwboot versions. Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de>
-rw-r--r--tools/kwbimage.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/tools/kwbimage.c b/tools/kwbimage.c
index 864625d..b939b4c 100644
--- a/tools/kwbimage.c
+++ b/tools/kwbimage.c
@@ -1847,6 +1847,7 @@ static int kwbimage_generate(struct image_tool_params *params,
* The resulting image needs to be 4-byte aligned. At least
* the Marvell hdrparser tool complains if its unaligned.
* After the image data is stored 4-byte checksum.
+ * Final UART image must be aligned to 128 bytes.
* Final SPI and NAND images must be aligned to 256 bytes.
* Final SATA and SDIO images must be aligned to 512 bytes.
*/
@@ -1854,6 +1855,8 @@ static int kwbimage_generate(struct image_tool_params *params,
return 4 + (256 - (alloc_len + s.st_size + 4) % 256) % 256;
else if (bootfrom == IBR_HDR_SATA_ID || bootfrom == IBR_HDR_SDIO_ID)
return 4 + (512 - (alloc_len + s.st_size + 4) % 512) % 512;
+ else if (bootfrom == IBR_HDR_UART_ID)
+ return 4 + (128 - (alloc_len + s.st_size + 4) % 128) % 128;
else
return 4 + (4 - s.st_size % 4) % 4;
}