hc
2023-11-22 f743a7adbd6e230d66a6206fa115b59fec2d88eb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
config BR2_TARGET_UBOOT
   bool "U-Boot"
   help
     Build "Das U-Boot" Boot Monitor
 
if BR2_TARGET_UBOOT
choice
   prompt "Build system"
   default BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
 
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.
 
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.
 
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 "2018.01"
 
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"
   default BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL \
       if BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL != ""  # legacy
 
config BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION
   string "Custom repository version"
   default BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION \
       if BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION != ""  # legacy
   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 "2018.01"    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_PYLIBFDT
   bool "U-Boot needs pylibfdt"
   help
     Select this option if your U-Boot board configuration
     requires the Python libfdt library to be available.
 
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_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.
 
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_DTB_IMG
   bool "u-boot-dtb.img"
 
config BR2_TARGET_UBOOT_FORMAT_IMG
   bool "u-boot.img"
 
config BR2_TARGET_UBOOT_FORMAT_IMX
   bool "u-boot.imx"
 
config BR2_TARGET_UBOOT_FORMAT_NAND_BIN
   bool "u-boot-nand.bin"
 
config BR2_TARGET_UBOOT_FORMAT_KWB
   depends on BR2_arm
   bool "u-boot.kwb (Marvell)"
 
config BR2_TARGET_UBOOT_FORMAT_LDR
   depends on BR2_bfin
   bool "u-boot.ldr"
 
config BR2_TARGET_UBOOT_FORMAT_ELF
   bool "u-boot.elf"
 
config BR2_TARGET_UBOOT_FORMAT_SB
   depends on BR2_arm
   bool "u-boot.sb (Freescale i.MX28)"
 
config BR2_TARGET_UBOOT_FORMAT_SD
   depends on BR2_arm
   bool "u-boot.sd (Freescale i.MX28)"
   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_NAND
   depends on BR2_arm
   bool "u-boot.nand (Freescale i.MX28)"
   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_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
   depends on BR2_TARGET_UBOOT_FORMAT_BIN
   depends on BR2_arm || BR2_armeb
   select BR2_PACKAGE_HOST_OMAP_U_BOOT_UTILS
   bool "produce a .ift signed image (OMAP)"
   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_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.
 
menuconfig BR2_TARGET_UBOOT_ENVIMAGE
   bool "Environment image"
   help
     Generate a valid binary environment image from a text file
     describing the key=value pairs of the environment.
 
     The environment image will be called uboot-env.bin.
 
if BR2_TARGET_UBOOT_ENVIMAGE
 
config BR2_TARGET_UBOOT_ENVIMAGE_SOURCE
   string "Source files for environment"
   help
     Text files describing the environment. Files should have
     lines of the form var=value, one per line. Blank lines and
     lines starting with a # are ignored.
 
     Multiple source files are concatenated in the order listed.
 
config BR2_TARGET_UBOOT_ENVIMAGE_SIZE
   string "Size of environment"
   help
     Size of envronment, can be prefixed with 0x for hexadecimal
     values.
 
config BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT
   bool "Environment has two copies"
   help
     Some platforms define in their U-Boot configuration that the
     U-Boot environment should be duplicated in two locations (for
     extra safety). Check your U-Boot configuration for the
     CONFIG_ENV_ADDR_REDUND and CONFIG_ENV_SIZE_REDUND settings to
     see if this is the case for your platform.
 
     If it is the case, then you should enable this option to
     ensure that the U-Boot environment image generated by
     Buildroot is compatible with the "redundant environment"
     mechanism of U-Boot.
 
endif # BR2_TARGET_UBOOT_ENVIMAGE
 
config BR2_TARGET_UBOOT_BOOT_SCRIPT
   bool "Generate a U-Boot boot script"
   help
     Generate a U-Boot boot script, given a file listing U-Boot
     commands to be executed at boot time. The generated boot
     script will be called 'boot.scr'.
 
if BR2_TARGET_UBOOT_BOOT_SCRIPT
 
config BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE
   string "U-Boot boot script source"
   help
     Source file to generate the U-Boot boot script.
 
endif
 
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
 
endif # BR2_TARGET_UBOOT