1*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT 2*4882a593Smuzhiyun bool "U-Boot" 3*4882a593Smuzhiyun help 4*4882a593Smuzhiyun Build "Das U-Boot" Boot Monitor 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun https://www.denx.de/wiki/U-Boot 7*4882a593Smuzhiyun 8*4882a593Smuzhiyunif BR2_TARGET_UBOOT 9*4882a593Smuzhiyunchoice 10*4882a593Smuzhiyun prompt "Build system" 11*4882a593Smuzhiyun default BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG if BR2_TARGET_UBOOT_LATEST_VERSION 12*4882a593Smuzhiyun default BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY 13*4882a593Smuzhiyun 14*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG 15*4882a593Smuzhiyun bool "Kconfig" 16*4882a593Smuzhiyun help 17*4882a593Smuzhiyun Select this option if you use a recent U-Boot version (2015.04 18*4882a593Smuzhiyun or newer), so that we use the Kconfig build system. 19*4882a593Smuzhiyun 20*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY 21*4882a593Smuzhiyun bool "Legacy" 22*4882a593Smuzhiyun help 23*4882a593Smuzhiyun Select this option if you use an old U-Boot (older than 24*4882a593Smuzhiyun 2015.04), so that we use the old build system. 25*4882a593Smuzhiyun 26*4882a593Smuzhiyunendchoice 27*4882a593Smuzhiyun 28*4882a593Smuzhiyunif BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY 29*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_BOARDNAME 30*4882a593Smuzhiyun string "U-Boot board name" 31*4882a593Smuzhiyun help 32*4882a593Smuzhiyun One of U-Boot supported boards to be built. 33*4882a593Smuzhiyun This will be suffixed with _config to meet U-Boot standard 34*4882a593Smuzhiyun naming. See boards.cfg in U-Boot source code for the list of 35*4882a593Smuzhiyun available configurations. 36*4882a593Smuzhiyunendif 37*4882a593Smuzhiyun 38*4882a593Smuzhiyunchoice 39*4882a593Smuzhiyun prompt "U-Boot Version" 40*4882a593Smuzhiyun help 41*4882a593Smuzhiyun Select the specific U-Boot version you want to use 42*4882a593Smuzhiyun 43*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_LATEST_VERSION 44*4882a593Smuzhiyun bool "2021.10" 45*4882a593Smuzhiyun 46*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_CUSTOM_VERSION 47*4882a593Smuzhiyun bool "Custom version" 48*4882a593Smuzhiyun help 49*4882a593Smuzhiyun This option allows to use a specific official versions 50*4882a593Smuzhiyun 51*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_CUSTOM_TARBALL 52*4882a593Smuzhiyun bool "Custom tarball" 53*4882a593Smuzhiyun 54*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_CUSTOM_GIT 55*4882a593Smuzhiyun bool "Custom Git repository" 56*4882a593Smuzhiyun 57*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_CUSTOM_HG 58*4882a593Smuzhiyun bool "Custom Mercurial repository" 59*4882a593Smuzhiyun 60*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_CUSTOM_SVN 61*4882a593Smuzhiyun bool "Custom Subversion repository" 62*4882a593Smuzhiyun 63*4882a593Smuzhiyunendchoice 64*4882a593Smuzhiyun 65*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE 66*4882a593Smuzhiyun string "U-Boot version" 67*4882a593Smuzhiyun depends on BR2_TARGET_UBOOT_CUSTOM_VERSION 68*4882a593Smuzhiyun 69*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION 70*4882a593Smuzhiyun string "URL of custom U-Boot tarball" 71*4882a593Smuzhiyun depends on BR2_TARGET_UBOOT_CUSTOM_TARBALL 72*4882a593Smuzhiyun 73*4882a593Smuzhiyunif BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG || BR2_TARGET_UBOOT_CUSTOM_SVN 74*4882a593Smuzhiyun 75*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_CUSTOM_REPO_URL 76*4882a593Smuzhiyun string "URL of custom repository" 77*4882a593Smuzhiyun 78*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION 79*4882a593Smuzhiyun string "Custom repository version" 80*4882a593Smuzhiyun help 81*4882a593Smuzhiyun Revision to use in the typical format used by 82*4882a593Smuzhiyun Git/Mercurial/Subversion E.G. a sha id, a tag, branch, .. 83*4882a593Smuzhiyun 84*4882a593Smuzhiyunendif 85*4882a593Smuzhiyun 86*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_VERSION 87*4882a593Smuzhiyun string 88*4882a593Smuzhiyun default "2021.10" if BR2_TARGET_UBOOT_LATEST_VERSION 89*4882a593Smuzhiyun default BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE \ 90*4882a593Smuzhiyun if BR2_TARGET_UBOOT_CUSTOM_VERSION 91*4882a593Smuzhiyun default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL 92*4882a593Smuzhiyun default BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION \ 93*4882a593Smuzhiyun if BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG || BR2_TARGET_UBOOT_CUSTOM_SVN 94*4882a593Smuzhiyun 95*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_PATCH 96*4882a593Smuzhiyun string "Custom U-Boot patches" 97*4882a593Smuzhiyun default BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR if BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR != "" # legacy 98*4882a593Smuzhiyun help 99*4882a593Smuzhiyun A space-separated list of patches to apply to U-Boot. 100*4882a593Smuzhiyun Each patch can be described as an URL, a local file path, 101*4882a593Smuzhiyun or a directory. In the case of a directory, all files 102*4882a593Smuzhiyun matching *.patch in the directory will be applied. 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun Most users may leave this empty 105*4882a593Smuzhiyun 106*4882a593Smuzhiyunif BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG 107*4882a593Smuzhiyunchoice 108*4882a593Smuzhiyun prompt "U-Boot configuration" 109*4882a593Smuzhiyun default BR2_TARGET_UBOOT_USE_DEFCONFIG 110*4882a593Smuzhiyun 111*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_USE_DEFCONFIG 112*4882a593Smuzhiyun bool "Using an in-tree board defconfig file" 113*4882a593Smuzhiyun 114*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG 115*4882a593Smuzhiyun bool "Using a custom board (def)config file" 116*4882a593Smuzhiyun 117*4882a593Smuzhiyunendchoice 118*4882a593Smuzhiyun 119*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_BOARD_DEFCONFIG 120*4882a593Smuzhiyun string "Board defconfig" 121*4882a593Smuzhiyun depends on BR2_TARGET_UBOOT_USE_DEFCONFIG 122*4882a593Smuzhiyun help 123*4882a593Smuzhiyun Name of the board for which U-Boot should be built, without 124*4882a593Smuzhiyun the _defconfig suffix. 125*4882a593Smuzhiyun 126*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE 127*4882a593Smuzhiyun string "Configuration file path" 128*4882a593Smuzhiyun depends on BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG 129*4882a593Smuzhiyun help 130*4882a593Smuzhiyun Path to the U-Boot configuration file. 131*4882a593Smuzhiyun 132*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES 133*4882a593Smuzhiyun string "Additional configuration fragment files" 134*4882a593Smuzhiyun help 135*4882a593Smuzhiyun A space-separated list of configuration fragment files, 136*4882a593Smuzhiyun that will be merged to the main U-Boot configuration file. 137*4882a593Smuzhiyunendif 138*4882a593Smuzhiyun 139*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_NEEDS_DTC 140*4882a593Smuzhiyun bool "U-Boot needs dtc" 141*4882a593Smuzhiyun select BR2_PACKAGE_HOST_DTC 142*4882a593Smuzhiyun help 143*4882a593Smuzhiyun Select this option if your U-Boot board configuration 144*4882a593Smuzhiyun requires the Device Tree compiler to be available. 145*4882a593Smuzhiyun 146*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_NEEDS_PYTHON 147*4882a593Smuzhiyun bool 148*4882a593Smuzhiyun 149*4882a593Smuzhiyunchoice 150*4882a593Smuzhiyun bool "U-Boot needs host Python" 151*4882a593Smuzhiyun 152*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_NEEDS_PYTHON_NONE 153*4882a593Smuzhiyun bool "no" 154*4882a593Smuzhiyun depends on !BR2_TARGET_UBOOT_NEEDS_PYTHON 155*4882a593Smuzhiyun help 156*4882a593Smuzhiyun Select this option if U-Boot does not need any 157*4882a593Smuzhiyun host python to build. 158*4882a593Smuzhiyun 159*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_NEEDS_PYTHON2 160*4882a593Smuzhiyun bool "python 2.x" 161*4882a593Smuzhiyun help 162*4882a593Smuzhiyun Select this option if U-Boot needs a host Python 2.x 163*4882a593Smuzhiyun interpreter. This is the case for some U-Boot 164*4882a593Smuzhiyun configurations, prior to U-Boot 2020.01. 165*4882a593Smuzhiyun 166*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_NEEDS_PYTHON3 167*4882a593Smuzhiyun bool "python 3.x" 168*4882a593Smuzhiyun help 169*4882a593Smuzhiyun Select this option if U-Boot needs a host Python 3.x 170*4882a593Smuzhiyun interpreter. This is the case for some U-Boot 171*4882a593Smuzhiyun configurations, after U-Boot 2020.01. 172*4882a593Smuzhiyun 173*4882a593Smuzhiyunendchoice 174*4882a593Smuzhiyun 175*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_NEEDS_PYLIBFDT 176*4882a593Smuzhiyun bool "U-Boot needs pylibfdt" 177*4882a593Smuzhiyun select BR2_TARGET_UBOOT_NEEDS_PYTHON 178*4882a593Smuzhiyun help 179*4882a593Smuzhiyun Select this option if your U-Boot board configuration 180*4882a593Smuzhiyun requires the Python libfdt library to be available. 181*4882a593Smuzhiyun 182*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS 183*4882a593Smuzhiyun bool "U-Boot needs pyelftools" 184*4882a593Smuzhiyun select BR2_TARGET_UBOOT_NEEDS_PYTHON 185*4882a593Smuzhiyun help 186*4882a593Smuzhiyun Select this option if your U-Boot board configuration 187*4882a593Smuzhiyun requires the Python pyelftools library to be available. 188*4882a593Smuzhiyun This is used by some rockchip SOCs for elf parsing. 189*4882a593Smuzhiyun For example: rk3399 soc boards. 190*4882a593Smuzhiyun 191*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_NEEDS_OPENSSL 192*4882a593Smuzhiyun bool "U-Boot needs OpenSSL" 193*4882a593Smuzhiyun help 194*4882a593Smuzhiyun Select this option if your U-Boot board configuration 195*4882a593Smuzhiyun requires OpenSSL to be available on the host. This is 196*4882a593Smuzhiyun typically the case when the board configuration has 197*4882a593Smuzhiyun CONFIG_FIT_SIGNATURE enabled. 198*4882a593Smuzhiyun 199*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_NEEDS_LZOP 200*4882a593Smuzhiyun bool "U-Boot needs lzop" 201*4882a593Smuzhiyun help 202*4882a593Smuzhiyun Select this option if your U-Boot board configuration 203*4882a593Smuzhiyun requires lzop to be available on the host. This is typically 204*4882a593Smuzhiyun the case when the board configuration has CONFIG_SPL_LZO 205*4882a593Smuzhiyun enabled. 206*4882a593Smuzhiyun 207*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_NEEDS_ATF_BL31 208*4882a593Smuzhiyun bool "U-Boot needs ATF BL31" 209*4882a593Smuzhiyun depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE 210*4882a593Smuzhiyun depends on !BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 211*4882a593Smuzhiyun select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 212*4882a593Smuzhiyun help 213*4882a593Smuzhiyun Some specific platforms (such as Allwinner A64/H5) 214*4882a593Smuzhiyun encapsulate the BL31 part of ATF inside U-Boot. This option 215*4882a593Smuzhiyun makes sure ATF gets built prior to U-Boot, and that the BL31 216*4882a593Smuzhiyun variable pointing to ATF's BL31 binary, is passed during the 217*4882a593Smuzhiyun Buildroot build. 218*4882a593Smuzhiyun 219*4882a593Smuzhiyunchoice 220*4882a593Smuzhiyun prompt "U-Boot ATF BL31 format" 221*4882a593Smuzhiyun default BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN 222*4882a593Smuzhiyun depends on BR2_TARGET_UBOOT_NEEDS_ATF_BL31 223*4882a593Smuzhiyun 224*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN 225*4882a593Smuzhiyun bool "bl31.bin" 226*4882a593Smuzhiyun 227*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF 228*4882a593Smuzhiyun bool "bl31.elf" 229*4882a593Smuzhiyun 230*4882a593Smuzhiyunendchoice 231*4882a593Smuzhiyun 232*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_NEEDS_OPENSBI 233*4882a593Smuzhiyun bool "U-Boot needs OpenSBI" 234*4882a593Smuzhiyun depends on BR2_TARGET_OPENSBI 235*4882a593Smuzhiyun help 236*4882a593Smuzhiyun Some RISC-V platforms (such as SiFive HiFive Unleashed) 237*4882a593Smuzhiyun encapsulate the OpenSBI firmware image inside U-Boot. 238*4882a593Smuzhiyun This option makes sure OpenSBI gets built prior to U-Boot, 239*4882a593Smuzhiyun and that the OpenSBI variable pointing to OpenSBI binary, 240*4882a593Smuzhiyun is passed during the Buildroot build. 241*4882a593Smuzhiyun 242*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE 243*4882a593Smuzhiyun bool "U-Boot needs firmware-imx" 244*4882a593Smuzhiyun depends on BR2_PACKAGE_FIRMWARE_IMX 245*4882a593Smuzhiyun depends on BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW || \ 246*4882a593Smuzhiyun BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW 247*4882a593Smuzhiyun help 248*4882a593Smuzhiyun Some i.MX8 platforms (such as i.MX8 M, i.MX 8M Mini, i.MX 8M 249*4882a593Smuzhiyun Nano) encapsulate NXP specific firmware (DDR, HDMI) inside 250*4882a593Smuzhiyun U-Boot. 251*4882a593Smuzhiyun This option makes sure that the i.MX firmwares are copied into 252*4882a593Smuzhiyun the U-Boot source directory. 253*4882a593Smuzhiyun 254*4882a593Smuzhiyunmenu "U-Boot binary format" 255*4882a593Smuzhiyun 256*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_AIS 257*4882a593Smuzhiyun bool "u-boot.ais" 258*4882a593Smuzhiyun help 259*4882a593Smuzhiyun AIS (Application Image Script) is a format defined by TI. 260*4882a593Smuzhiyun It is required to load code/data on OMAP-L1 processors. 261*4882a593Smuzhiyun u-boot.ais contains U-Boot with the SPL support. 262*4882a593Smuzhiyun 263*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_BIN 264*4882a593Smuzhiyun bool "u-boot.bin" 265*4882a593Smuzhiyun default y 266*4882a593Smuzhiyun 267*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_DTB 268*4882a593Smuzhiyun bool "u-boot.dtb" 269*4882a593Smuzhiyun 270*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_DTB_BIN 271*4882a593Smuzhiyun bool "u-boot-dtb.bin" 272*4882a593Smuzhiyun 273*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_NAND_BIN 274*4882a593Smuzhiyun bool "u-boot-nand.bin" 275*4882a593Smuzhiyun 276*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_ELF 277*4882a593Smuzhiyun bool "u-boot.elf" 278*4882a593Smuzhiyun 279*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_IMG 280*4882a593Smuzhiyun bool "u-boot.img" 281*4882a593Smuzhiyun 282*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_DTB_IMG 283*4882a593Smuzhiyun bool "u-boot-dtb.img" 284*4882a593Smuzhiyun 285*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_IMX 286*4882a593Smuzhiyun bool "u-boot.imx" 287*4882a593Smuzhiyun 288*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_DTB_IMX 289*4882a593Smuzhiyun bool "u-boot-dtb.imx" 290*4882a593Smuzhiyun 291*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_ITB 292*4882a593Smuzhiyun bool "u-boot.itb" 293*4882a593Smuzhiyun 294*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_KWB 295*4882a593Smuzhiyun bool "u-boot.kwb (Marvell)" 296*4882a593Smuzhiyun depends on BR2_arm 297*4882a593Smuzhiyun 298*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_NAND 299*4882a593Smuzhiyun bool "u-boot.nand (Freescale i.MX28)" 300*4882a593Smuzhiyun depends on BR2_arm 301*4882a593Smuzhiyun help 302*4882a593Smuzhiyun This is Freescale i.MX28 BootStream format (.sb), with a 303*4882a593Smuzhiyun header for booting from a NAND flash. 304*4882a593Smuzhiyun 305*4882a593Smuzhiyun U-Boot includes an mxsboot tool to generate this format, 306*4882a593Smuzhiyun starting from 2011.12. 307*4882a593Smuzhiyun 308*4882a593Smuzhiyun There are two possibilities when preparing an image writable 309*4882a593Smuzhiyun to NAND flash: 310*4882a593Smuzhiyun 1) The NAND was not written at all yet or the BCB (Boot 311*4882a593Smuzhiyun Control Blocks) is broken. In this case, the NAND image 312*4882a593Smuzhiyun 'u-boot.nand' needs to written. 313*4882a593Smuzhiyun 2) The NAND flash was already written with a good BCB. This 314*4882a593Smuzhiyun applies after 'u-boot.nand' was correctly written. There is no 315*4882a593Smuzhiyun need to write the BCB again. In this case, the bootloader can 316*4882a593Smuzhiyun be upgraded by writing 'u-boot.sb'. 317*4882a593Smuzhiyun 318*4882a593Smuzhiyun To satisfy both cases, the 'u-boot.nand' image obtained from 319*4882a593Smuzhiyun mxsboot as well as the U-Boot make target 'u-boot.sb' are 320*4882a593Smuzhiyun copied to the binaries directory. 321*4882a593Smuzhiyun 322*4882a593Smuzhiyun See doc/README.mxs (or doc/README.mx28_common before 2013.07) 323*4882a593Smuzhiyun 324*4882a593Smuzhiyunif BR2_TARGET_UBOOT_FORMAT_NAND 325*4882a593Smuzhiyun 326*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_NAND_PAGE_SIZE 327*4882a593Smuzhiyun int "NAND page size" 328*4882a593Smuzhiyun default 2048 329*4882a593Smuzhiyun help 330*4882a593Smuzhiyun The NAND page size of the targets NAND flash in bytes as a 331*4882a593Smuzhiyun decimal integer value. 332*4882a593Smuzhiyun 333*4882a593Smuzhiyun The value provided here is passed to the -w option of mxsboot. 334*4882a593Smuzhiyun 335*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_NAND_OOB_SIZE 336*4882a593Smuzhiyun int "NAND OOB size" 337*4882a593Smuzhiyun default 64 338*4882a593Smuzhiyun help 339*4882a593Smuzhiyun The NAND OOB size of the targets NAND flash in bytes as a 340*4882a593Smuzhiyun decimal integer value. 341*4882a593Smuzhiyun 342*4882a593Smuzhiyun The value provided here is passed to the -o option of mxsboot. 343*4882a593Smuzhiyun 344*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_NAND_ERASE_SIZE 345*4882a593Smuzhiyun int "NAND erase size" 346*4882a593Smuzhiyun default 131072 347*4882a593Smuzhiyun help 348*4882a593Smuzhiyun The NAND eraseblock size of the targets NAND flash in bytes as 349*4882a593Smuzhiyun a decimal integer value. 350*4882a593Smuzhiyun 351*4882a593Smuzhiyun The value provided here is passed to the -e option of mxsboot. 352*4882a593Smuzhiyun 353*4882a593Smuzhiyunendif 354*4882a593Smuzhiyun 355*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_SB 356*4882a593Smuzhiyun bool "u-boot.sb (Freescale i.MX28)" 357*4882a593Smuzhiyun depends on BR2_arm 358*4882a593Smuzhiyun 359*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_SD 360*4882a593Smuzhiyun bool "u-boot.sd (Freescale i.MX28)" 361*4882a593Smuzhiyun depends on BR2_arm 362*4882a593Smuzhiyun help 363*4882a593Smuzhiyun This is Freescale i.MX28 SB format, with a header for booting 364*4882a593Smuzhiyun from an SD card. 365*4882a593Smuzhiyun 366*4882a593Smuzhiyun U-Boot includes an mxsboot tool to generate this format, 367*4882a593Smuzhiyun starting from 2011.12. 368*4882a593Smuzhiyun 369*4882a593Smuzhiyun See doc/README.mxs (or doc/README.mx28_common before 2013.07) 370*4882a593Smuzhiyun 371*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_STM32 372*4882a593Smuzhiyun bool "u-boot.stm32" 373*4882a593Smuzhiyun depends on BR2_arm 374*4882a593Smuzhiyun 375*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_CUSTOM 376*4882a593Smuzhiyun bool "Custom (specify below)" 377*4882a593Smuzhiyun help 378*4882a593Smuzhiyun On some platforms, the standard U-Boot binary is not called 379*4882a593Smuzhiyun u-boot.bin, but u-boot<something>.bin. If this is your case, 380*4882a593Smuzhiyun you should select this option and specify the correct name(s) 381*4882a593Smuzhiyun in BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME. 382*4882a593Smuzhiyun 383*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME 384*4882a593Smuzhiyun string "U-Boot binary format: custom names" 385*4882a593Smuzhiyun depends on BR2_TARGET_UBOOT_FORMAT_CUSTOM 386*4882a593Smuzhiyun help 387*4882a593Smuzhiyun In case the U-Boot binary for the target platform is not among 388*4882a593Smuzhiyun the default names, one or more custom names can be listed 389*4882a593Smuzhiyun here. 390*4882a593Smuzhiyun Use space to separate multiple names. 391*4882a593Smuzhiyun Example: 392*4882a593Smuzhiyun u-boot_magic.bin 393*4882a593Smuzhiyun 394*4882a593Smuzhiyunendmenu 395*4882a593Smuzhiyun 396*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_OMAP_IFT 397*4882a593Smuzhiyun bool "produce a .ift signed image (OMAP)" 398*4882a593Smuzhiyun depends on BR2_TARGET_UBOOT_FORMAT_BIN 399*4882a593Smuzhiyun depends on BR2_arm || BR2_armeb 400*4882a593Smuzhiyun select BR2_PACKAGE_HOST_OMAP_U_BOOT_UTILS 401*4882a593Smuzhiyun help 402*4882a593Smuzhiyun Use gpsign to produce an image of u-boot.bin signed with 403*4882a593Smuzhiyun a Configuration Header for booting on OMAP processors. 404*4882a593Smuzhiyun This allows U-Boot to boot without the need for an 405*4882a593Smuzhiyun intermediate bootloader (e.g. x-loader) if it is written 406*4882a593Smuzhiyun on the first sector of the boot medium. 407*4882a593Smuzhiyun This only works for some media, such as NAND. Check your 408*4882a593Smuzhiyun chip documentation for details. You might also want to 409*4882a593Smuzhiyun read the documentation of gpsign, the tool that generates 410*4882a593Smuzhiyun the .ift image, at: 411*4882a593Smuzhiyun https://github.com/nmenon/omap-u-boot-utils/blob/master/README 412*4882a593Smuzhiyun 413*4882a593Smuzhiyunif BR2_TARGET_UBOOT_OMAP_IFT 414*4882a593Smuzhiyun 415*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_OMAP_IFT_CONFIG 416*4882a593Smuzhiyun string "gpsign Configuration Header config file" 417*4882a593Smuzhiyun help 418*4882a593Smuzhiyun The Configuration Header (CH) config file defines the 419*4882a593Smuzhiyun desired content of the CH for the signed image. 420*4882a593Smuzhiyun It usually contains external RAM settings and 421*4882a593Smuzhiyun possibly other external devices initialization. 422*4882a593Smuzhiyun The omap-u-boot-utils software contains example 423*4882a593Smuzhiyun configuration files for some boards: 424*4882a593Smuzhiyun https://github.com/nmenon/omap-u-boot-utils/tree/master/configs 425*4882a593Smuzhiyun 426*4882a593Smuzhiyunendif 427*4882a593Smuzhiyun 428*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_SPL 429*4882a593Smuzhiyun bool "Install U-Boot SPL binary image" 430*4882a593Smuzhiyun depends on !BR2_TARGET_XLOADER 431*4882a593Smuzhiyun help 432*4882a593Smuzhiyun Install the U-Boot SPL binary image to the images 433*4882a593Smuzhiyun directory. 434*4882a593Smuzhiyun SPL is a first stage bootloader loaded into internal 435*4882a593Smuzhiyun memory in charge of enabling and configuring the 436*4882a593Smuzhiyun external memory (DDR), and load the u-boot program 437*4882a593Smuzhiyun into DDR. 438*4882a593Smuzhiyun 439*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_SPL_NAME 440*4882a593Smuzhiyun string "U-Boot SPL/TPL binary image name(s)" 441*4882a593Smuzhiyun default "spl/u-boot-spl.bin" 442*4882a593Smuzhiyun depends on BR2_TARGET_UBOOT_SPL 443*4882a593Smuzhiyun help 444*4882a593Smuzhiyun A space-separated list of SPL/TPL binaries, generated during 445*4882a593Smuzhiyun u-boot build. For most platform SPL name is spl/u-boot-spl.bin 446*4882a593Smuzhiyun and TPL name is tpl/u-boot-tpl.bin but not always. SPL name is 447*4882a593Smuzhiyun MLO on OMAP and SPL on i.MX6 for example. 448*4882a593Smuzhiyun 449*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_ZYNQ_IMAGE 450*4882a593Smuzhiyun bool "Generate image for Xilinx Zynq" 451*4882a593Smuzhiyun depends on BR2_arm 452*4882a593Smuzhiyun depends on BR2_TARGET_UBOOT_SPL 453*4882a593Smuzhiyun depends on BR2_TARGET_UBOOT_FORMAT_DTB_IMG 454*4882a593Smuzhiyun help 455*4882a593Smuzhiyun Generate the BOOT.BIN file from U-Boot's SPL. The image 456*4882a593Smuzhiyun boots the Xilinx Zynq chip without any FPGA bitstream. 457*4882a593Smuzhiyun A bitstream can be loaded by the U-Boot. The SPL searchs 458*4882a593Smuzhiyun for u-boot-dtb.img file so this U-Boot format is required 459*4882a593Smuzhiyun to be set. 460*4882a593Smuzhiyun 461*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_ZYNQMP 462*4882a593Smuzhiyun bool "Boot on the Xilinx ZynqMP SoCs" 463*4882a593Smuzhiyun depends on BR2_aarch64 464*4882a593Smuzhiyun help 465*4882a593Smuzhiyun Enable options specific to the Xilinx ZynqMP family of SoCs. 466*4882a593Smuzhiyun 467*4882a593Smuzhiyunif BR2_TARGET_UBOOT_ZYNQMP 468*4882a593Smuzhiyun 469*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_ZYNQMP_PMUFW 470*4882a593Smuzhiyun string "PMU firmware location" 471*4882a593Smuzhiyun depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG 472*4882a593Smuzhiyun help 473*4882a593Smuzhiyun Location of a PMU firmware binary. 474*4882a593Smuzhiyun 475*4882a593Smuzhiyun If not empty, instructs the U-Boot build process to generate 476*4882a593Smuzhiyun a boot.bin (to be loaded by the ZynqMP boot ROM) containing 477*4882a593Smuzhiyun both the U-Boot SPL and the PMU firmware in the 478*4882a593Smuzhiyun Xilinx-specific boot format. 479*4882a593Smuzhiyun 480*4882a593Smuzhiyun The value can be an absolute or relative path, and will be 481*4882a593Smuzhiyun used directly from where it is located, or an URI 482*4882a593Smuzhiyun (e.g. http://...), and it will be downloaded and used from 483*4882a593Smuzhiyun the download directory. 484*4882a593Smuzhiyun 485*4882a593Smuzhiyun If empty, the generated boot.bin will not contain a PMU 486*4882a593Smuzhiyun firmware. 487*4882a593Smuzhiyun 488*4882a593Smuzhiyun This feature requires U-Boot >= 2018.07. 489*4882a593Smuzhiyun 490*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_ZYNQMP_PM_CFG 491*4882a593Smuzhiyun string "PMU configuration location" 492*4882a593Smuzhiyun depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG 493*4882a593Smuzhiyun help 494*4882a593Smuzhiyun Location of a PMU configuration file. 495*4882a593Smuzhiyun 496*4882a593Smuzhiyun If not empty, Buildroot will convert the PMU configuration 497*4882a593Smuzhiyun file into a loadable blob and pass it to U-Boot. The blob gets 498*4882a593Smuzhiyun embedded into the U-Boot SPL and is used to configure the PMU 499*4882a593Smuzhiyun during board initialization. 500*4882a593Smuzhiyun 501*4882a593Smuzhiyun Unlike the PMU firmware, the PMU configuration file is unique 502*4882a593Smuzhiyun to each board configuration. A PMU configuration file can be 503*4882a593Smuzhiyun generated by building your Xilinx SDK BSP. It can be found in 504*4882a593Smuzhiyun the BSP source, for example at 505*4882a593Smuzhiyun ./psu_cortexa53_0/libsrc/xilpm_v2_4/src/pm_cfg_obj.c 506*4882a593Smuzhiyun 507*4882a593Smuzhiyun Leave this option empty if your PMU firmware has a hard-coded 508*4882a593Smuzhiyun configuration object or you are loading it by any other means. 509*4882a593Smuzhiyun 510*4882a593Smuzhiyun This feature requires U-Boot >= v2019.10. 511*4882a593Smuzhiyun 512*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE 513*4882a593Smuzhiyun string "Custom psu_init_gpl file" 514*4882a593Smuzhiyun depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG 515*4882a593Smuzhiyun help 516*4882a593Smuzhiyun On ZynqMP the booloader is responsible for some basic 517*4882a593Smuzhiyun initializations, such as enabling peripherals and 518*4882a593Smuzhiyun configuring pinmuxes. The psu_init_gpl.c file (and, 519*4882a593Smuzhiyun optionally, psu_init_gpl.h) contains the code for such 520*4882a593Smuzhiyun initializations. 521*4882a593Smuzhiyun 522*4882a593Smuzhiyun Although U-Boot contains psu_init_gpl.c files for some 523*4882a593Smuzhiyun boards, each of them describes only one specific 524*4882a593Smuzhiyun configuration. Users of a different board, or needing a 525*4882a593Smuzhiyun different configuration, can generate custom files using the 526*4882a593Smuzhiyun Xilinx development tools. 527*4882a593Smuzhiyun 528*4882a593Smuzhiyun Set this variable to the path to your psu_init_gpl.c file 529*4882a593Smuzhiyun (e.g. "board/myboard/psu_init_gpl.c"). psu_init_gpl.h, if 530*4882a593Smuzhiyun needed, should be in the same directory. U-Boot will build 531*4882a593Smuzhiyun and link the user-provided file instead of the built-in one. 532*4882a593Smuzhiyun 533*4882a593Smuzhiyun Leave empty to use the files provided by U-Boot. 534*4882a593Smuzhiyun 535*4882a593Smuzhiyun This feature requires commit 536*4882a593Smuzhiyun 6da4f67ad09cd8b311d77b2b04e557b7ef65b56c from upstream 537*4882a593Smuzhiyun U-Boot, available from versions after 2018.07. 538*4882a593Smuzhiyun 539*4882a593Smuzhiyunendif 540*4882a593Smuzhiyun 541*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC 542*4882a593Smuzhiyun bool "CRC image for Altera SoC FPGA (mkpimage)" 543*4882a593Smuzhiyun depends on BR2_arm 544*4882a593Smuzhiyun depends on BR2_TARGET_UBOOT_SPL || BR2_TARGET_UBOOT_FORMAT_DTB_BIN 545*4882a593Smuzhiyun help 546*4882a593Smuzhiyun Pass the U-Boot image through the mkpimage tool to enable 547*4882a593Smuzhiyun booting on the Altera SoC FPGA based platforms. 548*4882a593Smuzhiyun 549*4882a593Smuzhiyun On some platforms, it's the SPL that needs to be passed 550*4882a593Smuzhiyun through mkpimage. On some other platforms there is no SPL 551*4882a593Smuzhiyun because the internal SRAM is big enough to store the full 552*4882a593Smuzhiyun U-Boot. In this case, it's directly the full U-Boot image 553*4882a593Smuzhiyun that is passed through mkpimage. 554*4882a593Smuzhiyun 555*4882a593Smuzhiyun If BR2_TARGET_UBOOT_SPL is enabled then 556*4882a593Smuzhiyun BR2_TARGET_UBOOT_SPL_NAME is converted by mkpimage using 557*4882a593Smuzhiyun header version 0. 558*4882a593Smuzhiyun 559*4882a593Smuzhiyun Otherwise the full u-boot-dtb.bin is converted using 560*4882a593Smuzhiyun mkpimage header version 1. 561*4882a593Smuzhiyun 562*4882a593Smuzhiyun In either case the resulting file will be given a .crc 563*4882a593Smuzhiyun extension. 564*4882a593Smuzhiyun 565*4882a593Smuzhiyunif BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG 566*4882a593Smuzhiyun 567*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_CUSTOM_DTS_PATH 568*4882a593Smuzhiyun string "Device Tree Source file paths" 569*4882a593Smuzhiyun help 570*4882a593Smuzhiyun Space-separated list of paths to device tree source files 571*4882a593Smuzhiyun that will be copied to arch/ARCH/dts/ before starting the 572*4882a593Smuzhiyun build. 573*4882a593Smuzhiyun 574*4882a593Smuzhiyun To use this device tree source file, the U-Boot configuration 575*4882a593Smuzhiyun file must refer to it. 576*4882a593Smuzhiyun 577*4882a593Smuzhiyunendif 578*4882a593Smuzhiyun 579*4882a593Smuzhiyunconfig BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS 580*4882a593Smuzhiyun string "Custom make options" 581*4882a593Smuzhiyun help 582*4882a593Smuzhiyun List of custom make options passed at build time. Can be 583*4882a593Smuzhiyun used for example to pass a DEVICE_TREE= value. 584*4882a593Smuzhiyun 585*4882a593Smuzhiyunendif # BR2_TARGET_UBOOT 586