6439a10e98
With binman support enabled, u-boot for k3 r5 core (ti-k3-r5-loader) install different target image (tiboot3*.bin) depending on the K3 SoC boot ROM: - General Purpose devices (gp) - High Security - Field Securable devices (hs-fs) - High Security - Security Enforcing devices (hs) An additional firmware binary is required on certain TI K3 devices such as AM65 and J721e due to the "Split binary" boot flow [1]: - Split binary with a combined firmware: (eg: AM65) - Combined binary with a combined firmware: (eg: AM64) - Split binary with a split firmware: (eg: J721E) - Combined binary with a split firmware: (eg: AM62) K3 SoC using Split Binary Boot Flow also requires sysfw-*.itb file to boot (eg: am65, j721e). Only tiboot3*.bin is needed for other boot flow. From [1]: "It's important to rename the generated tiboot3.bin and sysfw.itb to match exactly tiboot3.bin and sysfw.itb as ROM and the wakeup UBoot SPL will only look for and load the files with these names." See the (not exhaustive) list of all tiboot3*.bin and sysfw*.itb file variant found in meta-ti: meta-ti-bsp/conf/machine/beaglebone-ai64-k3r5.conf:UBOOT_IMAGE = "tiboot3-${MAINMACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}" meta-ti-bsp/conf/machine/beaglebone-ai64-k3r5.conf:UBOOT_SYMLINK = "tiboot3-${MAINMACHINE}.${UBOOT_SUFFIX}" meta-ti-bsp/conf/machine/include/am62axx.inc:IMAGE_BOOT_FILES += "tiboot3-am62ax-hs-fs-evm.bin" meta-ti-bsp/conf/machine/include/am62axx.inc:IMAGE_BOOT_FILES += "tiboot3-am62ax-gp-evm.bin" meta-ti-bsp/conf/machine/include/am62axx.inc:IMAGE_BOOT_FILES += "tiboot3-am62ax-hs-evm.bin" meta-ti-bsp/conf/machine/include/am62pxx.inc:IMAGE_BOOT_FILES += "tiboot3-am62px-hs-fs-evm.bin" meta-ti-bsp/conf/machine/include/am62xx.inc:IMAGE_BOOT_FILES += "tiboot3-am62x-hs-fs-evm.bin" meta-ti-bsp/conf/machine/include/am62xx.inc:IMAGE_BOOT_FILES += "tiboot3-am62x-gp-evm.bin" meta-ti-bsp/conf/machine/include/am62xx.inc:IMAGE_BOOT_FILES += "tiboot3-am62x-hs-evm.bin" meta-ti-bsp/conf/machine/include/am64xx.inc:IMAGE_BOOT_FILES += "tiboot3-am64x_sr2-hs-fs-evm.bin" meta-ti-bsp/conf/machine/include/am64xx.inc:IMAGE_BOOT_FILES += "tiboot3-am64x-gp-evm.bin" meta-ti-bsp/conf/machine/include/am64xx.inc:IMAGE_BOOT_FILES += "tiboot3-am64x_sr2-hs-evm.bin" meta-ti-bsp/conf/machine/include/am65xx.inc:IMAGE_BOOT_FILES += "tiboot3-am65x_sr2-gp-evm.bin" meta-ti-bsp/conf/machine/include/am65xx.inc:IMAGE_BOOT_FILES += "tiboot3-am65x_sr2-hs-evm.bin" meta-ti-bsp/conf/machine/include/j7200.inc:IMAGE_BOOT_FILES += "tiboot3-j7200-gp-evm.bin" meta-ti-bsp/conf/machine/include/j7200.inc:IMAGE_BOOT_FILES += "tiboot3-j7200_sr2-hs-fs-evm.bin" meta-ti-bsp/conf/machine/include/j7200.inc:IMAGE_BOOT_FILES += "tiboot3-j7200_sr2-hs-evm.bin" meta-ti-bsp/conf/machine/include/j721e.inc:IMAGE_BOOT_FILES += "tiboot3-j721e-gp-evm.bin" meta-ti-bsp/conf/machine/include/j721e.inc:IMAGE_BOOT_FILES += "tiboot3-j721e_sr2-hs-fs-evm.bin" meta-ti-bsp/conf/machine/include/j721e.inc:IMAGE_BOOT_FILES += "tiboot3-j721e_sr1_1-hs-evm.bin" meta-ti-bsp/conf/machine/include/j721s2.inc:IMAGE_BOOT_FILES += "tiboot3-j721s2-gp-evm.bin" meta-ti-bsp/conf/machine/include/j721s2.inc:IMAGE_BOOT_FILES += "tiboot3-j721s2-hs-fs-evm.bin" meta-ti-bsp/conf/machine/include/j722s.inc:IMAGE_BOOT_FILES += "tiboot3-j722s-hs-fs-evm.bin" meta-ti-bsp/conf/machine/include/j784s4.inc:IMAGE_BOOT_FILES += "tiboot3-j784s4-gp-evm.bin" meta-ti-bsp/conf/machine/include/j784s4.inc:IMAGE_BOOT_FILES += "tiboot3-j784s4-hs-fs-evm.bin" meta-ti-bsp/conf/machine/include/k3r5.inc:SPL_BINARY = "tiboot3-${SYSFW_SOC}-${SYSFW_SUFFIX}-${SYSFW_CONFIG}.${SPL_SUFFIX}" meta-ti-bsp/conf/machine/include/am65xx.inc:IMAGE_BOOT_FILES += "sysfw.itb" meta-ti-bsp/conf/machine/include/am65xx.inc:IMAGE_BOOT_FILES += "sysfw-am65x_sr2-gp-evm.itb" meta-ti-bsp/conf/machine/include/am65xx.inc:IMAGE_BOOT_FILES += "sysfw-am65x_sr2-hs-evm.itb" meta-ti-bsp/conf/machine/include/j721e.inc:IMAGE_BOOT_FILES += "sysfw.itb" meta-ti-bsp/conf/machine/include/j721e.inc:IMAGE_BOOT_FILES += "sysfw-j721e-gp-evm.itb" meta-ti-bsp/conf/machine/include/j721e.inc:IMAGE_BOOT_FILES += "sysfw-j721e_sr2-hs-fs-evm.itb" meta-ti-bsp/conf/machine/include/j721e.inc:IMAGE_BOOT_FILES += "sysfw-j721e_sr1_1-hs-evm.itb" This firmware list can also be verified with the firmware name used in the u-boot devicetree k3-*-binman.dtsi files. On the SK-AM62B-P1, three tiboot3 binaries are built, one for each boot ROM variant: tiboot3-am62x-gp-evm.bin tiboot3-am62x-hs-evm.bin tiboot3-am62x-hs-fs-evm.bin A tiboot3.bin symlink is provided as default choice: tiboot3.bin -> tiboot3-am62x-hs-fs-evm.bin On this board, the tiboot3.bin symlink links to the hs-fs variant but it not always de case for all TI K3 devices. (ex: J721e use gp variant by default). The tiboot3.bin symlink links the -gp, -hs-fs, -hs tiboot3 binary according to where "symlink = "tiboot3.bin";" line is located in k3-*binman.dtsi. As reported by Michael Walle [2], such firmware name can also be customized by a SBC vendor [3], so we can't always be sure which firmware to use. If required, let the user provide a custom tiboot3 or sysfw firmware name from the defconfig. Otherwise use the default firmware choice by copying tiboot3.bin and sysfw.itb symlinks. [1] https://source.denx.de/u-boot/u-boot/-/blob/v2024.01/doc/board/ti/k3.rst [2] http://lists.busybox.net/pipermail/buildroot/2024-April/688943.html [3] https://elixir.bootlin.com/u-boot/v2024.04/source/arch/arm/dts/k3-am625-phycore-som-binman.dtsi#L14 Reviewed-by: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Signed-off-by: Romain Naour <romain.naour@smile.fr> |
||
---|---|---|
.. | ||
afboot-stm32 | ||
arm-trusted-firmware | ||
at91bootstrap | ||
at91bootstrap3 | ||
at91dataflashboot | ||
barebox | ||
beaglev-ddrinit | ||
beaglev-secondboot | ||
binaries-marvell | ||
boot-wrapper-aarch64 | ||
edk2 | ||
grub2 | ||
mv-ddr-marvell | ||
mxs-bootlets | ||
opensbi | ||
optee-os | ||
s500-bootloader | ||
shim | ||
syslinux | ||
ti-k3-boot-firmware | ||
ti-k3-image-gen | ||
ti-k3-r5-loader | ||
uboot | ||
vexpress-firmware | ||
common.mk | ||
Config.in |