Config.in 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748
  1. menuconfig BR2_TARGET_UBOOT
  2. bool "U-Boot"
  3. help
  4. Build "Das U-Boot" Boot Monitor
  5. https://docs.u-boot.org/en/latest/
  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 "2025.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 "2025.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. # Hidden boolean that allows to select BR2_TARGET_UBOOT_NEEDS_XXD when
  109. # needed.
  110. config BR2_TARGET_UBOOT_DEFAULT_ENV_FILE_ENABLED
  111. bool
  112. default y if BR2_TARGET_UBOOT_DEFAULT_ENV_FILE != ""
  113. select BR2_TARGET_UBOOT_NEEDS_XXD
  114. config BR2_TARGET_UBOOT_DEFAULT_ENV_FILE
  115. string "Text file with default environment"
  116. depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
  117. help
  118. Text file containing the variables to be used as the default
  119. environment in U-Boot.
  120. If empty, let U-Boot generate the default environment from the
  121. source code and other U-Boot configuration values, which is
  122. the default behaviour.
  123. If set to the path to a file, instructs U-Boot to define the
  124. entire U-Boot default environment from the provided file,
  125. disabling all the default behaviour.
  126. From the U-Boot documentation:
  127. The format is the same as accepted by the mkenvimage tool,
  128. with lines containing key=value pairs. Blank lines and
  129. lines beginning with '#' are ignored.
  130. Based on the USE_DEFAULT_ENV_FILE and DEFAULT_ENV_FILE U-Boot
  131. configuration variables.
  132. For more info see:
  133. https://docs.u-boot.org/en/latest/usage/environment.html#external-environment-file
  134. Requires U-Boot >= v2018.05.
  135. config BR2_TARGET_UBOOT_NEEDS_DTC
  136. bool "U-Boot needs dtc"
  137. select BR2_PACKAGE_HOST_DTC
  138. help
  139. Select this option if your U-Boot board configuration
  140. requires the Device Tree compiler to be available.
  141. config BR2_TARGET_UBOOT_NEEDS_PYTHON3
  142. bool "U-Boot needs host python 3.x"
  143. help
  144. Select this option if U-Boot needs a host Python 3.x
  145. interpreter. This is the case for some U-Boot
  146. configurations, after U-Boot 2020.01.
  147. config BR2_TARGET_UBOOT_NEEDS_PYLIBFDT
  148. bool "U-Boot needs pylibfdt"
  149. select BR2_TARGET_UBOOT_NEEDS_PYTHON3
  150. help
  151. Select this option if your U-Boot board configuration
  152. requires the Python libfdt library to be available.
  153. config BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS
  154. bool "U-Boot needs pyelftools"
  155. select BR2_TARGET_UBOOT_NEEDS_PYTHON3
  156. help
  157. Select this option if your U-Boot board configuration
  158. requires the Python pyelftools library to be available.
  159. This is used by some rockchip SOCs for elf parsing.
  160. For example: rk3399 soc boards.
  161. config BR2_TARGET_UBOOT_NEEDS_OPENSSL
  162. bool "U-Boot needs OpenSSL"
  163. help
  164. Select this option if your U-Boot board configuration
  165. requires OpenSSL to be available on the host. This is
  166. typically the case when the board configuration has
  167. CONFIG_FIT_SIGNATURE enabled.
  168. config BR2_TARGET_UBOOT_NEEDS_LZOP
  169. bool "U-Boot needs lzop"
  170. help
  171. Select this option if your U-Boot board configuration
  172. requires lzop to be available on the host. This is typically
  173. the case when the board configuration has CONFIG_SPL_LZO
  174. enabled.
  175. config BR2_TARGET_UBOOT_NEEDS_GNUTLS
  176. bool "U-Boot needs gnutls"
  177. help
  178. Select this option if your U-Boot board configuration
  179. requires gnutls to be available on the host. This is
  180. typically the case when the board configuration has
  181. CONFIG_TOOLS_MKEFICAPSULE enabled.
  182. config BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX
  183. bool "U-Boot needs util-linux"
  184. help
  185. Select this option if your U-Boot board configuration
  186. requires util-linux (-luuid) to be available on the host.
  187. This is typically the case when the board configuration
  188. has CONFIG_TOOLS_MKEFICAPSULE enabled.
  189. config BR2_TARGET_UBOOT_NEEDS_XXD
  190. bool "U-Boot needs xxd"
  191. help
  192. Select this option if your U-Boot board configuration
  193. requires xxd to be available on the host. This is
  194. typically the case when the board configuration has
  195. CONFIG_USE_DEFAULT_ENV_FILE enabled.
  196. config BR2_TARGET_UBOOT_NEEDS_ATF_BL31
  197. bool "U-Boot needs ATF BL31"
  198. depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE
  199. depends on !BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
  200. select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31
  201. help
  202. Some specific platforms (such as Allwinner A64/H5)
  203. encapsulate the BL31 part of ATF inside U-Boot. This option
  204. makes sure ATF gets built prior to U-Boot, and that the BL31
  205. variable pointing to ATF's BL31 binary, is passed during the
  206. Buildroot build.
  207. choice
  208. prompt "U-Boot ATF BL31 format"
  209. default BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN
  210. depends on BR2_TARGET_UBOOT_NEEDS_ATF_BL31
  211. config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN
  212. bool "bl31.bin"
  213. config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF
  214. bool "bl31.elf"
  215. endchoice
  216. config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE
  217. bool "U-Boot needs OPTEE TEE"
  218. depends on BR2_TARGET_OPTEE_OS_CORE
  219. help
  220. Some platforms (such as Rockchip) encapsulate the TEE inside
  221. U-Boot. This option makes sure optee-os gets built prior to
  222. U-Boot, and that the TEE variable pointing to OPTEE's
  223. core file, is passed during the Buildroot build.
  224. choice
  225. prompt "U-Boot OPTEE TEE format"
  226. default BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_ELF
  227. depends on BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE
  228. help
  229. Select the TEE format.
  230. You may select the TEE in ELF format only for OP-TEE
  231. versions before 3.8.0.
  232. Since this version, the TEE in binary format must be used as
  233. it contains important meta-data.
  234. config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_ELF
  235. bool "tee.elf"
  236. help
  237. ELF format may be used only for OP-TEE versions before
  238. 3.8.0.
  239. config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_BIN
  240. bool "tee.bin"
  241. help
  242. Binary format must be used for OP-TEE versions since 3.8.0.
  243. endchoice
  244. config BR2_TARGET_UBOOT_NEEDS_OPENSBI
  245. bool "U-Boot needs OpenSBI"
  246. depends on BR2_TARGET_OPENSBI
  247. help
  248. Some RISC-V platforms (such as SiFive HiFive Unleashed)
  249. encapsulate the OpenSBI firmware image inside U-Boot.
  250. This option makes sure OpenSBI gets built prior to U-Boot,
  251. and that the OpenSBI variable pointing to OpenSBI binary,
  252. is passed during the Buildroot build.
  253. config BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE
  254. bool "U-Boot needs firmware-imx"
  255. depends on BR2_PACKAGE_FIRMWARE_IMX
  256. depends on BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW || \
  257. BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW_IMX9 || \
  258. BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW
  259. help
  260. Some i.MX8 platforms (such as i.MX8 M, i.MX 8M Mini, i.MX 8M
  261. Nano) encapsulate NXP specific firmware (DDR, HDMI) inside
  262. U-Boot.
  263. This option makes sure that the i.MX firmwares are copied into
  264. the U-Boot source directory.
  265. config BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN
  266. bool "U-Boot needs rockchip-rkbin"
  267. depends on BR2_PACKAGE_ROCKCHIP_RKBIN
  268. help
  269. For some Rockchip SoCs U-Boot needs binary blobs from
  270. Rockchip.
  271. This option makes sure that the needed binary blobs are copied
  272. into the U-Boot source directory.
  273. config BR2_TARGET_UBOOT_USE_BINMAN
  274. bool "U-Boot use binman"
  275. select BR2_TARGET_UBOOT_NEEDS_PYTHON3
  276. select BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS
  277. select BR2_TARGET_UBOOT_NEEDS_PYLIBFDT
  278. help
  279. Use binman tool for generation and signing of boot images.
  280. https://docs.u-boot.org/en/v2025.01/develop/package/binman.html
  281. menu "U-Boot binary format"
  282. config BR2_TARGET_UBOOT_FORMAT_AIS
  283. bool "u-boot.ais"
  284. help
  285. AIS (Application Image Script) is a format defined by TI.
  286. It is required to load code/data on OMAP-L1 processors.
  287. u-boot.ais contains U-Boot with the SPL support.
  288. config BR2_TARGET_UBOOT_FORMAT_BIN
  289. bool "u-boot.bin"
  290. default y
  291. config BR2_TARGET_UBOOT_FORMAT_DTB
  292. bool "u-boot.dtb"
  293. config BR2_TARGET_UBOOT_FORMAT_DTB_BIN
  294. bool "u-boot-dtb.bin"
  295. config BR2_TARGET_UBOOT_FORMAT_NAND_BIN
  296. bool "u-boot-nand.bin"
  297. config BR2_TARGET_UBOOT_FORMAT_ELF
  298. bool "u-boot"
  299. help
  300. Install the u-boot image, which is directly the ELF binary
  301. for the main U-Boot, potentially with debugging symbols.
  302. config BR2_TARGET_UBOOT_FORMAT_REMAKE_ELF
  303. bool "u-boot.elf"
  304. help
  305. Install the u-boot.elf image, which is produced when
  306. CONFIG_REMAKE_ELF=y. It is an ELF image (u-boot.elf)
  307. produced from the raw U-Boot binary (u-boot.bin), which may
  308. already have been statically relocated and may already have
  309. a device-tree appended to it.
  310. config BR2_TARGET_UBOOT_FORMAT_IMG
  311. bool "u-boot.img"
  312. config BR2_TARGET_UBOOT_FORMAT_DTB_IMG
  313. bool "u-boot-dtb.img"
  314. config BR2_TARGET_UBOOT_FORMAT_IMX
  315. bool "u-boot.imx"
  316. config BR2_TARGET_UBOOT_FORMAT_DTB_IMX
  317. bool "u-boot-dtb.imx"
  318. config BR2_TARGET_UBOOT_FORMAT_ITB
  319. bool "u-boot.itb"
  320. config BR2_TARGET_UBOOT_FORMAT_KWB
  321. bool "u-boot.kwb (Marvell)"
  322. depends on BR2_arm
  323. config BR2_TARGET_UBOOT_FORMAT_NAND
  324. bool "u-boot.nand (Freescale i.MX28)"
  325. depends on BR2_arm
  326. help
  327. This is Freescale i.MX28 BootStream format (.sb), with a
  328. header for booting from a NAND flash.
  329. U-Boot includes an mxsboot tool to generate this format,
  330. starting from 2011.12.
  331. There are two possibilities when preparing an image writable
  332. to NAND flash:
  333. 1) The NAND was not written at all yet or the BCB (Boot
  334. Control Blocks) is broken. In this case, the NAND image
  335. 'u-boot.nand' needs to written.
  336. 2) The NAND flash was already written with a good BCB. This
  337. applies after 'u-boot.nand' was correctly written. There is no
  338. need to write the BCB again. In this case, the bootloader can
  339. be upgraded by writing 'u-boot.sb'.
  340. To satisfy both cases, the 'u-boot.nand' image obtained from
  341. mxsboot as well as the U-Boot make target 'u-boot.sb' are
  342. copied to the binaries directory.
  343. See doc/README.mxs (or doc/README.mx28_common before 2013.07)
  344. if BR2_TARGET_UBOOT_FORMAT_NAND
  345. config BR2_TARGET_UBOOT_FORMAT_NAND_PAGE_SIZE
  346. int "NAND page size"
  347. default 2048
  348. help
  349. The NAND page size of the targets NAND flash in bytes as a
  350. decimal integer value.
  351. The value provided here is passed to the -w option of mxsboot.
  352. config BR2_TARGET_UBOOT_FORMAT_NAND_OOB_SIZE
  353. int "NAND OOB size"
  354. default 64
  355. help
  356. The NAND OOB size of the targets NAND flash in bytes as a
  357. decimal integer value.
  358. The value provided here is passed to the -o option of mxsboot.
  359. config BR2_TARGET_UBOOT_FORMAT_NAND_ERASE_SIZE
  360. int "NAND erase size"
  361. default 131072
  362. help
  363. The NAND eraseblock size of the targets NAND flash in bytes as
  364. a decimal integer value.
  365. The value provided here is passed to the -e option of mxsboot.
  366. endif
  367. config BR2_TARGET_UBOOT_FORMAT_SB
  368. bool "u-boot.sb (Freescale i.MX28)"
  369. depends on BR2_arm
  370. config BR2_TARGET_UBOOT_FORMAT_SD
  371. bool "u-boot.sd (Freescale i.MX28)"
  372. depends on BR2_arm
  373. help
  374. This is Freescale i.MX28 SB format, with a header for booting
  375. from an SD card.
  376. U-Boot includes an mxsboot tool to generate this format,
  377. starting from 2011.12.
  378. See doc/README.mxs (or doc/README.mx28_common before 2013.07)
  379. config BR2_TARGET_UBOOT_FORMAT_QSPI_BIN
  380. bool "qspi.bin"
  381. depends on BR2_TARGET_UBOOT_ZYNQMP
  382. help
  383. When booting from qspi flash, u-boot can generate a single
  384. file for flashing by combining the spl/boot.bin and
  385. u-boot.itb files into a unified binary.
  386. config BR2_TARGET_UBOOT_FORMAT_STM32
  387. bool "u-boot.stm32"
  388. depends on BR2_arm
  389. if BR2_TARGET_UBOOT_FORMAT_STM32
  390. config BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY
  391. bool "Legacy build (u-boot.stm32 target)"
  392. help
  393. Select this option if you use U-Boot with version older than
  394. 2022.01), so that we use the old build target. Otherwise,
  395. binman application is called to create the stm32 binary
  396. format.
  397. endif
  398. config BR2_TARGET_UBOOT_FORMAT_CUSTOM
  399. bool "Custom (specify below)"
  400. help
  401. On some platforms, the standard U-Boot binary is not called
  402. u-boot.bin, but u-boot<something>.bin. If this is your case,
  403. you should select this option and specify the correct name(s)
  404. in BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME.
  405. config BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME
  406. string "U-Boot binary format: custom names"
  407. depends on BR2_TARGET_UBOOT_FORMAT_CUSTOM
  408. help
  409. In case the U-Boot binary for the target platform is not among
  410. the default names, one or more custom names can be listed
  411. here.
  412. Use space to separate multiple names.
  413. Example:
  414. u-boot_magic.bin
  415. endmenu
  416. config BR2_TARGET_UBOOT_OMAP_IFT
  417. bool "produce a .ift signed image (OMAP)"
  418. depends on BR2_TARGET_UBOOT_FORMAT_BIN
  419. depends on BR2_arm || BR2_armeb
  420. select BR2_PACKAGE_HOST_OMAP_U_BOOT_UTILS
  421. help
  422. Use gpsign to produce an image of u-boot.bin signed with
  423. a Configuration Header for booting on OMAP processors.
  424. This allows U-Boot to boot without the need for an
  425. intermediate bootloader (e.g. x-loader) if it is written
  426. on the first sector of the boot medium.
  427. This only works for some media, such as NAND. Check your
  428. chip documentation for details. You might also want to
  429. read the documentation of gpsign, the tool that generates
  430. the .ift image, at:
  431. https://github.com/nmenon/omap-u-boot-utils/blob/master/README
  432. if BR2_TARGET_UBOOT_OMAP_IFT
  433. config BR2_TARGET_UBOOT_OMAP_IFT_CONFIG
  434. string "gpsign Configuration Header config file"
  435. help
  436. The Configuration Header (CH) config file defines the
  437. desired content of the CH for the signed image.
  438. It usually contains external RAM settings and
  439. possibly other external devices initialization.
  440. The omap-u-boot-utils software contains example
  441. configuration files for some boards:
  442. https://github.com/nmenon/omap-u-boot-utils/tree/master/configs
  443. endif
  444. config BR2_TARGET_UBOOT_SPL
  445. bool "Install U-Boot SPL binary image"
  446. help
  447. Install the U-Boot SPL binary image to the images
  448. directory.
  449. SPL is a first stage bootloader loaded into internal
  450. memory in charge of enabling and configuring the
  451. external memory (DDR), and load the u-boot program
  452. into DDR.
  453. config BR2_TARGET_UBOOT_SPL_NAME
  454. string "U-Boot SPL/TPL binary image name(s)"
  455. default "spl/u-boot-spl.bin"
  456. depends on BR2_TARGET_UBOOT_SPL
  457. help
  458. A space-separated list of SPL/TPL binaries, generated during
  459. u-boot build. For most platform SPL name is spl/u-boot-spl.bin
  460. and TPL name is tpl/u-boot-tpl.bin but not always. SPL name is
  461. MLO on OMAP and SPL on i.MX6 for example.
  462. config BR2_TARGET_UBOOT_INITIAL_ENV
  463. bool "Install u-boot-initial-env"
  464. help
  465. Install the U-Boot u-boot-initial-env on the target.
  466. This file is typically required by libubootenv.
  467. config BR2_TARGET_UBOOT_ZYNQMP
  468. bool "Boot on the Xilinx ZynqMP SoCs"
  469. depends on BR2_aarch64
  470. help
  471. Enable options specific to the Xilinx ZynqMP family of SoCs.
  472. if BR2_TARGET_UBOOT_ZYNQMP
  473. choice
  474. prompt "PMUFW origin"
  475. default BR2_TARGET_UBOOT_ZYNQMP_PMUFW_CUSTOM
  476. depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
  477. help
  478. Choose between the following options:
  479. 1) Build from source via xilinx-embeddedsw
  480. 2) Official prebuilt via xilinx-prebuilt
  481. 3) Prebuilt from custom location
  482. U-Boot build process will generate a boot.bin (to be loaded
  483. by the ZynqMP boot ROM) containing both the U-Boot SPL and
  484. the PMU firmware in the Xilinx-specific boot format.
  485. config BR2_TARGET_UBOOT_ZYNQMP_PMUFW_EMBEDDEDSW
  486. bool "Build from source via xilinx-embeddedsw"
  487. depends on BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW
  488. help
  489. Use xilinx-embeddedsw boot package for building
  490. zynqmp pmufw.elf from
  491. https://github.com/Xilinx/embeddedsw repo.
  492. comment "To build from source, xilinx-embeddedsw needs to be enabled with zynqmp_pmufw option."
  493. depends on !BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW
  494. config BR2_TARGET_UBOOT_ZYNQMP_PMUFW_PREBUILT
  495. bool "Prebuilt via xilinx-prebuilt"
  496. depends on BR2_TARGET_XILINX_PREBUILT_ZYNQMP || BR2_TARGET_XILINX_PREBUILT_KRIA
  497. help
  498. Use xilinx-prebuilt boot package for downloading prebuilt
  499. zynqmp pmufw.elf from
  500. https://github.com/Xilinx/soc-prebuilt-firmware repo.
  501. comment "To use official prebuilt, xilinx-prebuilt needs to be enabled with zynqmp or kria option."
  502. depends on !BR2_TARGET_XILINX_PREBUILT_KRIA
  503. depends on !BR2_TARGET_XILINX_PREBUILT_ZYNQMP
  504. config BR2_TARGET_UBOOT_ZYNQMP_PMUFW_CUSTOM
  505. bool "Prebuilt from custom location"
  506. help
  507. Location of a PMU firmware binary defined by:
  508. BR2_TARGET_UBOOT_ZYNQMP_PMUFW
  509. endchoice # PMUFW origin
  510. config BR2_TARGET_UBOOT_ZYNQMP_PMUFW
  511. string "Custom PMU firmware location"
  512. depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
  513. depends on BR2_TARGET_UBOOT_ZYNQMP_PMUFW_CUSTOM
  514. help
  515. Location of a PMU firmware binary.
  516. If not empty, instructs the U-Boot build process to generate
  517. a boot.bin (to be loaded by the ZynqMP boot ROM) containing
  518. both the U-Boot SPL and the PMU firmware in the
  519. Xilinx-specific boot format.
  520. The value can be an absolute or relative path, and will be
  521. used directly from where it is located, or an URI
  522. (e.g. http://...), and it will be downloaded and used from
  523. the download directory.
  524. The PMU firmware binary can be either in ELF or BIN format.
  525. If empty, the generated boot.bin will not contain a PMU
  526. firmware.
  527. This feature requires U-Boot >= 2018.07.
  528. config BR2_TARGET_UBOOT_ZYNQMP_PM_CFG
  529. string "PMU configuration location"
  530. depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
  531. help
  532. Location of a PMU configuration file.
  533. If not empty, Buildroot will convert the PMU configuration
  534. file into a loadable blob and pass it to U-Boot. The blob gets
  535. embedded into the U-Boot SPL and is used to configure the PMU
  536. during board initialization.
  537. Unlike the PMU firmware, the PMU configuration file is unique
  538. to each board configuration. A PMU configuration file can be
  539. generated by building your Xilinx SDK BSP. It can be found in
  540. the BSP source, for example at
  541. ./psu_cortexa53_0/libsrc/xilpm_v2_4/src/pm_cfg_obj.c
  542. Leave this option empty if your PMU firmware has a hard-coded
  543. configuration object or you are loading it by any other means.
  544. This feature requires U-Boot >= v2019.10.
  545. config BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE
  546. string "Custom psu_init_gpl file"
  547. depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
  548. help
  549. On ZynqMP the booloader is responsible for some basic
  550. initializations, such as enabling peripherals and
  551. configuring pinmuxes. The psu_init_gpl.c file (and,
  552. optionally, psu_init_gpl.h) contains the code for such
  553. initializations.
  554. Although U-Boot contains psu_init_gpl.c files for some
  555. boards, each of them describes only one specific
  556. configuration. Users of a different board, or needing a
  557. different configuration, can generate custom files using the
  558. Xilinx development tools.
  559. Set this variable to the path to your psu_init_gpl.c file
  560. (e.g. "board/myboard/psu_init_gpl.c"). psu_init_gpl.h, if
  561. needed, should be in the same directory. U-Boot will build
  562. and link the user-provided file instead of the built-in one.
  563. Leave empty to use the files provided by U-Boot.
  564. This feature requires commit
  565. 6da4f67ad09cd8b311d77b2b04e557b7ef65b56c from upstream
  566. U-Boot, available from versions after 2018.07.
  567. endif
  568. config BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC
  569. bool "CRC image for Altera SoC FPGA (mkpimage)"
  570. depends on BR2_arm
  571. depends on BR2_TARGET_UBOOT_SPL || BR2_TARGET_UBOOT_FORMAT_DTB_BIN
  572. help
  573. Pass the U-Boot image through the mkpimage tool to enable
  574. booting on the Altera SoC FPGA based platforms.
  575. On some platforms, it's the SPL that needs to be passed
  576. through mkpimage. On some other platforms there is no SPL
  577. because the internal SRAM is big enough to store the full
  578. U-Boot. In this case, it's directly the full U-Boot image
  579. that is passed through mkpimage.
  580. If BR2_TARGET_UBOOT_SPL is enabled then
  581. BR2_TARGET_UBOOT_SPL_NAME is converted by mkpimage using
  582. header version 0.
  583. Otherwise the full u-boot-dtb.bin is converted using
  584. mkpimage header version 1.
  585. In either case the resulting file will be given a .crc
  586. extension.
  587. if BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
  588. config BR2_TARGET_UBOOT_CUSTOM_DTS_PATH
  589. string "Device Tree Source file paths"
  590. help
  591. Space-separated list of paths to device tree source files
  592. that will be copied to arch/ARCH/dts/ before starting the
  593. build.
  594. To use this device tree source file, the U-Boot configuration
  595. file must refer to it.
  596. endif
  597. config BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS
  598. string "Custom make options"
  599. help
  600. List of custom make options passed at build time. Can be
  601. used for example to pass a DEVICE_TREE= value.
  602. endif # BR2_TARGET_UBOOT