Config.in 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. config BR2_TARGET_ARM_TRUSTED_FIRMWARE
  2. bool "ARM Trusted Firmware (ATF)"
  3. depends on (BR2_ARM_CPU_ARMV8A || BR2_ARM_CPU_ARMV7A) && \
  4. (BR2_TARGET_UBOOT || BR2_TARGET_EDK2)
  5. help
  6. Enable this option if you want to build the ATF for your ARM
  7. based embedded device.
  8. https://github.com/ARM-software/arm-trusted-firmware
  9. if BR2_TARGET_ARM_TRUSTED_FIRMWARE
  10. choice
  11. prompt "ATF Version"
  12. help
  13. Select the specific ATF version you want to use
  14. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
  15. bool "v2.5"
  16. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
  17. bool "Custom version"
  18. help
  19. This option allows to use a specific official versions
  20. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
  21. bool "Custom tarball"
  22. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
  23. bool "Custom Git repository"
  24. endchoice
  25. if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
  26. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION
  27. string "URL of custom ATF tarball"
  28. endif
  29. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE
  30. string "ATF version"
  31. depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
  32. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION
  33. string
  34. default "v2.5" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
  35. default "custom" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
  36. default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \
  37. if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
  38. default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE \
  39. if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
  40. if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
  41. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL
  42. string "URL of custom repository"
  43. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION
  44. string "Custom repository version"
  45. help
  46. Revision to use in the typical format used by Git
  47. E.G. a sha id, a tag, ..
  48. endif
  49. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM
  50. string "ATF platform"
  51. help
  52. Target plaform to build for.
  53. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH
  54. string "Device Tree Source file paths"
  55. help
  56. Space-separated list of paths to device tree source files
  57. that will be copied to fdts/ before starting the build.
  58. To use this device tree source file, the ATF configuration
  59. file must refer to it.
  60. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP
  61. bool "Build FIP image"
  62. help
  63. This option enables building the FIP image (Firmware Image
  64. Package). This is typically the image format used by
  65. platforms were ATF encapsulates the second stage bootloader
  66. (such as U-Boot).
  67. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31
  68. bool "Build BL31 image"
  69. help
  70. This option enables building the BL31 image. This is
  71. typically used on platforms where another bootloader (e.g
  72. U-Boot) encapsulates ATF BL31.
  73. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT
  74. bool "Build BL31 U-Boot image"
  75. select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31
  76. help
  77. Generates a U-Boot image named atf-uboot.ub containing
  78. bl31.bin. This is used for example by the Xilinx version of
  79. U-Boot SPL to load ATF on the ZynqMP SoC.
  80. choice
  81. prompt "BL32"
  82. default BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_DEFAULT
  83. help
  84. Select BL32 stage for the trusted firmware
  85. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_DEFAULT
  86. bool "Default"
  87. help
  88. With this option selected, ATF will not use any BL32 stage,
  89. unless if one is explicitly chosen using the SPD (for
  90. AArch64) or AARCH32_SP (for AArch32) variables, which can be
  91. passed through
  92. BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES.
  93. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE
  94. bool "OP-TEE OS"
  95. depends on BR2_TARGET_OPTEE_OS
  96. help
  97. This option allows to embed OP-TEE OS as the BL32 part of
  98. the ARM Trusted Firmware boot sequence.
  99. endchoice
  100. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
  101. bool "Use U-Boot as BL33"
  102. depends on BR2_TARGET_UBOOT
  103. help
  104. This option allows to embed u-boot.bin as the BL33 part of
  105. the ARM Trusted Firmware. It ensures that the u-boot package
  106. gets built before ATF, and that the appropriate BL33
  107. variable pointing to u-boot.bin is passed when building ATF.
  108. if BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
  109. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE
  110. string "U-Boot BL33 image name"
  111. default "u-boot.bin"
  112. help
  113. Name of the U-Boot BL33 image to include in ATF, it must
  114. have been installed to BINARIES_DIR by the U-Boot package.
  115. endif
  116. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33
  117. bool "Use EDK2 as BL33"
  118. depends on BR2_TARGET_EDK2
  119. help
  120. This option allows to embed EDK2 as the BL33 part of
  121. the ARM Trusted Firmware. It ensures that the EDK2 package
  122. gets built before ATF, and that the appropriate BL33
  123. variable pointing to the EDK2 is passed when building ATF.
  124. Do not choose this option if you intend to build ATF and EDK2
  125. for the 'qemu_sbsa' platform. In this case, due to the EDK2
  126. build system, the dependency between ATF and EDK is reversed.
  127. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS
  128. string "Additional ATF make targets"
  129. help
  130. Additional targets for the ATF build
  131. E.G. When using the QorIQ custom ATF repository from NXP,
  132. the target 'pbl' can be used to build the pbl binary.
  133. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES
  134. string "Additional ATF build variables"
  135. help
  136. Additional parameters for the ATF build
  137. E.G. 'DEBUG=1 LOG_LEVEL=20'
  138. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG
  139. bool "Build in debug mode"
  140. help
  141. Enable this option to build ATF with DEBUG=1.
  142. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES
  143. string "Binary boot images"
  144. default "*.bin"
  145. help
  146. Names of generated image files that are installed in the
  147. output images/ directory.
  148. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC
  149. bool "Needs dtc"
  150. select BR2_PACKAGE_HOST_DTC
  151. help
  152. Select this option if your ATF board configuration
  153. requires the Device Tree compiler to be available.
  154. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN
  155. bool "Needs arm-none-eabi toolchain"
  156. depends on BR2_aarch64
  157. depends on BR2_HOSTARCH = "x86_64"
  158. help
  159. Select this option if your ATF board configuration requires
  160. an ARM32 bare metal toolchain to be available.
  161. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP
  162. bool "Build with SSP"
  163. default y
  164. depends on BR2_TOOLCHAIN_HAS_SSP
  165. depends on !BR2_SSP_NONE
  166. help
  167. Say 'y' here if you want to build ATF with SSP.
  168. Your board must have SSP support in ATF: it must have an
  169. implementation for plat_get_stack_protector_canary().
  170. If you say 'y', the SSP level will be the level selected
  171. by the global SSP setting.
  172. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP_LEVEL
  173. string
  174. # While newer versions of TF-A support "none" as
  175. # ENABLE_STACK_PROTECTOR value, older versions (e.g 2.0) only
  176. # supported "0" to disable SSP.
  177. default "0" if !BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP
  178. default "default" if BR2_SSP_REGULAR
  179. default "strong" if BR2_SSP_STRONG
  180. default "all" if BR2_SSP_ALL
  181. endif