summaryrefslogtreecommitdiff
path: root/imx8_boot_img
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2019-04-11 17:08:40 +0200
committerMax Krummenacher <max.krummenacher@toradex.com>2019-04-11 18:30:41 +0200
commit651dd78926b22db8a72f365dd8bc8d5da2271cb9 (patch)
treeca3e015cfbec6d78c6daf1cf33aaa5b453844e96 /imx8_boot_img
parent1aabec052b8cb36f8ecde18180ca9d318ca88d1e (diff)
imx8 boot container: rework flash.bin generation for b0 silicon
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Diffstat (limited to 'imx8_boot_img')
-rw-r--r--imx8_boot_img/Makefile64
1 files changed, 64 insertions, 0 deletions
diff --git a/imx8_boot_img/Makefile b/imx8_boot_img/Makefile
new file mode 100644
index 0000000000..73a34d7d31
--- /dev/null
+++ b/imx8_boot_img/Makefile
@@ -0,0 +1,64 @@
+-include include/config/auto.conf
+
+ifeq ("${CONFIG_IMX8QM}", "y")
+ DEPLOY_IMG ?= /build/krm/oe-core_3.0/build/deploy/images/apalis-imx8
+ MKIMG = $(DEPLOY_IMG)/imx-boot-tools/mkimage_imx8
+
+ SOC = QM
+ BOOTCPU = a53
+ SECO ?= mx8qm-ahab-container.img
+ SCFW ?= scfw_tcm.bin
+ ATF ?= bl31-imx8qm.bin
+ U_BOOT_BIN ?= ../u-boot.bin
+else ifeq ("${CONFIG_IMX8QXP}", "y")
+ DEPLOY_IMG ?= /build/krm/oe-core_3.0/build/deploy/images/colibri-imx8qxp
+ MKIMG = $(DEPLOY_IMG)/imx-boot-tools/mkimage_imx8
+
+ SOC = QX
+ BOOTCPU = a53
+ SECO ?= mx8qx-ahab-container.img
+ SCFW ?= scfw_tcm.bin
+ ATF ?= bl31-imx8qxp.bin
+ U_BOOT_BIN ?= ../u-boot.bin
+else
+ $(error creating the bootimg file is only supported for apalis/colibri-imx8)
+endif
+
+OUTFILE = ../flash.bin
+
+ifneq ("$(wildcard $(MKIMG))","")
+ DEFTARGET = flash
+else
+ DEFTARGET = print-error
+endif
+
+DEFAULT: $(DEFTARGET)
+
+print-error:
+ @echo "$(MKIMG) not found."; touch $(OUTFILE);
+
+$(SECO):
+ cp $(DEPLOY_IMG)/$(SECO) $(SECO)
+
+$(SCFW).$(SOC):
+ cp $(DEPLOY_IMG)/imx-boot-tools/$(SCFW) $(SCFW).$(SOC)
+
+$(ATF):
+ cp $(DEPLOY_IMG)/imx-boot-tools/$(ATF) $(ATF)
+
+u-boot-atf.bin: $(U_BOOT_BIN) $(ATF) Makefile
+ @cp $(ATF) u-boot-atf.bin
+ $(MKIMG) -commit > head.hash
+ @cat $(U_BOOT_BIN) head.hash > u-boot-hash.bin
+ rm head.hash
+ @dd if=u-boot-hash.bin of=u-boot-atf.bin bs=1K seek=128
+
+flash: $(MKIMG) $(SECO) $(SCFW).$(SOC) u-boot-atf.bin
+ $(MKIMG) -soc $(SOC) -rev B0 -append $(SECO) -c -scfw $(SCFW).$(SOC) -ap u-boot-atf.bin $(BOOTCPU) 0x80000000 -out $(OUTFILE)
+ @echo;echo "To update an SD card use e.g.:"
+ @echo ' => tftp $$loadaddr flash.bin'
+ @echo ' => setexpr blkcnt $${filesize} + 0x1ff && setexpr blkcnt $${blkcnt} / 0x200; mmc dev 0 1'
+ @echo ' => mmc write $${loadaddr} 0x40 $${blkcnt}'; echo
+
+
+.PHONY = print-error