2
1

Config.in 8.6 KB

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