[PATCH u-boot-marvell 06/11] tools: kwbimage: Align final UART image to 128 bytes

Stefan Roese sr at denx.de
Wed Nov 10 09:28:14 CET 2021


On 08.11.21 18:12, Marek Behún wrote:
> From: Pali Rohár <pali at kernel.org>
> 
> 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 at kernel.org>
> Signed-off-by: Marek Behún <marek.behun at nic.cz>

Minor comment below. Other than this:

Reviewed-by: Stefan Roese <sr at denx.de>

Thanks,
Stefan

> ---
>   tools/kwbimage.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/tools/kwbimage.c b/tools/kwbimage.c
> index 864625d788..b939b4cb49 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;

The lines above are pretty similar - perhaps some function / macro could
be used to simplify these lines?

Thanks,
Stefan


More information about the U-Boot mailing list