Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
From 3e0f78a4efeac4ea0651ac763099d780447a18b4 Mon Sep 17 00:00:00 2001
|
||||
From: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
|
||||
Date: Wed, 19 Jul 2023 18:34:32 +0300
|
||||
Subject: [PATCH] iMX8M: soc.mak: use native mkimage from sysroot
|
||||
|
||||
mkimage tool is provided as a part of sysroot from Yocto build. Current
|
||||
implementation on the imx-mkimge on the other hand copies it locally in
|
||||
order to invoke it from within the build folder.
|
||||
|
||||
Since recent updates, mkimage requires openssl.so to be installed, which
|
||||
when local copy is used causes the tool not to operate and fails the
|
||||
build.
|
||||
|
||||
Use it from the build sysroot, and do not pull the local version of it.
|
||||
|
||||
Reinjected the original patch from Andrey Zhizhikin <andrey.z@gmail.com>
|
||||
|
||||
Upstream-Status: Inappropriate [OE-specific]
|
||||
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
|
||||
---
|
||||
|
||||
iMX8M/soc.mak | 11 +++++------
|
||||
1 file changed, 5 insertions(+), 6 deletions(-)
|
||||
|
||||
Index: git/iMX8M/soc.mak
|
||||
===================================================================
|
||||
--- git.orig/iMX8M/soc.mak
|
||||
+++ git/iMX8M/soc.mak
|
||||
@@ -160,7 +160,7 @@ u-boot.itb: $(dtb) $(supp_dtbs)
|
||||
./$(PAD_IMAGE) bl31.bin
|
||||
./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb) $(supp_dtbs)
|
||||
BL32=$(TEE) DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb) $(supp_dtbs) > u-boot.its
|
||||
- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot.its u-boot.itb
|
||||
+ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot.its u-boot.itb
|
||||
@rm -f u-boot.its $(dtb)
|
||||
|
||||
dtb_ddr3l = valddr3l.dtb
|
||||
@@ -172,7 +172,7 @@ u-boot-ddr3l.itb: $(dtb_ddr3l) $(supp_dt
|
||||
./$(PAD_IMAGE) bl31.bin
|
||||
./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr3l) $(supp_dtbs)
|
||||
DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr3l) $(supp_dtbs) > u-boot-ddr3l.its
|
||||
- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l.its u-boot-ddr3l.itb
|
||||
+ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l.its u-boot-ddr3l.itb
|
||||
@rm -f u-boot.its $(dtb_ddr3l)
|
||||
|
||||
dtb_ddr3l_evk = evkddr3l.dtb
|
||||
@@ -184,7 +184,7 @@ u-boot-ddr3l-evk.itb: $(dtb_ddr3l_evk) $
|
||||
./$(PAD_IMAGE) bl31.bin
|
||||
./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr3l_evk) $(supp_dtbs)
|
||||
DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr3l_evk) $(supp_dtbs) > u-boot-ddr3l-evk.its
|
||||
- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb
|
||||
+ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb
|
||||
@rm -f u-boot.its $(dtb_ddr3l_evk)
|
||||
|
||||
dtb_ddr4 = valddr4.dtb
|
||||
@@ -196,7 +196,7 @@ u-boot-ddr4.itb: $(dtb_ddr4) $(supp_dtbs
|
||||
./$(PAD_IMAGE) bl31.bin
|
||||
./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4) $(supp_dtbs)
|
||||
DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr4) $(supp_dtbs) > u-boot-ddr4.its
|
||||
- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4.its u-boot-ddr4.itb
|
||||
+ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4.its u-boot-ddr4.itb
|
||||
@rm -f u-boot.its $(dtb_ddr4)
|
||||
|
||||
dtb_ddr4_evk = evkddr4.dtb
|
||||
@@ -208,7 +208,7 @@ u-boot-ddr4-evk.itb: $(dtb_ddr4_evk) $(s
|
||||
./$(PAD_IMAGE) bl31.bin
|
||||
./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4_evk) $(supp_dtbs)
|
||||
DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr4_evk) $(supp_dtbs) > u-boot-ddr4-evk.its
|
||||
- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb
|
||||
+ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb
|
||||
@rm -f u-boot.its $(dtb_ddr4_evk)
|
||||
|
||||
ifeq ($(HDMI),yes)
|
||||
@@ -358,7 +358,6 @@ nightly :
|
||||
@$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/fsl-$(PLAT)-evk.dtb -O fsl-$(PLAT)-evk.dtb
|
||||
@$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/signed_hdmi_imx8m.bin -O signed_hdmi_imx8m.bin
|
||||
@$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/signed_dp_imx8m.bin -O signed_dp_imx8m.bin
|
||||
- @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/mkimage_uboot -O mkimage_uboot
|
||||
|
||||
archive :
|
||||
git ls-files --others --exclude-standard -z | xargs -0 tar rvf $(ARCHIVE_PATH)/$(ARCHIVE_NAME)
|
||||
422
sources/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
Normal file
422
sources/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
Normal file
@@ -0,0 +1,422 @@
|
||||
# Copyright (C) 2017-2024 NXP
|
||||
|
||||
require imx-mkimage_git.inc
|
||||
|
||||
DESCRIPTION = "Generate Boot Loader for i.MX 8 device"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
|
||||
SECTION = "BSP"
|
||||
|
||||
inherit use-imx-security-controller-firmware uboot-config
|
||||
|
||||
DEPENDS += " \
|
||||
u-boot \
|
||||
${IMX_EXTRA_FIRMWARE} \
|
||||
imx-atf \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os', '', d)} \
|
||||
"
|
||||
# xxd is a dependency of fspi_packer.sh
|
||||
DEPENDS += "xxd-native"
|
||||
DEPENDS:append:mx8m-generic-bsp = " u-boot-mkimage-native dtc-native"
|
||||
DEPENDS:append:mx93-generic-bsp = " u-boot-mkimage-native dtc-native"
|
||||
|
||||
inherit deploy uuu_bootloader_tag
|
||||
|
||||
UUU_BOOTLOADER = "imx-boot"
|
||||
|
||||
# Add CFLAGS with native INCDIR & LIBDIR for imx-mkimage build
|
||||
CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR_NATIVE} -L ${STAGING_LIBDIR_NATIVE}"
|
||||
|
||||
# This package aggregates output deployed by other packages,
|
||||
# so set the appropriate dependencies
|
||||
do_compile[depends] += " \
|
||||
virtual/bootloader:do_deploy \
|
||||
${@' '.join('%s:do_deploy' % r for r in '${IMX_EXTRA_FIRMWARE}'.split() )} \
|
||||
imx-atf:do_deploy \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os:do_deploy', '', d)} \
|
||||
"
|
||||
|
||||
SC_FIRMWARE_NAME ?= "scfw_tcm.bin"
|
||||
|
||||
OEI_ENABLE = "${@bb.utils.contains('DEPENDS', 'virtual/imx-oei', 'YES', 'NO', d)}"
|
||||
OEI_NAME ?= "oei-${OEI_CORE}-*.bin"
|
||||
|
||||
ATF_MACHINE_NAME ?= "bl31-${ATF_PLATFORM}.bin"
|
||||
ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}"
|
||||
|
||||
BOOT_VARIANT ?= ""
|
||||
|
||||
TOOLS_NAME ?= "mkimage_imx8"
|
||||
|
||||
IMX_BOOT_SOC_TARGET ?= "INVALID"
|
||||
|
||||
DEPLOY_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}"
|
||||
DEPLOY_OPTEE_STMM = "${@bb.utils.contains('MACHINE_FEATURES', 'optee stmm', 'true', 'false', d)}"
|
||||
|
||||
IMXBOOT_TARGETS ?= \
|
||||
"${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \
|
||||
bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand', \
|
||||
'flash_multi_cores flash_dcd', d), d)}"
|
||||
|
||||
BOOT_STAGING = "${S}/${IMX_BOOT_SOC_TARGET}"
|
||||
BOOT_STAGING:mx8m-generic-bsp = "${S}/iMX8M"
|
||||
BOOT_STAGING:mx8dx-generic-bsp = "${S}/iMX8QX"
|
||||
BOOT_STAGING:mx91-generic-bsp = "${S}/iMX91"
|
||||
BOOT_STAGING:mx93-generic-bsp = "${S}/iMX93"
|
||||
BOOT_STAGING:mx95-generic-bsp = "${S}/iMX95"
|
||||
|
||||
SOC_FAMILY = "INVALID"
|
||||
SOC_FAMILY:mx8-generic-bsp = "mx8"
|
||||
SOC_FAMILY:mx8m-generic-bsp = "mx8m"
|
||||
SOC_FAMILY:mx8x-generic-bsp = "mx8x"
|
||||
SOC_FAMILY:mx8ulp-generic-bsp = "mx8ulp"
|
||||
SOC_FAMILY:mx91-generic-bsp = "mx91"
|
||||
SOC_FAMILY:mx93-generic-bsp = "mx93"
|
||||
SOC_FAMILY:mx95-generic-bsp = "mx95"
|
||||
|
||||
REV_OPTION ?= "REV=${IMX_SOC_REV_UPPER}"
|
||||
|
||||
UBOOT_DTB_BINARY ?= "u-boot.dtb"
|
||||
MKIMAGE_EXTRA_ARGS ?= ""
|
||||
MKIMAGE_EXTRA_ARGS:mx95-nxp-bsp ?= " \
|
||||
OEI=${OEI_ENABLE} \
|
||||
LPDDR_TYPE=${DDR_TYPE} \
|
||||
${@'LPDDR_FW_VERSION='+d.getVar('LPDDR_FW_VERSION') if d.getVar('LPDDR_FW_VERSION') else ''} \
|
||||
${@bb.utils.contains('SYSTEM_MANAGER_CONFIG', 'mx95alt', 'MSEL=1', '', d)}"
|
||||
MKIMAGE_EXTRA_ARGS:imx95-19x19-verdin ?= " \
|
||||
${MKIMAGE_EXTRA_ARGS:mx95-nxp-bsp} \
|
||||
QSPI_HEADER=./scripts/fspi_header_133"
|
||||
|
||||
UBOOT_DTB_BINARY ?= "u-boot.dtb"
|
||||
|
||||
compile_mx8m() {
|
||||
bbnote 8MQ/8MM/8MN/8MP boot binary build
|
||||
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
|
||||
bbnote "Copy ddr_firmware: ${ddr_firmware} from ${DEPLOY_DIR_IMAGE} -> ${BOOT_STAGING} "
|
||||
cp ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${BOOT_STAGING}
|
||||
done
|
||||
|
||||
cp ${DEPLOY_DIR_IMAGE}/signed_dp_imx8m.bin ${BOOT_STAGING}
|
||||
cp ${DEPLOY_DIR_IMAGE}/signed_hdmi_imx8m.bin ${BOOT_STAGING}
|
||||
cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
|
||||
${BOOT_STAGING}/u-boot-spl.bin
|
||||
|
||||
if [ "x${UBOOT_SIGN_ENABLE}" = "x1" ] ; then
|
||||
# Use DTB binary patched with signature node
|
||||
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_BINARY} ${BOOT_STAGING}/${UBOOT_DTB_NAME_EXTRA}
|
||||
else
|
||||
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME_EXTRA} \
|
||||
${BOOT_STAGING}
|
||||
fi
|
||||
if [ "${UBOOT_DTB_NAME_EXTRA}" != "${UBOOT_DTB_NAME}" ] ; then
|
||||
ln -sf ${UBOOT_DTB_NAME_EXTRA} ${BOOT_STAGING}/${UBOOT_DTB_NAME}
|
||||
fi
|
||||
|
||||
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
|
||||
${BOOT_STAGING}/u-boot-nodtb.bin
|
||||
|
||||
cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
|
||||
|
||||
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin
|
||||
|
||||
}
|
||||
|
||||
compile_mx8() {
|
||||
bbnote 8QM boot binary build
|
||||
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin
|
||||
cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
|
||||
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin
|
||||
cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
|
||||
cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
|
||||
${BOOT_STAGING}/u-boot-spl.bin
|
||||
fi
|
||||
}
|
||||
|
||||
compile_mx8x() {
|
||||
bbnote 8QX boot binary build
|
||||
cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}
|
||||
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin
|
||||
cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
|
||||
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
|
||||
cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
|
||||
${BOOT_STAGING}/u-boot-spl.bin
|
||||
fi
|
||||
}
|
||||
|
||||
compile_mx8ulp() {
|
||||
bbnote 8ULP boot binary build
|
||||
cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}/
|
||||
cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
|
||||
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/upower.bin ${BOOT_STAGING}/upower.bin
|
||||
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
|
||||
cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
|
||||
${BOOT_STAGING}/u-boot-spl.bin
|
||||
fi
|
||||
}
|
||||
|
||||
compile_mx91() {
|
||||
bbnote i.MX 91 boot binary build
|
||||
compile_mx93
|
||||
}
|
||||
|
||||
compile_mx93() {
|
||||
bbnote i.MX 93 boot binary build
|
||||
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
|
||||
bbnote "Copy ddr_firmware: ${ddr_firmware} from ${DEPLOY_DIR_IMAGE} -> ${BOOT_STAGING} "
|
||||
cp ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${BOOT_STAGING}
|
||||
done
|
||||
|
||||
cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}/
|
||||
cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
|
||||
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
|
||||
cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
|
||||
${BOOT_STAGING}/u-boot-spl.bin
|
||||
fi
|
||||
}
|
||||
|
||||
compile_mx95() {
|
||||
bbnote i.MX 95 boot binary build
|
||||
compile_mx93
|
||||
|
||||
cp ${DEPLOY_DIR_IMAGE}/${SYSTEM_MANAGER_FIRMWARE_NAME}.bin \
|
||||
${BOOT_STAGING}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}.bin
|
||||
}
|
||||
|
||||
do_compile() {
|
||||
# mkimage for i.MX8
|
||||
# Copy TEE binary to SoC target folder to mkimage
|
||||
if ${DEPLOY_OPTEE}; then
|
||||
cp ${DEPLOY_DIR_IMAGE}/tee.bin ${BOOT_STAGING}
|
||||
if ${DEPLOY_OPTEE_STMM}; then
|
||||
# Copy tee.bin to tee.bin-stmm
|
||||
cp ${DEPLOY_DIR_IMAGE}/tee.bin ${BOOT_STAGING}/tee.bin-stmm
|
||||
fi
|
||||
fi
|
||||
# Copy OEI firmware to SoC target folder to mkimage
|
||||
if [ "${OEI_ENABLE}" = "YES" ]; then
|
||||
cp ${DEPLOY_DIR_IMAGE}/${OEI_NAME} ${BOOT_STAGING}
|
||||
fi
|
||||
|
||||
for type in ${UBOOT_CONFIG}; do
|
||||
if [ "${@d.getVarFlags('UBOOT_DTB_NAME')}" = "None" ]; then
|
||||
UBOOT_DTB_NAME_FLAGS="${type}:${UBOOT_DTB_NAME}"
|
||||
else
|
||||
UBOOT_DTB_NAME_FLAGS="${@' '.join(flag + ':' + dtb for flag, dtb in (d.getVarFlags('UBOOT_DTB_NAME')).items()) if d.getVarFlags('UBOOT_DTB_NAME') is not None else '' }"
|
||||
fi
|
||||
|
||||
for key_value in ${UBOOT_DTB_NAME_FLAGS}; do
|
||||
type_key="${key_value%%:*}"
|
||||
dtb_name="${key_value#*:}"
|
||||
|
||||
if [ "$type_key" = "$type" ]
|
||||
then
|
||||
bbnote "UBOOT_CONFIG = $type, UBOOT_DTB_NAME = $dtb_name"
|
||||
|
||||
UBOOT_CONFIG_EXTRA="$type_key"
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${dtb_name}-${type} ] ; then
|
||||
UBOOT_DTB_NAME_EXTRA="${dtb_name}-${type}"
|
||||
else
|
||||
# backward compatibility
|
||||
UBOOT_DTB_NAME_EXTRA="${dtb_name}"
|
||||
fi
|
||||
UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}"
|
||||
BOOT_CONFIG_MACHINE_EXTRA="imx-boot${BOOT_VARIANT}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
|
||||
|
||||
for target in ${IMXBOOT_TARGETS}; do
|
||||
compile_${SOC_FAMILY}
|
||||
case $target in
|
||||
*no_v2x)
|
||||
# Special target build for i.MX 8DXL with V2X off
|
||||
bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} V2X=NO ${target}"
|
||||
make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} V2X=NO dtbs=${UBOOT_DTB_NAME_EXTRA} flash_linux_m4
|
||||
;;
|
||||
*stmm_capsule)
|
||||
# target for flash_evk_stmm_capsule or
|
||||
# flash_singleboot_stmm_capsule
|
||||
cp ${RECIPE_SYSROOT_NATIVE}/${bindir}/mkeficapsule ${BOOT_STAGING}
|
||||
bbnote "building ${IMX_BOOT_SOC_TARGET} - TEE=tee.bin-stmm ${target}"
|
||||
cp ${DEPLOY_DIR_IMAGE}/CRT.* ${BOOT_STAGING}
|
||||
make SOC=${IMX_BOOT_SOC_TARGET} TEE=tee.bin-stmm dtbs=${UBOOT_DTB_NAME} ${REV_OPTION} ${target}
|
||||
;;
|
||||
*)
|
||||
bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} ${MKIMAGE_EXTRA_ARGS} ${target}"
|
||||
make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} ${MKIMAGE_EXTRA_ARGS} dtbs=${UBOOT_DTB_NAME} ${target}
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -e "${BOOT_STAGING}/flash.bin" ]; then
|
||||
cp ${BOOT_STAGING}/flash.bin ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target}
|
||||
fi
|
||||
done
|
||||
|
||||
unset UBOOT_CONFIG_EXTRA
|
||||
unset UBOOT_DTB_NAME_EXTRA
|
||||
unset UBOOT_NAME_EXTRA
|
||||
unset BOOT_CONFIG_MACHINE_EXTRA
|
||||
fi
|
||||
|
||||
unset type_key
|
||||
unset dtb_name
|
||||
done
|
||||
|
||||
unset UBOOT_DTB_NAME_FLAGS
|
||||
done
|
||||
unset type
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -d ${D}/boot
|
||||
for type in ${UBOOT_CONFIG}; do
|
||||
|
||||
bbnote "UBOOT_CONFIG = $type"
|
||||
|
||||
UBOOT_CONFIG_EXTRA="$type"
|
||||
BOOT_CONFIG_MACHINE_EXTRA="imx-boot${BOOT_VARIANT}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
|
||||
|
||||
for target in ${IMXBOOT_TARGETS}; do
|
||||
install -m 0644 ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} ${D}/boot/
|
||||
done
|
||||
|
||||
unset UBOOT_CONFIG_EXTRA
|
||||
unset BOOT_CONFIG_MACHINE_EXTRA
|
||||
done
|
||||
|
||||
unset type
|
||||
}
|
||||
|
||||
deploy_mx8m() {
|
||||
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
done
|
||||
|
||||
install -m 0644 ${BOOT_STAGING}/signed_dp_imx8m.bin ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0644 ${BOOT_STAGING}/signed_hdmi_imx8m.bin ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0755 ${BOOT_STAGING}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0755 ${BOOT_STAGING}/mkimage_fit_atf.sh ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
}
|
||||
|
||||
deploy_mx8() {
|
||||
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
|
||||
${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
fi
|
||||
}
|
||||
|
||||
deploy_mx8x() {
|
||||
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
|
||||
${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
fi
|
||||
}
|
||||
|
||||
deploy_mx8ulp() {
|
||||
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
|
||||
${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
fi
|
||||
}
|
||||
|
||||
deploy_mx91() {
|
||||
deploy_mx93
|
||||
}
|
||||
|
||||
deploy_mx93() {
|
||||
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
|
||||
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
done
|
||||
|
||||
install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
|
||||
${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
fi
|
||||
}
|
||||
|
||||
deploy_mx95() {
|
||||
deploy_mx93
|
||||
install -m 0644 ${BOOT_STAGING}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}.bin \
|
||||
${DEPLOYDIR}/${BOOT_TOOLS}/${SYSTEM_MANAGER_FIRMWARE_NAME}.bin
|
||||
}
|
||||
|
||||
do_deploy() {
|
||||
deploy_${SOC_FAMILY}
|
||||
|
||||
# copy tee.bin to deploy path
|
||||
if ${DEPLOY_OPTEE}; then
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/tee.bin ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
fi
|
||||
|
||||
# copy oei to deploy path
|
||||
if [ "${OEI_ENABLE}" = "YES" ]; then
|
||||
install -m 0644 ${BOOT_STAGING}/${OEI_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
fi
|
||||
|
||||
# copy makefile (soc.mak) for reference
|
||||
install -m 0644 ${BOOT_STAGING}/soc.mak ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
|
||||
# copy stmm files to deploy path
|
||||
if ${DEPLOY_OPTEE_STMM}; then
|
||||
install -m 0644 ${BOOT_STAGING}/tee.bin-stmm ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0644 ${BOOT_STAGING}/capsule1.bin ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0644 ${BOOT_STAGING}/CRT.* ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0755 ${BOOT_STAGING}/mkeficapsule ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
fi
|
||||
|
||||
for type in ${UBOOT_CONFIG}; do
|
||||
UBOOT_CONFIG_EXTRA="$type"
|
||||
UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}"
|
||||
BOOT_CONFIG_MACHINE_EXTRA="imx-boot${BOOT_VARIANT}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
|
||||
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
|
||||
${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
fi
|
||||
# copy the tool mkimage to deploy path and sc fw, dcd and uboot
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
|
||||
# copy the generated boot image to deploy path
|
||||
for target in ${IMXBOOT_TARGETS}; do
|
||||
# Use first "target" as IMAGE_IMXBOOT_TARGET
|
||||
if [ "$IMAGE_IMXBOOT_TARGET" = "" ]; then
|
||||
IMAGE_IMXBOOT_TARGET="$target"
|
||||
echo "Set boot target as $IMAGE_IMXBOOT_TARGET"
|
||||
fi
|
||||
install -m 0644 ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} ${DEPLOYDIR}
|
||||
done
|
||||
|
||||
# The first UBOOT_CONFIG listed will be the imx-boot binary
|
||||
if [ ! -f "${DEPLOYDIR}/imx-boot" ]; then
|
||||
ln -sf ${BOOT_CONFIG_MACHINE_EXTRA}-${IMAGE_IMXBOOT_TARGET} ${DEPLOYDIR}/imx-boot
|
||||
else
|
||||
bbwarn "Use custom wks.in for $UBOOT_CONFIG = $type"
|
||||
fi
|
||||
|
||||
unset UBOOT_CONFIG_EXTRA
|
||||
unset UBOOT_NAME_EXTRA
|
||||
unset BOOT_CONFIG_MACHINE_EXTRA
|
||||
done
|
||||
unset type
|
||||
}
|
||||
addtask deploy before do_build after do_compile
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
FILES:${PN} = "/boot"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)"
|
||||
@@ -0,0 +1,23 @@
|
||||
# Copyright (C) 2016 Freescale Semiconductor
|
||||
# Copyright (C) 2017-2022 NXP
|
||||
|
||||
require imx-mkimage_git.inc
|
||||
|
||||
DESCRIPTION = "i.MX make image"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
|
||||
SECTION = "BSP"
|
||||
|
||||
inherit deploy native
|
||||
|
||||
EXTRA_OEMAKE = "SOC=iMX8M mkimage_imx8"
|
||||
|
||||
CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR} -L ${STAGING_LIBDIR}"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 iMX8M/mkimage_imx8 ${D}${bindir}/mkimage_imx8m
|
||||
install -m 0755 iMX8M/mkimage_fit_atf.sh ${D}${bindir}/mkimage_fit_atf.sh
|
||||
install -m 0755 iMX8M/print_fit_hab.sh ${D}${bindir}/print_fit_hab.sh
|
||||
install -m 0755 mkimage_imx8 ${D}${bindir}/mkimage_imx8
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
# Copyright 2017-2023 NXP
|
||||
|
||||
DEPENDS = "zlib-native openssl-native"
|
||||
|
||||
SRC_URI = "git://github.com/nxp-imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH} \
|
||||
file://0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch \
|
||||
"
|
||||
SRCBRANCH = "lf-6.6.52_2.2.1"
|
||||
SRCREV = "81fca6434be0610f3f9216a762aadc4dc3e8d8db"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
BOOT_TOOLS = "imx-boot-tools"
|
||||
SYSROOT_DIRS += "/boot"
|
||||
Reference in New Issue
Block a user