| config BR2_TARGET_UBOOT |
| bool "U-Boot" |
| help |
| Build "Das U-Boot" Boot Monitor |
| |
| https://www.denx.de/wiki/U-Boot |
| |
| if BR2_TARGET_UBOOT |
| choice |
| prompt "Build system" |
| default BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG if BR2_TARGET_UBOOT_LATEST_VERSION |
| default BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY |
| |
| config BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG |
| bool "Kconfig" |
| help |
| Select this option if you use a recent U-Boot version (2015.04 |
| or newer), so that we use the Kconfig build system. |
| |
| config BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY |
| bool "Legacy" |
| help |
| Select this option if you use an old U-Boot (older than |
| 2015.04), so that we use the old build system. |
| |
| endchoice |
| |
| if BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY |
| config BR2_TARGET_UBOOT_BOARDNAME |
| string "U-Boot board name" |
| help |
| One of U-Boot supported boards to be built. |
| This will be suffixed with _config to meet U-Boot standard |
| naming. See boards.cfg in U-Boot source code for the list of |
| available configurations. |
| endif |
| |
| choice |
| prompt "U-Boot Version" |
| help |
| Select the specific U-Boot version you want to use |
| |
| config BR2_TARGET_UBOOT_LATEST_VERSION |
| bool "2020.10" |
| |
| config BR2_TARGET_UBOOT_CUSTOM_VERSION |
| bool "Custom version" |
| help |
| This option allows to use a specific official versions |
| |
| config BR2_TARGET_UBOOT_CUSTOM_TARBALL |
| bool "Custom tarball" |
| |
| config BR2_TARGET_UBOOT_CUSTOM_GIT |
| bool "Custom Git repository" |
| |
| config BR2_TARGET_UBOOT_CUSTOM_HG |
| bool "Custom Mercurial repository" |
| |
| config BR2_TARGET_UBOOT_CUSTOM_SVN |
| bool "Custom Subversion repository" |
| |
| endchoice |
| |
| config BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE |
| string "U-Boot version" |
| depends on BR2_TARGET_UBOOT_CUSTOM_VERSION |
| |
| config BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION |
| string "URL of custom U-Boot tarball" |
| depends on BR2_TARGET_UBOOT_CUSTOM_TARBALL |
| |
| if BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG || BR2_TARGET_UBOOT_CUSTOM_SVN |
| |
| config BR2_TARGET_UBOOT_CUSTOM_REPO_URL |
| string "URL of custom repository" |
| |
| config BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION |
| string "Custom repository version" |
| help |
| Revision to use in the typical format used by |
| Git/Mercurial/Subversion E.G. a sha id, a tag, branch, .. |
| |
| endif |
| |
| config BR2_TARGET_UBOOT_VERSION |
| string |
| default "2020.10" if BR2_TARGET_UBOOT_LATEST_VERSION |
| default BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE \ |
| if BR2_TARGET_UBOOT_CUSTOM_VERSION |
| default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL |
| default BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION \ |
| if BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG || BR2_TARGET_UBOOT_CUSTOM_SVN |
| |
| config BR2_TARGET_UBOOT_PATCH |
| string "Custom U-Boot patches" |
| default BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR if BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR != "" # legacy |
| help |
| A space-separated list of patches to apply to U-Boot. |
| Each patch can be described as an URL, a local file path, |
| or a directory. In the case of a directory, all files |
| matching *.patch in the directory will be applied. |
| |
| Most users may leave this empty |
| |
| if BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG |
| choice |
| prompt "U-Boot configuration" |
| default BR2_TARGET_UBOOT_USE_DEFCONFIG |
| |
| config BR2_TARGET_UBOOT_USE_DEFCONFIG |
| bool "Using an in-tree board defconfig file" |
| |
| config BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG |
| bool "Using a custom board (def)config file" |
| |
| endchoice |
| |
| config BR2_TARGET_UBOOT_BOARD_DEFCONFIG |
| string "Board defconfig" |
| depends on BR2_TARGET_UBOOT_USE_DEFCONFIG |
| help |
| Name of the board for which U-Boot should be built, without |
| the _defconfig suffix. |
| |
| config BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE |
| string "Configuration file path" |
| depends on BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG |
| help |
| Path to the U-Boot configuration file. |
| |
| config BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES |
| string "Additional configuration fragment files" |
| help |
| A space-separated list of configuration fragment files, |
| that will be merged to the main U-Boot configuration file. |
| endif |
| |
| config BR2_TARGET_UBOOT_NEEDS_DTC |
| bool "U-Boot needs dtc" |
| select BR2_PACKAGE_HOST_DTC |
| help |
| Select this option if your U-Boot board configuration |
| requires the Device Tree compiler to be available. |
| |
| config BR2_TARGET_UBOOT_NEEDS_PYTHON |
| bool |
| |
| choice |
| bool "U-Boot needs host Python" |
| |
| config BR2_TARGET_UBOOT_NEEDS_PYTHON_NONE |
| bool "no" |
| depends on !BR2_TARGET_UBOOT_NEEDS_PYTHON |
| help |
| Select this option if U-Boot does not need any |
| host python to build. |
| |
| config BR2_TARGET_UBOOT_NEEDS_PYTHON2 |
| bool "python 2.x" |
| help |
| Select this option if U-Boot needs a host Python 2.x |
| interpreter. This is the case for some U-Boot |
| configurations, prior to U-Boot 2020.01. |
| |
| config BR2_TARGET_UBOOT_NEEDS_PYTHON3 |
| bool "python 3.x" |
| help |
| Select this option if U-Boot needs a host Python 3.x |
| interpreter. This is the case for some U-Boot |
| configurations, after U-Boot 2020.01. |
| |
| endchoice |
| |
| config BR2_TARGET_UBOOT_NEEDS_PYLIBFDT |
| bool "U-Boot needs pylibfdt" |
| select BR2_TARGET_UBOOT_NEEDS_PYTHON |
| help |
| Select this option if your U-Boot board configuration |
| requires the Python libfdt library to be available. |
| |
| config BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS |
| bool "U-Boot needs pyelftools" |
| select BR2_TARGET_UBOOT_NEEDS_PYTHON |
| help |
| Select this option if your U-Boot board configuration |
| requires the Python pyelftools library to be available. |
| This is used by some rockchip SOCs for elf parsing. |
| For example: rk3399 soc boards. |
| |
| config BR2_TARGET_UBOOT_NEEDS_OPENSSL |
| bool "U-Boot needs OpenSSL" |
| help |
| Select this option if your U-Boot board configuration |
| requires OpenSSL to be available on the host. This is |
| typically the case when the board configuration has |
| CONFIG_FIT_SIGNATURE enabled. |
| |
| config BR2_TARGET_UBOOT_NEEDS_LZOP |
| bool "U-Boot needs lzop" |
| help |
| Select this option if your U-Boot board configuration |
| requires lzop to be available on the host. This is typically |
| the case when the board configuration has CONFIG_SPL_LZO |
| enabled. |
| |
| config BR2_TARGET_UBOOT_NEEDS_ATF_BL31 |
| bool "U-Boot needs ATF BL31" |
| depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE |
| depends on !BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 |
| select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 |
| help |
| Some specific platforms (such as Allwinner A64/H5) |
| encapsulate the BL31 part of ATF inside U-Boot. This option |
| makes sure ATF gets built prior to U-Boot, and that the BL31 |
| variable pointing to ATF's BL31 binary, is passed during the |
| Buildroot build. |
| |
| choice |
| prompt "U-Boot ATF BL31 format" |
| default BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN |
| depends on BR2_TARGET_UBOOT_NEEDS_ATF_BL31 |
| |
| config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN |
| bool "bl31.bin" |
| |
| config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF |
| bool "bl31.elf" |
| |
| endchoice |
| |
| config BR2_TARGET_UBOOT_NEEDS_OPENSBI |
| bool "U-Boot needs OpenSBI" |
| depends on BR2_TARGET_OPENSBI |
| help |
| Some RISC-V platforms (such as SiFive HiFive Unleashed) |
| encapsulate the OpenSBI firmware image inside U-Boot. |
| This option makes sure OpenSBI gets built prior to U-Boot, |
| and that the OpenSBI variable pointing to OpenSBI binary, |
| is passed during the Buildroot build. |
| |
| menu "U-Boot binary format" |
| |
| config BR2_TARGET_UBOOT_FORMAT_AIS |
| bool "u-boot.ais" |
| help |
| AIS (Application Image Script) is a format defined by TI. |
| It is required to load code/data on OMAP-L1 processors. |
| u-boot.ais contains U-Boot with the SPL support. |
| |
| config BR2_TARGET_UBOOT_FORMAT_BIN |
| bool "u-boot.bin" |
| default y |
| |
| config BR2_TARGET_UBOOT_FORMAT_DTB_BIN |
| bool "u-boot-dtb.bin" |
| |
| config BR2_TARGET_UBOOT_FORMAT_NAND_BIN |
| bool "u-boot-nand.bin" |
| |
| config BR2_TARGET_UBOOT_FORMAT_ELF |
| bool "u-boot.elf" |
| |
| config BR2_TARGET_UBOOT_FORMAT_IMG |
| bool "u-boot.img" |
| |
| config BR2_TARGET_UBOOT_FORMAT_DTB_IMG |
| bool "u-boot-dtb.img" |
| |
| config BR2_TARGET_UBOOT_FORMAT_IMX |
| bool "u-boot.imx" |
| |
| config BR2_TARGET_UBOOT_FORMAT_DTB_IMX |
| bool "u-boot-dtb.imx" |
| |
| config BR2_TARGET_UBOOT_FORMAT_ITB |
| bool "u-boot.itb" |
| |
| config BR2_TARGET_UBOOT_FORMAT_KWB |
| bool "u-boot.kwb (Marvell)" |
| depends on BR2_arm |
| |
| config BR2_TARGET_UBOOT_FORMAT_NAND |
| bool "u-boot.nand (Freescale i.MX28)" |
| depends on BR2_arm |
| help |
| This is Freescale i.MX28 BootStream format (.sb), with a |
| header for booting from a NAND flash. |
| |
| U-Boot includes an mxsboot tool to generate this format, |
| starting from 2011.12. |
| |
| There are two possibilities when preparing an image writable |
| to NAND flash: |
| 1) The NAND was not written at all yet or the BCB (Boot |
| Control Blocks) is broken. In this case, the NAND image |
| 'u-boot.nand' needs to written. |
| 2) The NAND flash was already written with a good BCB. This |
| applies after 'u-boot.nand' was correctly written. There is no |
| need to write the BCB again. In this case, the bootloader can |
| be upgraded by writing 'u-boot.sb'. |
| |
| To satisfy both cases, the 'u-boot.nand' image obtained from |
| mxsboot as well as the U-Boot make target 'u-boot.sb' are |
| copied to the binaries directory. |
| |
| See doc/README.mxs (or doc/README.mx28_common before 2013.07) |
| |
| if BR2_TARGET_UBOOT_FORMAT_NAND |
| |
| config BR2_TARGET_UBOOT_FORMAT_NAND_PAGE_SIZE |
| int "NAND page size" |
| default 2048 |
| help |
| The NAND page size of the targets NAND flash in bytes as a |
| decimal integer value. |
| |
| The value provided here is passed to the -w option of mxsboot. |
| |
| config BR2_TARGET_UBOOT_FORMAT_NAND_OOB_SIZE |
| int "NAND OOB size" |
| default 64 |
| help |
| The NAND OOB size of the targets NAND flash in bytes as a |
| decimal integer value. |
| |
| The value provided here is passed to the -o option of mxsboot. |
| |
| config BR2_TARGET_UBOOT_FORMAT_NAND_ERASE_SIZE |
| int "NAND erase size" |
| default 131072 |
| help |
| The NAND eraseblock size of the targets NAND flash in bytes as |
| a decimal integer value. |
| |
| The value provided here is passed to the -e option of mxsboot. |
| |
| endif |
| |
| config BR2_TARGET_UBOOT_FORMAT_SB |
| bool "u-boot.sb (Freescale i.MX28)" |
| depends on BR2_arm |
| |
| config BR2_TARGET_UBOOT_FORMAT_SD |
| bool "u-boot.sd (Freescale i.MX28)" |
| depends on BR2_arm |
| help |
| This is Freescale i.MX28 SB format, with a header for booting |
| from an SD card. |
| |
| U-Boot includes an mxsboot tool to generate this format, |
| starting from 2011.12. |
| |
| See doc/README.mxs (or doc/README.mx28_common before 2013.07) |
| |
| config BR2_TARGET_UBOOT_FORMAT_STM32 |
| bool "u-boot.stm32" |
| depends on BR2_arm |
| |
| config BR2_TARGET_UBOOT_FORMAT_CUSTOM |
| bool "Custom (specify below)" |
| help |
| On some platforms, the standard U-Boot binary is not called |
| u-boot.bin, but u-boot<something>.bin. If this is your case, |
| you should select this option and specify the correct name(s) |
| in BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME. |
| |
| config BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME |
| string "U-Boot binary format: custom names" |
| depends on BR2_TARGET_UBOOT_FORMAT_CUSTOM |
| help |
| In case the U-Boot binary for the target platform is not among |
| the default names, one or more custom names can be listed |
| here. |
| Use space to separate multiple names. |
| Example: |
| u-boot_magic.bin |
| |
| endmenu |
| |
| config BR2_TARGET_UBOOT_OMAP_IFT |
| bool "produce a .ift signed image (OMAP)" |
| depends on BR2_TARGET_UBOOT_FORMAT_BIN |
| depends on BR2_arm || BR2_armeb |
| select BR2_PACKAGE_HOST_OMAP_U_BOOT_UTILS |
| help |
| Use gpsign to produce an image of u-boot.bin signed with |
| a Configuration Header for booting on OMAP processors. |
| This allows U-Boot to boot without the need for an |
| intermediate bootloader (e.g. x-loader) if it is written |
| on the first sector of the boot medium. |
| This only works for some media, such as NAND. Check your |
| chip documentation for details. You might also want to |
| read the documentation of gpsign, the tool that generates |
| the .ift image, at: |
| https://github.com/nmenon/omap-u-boot-utils/blob/master/README |
| |
| if BR2_TARGET_UBOOT_OMAP_IFT |
| |
| config BR2_TARGET_UBOOT_OMAP_IFT_CONFIG |
| string "gpsign Configuration Header config file" |
| help |
| The Configuration Header (CH) config file defines the |
| desired content of the CH for the signed image. |
| It usually contains external RAM settings and |
| possibly other external devices initialization. |
| The omap-u-boot-utils software contains example |
| configuration files for some boards: |
| https://github.com/nmenon/omap-u-boot-utils/tree/master/configs |
| |
| endif |
| |
| config BR2_TARGET_UBOOT_SPL |
| bool "Install U-Boot SPL binary image" |
| depends on !BR2_TARGET_XLOADER |
| help |
| Install the U-Boot SPL binary image to the images |
| directory. |
| SPL is a first stage bootloader loaded into internal |
| memory in charge of enabling and configuring the |
| external memory (DDR), and load the u-boot program |
| into DDR. |
| |
| config BR2_TARGET_UBOOT_SPL_NAME |
| string "U-Boot SPL/TPL binary image name(s)" |
| default "spl/u-boot-spl.bin" |
| depends on BR2_TARGET_UBOOT_SPL |
| help |
| A space-separated list of SPL/TPL binaries, generated during |
| u-boot build. For most platform SPL name is spl/u-boot-spl.bin |
| and TPL name is tpl/u-boot-tpl.bin but not always. SPL name is |
| MLO on OMAP and SPL on i.MX6 for example. |
| |
| config BR2_TARGET_UBOOT_ZYNQ_IMAGE |
| bool "Generate image for Xilinx Zynq" |
| depends on BR2_arm |
| depends on BR2_TARGET_UBOOT_SPL |
| depends on BR2_TARGET_UBOOT_FORMAT_DTB_IMG |
| help |
| Generate the BOOT.BIN file from U-Boot's SPL. The image |
| boots the Xilinx Zynq chip without any FPGA bitstream. |
| A bitstream can be loaded by the U-Boot. The SPL searchs |
| for u-boot-dtb.img file so this U-Boot format is required |
| to be set. |
| |
| config BR2_TARGET_UBOOT_ZYNQMP |
| bool "Boot on the Xilinx ZynqMP SoCs" |
| depends on BR2_aarch64 |
| help |
| Enable options specific to the Xilinx ZynqMP family of SoCs. |
| |
| if BR2_TARGET_UBOOT_ZYNQMP |
| |
| config BR2_TARGET_UBOOT_ZYNQMP_PMUFW |
| string "PMU firmware location" |
| depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG |
| help |
| Location of a PMU firmware binary. |
| |
| If not empty, instructs the U-Boot build process to generate |
| a boot.bin (to be loaded by the ZynqMP boot ROM) containing |
| both the U-Boot SPL and the PMU firmware in the |
| Xilinx-specific boot format. |
| |
| The value can be an absolute or relative path, and will be |
| used directly from where it is located, or an URI |
| (e.g. http://...), and it will be downloaded and used from |
| the download directory. |
| |
| If empty, the generated boot.bin will not contain a PMU |
| firmware. |
| |
| This feature requires U-Boot >= 2018.07. |
| |
| config BR2_TARGET_UBOOT_ZYNQMP_PM_CFG |
| string "PMU configuration location" |
| depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG |
| help |
| Location of a PMU configuration file. |
| |
| If not empty, Buildroot will convert the PMU configuration |
| file into a loadable blob and pass it to U-Boot. The blob gets |
| embedded into the U-Boot SPL and is used to configure the PMU |
| during board initialization. |
| |
| Unlike the PMU firmware, the PMU configuration file is unique |
| to each board configuration. A PMU configuration file can be |
| generated by building your Xilinx SDK BSP. It can be found in |
| the BSP source, for example at |
| ./psu_cortexa53_0/libsrc/xilpm_v2_4/src/pm_cfg_obj.c |
| |
| Leave this option empty if your PMU firmware has a hard-coded |
| configuration object or you are loading it by any other means. |
| |
| This feature requires U-Boot >= v2019.10. |
| |
| config BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE |
| string "Custom psu_init_gpl file" |
| depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG |
| help |
| On ZynqMP the booloader is responsible for some basic |
| initializations, such as enabling peripherals and |
| configuring pinmuxes. The psu_init_gpl.c file (and, |
| optionally, psu_init_gpl.h) contains the code for such |
| initializations. |
| |
| Although U-Boot contains psu_init_gpl.c files for some |
| boards, each of them describes only one specific |
| configuration. Users of a different board, or needing a |
| different configuration, can generate custom files using the |
| Xilinx development tools. |
| |
| Set this variable to the path to your psu_init_gpl.c file |
| (e.g. "board/myboard/psu_init_gpl.c"). psu_init_gpl.h, if |
| needed, should be in the same directory. U-Boot will build |
| and link the user-provided file instead of the built-in one. |
| |
| Leave empty to use the files provided by U-Boot. |
| |
| This feature requires commit |
| 6da4f67ad09cd8b311d77b2b04e557b7ef65b56c from upstream |
| U-Boot, available from versions after 2018.07. |
| |
| endif |
| |
| config BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC |
| bool "CRC image for Altera SoC FPGA (mkpimage)" |
| depends on BR2_arm |
| depends on BR2_TARGET_UBOOT_SPL || BR2_TARGET_UBOOT_FORMAT_DTB_BIN |
| help |
| Pass the U-Boot image through the mkpimage tool to enable |
| booting on the Altera SoC FPGA based platforms. |
| |
| On some platforms, it's the SPL that needs to be passed |
| through mkpimage. On some other platforms there is no SPL |
| because the internal SRAM is big enough to store the full |
| U-Boot. In this case, it's directly the full U-Boot image |
| that is passed through mkpimage. |
| |
| If BR2_TARGET_UBOOT_SPL is enabled then |
| BR2_TARGET_UBOOT_SPL_NAME is converted by mkpimage using |
| header version 0. |
| |
| Otherwise the full u-boot-dtb.bin is converted using |
| mkpimage header version 1. |
| |
| In either case the resulting file will be given a .crc |
| extension. |
| |
| if BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG |
| |
| config BR2_TARGET_UBOOT_CUSTOM_DTS_PATH |
| string "Device Tree Source file paths" |
| help |
| Space-separated list of paths to device tree source files |
| that will be copied to arch/ARCH/dts/ before starting the |
| build. |
| |
| To use this device tree source file, the U-Boot configuration |
| file must refer to it. |
| |
| endif |
| |
| config BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS |
| string "Custom make options" |
| help |
| List of custom make options passed at build time. Can be |
| used for example to pass a DEVICE_TREE= value. |
| |
| endif # BR2_TARGET_UBOOT |