| config BR2_TARGET_ARM_TRUSTED_FIRMWARE |
| bool "ARM Trusted Firmware (ATF)" |
| depends on (BR2_ARM_CPU_ARMV8A || BR2_ARM_CPU_ARMV7A) |
| help |
| Enable this option if you want to build the ATF for your ARM |
| based embedded device. |
| |
| https://github.com/ARM-software/arm-trusted-firmware |
| |
| if BR2_TARGET_ARM_TRUSTED_FIRMWARE |
| choice |
| prompt "ATF Version" |
| help |
| Select the specific ATF version you want to use |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION |
| bool "v2.11" |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_10_VERSION |
| bool "latest lts-v2.10.x" |
| help |
| Select the latest LTS v2.10.x version available |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_8_VERSION |
| bool "latest lts-v2.8.x" |
| help |
| Select the latest LTS v2.8.x version available |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION |
| bool "Custom version" |
| help |
| This option allows to use a specific official versions |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL |
| bool "Custom tarball" |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT |
| bool "Custom Git repository" |
| |
| endchoice |
| |
| if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION |
| string "URL of custom ATF tarball" |
| |
| endif |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE |
| string "ATF version" |
| depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION |
| string |
| default "v2.11" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION |
| default "lts-v2.10.5" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_10_VERSION |
| default "lts-v2.8.20" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_8_VERSION |
| default "custom" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL |
| default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \ |
| if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT |
| default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE \ |
| if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION |
| |
| if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL |
| string "URL of custom repository" |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION |
| string "Custom repository version" |
| help |
| Revision to use in the typical format used by Git |
| E.G. a sha id, a tag, .. |
| |
| endif |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM |
| string "ATF platform" |
| help |
| Target plaform to build for. |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD |
| string "ATF target board" |
| help |
| Target board to build for. In many cases, this can be left |
| empty. |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH |
| string "Device Tree Source file paths" |
| help |
| Space-separated list of paths to device tree source files |
| that will be copied to fdts/ before starting the build. |
| |
| To use this device tree source file, the ATF configuration |
| file must refer to it. |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP |
| bool "Build FIP image" |
| help |
| This option enables building the FIP image (Firmware Image |
| Package). This is typically the image format used by |
| platforms were ATF encapsulates the second stage bootloader |
| (such as U-Boot). |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 |
| bool "Build BL31 image" |
| help |
| This option enables building the BL31 image. This is |
| typically used on platforms where another bootloader (e.g |
| U-Boot) encapsulates ATF BL31. |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT |
| bool "Build BL31 U-Boot image" |
| select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 |
| help |
| Generates a U-Boot image named atf-uboot.ub containing |
| bl31.bin. This is used for example by the Xilinx version of |
| U-Boot SPL to load ATF on the ZynqMP SoC. |
| |
| choice |
| prompt "BL32" |
| default BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_DEFAULT |
| help |
| Select BL32 stage for the trusted firmware |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_DEFAULT |
| bool "Default" |
| help |
| With this option selected, ATF will not use any BL32 stage, |
| unless if one is explicitly chosen using the SPD (for |
| AArch64) or AARCH32_SP (for AArch32) variables, which can be |
| passed through |
| BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES. |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE |
| bool "OP-TEE OS" |
| depends on BR2_TARGET_OPTEE_OS |
| help |
| This option allows to embed OP-TEE OS as the BL32 part of |
| the ARM Trusted Firmware boot sequence. |
| |
| endchoice |
| |
| choice |
| prompt "BL33" |
| default BR2_TARGET_ARM_TRUSTED_FIRMWARE_NONE_AS_BL33 |
| help |
| Select the image to include as BL33. |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NONE_AS_BL33 |
| bool "None" |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_AS_BL33 |
| bool "Barebox" |
| depends on BR2_TARGET_BAREBOX |
| help |
| This option allows to embed the Barebox generic BL33 image in |
| the ARM Trusted Firmware. It ensures that the Barebox package |
| gets built before ATF, and that the appropriate BL33 |
| variable pointing to the generic bl33 image is passed |
| when building ATF. |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 |
| bool "U-Boot" |
| depends on BR2_TARGET_UBOOT |
| help |
| This option allows to embed u-boot.bin as the BL33 part of |
| the ARM Trusted Firmware. It ensures that the u-boot package |
| gets built before ATF, and that the appropriate BL33 |
| variable pointing to u-boot.bin is passed when building ATF. |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33 |
| bool "EDK2" |
| depends on BR2_TARGET_EDK2 |
| help |
| This option allows to embed EDK2 as the BL33 part of |
| the ARM Trusted Firmware. It ensures that the EDK2 package |
| gets built before ATF, and that the appropriate BL33 |
| variable pointing to the EDK2 is passed when building ATF. |
| |
| Do not choose this option if you intend to build ATF and EDK2 |
| for the 'qemu_sbsa' platform. In this case, due to the EDK2 |
| build system, the dependency between ATF and EDK is reversed. |
| |
| endchoice |
| |
| if BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_AS_BL33 |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_BL33_IMAGE |
| string "Barebox BL33 image name" |
| default "*-generic-bl33.img" |
| help |
| Name of the Barebox BL33 image to include in ATF, it must |
| have been installed to BINARIES_DIR by the Barebox package. |
| |
| endif |
| |
| if BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE |
| string "U-Boot BL33 image name" |
| default "u-boot.bin" |
| help |
| Name of the U-Boot BL33 image to include in ATF, it must |
| have been installed to BINARIES_DIR by the U-Boot package. |
| |
| endif |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_RCW |
| bool "Include NXP RCW in BL2" |
| depends on BR2_PACKAGE_HOST_QORIQ_RCW |
| help |
| Include the NXP RCW (Reset Control Word) in BL2. See |
| package/qoriq-rcw/ for more details. This is mostly useful |
| on NXP LayerScape platforms. |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS |
| string "Additional ATF make targets" |
| help |
| Additional targets for the ATF build |
| E.G. When using the QorIQ custom ATF repository from NXP, |
| the target 'pbl' can be used to build the pbl binary. |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES |
| string "Additional ATF build variables" |
| help |
| Additional parameters for the ATF build |
| E.G. 'DEBUG=1 LOG_LEVEL=20' |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG |
| bool "Build in debug mode" |
| help |
| Enable this option to build ATF with DEBUG=1. |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES |
| string "Binary boot images" |
| default "*.bin" |
| help |
| Names of generated image files that are installed in the |
| output images/ directory. |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC |
| bool "Needs dtc" |
| select BR2_PACKAGE_HOST_DTC |
| help |
| Select this option if your ATF board configuration |
| requires the Device Tree compiler to be available. |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN |
| bool "Needs arm-none-eabi toolchain" |
| depends on BR2_aarch64 |
| depends on BR2_HOSTARCH = "x86_64" |
| help |
| Select this option if your ATF board configuration requires |
| an ARM32 bare metal toolchain to be available. |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP |
| bool "Build with SSP" |
| depends on BR2_TOOLCHAIN_HAS_SSP |
| depends on !BR2_SSP_NONE |
| help |
| Say 'y' here if you want to build ATF with SSP. |
| |
| Your board must have SSP support in ATF: it must have an |
| implementation for plat_get_stack_protector_canary(). |
| |
| If you say 'y', the SSP level will be the level selected |
| by the global SSP setting. |
| |
| config BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP_LEVEL |
| string |
| default "default" if BR2_SSP_REGULAR |
| default "strong" if BR2_SSP_STRONG |
| default "all" if BR2_SSP_ALL |
| |
| endif |