xref: /OK3568_Linux_fs/buildroot/boot/uboot/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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