Config.in 17 KB

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