From patchwork Wed Mar 6 18:59:30 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [U-Boot,v9,24/30] imx: Add u-boot-with-nand-spl.imx make target X-Patchwork-Submitter: =?utf-8?q?Beno=C3=AEt_Th=C3=A9baudeau?= X-Patchwork-Id: 225605 X-Patchwork-Delegate: albert.aribaud@free.fr Message-Id: <1362596377-5827-24-git-send-email-benoit.thebaudeau@advansee.com> To: u-boot@lists.denx.de, Scott Wood , Stefano Babic , Albert Aribaud Date: Wed, 6 Mar 2013 19:59:30 +0100 From: =?UTF-8?q?Beno=C3=AEt=20Th=C3=A9baudeau?= List-Id: U-Boot discussion This image combines the SPL with the i.MX header, the FCB and U-Boot. For i.MX25/35/51, the FCB is ignored by the boot ROM, so this image is just useful because it can be programmed on a NAND Flash page boundary. For i.MX53, the FCB is required by the boot ROM. This does not support i.MX6 so far because its FCB is more complicated. Signed-off-by: Benoît Thébaudeau --- Changes in v9: None Changes in v8: - Change the dummy 1024-byte header into a true FCB in order to add support for i.MX53. - Use CONFIG_SPL_PAD_TO instead of CONFIG_SPL_MAX_SIZE for padding, which allows to pad the SPL after adding the i.MX header and the FCB, which may save time when the boot ROM loads the SPL. - Add /u-boot-with-nand-spl.imx to .gitignore. Changes in v7: - New patch. Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None .gitignore | 1 + Makefile | 5 +++++ arch/arm/imx-common/Makefile | 11 +++++++++++ 3 files changed, 17 insertions(+) diff --git a/.gitignore b/.gitignore index 1d07fec..c991631 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,7 @@ /u-boot.hex /u-boot.imx /u-boot-with-spl.imx +/u-boot-with-nand-spl.imx /u-boot.map /u-boot.srec /u-boot.ldr diff --git a/Makefile b/Makefile index 38f2ca5..0069c86 100644 --- a/Makefile +++ b/Makefile @@ -488,6 +488,10 @@ $(obj)u-boot-with-spl.imx: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin $(MAKE) -C $(SRCTREE)/arch/arm/imx-common \ $(OBJTREE)/u-boot-with-spl.imx +$(obj)u-boot-with-nand-spl.imx: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin + $(MAKE) -C $(SRCTREE)/arch/arm/imx-common \ + $(OBJTREE)/u-boot-with-nand-spl.imx + $(obj)u-boot.ubl: $(obj)u-boot-with-spl.bin $(obj)tools/mkimage -n $(UBL_CONFIG) -T ublimage \ -e $(CONFIG_SYS_TEXT_BASE) -d $< $(obj)u-boot.ubl @@ -860,6 +864,7 @@ clobber: tidy @rm -f $(obj)u-boot.pbl @rm -f $(obj)u-boot.imx @rm -f $(obj)u-boot-with-spl.imx + @rm -f $(obj)u-boot-with-nand-spl.imx @rm -f $(obj)u-boot.ubl @rm -f $(obj)u-boot.ais @rm -f $(obj)u-boot.dtb diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile index 2ce182d..d54dbee 100644 --- a/arch/arm/imx-common/Makefile +++ b/arch/arm/imx-common/Makefile @@ -60,6 +60,17 @@ $(OBJTREE)/u-boot-with-spl.imx: $(OBJTREE)/SPL $(OBJTREE)/u-boot.bin cat $(OBJTREE)/spl/u-boot-spl-pad.imx $(OBJTREE)/u-boot.bin > $@ rm $(OBJTREE)/spl/u-boot-spl-pad.imx +$(OBJTREE)/u-boot-with-nand-spl.imx: $(OBJTREE)/SPL $(OBJTREE)/u-boot.bin + (echo -ne '\x00\x00\x00\x00\x46\x43\x42\x20\x01' && \ + dd bs=1015 count=1 if=/dev/zero 2>/dev/null) | \ + cat - $< > $(OBJTREE)/spl/u-boot-nand-spl.imx + $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(CONFIG_SPL_PAD_TO) \ + -I binary -O binary $(OBJTREE)/spl/u-boot-nand-spl.imx \ + $(OBJTREE)/spl/u-boot-nand-spl-pad.imx + rm $(OBJTREE)/spl/u-boot-nand-spl.imx + cat $(OBJTREE)/spl/u-boot-nand-spl-pad.imx $(OBJTREE)/u-boot.bin > $@ + rm $(OBJTREE)/spl/u-boot-nand-spl-pad.imx + #########################################################################