From 2021.1, PetaLinux removed DTB from u-boot.elf. U-Boot now uses the DTB from BOOT.BIN instead of u-boot.elf. If you are using a custom BIF file to generate BOOT.BIN, ensure to include the DTB in the file so that the boot doesn't fail.
|Self-extractable U-Boot elf containing the U-Boot binary symbols with a larger size than previous versions
|Self-extractable U-Boot elf that has the U-Boot binary with DTB
|Contains the U-Boot binary
|Contains the U-Boot binary with DTB
By default, PetaLinux uses u-boot.elf to create JTAG/BOOT.BIN. During BOOT.BIN creation, bootgen removes the symbols from u-boot.elf so that there is no size difference in the final BOOT.BIN. You can also use u-boot-dtb.elf for BOOT.BIN. In that case, U-Boot uses the DTB from u-boot-dtb.elf instead of BOOT.BIN.