diff --git a/src/bsp/imx_mkimage.mk b/src/bsp/imx_mkimage.mk index 4ffd105..2aac2f2 100644 --- a/src/bsp/imx_mkimage.mk +++ b/src/bsp/imx_mkimage.mk @@ -11,6 +11,15 @@ define imx_mkimage_target git am $(FBDIR)/patch/imx_mkimage/*.patch $(LOG_MUTE) && touch .patchdone; \ fi && \ \ + if [ -n "$(IMX_MKIMAGE_PATCHES)" ] && [ ! -f $(BSPDIR)/imx_mkimage/.patchdone ]; then \ + cd $(BSPDIR)/imx_mkimage && \ + for patch in $(IMX_MKIMAGE_PATCHES); do \ + $(call fbprint_n,"Applying imx_mkimage patch $(FBDIR)/patch/imx_mkimage/$$patch for $(MACHINE)") && \ + git am $(FBDIR)/patch/imx_mkimage/$$patch; \ + done; \ + touch .patchdone; \ + fi; \ + \ if [ ! -d $(BSPDIR)/firmware-imx ]; then \ cd $(BSPDIR) && wget -q $(repo_firmware_imx_bin_url) -O firmware_imx.bin $(LOG_MUTE) && chmod +x firmware_imx.bin && \ ./firmware_imx.bin --auto-accept $(LOG_MUTE) && mv firmware-imx* firmware-imx && rm -f firmware_imx.bin; \ @@ -36,32 +45,32 @@ define imx_mkimage_target fi && \ \ if echo $1 | grep -qE ^imx8mp; then \ - SOC=iMX8MP; SOC_FAMILY=iMX8M; target=flash_evk; \ + SOC=iMX8MP; SOC_FAMILY=iMX8M; target=$${IMX_MKIMAGE_TARGET:-flash_evk}; \ elif echo $1 | grep -qE ^imx8mm; then \ - SOC=iMX8MM; SOC_FAMILY=iMX8M; target=flash_evk; \ + SOC=iMX8MM; SOC_FAMILY=iMX8M; target=$${IMX_MKIMAGE_TARGET:-flash_evk}; \ elif echo $1 | grep -qE ^imx8mn; then \ - SOC=iMX8MN; SOC_FAMILY=iMX8M; target=flash_evk; \ + SOC=iMX8MN; SOC_FAMILY=iMX8M; target=$${IMX_MKIMAGE_TARGET:-flash_evk}; \ elif echo $1 | grep -qE ^imx8mq; then \ - SOC=iMX8M; SOC_FAMILY=iMX8M; target=flash_evk; \ + SOC=iMX8M; SOC_FAMILY=iMX8M; target=$${IMX_MKIMAGE_TARGET:-flash_evk}; \ elif echo $1 | grep -qE ^imx8qm; then \ - SOC=iMX8QM; SOC_FAMILY=iMX8QM; target=flash_spl; \ + SOC=iMX8QM; SOC_FAMILY=iMX8QM; target=$${IMX_MKIMAGE_TARGET:-flash_spl}; \ cp -f $(BSPDIR)/imx-scfw/mx8qm-mek-scfw-tcm.bin $(BSPDIR)/imx_mkimage/iMX8QM/scfw_tcm.bin; \ cp -f $(BSPDIR)/imx-seco/firmware/seco/mx8qmb0-ahab-container.img $(BSPDIR)/imx_mkimage/iMX8QM; \ elif echo $1 | grep -qE ^imx8qx; then \ - SOC=iMX8QX; SOC_FAMILY=iMX8QX; target=flash_spl; \ + SOC=iMX8QX; SOC_FAMILY=iMX8QX; target=$${IMX_MKIMAGE_TARGET:-flash_spl}; \ cp -f $(BSPDIR)/imx-scfw/mx8qx-mek-scfw-tcm.bin $(BSPDIR)/imx_mkimage/iMX8QX/scfw_tcm.bin; \ cp -f $(BSPDIR)/imx-seco/firmware/seco/mx8qx*-ahab-container.img $(BSPDIR)/imx_mkimage/iMX8QX; \ elif echo $1 | grep -qE ^imx8ulp; then \ - SOC=iMX8ULP; SOC_FAMILY=iMX8ULP; target=flash_singleboot_m33; \ + SOC=iMX8ULP; SOC_FAMILY=iMX8ULP; target=$${IMX_MKIMAGE_TARGET:-flash_singleboot_m33}; \ cp $(BSPDIR)/fw_ele/mx8ulpa2-ahab-container.img $(BSPDIR)/imx_mkimage/iMX8ULP; \ cp $(BSPDIR)/fw_upower/upower_a1.bin $(BSPDIR)/imx_mkimage/iMX8ULP/upower.bin; \ cp $(BSPDIR)/imx_mcore_demos/imx8ulp-m33-demo/imx8ulp_m33_TCM_rpmsg_lite_str_echo_rtos.bin $(BSPDIR)/imx_mkimage/iMX8ULP/m33_image.bin; \ elif echo $1 | grep -qE ^imx91; then \ - SOC=iMX91; SOC_FAMILY=iMX91; target=flash_singleboot; \ + SOC=iMX91; SOC_FAMILY=iMX91; target=$${IMX_MKIMAGE_TARGET:-flash_singleboot}; \ cp $(BSPDIR)/fw_ele/mx91a*-ahab-container.img $(BSPDIR)/imx_mkimage/iMX91; \ cp $(BSPDIR)/fw_upower/upower_a*.bin $(BSPDIR)/imx_mkimage/iMX91/; \ elif echo $1 | grep -qE ^imx93; then \ - SOC=iMX93; SOC_FAMILY=iMX93; target=flash_singleboot; \ + SOC=iMX93; SOC_FAMILY=iMX93; target=$${IMX_MKIMAGE_TARGET:-flash_singleboot}; \ cp $(BSPDIR)/fw_ele/mx93a*-ahab-container.img $(BSPDIR)/imx_mkimage/iMX93; \ cp $(BSPDIR)/fw_upower/upower_a*.bin $(BSPDIR)/imx_mkimage/iMX93/; \ cp $(BSPDIR)/imx_mcore_demos/imx93-m33-demo/imx93-11x11-evk_m33_TCM_rpmsg_lite_str_echo_rtos.bin \ @@ -102,7 +111,7 @@ define imx_mkimage_target elif [ $${MACHINE:0:5} = imx93 ]; then \ $(MAKE) SOC=iMX93 REV=A1 -C iMX93 -f soc.mak $$target $(LOG_MUTE) ; \ fi && \ - $(MAKE) SOC=$$SOC $(REV_OPTION) $$target $(LOG_MUTE); \ + $(MAKE) SOC=$$SOC $(REV_OPTION) $$target $${IMX_MKIMAGE_DTBS:+dtbs="$$IMX_MKIMAGE_DTBS"} $(LOG_MUTE); \ mkdir -p $(FBOUTDIR)/bsp/imx-mkimage/$$brd && \ cp $$SOC_FAMILY/flash.bin $(FBOUTDIR)/bsp/imx-mkimage/$$brd/flash.bin; endef diff --git a/tools/flex-builder b/tools/flex-builder index d47cb07..5642539 100755 --- a/tools/flex-builder +++ b/tools/flex-builder @@ -1069,7 +1069,8 @@ export ARCH DESTARCH CROSS_COMPILE FBDIR DESTDIR RFSDIR JOBS COMPONENT MACHINE K CFGLISTYML BUILDARG DISTROTYPE DISTROVARIANT DISTROVARIANTOPT HOSTARCH SYSARCH SECURE \ SOCFAMILY BL33TYPE DISTRIB_NAME SOCARCH COT DISTRIB_VERSION BOARD_VARIANTS \ UBOOT_CONFIG CODENAME DISTRO_VERSION UBUNTU_VERSION FORCE LD_LIBRARY_PATH \ - PKG_CONFIG_SYSROOT_DIR PKG_CONFIG_PATH DEFAULT_REPO_TAG LOG_MUTE + PKG_CONFIG_SYSROOT_DIR PKG_CONFIG_PATH DEFAULT_REPO_TAG LOG_MUTE \ + IMX_MKIMAGE_PATCHES IMX_MKIMAGE_TARGET IMX_MKIMAGE_DTBS case "$1" in repo-fetch)