Blame view

common/Kconfig 16 KB
ee2b24340   Simon Glass   Kconfig: Move CON...
1
2
3
4
5
6
7
8
9
10
11
  menu "Boot timing"
  
  config BOOTSTAGE
  	bool "Boot timing and reporting"
  	help
  	  Enable recording of boot time while booting. To use it, insert
  	  calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
  	  bootstage.h. Only a single entry is recorded for each ID. You can
  	  give the entry a name with bootstage_mark_name(). You can also
  	  record elapsed time in a particular stage using bootstage_start()
  	  before starting and bootstage_accum() when finished. Bootstage will
57247d9cb   Robert P. J. Day   common/Kconfig: F...
12
  	  add up all the accumulated time and report it.
ee2b24340   Simon Glass   Kconfig: Move CON...
13
14
  
  	  Normally, IDs are defined in bootstage.h but a small number of
57247d9cb   Robert P. J. Day   common/Kconfig: F...
15
  	  additional 'user' IDs can be used by passing BOOTSTAGE_ID_ALLOC
ee2b24340   Simon Glass   Kconfig: Move CON...
16
  	  as the ID.
57247d9cb   Robert P. J. Day   common/Kconfig: F...
17
  	  Calls to show_boot_progress() will also result in log entries but
ee2b24340   Simon Glass   Kconfig: Move CON...
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
  	  these will not have names.
  
  config BOOTSTAGE_REPORT
  	bool "Display a detailed boot timing report before booting the OS"
  	depends on BOOTSTAGE
  	help
  	  Enable output of a boot time report just before the OS is booted.
  	  This shows how long it took U-Boot to go through each stage of the
  	  boot process. The report looks something like this:
  
  		Timer summary in microseconds:
  		       Mark    Elapsed  Stage
  			  0          0  reset
  		  3,575,678  3,575,678  board_init_f start
  		  3,575,695         17  arch_cpu_init A9
  		  3,575,777         82  arch_cpu_init done
  		  3,659,598     83,821  board_init_r start
  		  3,910,375    250,777  main_loop
  		 29,916,167 26,005,792  bootm_start
  		 30,361,327    445,160  start_kernel
  
  config BOOTSTAGE_USER_COUNT
  	hex "Number of boot ID numbers available for user use"
  	default 20
  	help
  	  This is the number of available user bootstage records.
  	  Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
  	  a new ID will be allocated from this stash. If you exceed
  	  the limit, recording will stop.
ee2b24340   Simon Glass   Kconfig: Move CON...
47
48
49
50
51
52
53
  config BOOTSTAGE_FDT
  	bool "Store boot timing information in the OS device tree"
  	depends on BOOTSTAGE
  	help
  	  Stash the bootstage information in the FDT. A root 'bootstage'
  	  node is created with each bootstage id as a child. Each child
  	  has a 'name' property and either 'mark' containing the
57247d9cb   Robert P. J. Day   common/Kconfig: F...
54
  	  mark time in microseconds, or 'accum' containing the
ee2b24340   Simon Glass   Kconfig: Move CON...
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
  	  accumulated time for that bootstage id in microseconds.
  	  For example:
  
  		bootstage {
  			154 {
  				name = "board_init_f";
  				mark = <3575678>;
  			};
  			170 {
  				name = "lcd";
  				accum = <33482>;
  			};
  		};
  
  	  Code in the Linux kernel can find this in /proc/devicetree.
  
  config BOOTSTAGE_STASH
  	bool "Stash the boot timing information in memory before booting OS"
  	depends on BOOTSTAGE
  	help
  	  Some OSes do not support device tree. Bootstage can instead write
  	  the boot timing information in a binary format at a given address.
  	  This happens through a call to bootstage_stash(), typically in
  	  the CPU's cleanup_before_linux() function. You can use the
  	  'bootstage stash' and 'bootstage unstash' commands to do this on
  	  the command line.
  
  config BOOTSTAGE_STASH_ADDR
  	hex "Address to stash boot timing information"
  	default 0
  	help
  	  Provide an address which will not be overwritten by the OS when it
  	  starts, so that it can read this information when ready.
  
  config BOOTSTAGE_STASH_SIZE
  	hex "Size of boot timing stash region"
fad6a2b77   Nobuhiro Iwamatsu   common, kconfig: ...
91
  	default 0x1000
ee2b24340   Simon Glass   Kconfig: Move CON...
92
93
94
95
96
  	help
  	  This should be large enough to hold the bootstage stash. A value of
  	  4096 (4KiB) is normally plenty.
  
  endmenu
d14739ffe   Peng Fan   Kconfig: make NOR...
97
98
99
100
101
102
103
104
105
106
  menu "Boot media"
  
  config NOR_BOOT
  	bool "Support for booting from NOR flash"
  	depends on NOR
  	help
  	  Enabling this will make a U-Boot binary that is capable of being
  	  booted via NOR.  In this case we will enable certain pinmux early
  	  as the ROM only partially sets up pinmux.  We also default to using
  	  NOR for environment.
faaef73f7   Peng Fan   common: add new b...
107
108
109
110
111
112
  config NAND_BOOT
  	bool "Support for booting from NAND flash"
  	default n
  	help
  	  Enabling this will make a U-Boot binary that is capable of being
  	  booted via NAND flash. This is not a must, some SoCs need this,
57247d9cb   Robert P. J. Day   common/Kconfig: F...
113
  	  some not.
faaef73f7   Peng Fan   common: add new b...
114
115
116
117
118
119
120
  
  config ONENAND_BOOT
  	bool "Support for booting from ONENAND"
  	default n
  	help
  	  Enabling this will make a U-Boot binary that is capable of being
  	  booted via ONENAND. This is not a must, some SoCs need this,
57247d9cb   Robert P. J. Day   common/Kconfig: F...
121
  	  some not.
faaef73f7   Peng Fan   common: add new b...
122
123
124
125
126
127
128
  
  config QSPI_BOOT
  	bool "Support for booting from QSPI flash"
  	default n
  	help
  	  Enabling this will make a U-Boot binary that is capable of being
  	  booted via QSPI flash. This is not a must, some SoCs need this,
57247d9cb   Robert P. J. Day   common/Kconfig: F...
129
  	  some not.
faaef73f7   Peng Fan   common: add new b...
130
131
132
133
134
135
136
  
  config SATA_BOOT
  	bool "Support for booting from SATA"
  	default n
  	help
  	  Enabling this will make a U-Boot binary that is capable of being
  	  booted via SATA. This is not a must, some SoCs need this,
57247d9cb   Robert P. J. Day   common/Kconfig: F...
137
  	  some not.
faaef73f7   Peng Fan   common: add new b...
138
139
140
141
142
143
144
  
  config SD_BOOT
  	bool "Support for booting from SD/EMMC"
  	default n
  	help
  	  Enabling this will make a U-Boot binary that is capable of being
  	  booted via SD/EMMC. This is not a must, some SoCs need this,
57247d9cb   Robert P. J. Day   common/Kconfig: F...
145
  	  some not.
faaef73f7   Peng Fan   common: add new b...
146
147
148
149
150
151
152
  
  config SPI_BOOT
  	bool "Support for booting from SPI flash"
  	default n
  	help
  	  Enabling this will make a U-Boot binary that is capable of being
  	  booted via SPI flash. This is not a must, some SoCs need this,
57247d9cb   Robert P. J. Day   common/Kconfig: F...
153
  	  some not.
faaef73f7   Peng Fan   common: add new b...
154

d14739ffe   Peng Fan   Kconfig: make NOR...
155
  endmenu
fb1c43cc3   Maxime Ripard   common: Move envi...
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
  menu "Environment"
  
  if ARCH_SUNXI
  
  choice
  	prompt "Environment Device"
  	default ENV_IS_IN_MMC if ARCH_SUNXI
  
  config ENV_IS_IN_MMC
  	bool "Environment in an MMC device"
  	depends on CMD_MMC
  	help
  	  Define this if you have an MMC device which you want to use for the
  	  environment.
  
  config ENV_IS_IN_NAND
  	bool "Environment in a NAND device"
  	depends on CMD_NAND
  	help
  	  Define this if you have a NAND device which you want to use for the
  	  environment.
  
  config ENV_IS_IN_UBI
  	bool "Environment in a UBI volume"
  	depends on CMD_UBI
  	depends on CMD_MTDPARTS
  	help
  	  Define this if you have a UBI volume which you want to use for the
  	  environment.
  
  config ENV_IS_NOWHERE
  	bool "Environment is not stored"
  	help
  	  Define this if you don't want to or can't have an environment stored
  	  on a storage medium
  
  endchoice
  
  config ENV_OFFSET
  	hex "Environment Offset"
  	depends on !ENV_IS_IN_UBI
  	depends on !ENV_IS_NOWHERE
  	default 0x88000 if ARCH_SUNXI
  	help
  	  Offset from the start of the device (or partition)
  
  config ENV_SIZE
  	hex "Environment Size"
  	depends on !ENV_IS_NOWHERE
  	default 0x20000 if ARCH_SUNXI
  	help
  	  Size of the environment storage area
  
  config ENV_UBI_PART
  	string "UBI partition name"
  	depends on ENV_IS_IN_UBI
  	help
  	  MTD partition containing the UBI device
  
  config ENV_UBI_VOLUME
  	string "UBI volume name"
  	depends on ENV_IS_IN_UBI
  	help
  	  Name of the volume that you want to store the environment in.
  
  endif
  
  endmenu
bb597c0ee   Heiko Schocher   common: bootdelay...
224
225
  config BOOTDELAY
  	int "delay in seconds before automatically booting"
5e4e87418   Tom Rini   common/Kconfig: C...
226
  	default 2
41598c825   Masahiro Yamada   autoboot: add CON...
227
  	depends on AUTOBOOT
bb597c0ee   Heiko Schocher   common: bootdelay...
228
229
  	help
  	  Delay before automatically running bootcmd;
2fbb8462b   Masahiro Yamada   autoboot: remove ...
230
  	  set to 0 to autoboot with no delay, but you can stop it by key input.
bb597c0ee   Heiko Schocher   common: bootdelay...
231
232
  	  set to -1 to disable autoboot.
  	  set to -2 to autoboot with no delay and not check for abort
bb597c0ee   Heiko Schocher   common: bootdelay...
233

9060970f4   Masahiro Yamada   doc: bootdelay: d...
234
  	  See doc/README.autoboot for details.
98af87997   Simon Glass   Convert SILENT_CO...
235
  menu "Console"
4880b026e   Tom Rini   cmd: Convert CMD_...
236
237
238
239
240
  config MENU
  	bool
  	help
  	  This is the library functionality to provide a text-based menu of
  	  choices for the user to make choices with.
9854a8748   Simon Glass   console: Add a co...
241
242
243
244
  config CONSOLE_RECORD
  	bool "Console recording"
  	help
  	  This provides a way to record console output (and provide console
57247d9cb   Robert P. J. Day   common/Kconfig: F...
245
  	  input) through circular buffers. This is mostly useful for testing.
9854a8748   Simon Glass   console: Add a co...
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
  	  Console output is recorded even when the console is silent.
  	  To enable console recording, call console_record_reset_enable()
  	  from your code.
  
  config CONSOLE_RECORD_OUT_SIZE
  	hex "Output buffer size"
  	depends on CONSOLE_RECORD
  	default 0x400 if CONSOLE_RECORD
  	help
  	  Set the size of the console output buffer. When this fills up, no
  	  more data will be recorded until some is removed. The buffer is
  	  allocated immediately after the malloc() region is ready.
  
  config CONSOLE_RECORD_IN_SIZE
  	hex "Input buffer size"
  	depends on CONSOLE_RECORD
  	default 0x100 if CONSOLE_RECORD
  	help
  	  Set the size of the console input buffer. When this contains data,
  	  tstc() and getc() will use this in preference to real device input.
  	  The buffer is allocated immediately after the malloc() region is
  	  ready.
4d25507f3   Siva Durga Prasad Paladugu   Kconfig: Move opt...
268

a4d88920e   Siva Durga Prasad Paladugu   Kconfig: Move con...
269
270
271
272
  config IDENT_STRING
  	string "Board specific string to be added to uboot version string"
  	help
  	  This options adds the board specific name to u-boot version.
98af87997   Simon Glass   Convert SILENT_CO...
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
  config SILENT_CONSOLE
  	bool "Support a silent console"
  	help
  	  This option allows the console to be silenced, meaning that no
  	  output will appear on the console devices. This is controlled by
  	  setting the environment vaariable 'silent' to a non-empty value.
  	  Note this also silences the console when booting Linux.
  
  	  When the console is set up, the variable is checked, and the
  	  GD_FLG_SILENT flag is set. Changing the environment variable later
  	  will update the flag.
  
  config SILENT_U_BOOT_ONLY
  	bool "Only silence the U-Boot console"
  	depends on SILENT_CONSOLE
  	help
  	  Normally when the U-Boot console is silenced, Linux's console is
  	  also silenced (assuming the board boots into Linux). This option
  	  allows the linux console to operate normally, even if U-Boot's
  	  is silenced.
  
  config SILENT_CONSOLE_UPDATE_ON_SET
  	bool "Changes to the 'silent' environment variable update immediately"
  	depends on SILENT_CONSOLE
  	default y if SILENT_CONSOLE
  	help
  	  When the 'silent' environment variable is changed, update the
  	  console silence flag immediately. This allows 'setenv' to be used
  	  to silence or un-silence the console.
  
  	  The effect is that any change to the variable will affect the
  	  GD_FLG_SILENT flag.
  
  config SILENT_CONSOLE_UPDATE_ON_RELOC
  	bool "Allow flags to take effect on relocation"
  	depends on SILENT_CONSOLE
  	help
  	  In some cases the environment is not available until relocation
  	  (e.g. NAND). This option makes the value of the 'silent'
  	  environment variable take effect at relocation.
8f9255841   Simon Glass   Convert CONSOLE_P...
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
  config PRE_CONSOLE_BUFFER
  	bool "Buffer characters before the console is available"
  	help
  	  Prior to the console being initialised (i.e. serial UART
  	  initialised etc) all console output is silently discarded.
  	  Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to
  	  buffer any console messages prior to the console being
  	  initialised to a buffer. The buffer is a circular buffer, so
  	  if it overflows, earlier output is discarded.
  
  	  Note that this is not currently supported in SPL. It would be
  	  useful to be able to share the pre-console buffer with SPL.
  
  config PRE_CON_BUF_SZ
  	int "Sets the size of the pre-console buffer"
  	depends on PRE_CONSOLE_BUFFER
  	default 4096
  	help
  	  The size of the pre-console buffer affects how much console output
  	  can be held before it overflows and starts discarding earlier
  	  output. Normally there is very little output at this early stage,
  	  unless debugging is enabled, so allow enough for ~10 lines of
  	  text.
  
  	  This is a useful feature if you are using a video console and
  	  want to see the full boot output on the console. Without this
  	  option only the post-relocation output will be displayed.
  
  config PRE_CON_BUF_ADDR
  	hex "Address of the pre-console buffer"
  	depends on PRE_CONSOLE_BUFFER
  	default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I
  	default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I
  	help
  	  This sets the start address of the pre-console buffer. This must
  	  be in available memory and is accessed before relocation and
  	  possibly before DRAM is set up. Therefore choose an address
  	  carefully.
  
  	  We should consider removing this option and allocating the memory
  	  in board_init_f_init_reserve() instead.
ef26d6039   Simon Glass   Convert CONFIG_SY...
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
  config CONSOLE_MUX
  	bool "Enable console multiplexing"
  	default y if DM_VIDEO || VIDEO || LCD
  	help
  	  This allows multiple devices to be used for each console 'file'.
  	  For example, stdout can be set to go to serial and video.
  	  Similarly, stdin can be set to come from serial and keyboard.
  	  Input can be provided from either source. Console multiplexing
  	  adds a small amount of size to U-Boot.  Changes to the environment
  	  variables stdout, stdin and stderr will take effect immediately.
  
  config SYS_CONSOLE_IS_IN_ENV
  	bool "Select console devices from the environment"
  	default y if CONSOLE_MUX
  	help
  	  This allows multiple input/output devices to be set at boot time.
  	  For example, if stdout is set to "serial,video" then output will
  	  be sent to both the serial and video devices on boot. The
  	  environment variables can be updated after boot to change the
  	  input/output devices.
84f2a5d0a   Simon Glass   Convert CONFIG_SY...
374
375
376
377
378
379
380
381
  config SYS_CONSOLE_OVERWRITE_ROUTINE
  	bool "Allow board control over console overwriting"
  	help
  	  If this is enabled, and the board-specific function
  	  overwrite_console() returns 1, the stdin, stderr and stdout are
  	  switched to the serial port, else the settings in the environment
  	  are used. If this is not enabled, the console will not be switched
  	  to serial.
3505bc556   Simon Glass   Convert CONFIG_SY...
382
383
384
385
386
387
388
389
  config SYS_CONSOLE_ENV_OVERWRITE
  	bool "Update environment variables during console init"
  	help
  	  The console environment variables (stdout, stdin, stderr) can be
  	  used to determine the correct console devices on start-up. This
  	  option writes the console devices to these variables on console
  	  start-up (after relocation). This causes the environment to be
  	  updated to match the console devices actually chosen.
f3f3efff9   Simon Glass   Convert CONFIG_SY...
390
391
392
393
394
395
396
  config SYS_CONSOLE_INFO_QUIET
  	bool "Don't display the console devices on boot"
  	help
  	  Normally U-Boot displays the current settings for stdout, stdin
  	  and stderr on boot when the post-relocation console is set up.
  	  Enable this option to supress this output. It can be obtained by
  	  calling stdio_print_current_devices() from board code.
869588dec   Simon Glass   Convert CONFIG_SY...
397
398
399
400
401
402
403
404
  config SYS_STDIO_DEREGISTER
  	bool "Allow deregistering stdio devices"
  	default y if USB_KEYBOARD
  	help
  	  Generally there is no need to deregister stdio devices since they
  	  are never deactivated. But if a stdio device is used which can be
  	  removed (for example a USB keyboard) then this option can be
  	  enabled to ensure this is handled correctly.
98af87997   Simon Glass   Convert SILENT_CO...
405
  endmenu
d259c0084   Jagan Teki   config: Move CONF...
406
407
408
409
  config DEFAULT_FDT_FILE
  	string "Default fdt file"
  	help
  	  This option is used to set the default fdt file to boot OS.
9dd1d0aa4   Heiko Schocher   common, kconfig: ...
410
411
412
413
414
415
416
417
418
  config VERSION_VARIABLE
  	bool "add U-Boot environment variable vers"
  	default n
  	help
  	  If this variable is defined, an environment variable
  	  named "ver" is created by U-Boot showing the U-Boot
  	  version as printed by the "version" command.
  	  Any change to this variable will be reverted at the
  	  next reset.
c2ae7d822   Simon Glass   Kconfig: Move SPL...
419

de70fefb1   Jagan Teki   common: Kconfig: ...
420
  config BOARD_LATE_INIT
e5ec48152   Tom Rini   Kconfig: Migrate ...
421
  	bool
de70fefb1   Jagan Teki   common: Kconfig: ...
422
423
424
425
426
427
428
  	help
  	  Sometimes board require some initialization code that might
  	  require once the actual init done, example saving board specific env,
  	  boot-modes etc. which eventually done at late.
  
  	  So this config enable the late init code with the help of board_late_init
  	  function which should defined on respective boards.
19a974753   Lokesh Vutla   common/Kconfig: A...
429
430
  config DISPLAY_CPUINFO
  	bool "Display information about the CPU during start up"
ea3310e8a   Tom Rini   Blackfin: Remove
431
  	default y if ARM || NIOS2 || X86 || XTENSA || MPC5xxx
19a974753   Lokesh Vutla   common/Kconfig: A...
432
433
434
435
  	help
  	  Display information about the CPU that U-Boot is running on
  	  when U-Boot starts up. The function print_cpuinfo() is called
  	  to do this.
843517927   Lokesh Vutla   common: Add DISPL...
436
437
  config DISPLAY_BOARDINFO
  	bool "Display information about the board during start up"
936478e79   Tom Rini   SPARC: Remove
438
  	default y if ARM || M68K || MIPS || PPC || XTENSA
843517927   Lokesh Vutla   common: Add DISPL...
439
440
441
442
  	help
  	  Display information about the board that U-Boot is running on
  	  when U-Boot starts up. The board function checkboard() is called
  	  to do this.
a421192fb   Simon Glass   Convert CONFIG_AR...
443
444
445
446
447
448
449
450
451
452
  menu "Start-up hooks"
  
  config ARCH_EARLY_INIT_R
  	bool "Call arch-specific init soon after relocation"
  	default y if X86
  	help
  	  With this option U-Boot will call arch_early_init_r() soon after
  	  relocation. Driver model is running by this point, and the cache
  	  is on. Note that board_early_init_r() is called first, if
  	  enabled. This can be used to set up architecture-specific devices.
4585601ae   Simon Glass   Convert CONFIG_AR...
453
454
455
456
457
458
459
  config ARCH_MISC_INIT
  	bool "Call arch-specific init after relocation, when console is ready"
  	help
  	  With this option U-Boot will call arch_misc_init() after
  	  relocation to allow miscellaneous arch-dependent initialisation
  	  to be performed. This function should be defined by the board
  	  and will be called after the console is set up, after relocaiton.
a5d67547d   Simon Glass   Convert CONFIG_BO...
460
461
462
463
464
465
466
467
468
  config BOARD_EARLY_INIT_F
  	bool "Call board-specific init before relocation"
  	default y if X86
  	help
  	  Some boards need to perform initialisation as soon as possible
  	  after boot. With this option, U-Boot calls board_early_init_f()
  	  after driver model is ready in the pre-relocation init sequence.
  	  Note that the normal serial console is not yet set up, but the
  	  debug UART will be available if enabled.
a421192fb   Simon Glass   Convert CONFIG_AR...
469
  endmenu
c2ae7d822   Simon Glass   Kconfig: Move SPL...
470
  source "common/spl/Kconfig"