Config.in 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566
  1. config BR2_TARGET_UBOOT
  2. bool "U-Boot"
  3. help
  4. Build "Das U-Boot" Boot Monitor
  5. https://www.denx.de/wiki/U-Boot
  6. if BR2_TARGET_UBOOT
  7. choice
  8. prompt "Build system"
  9. default BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG if BR2_TARGET_UBOOT_LATEST_VERSION
  10. default BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
  11. config BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
  12. bool "Kconfig"
  13. help
  14. Select this option if you use a recent U-Boot version (2015.04
  15. or newer), so that we use the Kconfig build system.
  16. config BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
  17. bool "Legacy"
  18. help
  19. Select this option if you use an old U-Boot (older than
  20. 2015.04), so that we use the old build system.
  21. endchoice
  22. if BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
  23. config BR2_TARGET_UBOOT_BOARDNAME
  24. string "U-Boot board name"
  25. help
  26. One of U-Boot supported boards to be built.
  27. This will be suffixed with _config to meet U-Boot standard
  28. naming. See boards.cfg in U-Boot source code for the list of
  29. available configurations.
  30. endif
  31. choice
  32. prompt "U-Boot Version"
  33. help
  34. Select the specific U-Boot version you want to use
  35. config BR2_TARGET_UBOOT_LATEST_VERSION
  36. bool "2020.04"
  37. config BR2_TARGET_UBOOT_CUSTOM_VERSION
  38. bool "Custom version"
  39. help
  40. This option allows to use a specific official versions
  41. config BR2_TARGET_UBOOT_CUSTOM_TARBALL
  42. bool "Custom tarball"
  43. config BR2_TARGET_UBOOT_CUSTOM_GIT
  44. bool "Custom Git repository"
  45. config BR2_TARGET_UBOOT_CUSTOM_HG
  46. bool "Custom Mercurial repository"
  47. config BR2_TARGET_UBOOT_CUSTOM_SVN
  48. bool "Custom Subversion repository"
  49. endchoice
  50. config BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE
  51. string "U-Boot version"
  52. depends on BR2_TARGET_UBOOT_CUSTOM_VERSION
  53. config BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION
  54. string "URL of custom U-Boot tarball"
  55. depends on BR2_TARGET_UBOOT_CUSTOM_TARBALL
  56. if BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG || BR2_TARGET_UBOOT_CUSTOM_SVN
  57. config BR2_TARGET_UBOOT_CUSTOM_REPO_URL
  58. string "URL of custom repository"
  59. default BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL \
  60. if BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL != "" # legacy
  61. config BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION
  62. string "Custom repository version"
  63. default BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION \
  64. if BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION != "" # legacy
  65. help
  66. Revision to use in the typical format used by
  67. Git/Mercurial/Subversion E.G. a sha id, a tag, branch, ..
  68. endif
  69. config BR2_TARGET_UBOOT_VERSION
  70. string
  71. default "2020.04" if BR2_TARGET_UBOOT_LATEST_VERSION
  72. default BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE \
  73. if BR2_TARGET_UBOOT_CUSTOM_VERSION
  74. default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL
  75. default BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION \
  76. if BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG || BR2_TARGET_UBOOT_CUSTOM_SVN
  77. config BR2_TARGET_UBOOT_PATCH
  78. string "Custom U-Boot patches"
  79. default BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR if BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR != "" # legacy
  80. help
  81. A space-separated list of patches to apply to U-Boot.
  82. Each patch can be described as an URL, a local file path,
  83. or a directory. In the case of a directory, all files
  84. matching *.patch in the directory will be applied.
  85. Most users may leave this empty
  86. if BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
  87. choice
  88. prompt "U-Boot configuration"
  89. default BR2_TARGET_UBOOT_USE_DEFCONFIG
  90. config BR2_TARGET_UBOOT_USE_DEFCONFIG
  91. bool "Using an in-tree board defconfig file"
  92. config BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG
  93. bool "Using a custom board (def)config file"
  94. endchoice
  95. config BR2_TARGET_UBOOT_BOARD_DEFCONFIG
  96. string "Board defconfig"
  97. depends on BR2_TARGET_UBOOT_USE_DEFCONFIG
  98. help
  99. Name of the board for which U-Boot should be built, without
  100. the _defconfig suffix.
  101. config BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE
  102. string "Configuration file path"
  103. depends on BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG
  104. help
  105. Path to the U-Boot configuration file.
  106. config BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES
  107. string "Additional configuration fragment files"
  108. help
  109. A space-separated list of configuration fragment files,
  110. that will be merged to the main U-Boot configuration file.
  111. endif
  112. config BR2_TARGET_UBOOT_NEEDS_DTC
  113. bool "U-Boot needs dtc"
  114. select BR2_PACKAGE_HOST_DTC
  115. help
  116. Select this option if your U-Boot board configuration
  117. requires the Device Tree compiler to be available.
  118. config BR2_TARGET_UBOOT_NEEDS_PYLIBFDT
  119. bool "U-Boot needs pylibfdt"
  120. help
  121. Select this option if your U-Boot board configuration
  122. requires the Python libfdt library to be available.
  123. config BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS
  124. bool "U-Boot needs pyelftools"
  125. help
  126. Select this option if your U-Boot board configuration
  127. requires the Python pyelftools library to be available.
  128. This is used by some rockchip SOCs for elf parsing.
  129. For example: rk3399 soc boards.
  130. config BR2_TARGET_UBOOT_NEEDS_OPENSSL
  131. bool "U-Boot needs OpenSSL"
  132. help
  133. Select this option if your U-Boot board configuration
  134. requires OpenSSL to be available on the host. This is
  135. typically the case when the board configuration has
  136. CONFIG_FIT_SIGNATURE enabled.
  137. config BR2_TARGET_UBOOT_NEEDS_LZOP
  138. bool "U-Boot needs lzop"
  139. help
  140. Select this option if your U-Boot board configuration
  141. requires lzop to be available on the host. This is typically
  142. the case when the board configuration has CONFIG_SPL_LZO
  143. enabled.
  144. config BR2_TARGET_UBOOT_NEEDS_ATF_BL31
  145. bool "U-Boot needs ATF BL31"
  146. depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE
  147. depends on !BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
  148. select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31
  149. help
  150. Some specific platforms (such as Allwinner A64/H5)
  151. encapsulate the BL31 part of ATF inside U-Boot. This option
  152. makes sure ATF gets built prior to U-Boot, and that the BL31
  153. variable pointing to ATF's BL31 binary, is passed during the
  154. Buildroot build.
  155. choice
  156. prompt "U-Boot ATF BL31 format"
  157. default BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN
  158. depends on BR2_TARGET_UBOOT_NEEDS_ATF_BL31
  159. config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN
  160. bool "bl31.bin"
  161. config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF
  162. bool "bl31.elf"
  163. endchoice
  164. menu "U-Boot binary format"
  165. config BR2_TARGET_UBOOT_FORMAT_AIS
  166. bool "u-boot.ais"
  167. help
  168. AIS (Application Image Script) is a format defined by TI.
  169. It is required to load code/data on OMAP-L1 processors.
  170. u-boot.ais contains U-Boot with the SPL support.
  171. config BR2_TARGET_UBOOT_FORMAT_BIN
  172. bool "u-boot.bin"
  173. default y
  174. config BR2_TARGET_UBOOT_FORMAT_DTB_BIN
  175. bool "u-boot-dtb.bin"
  176. config BR2_TARGET_UBOOT_FORMAT_DTB_IMG
  177. bool "u-boot-dtb.img"
  178. config BR2_TARGET_UBOOT_FORMAT_DTB_IMX
  179. bool "u-boot-dtb.imx"
  180. config BR2_TARGET_UBOOT_FORMAT_IMG
  181. bool "u-boot.img"
  182. config BR2_TARGET_UBOOT_FORMAT_ITB
  183. bool "u-boot.itb"
  184. config BR2_TARGET_UBOOT_FORMAT_IMX
  185. bool "u-boot.imx"
  186. config BR2_TARGET_UBOOT_FORMAT_NAND_BIN
  187. bool "u-boot-nand.bin"
  188. config BR2_TARGET_UBOOT_FORMAT_KWB
  189. bool "u-boot.kwb (Marvell)"
  190. depends on BR2_arm
  191. config BR2_TARGET_UBOOT_FORMAT_ELF
  192. bool "u-boot.elf"
  193. config BR2_TARGET_UBOOT_FORMAT_SB
  194. bool "u-boot.sb (Freescale i.MX28)"
  195. depends on BR2_arm
  196. config BR2_TARGET_UBOOT_FORMAT_SD
  197. bool "u-boot.sd (Freescale i.MX28)"
  198. depends on BR2_arm
  199. help
  200. This is Freescale i.MX28 SB format, with a header for booting
  201. from an SD card.
  202. U-Boot includes an mxsboot tool to generate this format,
  203. starting from 2011.12.
  204. See doc/README.mxs (or doc/README.mx28_common before 2013.07)
  205. config BR2_TARGET_UBOOT_FORMAT_NAND
  206. bool "u-boot.nand (Freescale i.MX28)"
  207. depends on BR2_arm
  208. help
  209. This is Freescale i.MX28 BootStream format (.sb), with a
  210. header for booting from a NAND flash.
  211. U-Boot includes an mxsboot tool to generate this format,
  212. starting from 2011.12.
  213. There are two possibilities when preparing an image writable
  214. to NAND flash:
  215. 1) The NAND was not written at all yet or the BCB (Boot
  216. Control Blocks) is broken. In this case, the NAND image
  217. 'u-boot.nand' needs to written.
  218. 2) The NAND flash was already written with a good BCB. This
  219. applies after 'u-boot.nand' was correctly written. There is no
  220. need to write the BCB again. In this case, the bootloader can
  221. be upgraded by writing 'u-boot.sb'.
  222. To satisfy both cases, the 'u-boot.nand' image obtained from
  223. mxsboot as well as the U-Boot make target 'u-boot.sb' are
  224. copied to the binaries directory.
  225. See doc/README.mxs (or doc/README.mx28_common before 2013.07)
  226. if BR2_TARGET_UBOOT_FORMAT_NAND
  227. config BR2_TARGET_UBOOT_FORMAT_NAND_PAGE_SIZE
  228. int "NAND page size"
  229. default 2048
  230. help
  231. The NAND page size of the targets NAND flash in bytes as a
  232. decimal integer value.
  233. The value provided here is passed to the -w option of mxsboot.
  234. config BR2_TARGET_UBOOT_FORMAT_NAND_OOB_SIZE
  235. int "NAND OOB size"
  236. default 64
  237. help
  238. The NAND OOB size of the targets NAND flash in bytes as a
  239. decimal integer value.
  240. The value provided here is passed to the -o option of mxsboot.
  241. config BR2_TARGET_UBOOT_FORMAT_NAND_ERASE_SIZE
  242. int "NAND erase size"
  243. default 131072
  244. help
  245. The NAND eraseblock size of the targets NAND flash in bytes as
  246. a decimal integer value.
  247. The value provided here is passed to the -e option of mxsboot.
  248. endif
  249. config BR2_TARGET_UBOOT_FORMAT_CUSTOM
  250. bool "Custom (specify below)"
  251. help
  252. On some platforms, the standard U-Boot binary is not called
  253. u-boot.bin, but u-boot<something>.bin. If this is your case,
  254. you should select this option and specify the correct name(s)
  255. in BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME.
  256. config BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME
  257. string "U-Boot binary format: custom names"
  258. depends on BR2_TARGET_UBOOT_FORMAT_CUSTOM
  259. help
  260. In case the U-Boot binary for the target platform is not among
  261. the default names, one or more custom names can be listed
  262. here.
  263. Use space to separate multiple names.
  264. Example:
  265. u-boot_magic.bin
  266. endmenu
  267. config BR2_TARGET_UBOOT_OMAP_IFT
  268. bool "produce a .ift signed image (OMAP)"
  269. depends on BR2_TARGET_UBOOT_FORMAT_BIN
  270. depends on BR2_arm || BR2_armeb
  271. select BR2_PACKAGE_HOST_OMAP_U_BOOT_UTILS
  272. help
  273. Use gpsign to produce an image of u-boot.bin signed with
  274. a Configuration Header for booting on OMAP processors.
  275. This allows U-Boot to boot without the need for an
  276. intermediate bootloader (e.g. x-loader) if it is written
  277. on the first sector of the boot medium.
  278. This only works for some media, such as NAND. Check your
  279. chip documentation for details. You might also want to
  280. read the documentation of gpsign, the tool that generates
  281. the .ift image, at:
  282. https://github.com/nmenon/omap-u-boot-utils/blob/master/README
  283. if BR2_TARGET_UBOOT_OMAP_IFT
  284. config BR2_TARGET_UBOOT_OMAP_IFT_CONFIG
  285. string "gpsign Configuration Header config file"
  286. help
  287. The Configuration Header (CH) config file defines the
  288. desired content of the CH for the signed image.
  289. It usually contains external RAM settings and
  290. possibly other external devices initialization.
  291. The omap-u-boot-utils software contains example
  292. configuration files for some boards:
  293. https://github.com/nmenon/omap-u-boot-utils/tree/master/configs
  294. endif
  295. config BR2_TARGET_UBOOT_SPL
  296. bool "Install U-Boot SPL binary image"
  297. depends on !BR2_TARGET_XLOADER
  298. help
  299. Install the U-Boot SPL binary image to the images
  300. directory.
  301. SPL is a first stage bootloader loaded into internal
  302. memory in charge of enabling and configuring the
  303. external memory (DDR), and load the u-boot program
  304. into DDR.
  305. config BR2_TARGET_UBOOT_SPL_NAME
  306. string "U-Boot SPL/TPL binary image name(s)"
  307. default "spl/u-boot-spl.bin"
  308. depends on BR2_TARGET_UBOOT_SPL
  309. help
  310. A space-separated list of SPL/TPL binaries, generated during
  311. u-boot build. For most platform SPL name is spl/u-boot-spl.bin
  312. and TPL name is tpl/u-boot-tpl.bin but not always. SPL name is
  313. MLO on OMAP and SPL on i.MX6 for example.
  314. config BR2_TARGET_UBOOT_ZYNQ_IMAGE
  315. bool "Generate image for Xilinx Zynq"
  316. depends on BR2_arm
  317. depends on BR2_TARGET_UBOOT_SPL
  318. depends on BR2_TARGET_UBOOT_FORMAT_DTB_IMG
  319. help
  320. Generate the BOOT.BIN file from U-Boot's SPL. The image
  321. boots the Xilinx Zynq chip without any FPGA bitstream.
  322. A bitstream can be loaded by the U-Boot. The SPL searchs
  323. for u-boot-dtb.img file so this U-Boot format is required
  324. to be set.
  325. config BR2_TARGET_UBOOT_ZYNQMP
  326. bool "Boot on the Xilinx ZynqMP SoCs"
  327. depends on BR2_aarch64
  328. help
  329. Enable options specific to the Xilinx ZynqMP family of SoCs.
  330. if BR2_TARGET_UBOOT_ZYNQMP
  331. config BR2_TARGET_UBOOT_ZYNQMP_PMUFW
  332. string "PMU firmware location"
  333. depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
  334. help
  335. Location of a PMU firmware binary.
  336. If not empty, instructs the U-Boot build process to generate
  337. a boot.bin (to be loaded by the ZynqMP boot ROM) containing
  338. both the U-Boot SPL and the PMU firmware in the
  339. Xilinx-specific boot format.
  340. The value can be an absolute or relative path, and will be
  341. used directly from where it is located, or an URI
  342. (e.g. http://...), and it will be downloaded and used from
  343. the download directory.
  344. If empty, the generated boot.bin will not contain a PMU
  345. firmware.
  346. This feature requires U-Boot >= 2018.07.
  347. config BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE
  348. string "Custom psu_init_gpl file"
  349. depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
  350. help
  351. On ZynqMP the booloader is responsible for some basic
  352. initializations, such as enabling peripherals and
  353. configuring pinmuxes. The psu_init_gpl.c file (and,
  354. optionally, psu_init_gpl.h) contains the code for such
  355. initializations.
  356. Although U-Boot contains psu_init_gpl.c files for some
  357. boards, each of them describes only one specific
  358. configuration. Users of a different board, or needing a
  359. different configuration, can generate custom files using the
  360. Xilinx development tools.
  361. Set this variable to the path to your psu_init_gpl.c file
  362. (e.g. "board/myboard/psu_init_gpl.c"). psu_init_gpl.h, if
  363. needed, should be in the same directory. U-Boot will build
  364. and link the user-provided file instead of the built-in one.
  365. Leave empty to use the files provided by U-Boot.
  366. This feature requires commit
  367. 6da4f67ad09cd8b311d77b2b04e557b7ef65b56c from upstream
  368. U-Boot, available from versions after 2018.07.
  369. endif
  370. config BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC
  371. bool "CRC image for Altera SoC FPGA (mkpimage)"
  372. depends on BR2_arm
  373. depends on BR2_TARGET_UBOOT_SPL || BR2_TARGET_UBOOT_FORMAT_DTB_BIN
  374. help
  375. Pass the U-Boot image through the mkpimage tool to enable
  376. booting on the Altera SoC FPGA based platforms.
  377. On some platforms, it's the SPL that needs to be passed
  378. through mkpimage. On some other platforms there is no SPL
  379. because the internal SRAM is big enough to store the full
  380. U-Boot. In this case, it's directly the full U-Boot image
  381. that is passed through mkpimage.
  382. If BR2_TARGET_UBOOT_SPL is enabled then
  383. BR2_TARGET_UBOOT_SPL_NAME is converted by mkpimage using
  384. header version 0.
  385. Otherwise the full u-boot-dtb.bin is converted using
  386. mkpimage header version 1.
  387. In either case the resulting file will be given a .crc
  388. extension.
  389. menuconfig BR2_TARGET_UBOOT_ENVIMAGE
  390. bool "Environment image"
  391. help
  392. Generate a valid binary environment image from a text file
  393. describing the key=value pairs of the environment.
  394. The environment image will be called uboot-env.bin.
  395. if BR2_TARGET_UBOOT_ENVIMAGE
  396. config BR2_TARGET_UBOOT_ENVIMAGE_SOURCE
  397. string "Source files for environment"
  398. help
  399. Text files describing the environment. Files should have
  400. lines of the form var=value, one per line. Blank lines and
  401. lines starting with a # are ignored.
  402. Multiple source files are concatenated in the order listed.
  403. Leave empty to generate image from compiled-in env.
  404. config BR2_TARGET_UBOOT_ENVIMAGE_SIZE
  405. string "Size of environment"
  406. help
  407. Size of envronment, can be prefixed with 0x for hexadecimal
  408. values.
  409. config BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT
  410. bool "Environment has two copies"
  411. help
  412. Some platforms define in their U-Boot configuration that the
  413. U-Boot environment should be duplicated in two locations (for
  414. extra safety). Check your U-Boot configuration for the
  415. CONFIG_ENV_ADDR_REDUND and CONFIG_ENV_SIZE_REDUND settings to
  416. see if this is the case for your platform.
  417. If it is the case, then you should enable this option to
  418. ensure that the U-Boot environment image generated by
  419. Buildroot is compatible with the "redundant environment"
  420. mechanism of U-Boot.
  421. endif # BR2_TARGET_UBOOT_ENVIMAGE
  422. config BR2_TARGET_UBOOT_BOOT_SCRIPT
  423. bool "Generate a U-Boot boot script"
  424. help
  425. Generate a U-Boot boot script, given a file listing U-Boot
  426. commands to be executed at boot time. The generated boot
  427. script will be called 'boot.scr'.
  428. if BR2_TARGET_UBOOT_BOOT_SCRIPT
  429. config BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE
  430. string "U-Boot boot script source"
  431. help
  432. Source file to generate the U-Boot boot script.
  433. endif
  434. if BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
  435. config BR2_TARGET_UBOOT_CUSTOM_DTS_PATH
  436. string "Device Tree Source file paths"
  437. help
  438. Space-separated list of paths to device tree source files
  439. that will be copied to arch/ARCH/dts/ before starting the
  440. build.
  441. To use this device tree source file, the U-Boot configuration
  442. file must refer to it.
  443. endif
  444. config BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS
  445. string "Custom make options"
  446. help
  447. List of custom make options passed at build time. Can be
  448. used for example to pass a DEVICE_TREE= value.
  449. endif # BR2_TARGET_UBOOT