b29fe22257
Adds support for BeagleBone AI-64 board by introducing the beagleboneai64_defconfig file and related support files. The BeagleBone AI-64 uses the TI J721E SoC, also known as DRA829, also known as TDA4VM. Retrieve BSP settings from meta-ti (may be useful for other TI boards): - This defconfig requires u-boot binman support added in u-boot since 2023.10. See FOSDEM 2024 talk by TI folks about Binman and how it simplify the overall boot-loader build flow [1]. - Set BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD = "generic" meta-ti]$ git grep TFA_BOARD meta-ti-bsp/conf/machine/beagleplay.conf:TFA_BOARD = "lite" meta-ti-bsp/conf/machine/include/am62axx.inc:TFA_BOARD = "lite" meta-ti-bsp/conf/machine/include/am62pxx.inc:TFA_BOARD = "lite" meta-ti-bsp/conf/machine/include/am62xx.inc:TFA_BOARD = "lite" meta-ti-bsp/conf/machine/include/am64xx.inc:TFA_BOARD = "lite" meta-ti-bsp/conf/machine/include/am65xx.inc:TFA_BOARD = "generic" meta-ti-bsp/conf/machine/include/j7200.inc:TFA_BOARD = "generic" meta-ti-bsp/conf/machine/include/j721e.inc:TFA_BOARD = "generic" meta-ti-bsp/conf/machine/include/j721s2.inc:TFA_BOARD = "generic" meta-ti-bsp/conf/machine/include/j722s.inc:TFA_BOARD = "lite" meta-ti-bsp/conf/machine/include/j784s4.inc:TFA_BOARD = "j784s4" - Set BR2_TARGET_UBOOT_NEEDS_ATF_BL31 to provide BL31 variable pointing to ATF bl31.bin to the U-Boot build process [2]. - Set BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE to OP-TEE as BL32 secure payload. meta-ti set "SPD=opteed" to build ATF [3]. - Set BR2_TARGET_OPTEE_OS_PLATFORM to "k3-j721e". meta-ti uses the OPTEEMACHINE to set optee-os platform [4]. meta-ti]$ git grep OPTEEMACHINE meta-ti-bsp/conf/machine/am437x-hs-evm.conf:OPTEEMACHINE = "ti-am43xx" meta-ti-bsp/conf/machine/am57xx-hs-evm.conf:OPTEEMACHINE = "ti-am57xx" meta-ti-bsp/conf/machine/beagleplay.conf:OPTEEMACHINE = "k3-am62x" meta-ti-bsp/conf/machine/dra7xx-hs-evm.conf:OPTEEMACHINE = "ti-dra7xx" meta-ti-bsp/conf/machine/include/am62axx.inc:OPTEEMACHINE = "k3-am62x" meta-ti-bsp/conf/machine/include/am62pxx.inc:OPTEEMACHINE = "k3-am62x" meta-ti-bsp/conf/machine/include/am62xx.inc:OPTEEMACHINE = "k3-am62x" meta-ti-bsp/conf/machine/include/am64xx.inc:OPTEEMACHINE = "k3-am64x" meta-ti-bsp/conf/machine/include/am65xx.inc:OPTEEMACHINE = "k3-am65x" meta-ti-bsp/conf/machine/include/j7200.inc:OPTEEMACHINE = "k3-j721e" meta-ti-bsp/conf/machine/include/j721e.inc:OPTEEMACHINE = "k3-j721e" meta-ti-bsp/conf/machine/include/j721s2.inc:OPTEEMACHINE = "k3-j784s4" meta-ti-bsp/conf/machine/include/j722s.inc:OPTEEMACHINE = "k3-am62x" meta-ti-bsp/conf/machine/include/j784s4.inc:OPTEEMACHINE = "k3-j784s4" - Use j721e_beagleboneai64_a72 and j721e_beagleboneai64_r5 u-boot defconfigs introduced in u-boot v2024.04. - u-boot distroboot (bootflow) detect extlinux.conf file from the first SDcard partition, se we have to install the kernel and its dtb file. Use devicetreedir instead of devicetree in extlinux.conf file to avoid hardcoding the devicetree file name. TI boards are able to retrieve dtb file name from an EEPROM (see TI_I2C_BOARD_DETECT in uboot). - Provide a hash file for all custom package version (arm-trusted-firmware, linux, ti-k3-r5-loader, uboot) to enable BR2_DOWNLOAD_FORCE_CHECK_HASHES. [1] https://fosdem.org/2024/schedule/event/fosdem-2024-3067-standardizing-the-generation-and-signing-of-boot-images/ [2] https://git.yoctoproject.org/meta-ti/commit/?id=e74b9a1746d4d04757c87c1920a0f743e55ff096 [3] https://git.yoctoproject.org/meta-ti/tree/meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-ti.inc?h=09.02.00.004#n7 [4] https://git.yoctoproject.org/meta-arm/tree/meta-arm/recipes-security/optee/optee-os.inc?h=4.0.3#n23 More information about the board can be found at: https://www.beagleboard.org/boards/beaglebone-ai-64 Signed-off-by: Romain Naour <romain.naour@smile.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
51 lines
2.0 KiB
Plaintext
51 lines
2.0 KiB
Plaintext
BR2_aarch64=y
|
|
BR2_cortex_a72=y
|
|
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y
|
|
BR2_GLOBAL_PATCH_DIR="board/beagleboard/beagleboneai64/patches"
|
|
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
|
|
BR2_ROOTFS_POST_BUILD_SCRIPT="board/beagleboard/beagleboneai64/post-build.sh"
|
|
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
|
|
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beagleboard/beagleboneai64/genimage.cfg"
|
|
BR2_SYSTEM_DHCP="eth0"
|
|
BR2_LINUX_KERNEL=y
|
|
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
|
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.30"
|
|
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
|
|
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
|
BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-j721e-beagleboneai64"
|
|
BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y
|
|
BR2_TARGET_ROOTFS_EXT2=y
|
|
BR2_TARGET_ROOTFS_EXT2_4=y
|
|
BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
|
|
BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
|
|
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y
|
|
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.10"
|
|
BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3"
|
|
BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="generic"
|
|
BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y
|
|
BR2_TARGET_OPTEE_OS=y
|
|
BR2_TARGET_OPTEE_OS_PLATFORM="k3-j721e"
|
|
BR2_TARGET_TI_K3_BOOT_FIRMWARE=y
|
|
BR2_TARGET_TI_K3_R5_LOADER=y
|
|
BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION=y
|
|
BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2024.04"
|
|
BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="j721e_beagleboneai64_r5"
|
|
BR2_TARGET_UBOOT=y
|
|
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
|
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
|
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.04"
|
|
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="j721e_beagleboneai64_a72"
|
|
BR2_TARGET_UBOOT_NEEDS_DTC=y
|
|
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
|
|
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
|
|
BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
|
|
BR2_TARGET_UBOOT_USE_BINMAN=y
|
|
# BR2_TARGET_UBOOT_FORMAT_BIN is not set
|
|
BR2_TARGET_UBOOT_FORMAT_IMG=y
|
|
BR2_TARGET_UBOOT_SPL=y
|
|
BR2_TARGET_UBOOT_SPL_NAME="tispl.bin_unsigned"
|
|
BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin"
|
|
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
|
BR2_PACKAGE_HOST_GENIMAGE=y
|
|
BR2_PACKAGE_HOST_MTOOLS=y
|