Config.in 17 KB

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