mirror of
https://github.com/lingble/meta-tegra.git
synced 2025-11-01 21:07:59 +00:00
tegra-bootfiles: updates for L4T R35.4.1
* Add badpage file creation for Orin industrial modules, and add the new firmware for it to the list of boot files * Remove the resizing of kernel/kernel-dtb partitions in external flash layouts; the layouts in R35.4.1 have been updated * Add support for using the generic flash_l4t_external layout on t23x platforms by renaming the kernel/kernel-dtb partitions Signed-off-by: Matt Madison <matt@madison.systems>
This commit is contained in:
committed by
Matt Madison
parent
8ae10e65bd
commit
2d3936fd8e
@@ -62,6 +62,7 @@ BOOTBINS:tegra234 = "\
|
|||||||
tegra234-gpio.h \
|
tegra234-gpio.h \
|
||||||
readinfo_t234_min_prod.xml \
|
readinfo_t234_min_prod.xml \
|
||||||
camera-rtcpu-sce.img \
|
camera-rtcpu-sce.img \
|
||||||
|
fsi-fw-ecc.bin \
|
||||||
"
|
"
|
||||||
|
|
||||||
BOOTBINS_MACHINE_SPECIFIC:tegra194 = ""
|
BOOTBINS_MACHINE_SPECIFIC:tegra194 = ""
|
||||||
@@ -99,6 +100,34 @@ do_compile:append:tegra194() {
|
|||||||
printf 'BINF' | dd of="${BL_DIR}/badpage.bin" bs=1 seek=2992 count=4 conv=notrunc &> /dev/null
|
printf 'BINF' | dd of="${BL_DIR}/badpage.bin" bs=1 seek=2992 count=4 conv=notrunc &> /dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
do_compile:append:tegra234() {
|
||||||
|
BL_DIR="${S}/bootloader"
|
||||||
|
# Create badpage.bin if it doesn't exist
|
||||||
|
if [ ! -f "${BL_DIR}/badpage.bin" ]; then
|
||||||
|
echo "creating dummy ${BL_DIR}/badpage.bin"
|
||||||
|
dd if=/dev/zero of="${BL_DIR}/badpage.bin" bs=4096 count=1;
|
||||||
|
else
|
||||||
|
echo "reusing existing ${BL_DIR}/badpage.bin"
|
||||||
|
# Clear BCH Header
|
||||||
|
dd if=/dev/zero of="${BL_DIR}/badpage.bin" bs=4096 seek=0 count=1;
|
||||||
|
fi;
|
||||||
|
printf 'NVDA' | dd of="${BL_DIR}/badpage.bin" bs=1 seek=0 count=4 conv=notrunc &> /dev/null
|
||||||
|
printf 'BINF' | dd of="${BL_DIR}/badpage.bin" bs=1 seek=5120 count=4 conv=notrunc &> /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
install_external_layout() {
|
||||||
|
bberror "No method for installing external partition layout file"
|
||||||
|
}
|
||||||
|
|
||||||
|
install_external_layout:tegra194() {
|
||||||
|
install -m 0644 ${PARTITION_FILE_EXTERNAL} ${D}${datadir}/tegraflash/${PARTITION_LAYOUT_EXTERNAL}
|
||||||
|
}
|
||||||
|
|
||||||
|
install_external_layout:tegra234() {
|
||||||
|
nvflashxmlparse -v --switch-to-prefixed-kernel-partitions --output=${D}${datadir}/tegraflash/${PARTITION_LAYOUT_EXTERNAL} ${PARTITION_FILE_EXTERNAL}
|
||||||
|
chmod 0644 ${D}${datadir}/tegraflash/${PARTITION_LAYOUT_EXTERNAL}
|
||||||
|
}
|
||||||
|
|
||||||
do_install() {
|
do_install() {
|
||||||
PATH="${STAGING_BINDIR_NATIVE}/tegra-flash:${PATH}"
|
PATH="${STAGING_BINDIR_NATIVE}/tegra-flash:${PATH}"
|
||||||
install -d ${D}${datadir}/tegraflash
|
install -d ${D}${datadir}/tegraflash
|
||||||
@@ -125,10 +154,7 @@ do_install() {
|
|||||||
# referenced during early boot match the split layout above.
|
# referenced during early boot match the split layout above.
|
||||||
nvflashxmlparse -v --remove --partitions-to-remove=APP --output=${D}${datadir}/tegraflash/bupgen-${PARTITION_LAYOUT_TEMPLATE} ${PARTITION_FILE}
|
nvflashxmlparse -v --remove --partitions-to-remove=APP --output=${D}${datadir}/tegraflash/bupgen-${PARTITION_LAYOUT_TEMPLATE} ${PARTITION_FILE}
|
||||||
chmod 0644 ${D}${datadir}/tegraflash/bupgen-${PARTITION_LAYOUT_TEMPLATE}
|
chmod 0644 ${D}${datadir}/tegraflash/bupgen-${PARTITION_LAYOUT_TEMPLATE}
|
||||||
# Work around too-small partition sizes for kernel and
|
install -m 0644 ${PARTITION_FILE_EXTERNAL} ${D}${datadir}/tegraflash/${PARTITION_LAYOUT_EXTERNAL}
|
||||||
# kernel_dtb partitions in NVMe layouts (specifically t234)
|
|
||||||
nvflashxmlparse -v --update-parttype-sizes-from=${PARTITION_FILE}:kernel,kernel_dtb --output=${D}${datadir}/tegraflash/${PARTITION_LAYOUT_EXTERNAL} ${PARTITION_FILE_EXTERNAL}
|
|
||||||
chmod 0644 ${D}${datadir}/tegraflash/${PARTITION_LAYOUT_EXTERNAL}
|
|
||||||
else
|
else
|
||||||
if [ "${TEGRAFLASH_NO_INTERNAL_STORAGE}" = "1" ]; then
|
if [ "${TEGRAFLASH_NO_INTERNAL_STORAGE}" = "1" ]; then
|
||||||
install -m 0644 ${PARTITION_FILE} ${D}${datadir}/tegraflash/bupgen-${PARTITION_LAYOUT_TEMPLATE}
|
install -m 0644 ${PARTITION_FILE} ${D}${datadir}/tegraflash/bupgen-${PARTITION_LAYOUT_TEMPLATE}
|
||||||
@@ -137,10 +163,7 @@ do_install() {
|
|||||||
else
|
else
|
||||||
install -m 0644 ${PARTITION_FILE} ${D}${datadir}/tegraflash/${PARTITION_LAYOUT_TEMPLATE}
|
install -m 0644 ${PARTITION_FILE} ${D}${datadir}/tegraflash/${PARTITION_LAYOUT_TEMPLATE}
|
||||||
fi
|
fi
|
||||||
# Work around too-small partition sizes for kernel and
|
install_external_layout
|
||||||
# kernel_dtb partitions in NVMe layouts (specifically t234)
|
|
||||||
nvflashxmlparse -v --update-parttype-sizes-from=${PARTITION_FILE}:kernel,kernel_dtb --output=${D}${datadir}/tegraflash/${PARTITION_LAYOUT_EXTERNAL} ${PARTITION_FILE_EXTERNAL}
|
|
||||||
chmod 0644 ${D}${datadir}/tegraflash/${PARTITION_LAYOUT_EXTERNAL}
|
|
||||||
fi
|
fi
|
||||||
[ -z "${ODMFUSE_FILE}" ] || install -m 0644 ${ODMFUSE_FILE} ${D}${datadir}/tegraflash/odmfuse_pkc_${MACHINE}.xml
|
[ -z "${ODMFUSE_FILE}" ] || install -m 0644 ${ODMFUSE_FILE} ${D}${datadir}/tegraflash/odmfuse_pkc_${MACHINE}.xml
|
||||||
install -m 0644 ${BCT_TEMPLATE} ${D}${datadir}/tegraflash/${EMMC_BCT}
|
install -m 0644 ${BCT_TEMPLATE} ${D}${datadir}/tegraflash/${EMMC_BCT}
|
||||||
|
|||||||
Reference in New Issue
Block a user