
SPI flash support on Helios4 [1] has been merge to u-boot/master on commit 8cb8c0c6a83bef ("Merge git://git.denx.de/u-boot-marvell")
However, the SPI image build failed after the merge with following message:
COPY spl/u-boot-spl.bin MKIMAGE u-boot-spl.kwb Error: Image header (incl. SPL image) too big! header=0x20816 CONFIG_SYS_U_BOOT_OFFS=0x20000! Increase CONFIG_SYS_U_BOOT_OFFS! Error: Image header (incl. SPL image) too big! header=0x20816 CONFIG_SYS_U_BOOT_OFFS=0x20000! Increase CONFIG_SYS_U_BOOT_OFFS! Could not create image Makefile:1162: recipe for target 'u-boot-spl.kwb' failed make: *** [u-boot-spl.kwb] Error 1
Let's increase the u-boot offset to 0x30000 to accommodate SPL changes and leave some margin for future changes.
[1] https://patchwork.ozlabs.org/patch/1007762/
Signed-off-by: Aditya Prayoga aditya@kobol.io --- Notes
* After doing git bisect, I found out if the SPI flash support patch applied after commit 6f57c34473d37b ("serial: ns16550: fix debug uart putc called before init") SPI image build would failed because of the SPL+header size
* To build SPI image: make mrproper make helios4_defconfig
sed -i "s/CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y/"\ "# CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC is not set/g" .config
sed -i "s/# CONFIG_MVEBU_SPL_BOOT_DEVICE_SPI is not set/"\ "CONFIG_MVEBU_SPL_BOOT_DEVICE_SPI=y/g" .config
sed -i "s/CONFIG_ENV_IS_IN_MMC=y/"\ "# CONFIG_ENV_IS_IN_MMC is not set/g" .config
sed -i "s/# CONFIG_ENV_IS_IN_SPI_FLASH is not set/"\ "CONFIG_ENV_IS_IN_SPI_FLASH=y/g" .config
make --- include/configs/helios4.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/configs/helios4.h b/include/configs/helios4.h index 3157225..4e98f19 100644 --- a/include/configs/helios4.h +++ b/include/configs/helios4.h @@ -118,7 +118,7 @@ #define CONFIG_SPL_SPI_FLASH_SUPPORT #define CONFIG_SPL_SPI_LOAD #define CONFIG_SPL_SPI_SUPPORT -#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x20000 +#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x30000 #define CONFIG_SYS_U_BOOT_OFFS CONFIG_SYS_SPI_U_BOOT_OFFS #endif