-$(OBJTREE)/spl/u-boot-spl.ivt: $(OBJTREE)/spl/u-boot-spl.bin
- # Align U-Boot SPL binary to 64B
- dd if=$^ of=$@ ibs=64 conv=sync 2>/dev/null
- mv $@ $^
- # Assemble IVT, append size field and align it to 64B.
- (echo -ne "$(call hex2bin,0x402000d1)" ; \
- echo -ne "$(call hex2bin,$(CONFIG_SPL_TEXT_BASE))" ; \
- echo -ne "$(call hex2bin,0x00000000)" ; \
- echo -ne "$(call hex2bin,0x00000000)" ; \
- echo -ne "$(call hex2bin,0x00000000)" ; \
- echo -ne "$(call hex2bin,0x00008000)" ; \
- echo -ne "$(call hex2bin,0x00008040)" ; \
- echo -ne "$(call hex2bin,0x00000000)" ; \
- echo -ne "$(call hex2bin,$(call uboot_ivt_size,$^))" \
- ) | dd of=$@ ibs=64 count=1 conv=sync 2>/dev/null
-
-$(OBJTREE)/u-boot.ivt: $(OBJTREE)/u-boot.bin
- # Align U-Boot binary to 64B
- dd if=$^ of=$@ ibs=64 conv=sync 2>/dev/null
- mv $@ $^
- # Assemble IVT, append size field and align it to 64B.
- (echo -ne "$(call hex2bin,0x402000d1)" ; \
- echo -ne "$(call hex2bin,$(CONFIG_SYS_TEXT_BASE))" ; \
- echo -ne "$(call hex2bin,0x00000000)" ; \
- echo -ne "$(call hex2bin,0x00000000)" ; \
- echo -ne "$(call hex2bin,0x00000000)" ; \
- echo -ne "$(call hex2bin,0x40001000)" ; \
- echo -ne "$(call hex2bin,0x40001040)" ; \
- echo -ne "$(call hex2bin,0x00000000)" ; \
- echo -ne "$(call hex2bin,$(call uboot_ivt_size,$^))" \
- ) | dd of=$@ ibs=64 count=1 conv=sync 2>/dev/null
-
-$(OBJTREE)/spl/u-boot-spl.csf: $(OBJTREE)/spl/u-boot-spl.ivt $(OBJTREE)/spl/u-boot-spl.bin $(TOPDIR)/board/$(VENDOR)/$(BOARD)/sign/u-boot-spl.csf
- # Assemble the CSF file
- sed "s@TOPDIR@$(TOPDIR)@g;s@VENDOR@$(VENDOR)@g;s@BOARD@$(BOARD)@g" \
- $(word 3,$^) > $@
- sed -i "/^##Blocks.*/ d" $@
- echo " Blocks = $(CONFIG_SPL_TEXT_BASE) 0x0 " \
- "`stat -c '%s' $(word 2,$^)` \"$(word 2,$^)\" , \\" \
- >> $@
- echo " 0x8000 0x0 0x40 \"$(word 1,$^)\"" >> $@
-
-$(OBJTREE)/u-boot.csf: $(OBJTREE)/u-boot.ivt $(OBJTREE)/u-boot.bin $(TOPDIR)/board/$(VENDOR)/$(BOARD)/sign/u-boot.csf
- # Assemble the CSF file
- sed "s@TOPDIR@$(TOPDIR)@g;s@VENDOR@$(VENDOR)@g;s@BOARD@$(BOARD)@g" \
- $(word 3,$^) > $@
- sed -i "/^##Blocks.*/ d" $@
- echo " Blocks = $(CONFIG_SYS_TEXT_BASE) 0x0 " \
- "`stat -c '%s' $(word 2,$^)` \"$(word 2,$^)\" , \\" \
- >> $@
- echo " 0x40001000 0x0 0x40 \"$(word 1,$^)\"" >> $@
+# Sign files
+quiet_cmd_mkcst_mxs = MXSCST $@
+cmd_mkcst_mxs = cst -o $@ < $^ \
+ $(if $(KBUILD_VERBOSE:1=), >/dev/null)
+
+spl/u-boot-spl.ivt: spl/u-boot-spl.bin
+ $(call if_changed,mkalign_mxs)
+ $(call if_changed,mkivt_mxs,$(CONFIG_SPL_TEXT_BASE),\
+ 0x00008000,0x00008040)
+
+u-boot.ivt: u-boot.bin
+ $(call if_changed,mkalign_mxs)
+ $(call if_changed,mkivt_mxs,$(CONFIG_SYS_TEXT_BASE),\
+ 0x40001000,0x40001040)
+
+spl/u-boot-spl.csf: spl/u-boot-spl.ivt spl/u-boot-spl.bin board/$(VENDOR)/$(BOARD)/sign/u-boot-spl.csf
+ $(call if_changed,mkcsfreq_mxs,$(CONFIG_SPL_TEXT_BASE),0x8000)
+
+u-boot.csf: u-boot.ivt u-boot.bin board/$(VENDOR)/$(BOARD)/sign/u-boot.csf
+ $(call if_changed,mkcsfreq_mxs,$(CONFIG_SYS_TEXT_BASE),0x40001000)