13a0398d7SOtavio Salvador# 23a0398d7SOtavio Salvador# (C) Copyright 2000-2006 33a0398d7SOtavio Salvador# Wolfgang Denk, DENX Software Engineering, wd@denx.de. 43a0398d7SOtavio Salvador# 51a459660SWolfgang Denk# SPDX-License-Identifier: GPL-2.0+ 63a0398d7SOtavio Salvador# 73a0398d7SOtavio Salvador 8d8769c62SMasahiro Yamadaextra-$(CONFIG_SPL_BUILD) := start.o 93a0398d7SOtavio Salvador 10d8769c62SMasahiro Yamadaobj-y = clock.o mxs.o iomux.o timer.o 113a0398d7SOtavio Salvador 123a0398d7SOtavio Salvadorifdef CONFIG_SPL_BUILD 13d8769c62SMasahiro Yamadaobj-y += spl_boot.o spl_lradc_init.o spl_mem_init.o spl_power_init.o 143a0398d7SOtavio Salvadorendif 153a0398d7SOtavio Salvador 16714dc001SMarek Vasut# Specify the target for use in elftosb call 1707e27ce0SMasahiro YamadaMKIMAGE_TARGET-$(CONFIG_MX23) = mxsimage.mx23.cfg 1807e27ce0SMasahiro YamadaMKIMAGE_TARGET-$(CONFIG_MX28) = mxsimage.mx28.cfg 19714dc001SMarek Vasut 201a9df13dSMarek Vasut# Generate HAB-capable IVT 211a9df13dSMarek Vasut# 221a9df13dSMarek Vasut# Note on computing the post-IVT size field value for the U-Boot binary. 231a9df13dSMarek Vasut# The value is the result of adding the following: 241a9df13dSMarek Vasut# -> The size of U-Boot binary aligned to 64B (u-boot.bin) 251a9df13dSMarek Vasut# -> The size of IVT block aligned to 64B (u-boot.ivt) 261a9df13dSMarek Vasut# -> The size of U-Boot signature (u-boot.sig), 3904 B 271a9df13dSMarek Vasut# -> The 64B hole in front of U-Boot binary for 'struct mxs_spl_data' passing 281a9df13dSMarek Vasut# 291a9df13dSMarek Vasutquiet_cmd_mkivt_mxs = MXSIVT $@ 301a9df13dSMarek Vasutcmd_mkivt_mxs = \ 311a9df13dSMarek Vasut sz=`expr \`stat -c "%s" $^\` + 64 + 3904 + 128` ; \ 321a9df13dSMarek Vasut echo -n "0x402000d1 $2 0 0 0 $3 $4 0 $$sz 0 0 0 0 0 0 0" | \ 331a9df13dSMarek Vasut tr -s " " | xargs -d " " -i printf "%08x\n" "{}" | rev | \ 341a9df13dSMarek Vasut sed "s/\(.\)\(.\)/\\\\\\\\x\2\1\n/g" | xargs -i printf "{}" >$@ 351a9df13dSMarek Vasut 361a9df13dSMarek Vasut# Align binary to 64B 371a9df13dSMarek Vasutquiet_cmd_mkalign_mxs = MXSALGN $@ 381a9df13dSMarek Vasutcmd_mkalign_mxs = \ 391a9df13dSMarek Vasut dd if=$^ of=$@ ibs=64 conv=sync 2>/dev/null && \ 401a9df13dSMarek Vasut mv $@ $^ 411a9df13dSMarek Vasut 421a9df13dSMarek Vasut# Assemble the CSF file 431a9df13dSMarek Vasutquiet_cmd_mkcsfreq_mxs = MXSCSFR $@ 441a9df13dSMarek Vasutcmd_mkcsfreq_mxs = \ 451a9df13dSMarek Vasut ivt=$(word 1,$^) ; \ 461a9df13dSMarek Vasut bin=$(word 2,$^) ; \ 471a9df13dSMarek Vasut csf=$(word 3,$^) ; \ 481a9df13dSMarek Vasut sed "s@VENDOR@$(VENDOR)@g;s@BOARD@$(BOARD)@g" "$$csf" | \ 491a9df13dSMarek Vasut sed '/^\#\#Blocks/ d' > $@ ; \ 501a9df13dSMarek Vasut echo " Blocks = $2 0x0 `stat -c '%s' $$bin` \"$$bin\" , \\" >> $@ ; \ 511a9df13dSMarek Vasut echo " $3 0x0 0x40 \"$$ivt\"" >> $@ 521a9df13dSMarek Vasut 531a9df13dSMarek Vasut# Sign files 541a9df13dSMarek Vasutquiet_cmd_mkcst_mxs = MXSCST $@ 551a9df13dSMarek Vasutcmd_mkcst_mxs = cst -o $@ < $^ \ 561a9df13dSMarek Vasut $(if $(KBUILD_VERBOSE:1=), >/dev/null) 571a9df13dSMarek Vasut 581a9df13dSMarek Vasutspl/u-boot-spl.ivt: spl/u-boot-spl.bin 591a9df13dSMarek Vasut $(call if_changed,mkalign_mxs) 601a9df13dSMarek Vasut $(call if_changed,mkivt_mxs,$(CONFIG_SPL_TEXT_BASE),\ 611a9df13dSMarek Vasut 0x00008000,0x00008040) 621a9df13dSMarek Vasut 631a9df13dSMarek Vasutu-boot.ivt: u-boot.bin 641a9df13dSMarek Vasut $(call if_changed,mkalign_mxs) 651a9df13dSMarek Vasut $(call if_changed,mkivt_mxs,$(CONFIG_SYS_TEXT_BASE),\ 661a9df13dSMarek Vasut 0x40001000,0x40001040) 671a9df13dSMarek Vasut 681a9df13dSMarek Vasutspl/u-boot-spl.csf: spl/u-boot-spl.ivt spl/u-boot-spl.bin board/$(VENDOR)/$(BOARD)/sign/u-boot-spl.csf 691a9df13dSMarek Vasut $(call if_changed,mkcsfreq_mxs,$(CONFIG_SPL_TEXT_BASE),0x8000) 701a9df13dSMarek Vasut 711a9df13dSMarek Vasutu-boot.csf: u-boot.ivt u-boot.bin board/$(VENDOR)/$(BOARD)/sign/u-boot.csf 721a9df13dSMarek Vasut $(call if_changed,mkcsfreq_mxs,$(CONFIG_SYS_TEXT_BASE),0x40001000) 731a9df13dSMarek Vasut 741a9df13dSMarek Vasut%.sig: %.csf 751a9df13dSMarek Vasut $(call if_changed,mkcst_mxs) 761a9df13dSMarek Vasut 77*066f876bSMarek VasutMKIMAGEFLAGS_u-boot.sb = -n $< -T mxsimage 7807e27ce0SMasahiro Yamadau-boot.sb: $(src)/$(MKIMAGE_TARGET-y) u-boot.bin spl/u-boot-spl.bin FORCE 79*066f876bSMarek Vasut $(call if_changed,mkimage) 801a9df13dSMarek Vasut 81*066f876bSMarek VasutMKIMAGEFLAGS_u-boot-signed.sb = -n $< -T mxsimage 821a9df13dSMarek Vasutu-boot-signed.sb: $(src)/mxsimage-signed.cfg u-boot.ivt u-boot.sig spl/u-boot-spl.ivt spl/u-boot-spl.sig FORCE 83*066f876bSMarek Vasut $(call if_changed,mkimage) 84