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