From: Stefan Roese Date: Mon, 19 Jan 2015 10:33:44 +0000 (+0100) Subject: tools: kwbimage: Support u-boot.img padding to CONFIG_SYS_SPI_U_BOOT_OFFS X-Git-Tag: v2015.04-rc2~39^2~5 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=5632e580c652eb600f3ff48dd79a71394c03dbe5;p=oweals%2Fu-boot.git tools: kwbimage: Support u-boot.img padding to CONFIG_SYS_SPI_U_BOOT_OFFS This is used on the AXP boards, to pad u-boot.img to the desired offset in SPI flash (only this boot target supported right now). This offset is used by the SPL then to load u-boot.img into SDRAM and execute it there. Signed-off-by: Stefan Roese Reviewed-by: Luka Perkov --- diff --git a/tools/kwbimage.c b/tools/kwbimage.c index 66f459ad6b..28ce1e4f08 100644 --- a/tools/kwbimage.c +++ b/tools/kwbimage.c @@ -16,6 +16,7 @@ #include #include #include "kwbimage.h" +#include #define ALIGN_SUP(x, a) (((x) + (a - 1)) & ~(a - 1)) @@ -868,6 +869,16 @@ static int kwbimage_generate(struct image_tool_params *params, sizeof(struct ext_hdr_v0); } else { alloc_len = image_headersz_v1(params, NULL); +#if defined(CONFIG_SYS_SPI_U_BOOT_OFFS) + if (alloc_len > CONFIG_SYS_SPI_U_BOOT_OFFS) { + fprintf(stderr, "Error: Image header (incl. SPL image) too big!\n"); + fprintf(stderr, "header=0x%x CONFIG_SYS_SPI_U_BOOT_OFFS=0x%x!\n", + alloc_len, CONFIG_SYS_SPI_U_BOOT_OFFS); + fprintf(stderr, "Increase CONFIG_SYS_SPI_U_BOOT_OFFS!\n"); + } else { + alloc_len = CONFIG_SYS_SPI_U_BOOT_OFFS; + } +#endif } hdr = malloc(alloc_len);