imx-boot: build ccimx8x images for B0 and C0 silicon revisions
Modify the imx-seco recipe so it deploys the B0 and C0 versions of the SECO
firmware, Then, modify the imx-boot recipe so it builds every possible
combination of:
* RAM configuration
* imx-boot target (with and without M4 demos)
* Silicon revision
https://jira.digi.com/browse/DEL-7069
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit is contained in:
parent
37071483f7
commit
3fbd38ca46
|
|
@ -26,6 +26,13 @@ SDIMG_BOOTLOADER = "${DEPLOY_DIR_IMAGE}/${BOOTABLE_FILENAME}"
|
||||||
# Last one is the default (the one the symlinks point at)
|
# Last one is the default (the one the symlinks point at)
|
||||||
RAM_CONFIGS = "1.2GHz_512MB_16bit 1.2GHz_1GB_16bit 1.2GHz_1GB_32bit 1.2GHz_2GB_32bit"
|
RAM_CONFIGS = "1.2GHz_512MB_16bit 1.2GHz_1GB_16bit 1.2GHz_1GB_32bit 1.2GHz_2GB_32bit"
|
||||||
|
|
||||||
|
# The original variable used by NXP to store the mkimage "REV" parameter,
|
||||||
|
# REV_OPTION, has a format of "REV=X0". Since we are interested in building
|
||||||
|
# images for multiple revisions and using the revision in the imx-boot filename,
|
||||||
|
# use a new variable for our redefined compile, install and deploy functions in
|
||||||
|
# the imx-boot recipe.
|
||||||
|
SOC_REVISIONS = "B0 C0"
|
||||||
|
|
||||||
# Linux kernel configuration
|
# Linux kernel configuration
|
||||||
KERNEL_DEFCONFIG ?= "arch/arm64/configs/ccimx8_defconfig"
|
KERNEL_DEFCONFIG ?= "arch/arm64/configs/ccimx8_defconfig"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -72,13 +72,15 @@ do_compile () {
|
||||||
ln -sf ${SC_FIRMWARE_NAME}-${ramc} scfw_tcm.bin
|
ln -sf ${SC_FIRMWARE_NAME}-${ramc} scfw_tcm.bin
|
||||||
cd -
|
cd -
|
||||||
for target in ${IMXBOOT_TARGETS}; do
|
for target in ${IMXBOOT_TARGETS}; do
|
||||||
bbnote "building ${SOC_TARGET} - ${ramc} - ${REV_OPTION} ${target}"
|
for rev in ${SOC_REVISIONS}; do
|
||||||
make SOC=${SOC_TARGET} dtbs=${UBOOT_DTB_NAME} ${REV_OPTION} ${target}
|
bbnote "building ${SOC_TARGET} - ${ramc} - REV=${rev} ${target}"
|
||||||
|
make SOC=${SOC_TARGET} dtbs=${UBOOT_DTB_NAME} REV=${rev} ${target}
|
||||||
if [ -e "${BOOT_STAGING}/flash.bin" ]; then
|
if [ -e "${BOOT_STAGING}/flash.bin" ]; then
|
||||||
cp ${BOOT_STAGING}/flash.bin ${S}/${UBOOT_PREFIX}-${MACHINE}-${ramc}.bin-${target}
|
cp ${BOOT_STAGING}/flash.bin ${S}/${UBOOT_PREFIX}-${MACHINE}-${rev}-${ramc}.bin-${target}
|
||||||
fi
|
fi
|
||||||
SCFWBUILT="yes"
|
SCFWBUILT="yes"
|
||||||
done
|
done
|
||||||
|
done
|
||||||
rm ${BOOT_STAGING}/scfw_tcm.bin
|
rm ${BOOT_STAGING}/scfw_tcm.bin
|
||||||
rm ${BOOT_STAGING}/u-boot.bin
|
rm ${BOOT_STAGING}/u-boot.bin
|
||||||
# Remove u-boot-atf.bin and u-boot-hash.bin so they get generated with the next iteration's U-Boot
|
# Remove u-boot-atf.bin and u-boot-hash.bin so they get generated with the next iteration's U-Boot
|
||||||
|
|
@ -122,7 +124,9 @@ do_install () {
|
||||||
else
|
else
|
||||||
for ramc in ${UBOOT_RAM_COMBINATIONS}; do
|
for ramc in ${UBOOT_RAM_COMBINATIONS}; do
|
||||||
for target in ${IMXBOOT_TARGETS}; do
|
for target in ${IMXBOOT_TARGETS}; do
|
||||||
install -m 0644 ${S}/${UBOOT_PREFIX}-${MACHINE}-${ramc}.bin-${target} ${D}/boot/
|
for rev in ${SOC_REVISIONS}; do
|
||||||
|
install -m 0644 ${S}/${UBOOT_PREFIX}-${MACHINE}-${rev}-${ramc}.bin-${target} ${D}/boot/
|
||||||
|
done
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
@ -156,6 +160,7 @@ do_deploy () {
|
||||||
ln -sf mkimage-${IMAGE_IMXBOOT_TARGET}.log mkimage.log
|
ln -sf mkimage-${IMAGE_IMXBOOT_TARGET}.log mkimage.log
|
||||||
else
|
else
|
||||||
for ramc in ${UBOOT_RAM_COMBINATIONS}; do
|
for ramc in ${UBOOT_RAM_COMBINATIONS}; do
|
||||||
|
for rev in ${SOC_REVISIONS}; do
|
||||||
IMAGE_IMXBOOT_TARGET=""
|
IMAGE_IMXBOOT_TARGET=""
|
||||||
for target in ${IMXBOOT_TARGETS}; do
|
for target in ${IMXBOOT_TARGETS}; do
|
||||||
# Use first "target" as IMAGE_IMXBOOT_TARGET
|
# Use first "target" as IMAGE_IMXBOOT_TARGET
|
||||||
|
|
@ -163,15 +168,16 @@ do_deploy () {
|
||||||
IMAGE_IMXBOOT_TARGET="$target"
|
IMAGE_IMXBOOT_TARGET="$target"
|
||||||
echo "Set boot target as $IMAGE_IMXBOOT_TARGET"
|
echo "Set boot target as $IMAGE_IMXBOOT_TARGET"
|
||||||
fi
|
fi
|
||||||
install -m 0644 ${S}/${UBOOT_PREFIX}-${MACHINE}-${ramc}.bin-${target} ${DEPLOYDIR}
|
install -m 0644 ${S}/${UBOOT_PREFIX}-${MACHINE}-${rev}-${ramc}.bin-${target} ${DEPLOYDIR}
|
||||||
done
|
done
|
||||||
cd ${DEPLOYDIR}
|
cd ${DEPLOYDIR}
|
||||||
ln -sf ${UBOOT_PREFIX}-${MACHINE}-${ramc}.bin-${IMAGE_IMXBOOT_TARGET} ${UBOOT_PREFIX}-${MACHINE}-${ramc}.bin
|
ln -sf ${UBOOT_PREFIX}-${MACHINE}-${rev}-${ramc}.bin-${IMAGE_IMXBOOT_TARGET} ${UBOOT_PREFIX}-${MACHINE}-${rev}-${ramc}.bin
|
||||||
# Link to default bootable U-Boot filename. It gets overwritten
|
# Link to default bootable U-Boot filename. It gets overwritten
|
||||||
# on every loop so the only last RAM_CONFIG will survive.
|
# on every loop so the only last RAM_CONFIG will survive.
|
||||||
ln -sf ${UBOOT_PREFIX}-${MACHINE}-${ramc}.bin-${IMAGE_IMXBOOT_TARGET} ${BOOTABLE_FILENAME}
|
ln -sf ${UBOOT_PREFIX}-${MACHINE}-${rev}-${ramc}.bin-${IMAGE_IMXBOOT_TARGET} ${BOOTABLE_FILENAME}
|
||||||
cd -
|
cd -
|
||||||
done
|
done
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,3 +4,7 @@ SECO_FIRMWARE_NAME_mx8qxp = "mx8qxb0-ahab-container.img"
|
||||||
SECO_FIRMWARE_NAME_mx8qxpc0 = "mx8qxc0-ahab-container.img"
|
SECO_FIRMWARE_NAME_mx8qxpc0 = "mx8qxc0-ahab-container.img"
|
||||||
SECO_FIRMWARE_NAME_mx8phantomdxl = "mx8qxb0-ahab-container.img"
|
SECO_FIRMWARE_NAME_mx8phantomdxl = "mx8qxb0-ahab-container.img"
|
||||||
SECO_FIRMWARE_NAME_mx8dxl = "mx8dxla0-ahab-container.img"
|
SECO_FIRMWARE_NAME_mx8dxl = "mx8dxla0-ahab-container.img"
|
||||||
|
|
||||||
|
# For the ccimx8x, we generate images for both the B0 and the C0 revisions of
|
||||||
|
# the i.MX8X silicon, so deploy both versions of the firmware.
|
||||||
|
SECO_FIRMWARE_NAME_ccimx8x = "mx8qx*0-ahab-container.img"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue