xref: /openbmc/u-boot/common/Kconfig (revision 8ccf98b1cfd2811e3121c719e294bdd8ebab1c45)
1ee2b2434SSimon Glassmenu "Boot timing"
2ee2b2434SSimon Glass
3ee2b2434SSimon Glassconfig BOOTSTAGE
4ee2b2434SSimon Glass	bool "Boot timing and reporting"
5ee2b2434SSimon Glass	help
6ee2b2434SSimon Glass	  Enable recording of boot time while booting. To use it, insert
7ee2b2434SSimon Glass	  calls to bootstage_mark() with a suitable BOOTSTAGE_ID from
8ee2b2434SSimon Glass	  bootstage.h. Only a single entry is recorded for each ID. You can
9ee2b2434SSimon Glass	  give the entry a name with bootstage_mark_name(). You can also
10ee2b2434SSimon Glass	  record elapsed time in a particular stage using bootstage_start()
11ee2b2434SSimon Glass	  before starting and bootstage_accum() when finished. Bootstage will
1257247d9cSRobert P. J. Day	  add up all the accumulated time and report it.
13ee2b2434SSimon Glass
14ee2b2434SSimon Glass	  Normally, IDs are defined in bootstage.h but a small number of
1557247d9cSRobert P. J. Day	  additional 'user' IDs can be used by passing BOOTSTAGE_ID_ALLOC
16ee2b2434SSimon Glass	  as the ID.
17ee2b2434SSimon Glass
1857247d9cSRobert P. J. Day	  Calls to show_boot_progress() will also result in log entries but
19ee2b2434SSimon Glass	  these will not have names.
20ee2b2434SSimon Glass
21824bb1b4SSimon Glassconfig SPL_BOOTSTAGE
22824bb1b4SSimon Glass	bool "Boot timing and reported in SPL"
23824bb1b4SSimon Glass	depends on BOOTSTAGE
24824bb1b4SSimon Glass	help
25824bb1b4SSimon Glass	  Enable recording of boot time in SPL. To make this visible to U-Boot
26824bb1b4SSimon Glass	  proper, enable BOOTSTAGE_STASH as well. This will stash the timing
27824bb1b4SSimon Glass	  information when SPL finishes and load it when U-Boot proper starts
28824bb1b4SSimon Glass	  up.
29824bb1b4SSimon Glass
30ee2b2434SSimon Glassconfig BOOTSTAGE_REPORT
31ee2b2434SSimon Glass	bool "Display a detailed boot timing report before booting the OS"
32ee2b2434SSimon Glass	depends on BOOTSTAGE
33ee2b2434SSimon Glass	help
34ee2b2434SSimon Glass	  Enable output of a boot time report just before the OS is booted.
35ee2b2434SSimon Glass	  This shows how long it took U-Boot to go through each stage of the
36ee2b2434SSimon Glass	  boot process. The report looks something like this:
37ee2b2434SSimon Glass
38ee2b2434SSimon Glass		Timer summary in microseconds:
39ee2b2434SSimon Glass		       Mark    Elapsed  Stage
40ee2b2434SSimon Glass			  0          0  reset
41ee2b2434SSimon Glass		  3,575,678  3,575,678  board_init_f start
42ee2b2434SSimon Glass		  3,575,695         17  arch_cpu_init A9
43ee2b2434SSimon Glass		  3,575,777         82  arch_cpu_init done
44ee2b2434SSimon Glass		  3,659,598     83,821  board_init_r start
45ee2b2434SSimon Glass		  3,910,375    250,777  main_loop
46ee2b2434SSimon Glass		 29,916,167 26,005,792  bootm_start
47ee2b2434SSimon Glass		 30,361,327    445,160  start_kernel
48ee2b2434SSimon Glass
4903ecac31SSimon Glassconfig BOOTSTAGE_RECORD_COUNT
5003ecac31SSimon Glass	int "Number of boot stage records to store"
5103ecac31SSimon Glass	default 30
5203ecac31SSimon Glass	help
5303ecac31SSimon Glass	  This is the size of the bootstage record list and is the maximum
5403ecac31SSimon Glass	  number of bootstage records that can be recorded.
5503ecac31SSimon Glass
56d69bb0ecSSimon Glassconfig SPL_BOOTSTAGE_RECORD_COUNT
57d69bb0ecSSimon Glass	int "Number of boot stage records to store for SPL"
58d69bb0ecSSimon Glass	default 5
59d69bb0ecSSimon Glass	help
60d69bb0ecSSimon Glass	  This is the size of the bootstage record list and is the maximum
61d69bb0ecSSimon Glass	  number of bootstage records that can be recorded.
62d69bb0ecSSimon Glass
63ee2b2434SSimon Glassconfig BOOTSTAGE_FDT
64ee2b2434SSimon Glass	bool "Store boot timing information in the OS device tree"
65ee2b2434SSimon Glass	depends on BOOTSTAGE
66ee2b2434SSimon Glass	help
67ee2b2434SSimon Glass	  Stash the bootstage information in the FDT. A root 'bootstage'
68ee2b2434SSimon Glass	  node is created with each bootstage id as a child. Each child
69ee2b2434SSimon Glass	  has a 'name' property and either 'mark' containing the
7057247d9cSRobert P. J. Day	  mark time in microseconds, or 'accum' containing the
71ee2b2434SSimon Glass	  accumulated time for that bootstage id in microseconds.
72ee2b2434SSimon Glass	  For example:
73ee2b2434SSimon Glass
74ee2b2434SSimon Glass		bootstage {
75ee2b2434SSimon Glass			154 {
76ee2b2434SSimon Glass				name = "board_init_f";
77ee2b2434SSimon Glass				mark = <3575678>;
78ee2b2434SSimon Glass			};
79ee2b2434SSimon Glass			170 {
80ee2b2434SSimon Glass				name = "lcd";
81ee2b2434SSimon Glass				accum = <33482>;
82ee2b2434SSimon Glass			};
83ee2b2434SSimon Glass		};
84ee2b2434SSimon Glass
85ee2b2434SSimon Glass	  Code in the Linux kernel can find this in /proc/devicetree.
86ee2b2434SSimon Glass
87ee2b2434SSimon Glassconfig BOOTSTAGE_STASH
88ee2b2434SSimon Glass	bool "Stash the boot timing information in memory before booting OS"
89ee2b2434SSimon Glass	depends on BOOTSTAGE
90ee2b2434SSimon Glass	help
91ee2b2434SSimon Glass	  Some OSes do not support device tree. Bootstage can instead write
92ee2b2434SSimon Glass	  the boot timing information in a binary format at a given address.
93ee2b2434SSimon Glass	  This happens through a call to bootstage_stash(), typically in
94ee2b2434SSimon Glass	  the CPU's cleanup_before_linux() function. You can use the
95ee2b2434SSimon Glass	  'bootstage stash' and 'bootstage unstash' commands to do this on
96ee2b2434SSimon Glass	  the command line.
97ee2b2434SSimon Glass
98ee2b2434SSimon Glassconfig BOOTSTAGE_STASH_ADDR
99ee2b2434SSimon Glass	hex "Address to stash boot timing information"
100ee2b2434SSimon Glass	default 0
101ee2b2434SSimon Glass	help
102ee2b2434SSimon Glass	  Provide an address which will not be overwritten by the OS when it
103ee2b2434SSimon Glass	  starts, so that it can read this information when ready.
104ee2b2434SSimon Glass
105ee2b2434SSimon Glassconfig BOOTSTAGE_STASH_SIZE
106ee2b2434SSimon Glass	hex "Size of boot timing stash region"
107fad6a2b7SNobuhiro Iwamatsu	default 0x1000
108ee2b2434SSimon Glass	help
109ee2b2434SSimon Glass	  This should be large enough to hold the bootstage stash. A value of
110ee2b2434SSimon Glass	  4096 (4KiB) is normally plenty.
111ee2b2434SSimon Glass
112ee2b2434SSimon Glassendmenu
113ee2b2434SSimon Glass
114d14739ffSPeng Fanmenu "Boot media"
115d14739ffSPeng Fan
116d14739ffSPeng Fanconfig NOR_BOOT
117d14739ffSPeng Fan	bool "Support for booting from NOR flash"
118d14739ffSPeng Fan	depends on NOR
119d14739ffSPeng Fan	help
120d14739ffSPeng Fan	  Enabling this will make a U-Boot binary that is capable of being
121d14739ffSPeng Fan	  booted via NOR.  In this case we will enable certain pinmux early
122d14739ffSPeng Fan	  as the ROM only partially sets up pinmux.  We also default to using
123d14739ffSPeng Fan	  NOR for environment.
124d14739ffSPeng Fan
125faaef73fSPeng Fanconfig NAND_BOOT
126faaef73fSPeng Fan	bool "Support for booting from NAND flash"
127faaef73fSPeng Fan	default n
1289d04b5feSAdam Ford	imply NAND
129faaef73fSPeng Fan	help
130faaef73fSPeng Fan	  Enabling this will make a U-Boot binary that is capable of being
131faaef73fSPeng Fan	  booted via NAND flash. This is not a must, some SoCs need this,
13257247d9cSRobert P. J. Day	  some not.
133faaef73fSPeng Fan
134faaef73fSPeng Fanconfig ONENAND_BOOT
135faaef73fSPeng Fan	bool "Support for booting from ONENAND"
136faaef73fSPeng Fan	default n
1379d04b5feSAdam Ford	imply NAND
138faaef73fSPeng Fan	help
139faaef73fSPeng Fan	  Enabling this will make a U-Boot binary that is capable of being
140faaef73fSPeng Fan	  booted via ONENAND. This is not a must, some SoCs need this,
14157247d9cSRobert P. J. Day	  some not.
142faaef73fSPeng Fan
143faaef73fSPeng Fanconfig QSPI_BOOT
144faaef73fSPeng Fan	bool "Support for booting from QSPI flash"
145faaef73fSPeng Fan	default n
146faaef73fSPeng Fan	help
147faaef73fSPeng Fan	  Enabling this will make a U-Boot binary that is capable of being
148faaef73fSPeng Fan	  booted via QSPI flash. This is not a must, some SoCs need this,
14957247d9cSRobert P. J. Day	  some not.
150faaef73fSPeng Fan
151faaef73fSPeng Fanconfig SATA_BOOT
152faaef73fSPeng Fan	bool "Support for booting from SATA"
153faaef73fSPeng Fan	default n
154faaef73fSPeng Fan	help
155faaef73fSPeng Fan	  Enabling this will make a U-Boot binary that is capable of being
156faaef73fSPeng Fan	  booted via SATA. This is not a must, some SoCs need this,
15757247d9cSRobert P. J. Day	  some not.
158faaef73fSPeng Fan
159faaef73fSPeng Fanconfig SD_BOOT
160faaef73fSPeng Fan	bool "Support for booting from SD/EMMC"
161faaef73fSPeng Fan	default n
162faaef73fSPeng Fan	help
163faaef73fSPeng Fan	  Enabling this will make a U-Boot binary that is capable of being
164faaef73fSPeng Fan	  booted via SD/EMMC. This is not a must, some SoCs need this,
16557247d9cSRobert P. J. Day	  some not.
166faaef73fSPeng Fan
167faaef73fSPeng Fanconfig SPI_BOOT
168faaef73fSPeng Fan	bool "Support for booting from SPI flash"
169faaef73fSPeng Fan	default n
170faaef73fSPeng Fan	help
171faaef73fSPeng Fan	  Enabling this will make a U-Boot binary that is capable of being
172faaef73fSPeng Fan	  booted via SPI flash. This is not a must, some SoCs need this,
17357247d9cSRobert P. J. Day	  some not.
174faaef73fSPeng Fan
175d14739ffSPeng Fanendmenu
176d14739ffSPeng Fan
177bb597c0eSHeiko Schocherconfig BOOTDELAY
178bb597c0eSHeiko Schocher	int "delay in seconds before automatically booting"
1795e4e8741STom Rini	default 2
18041598c82SMasahiro Yamada	depends on AUTOBOOT
181bb597c0eSHeiko Schocher	help
182bb597c0eSHeiko Schocher	  Delay before automatically running bootcmd;
1832fbb8462SMasahiro Yamada	  set to 0 to autoboot with no delay, but you can stop it by key input.
184bb597c0eSHeiko Schocher	  set to -1 to disable autoboot.
185bb597c0eSHeiko Schocher	  set to -2 to autoboot with no delay and not check for abort
186bb597c0eSHeiko Schocher
187b27dc8ecSAlex Kiernan	  If this value is >= 0 then it is also used for the default delay
188b27dc8ecSAlex Kiernan	  before starting the default entry in bootmenu. If it is < 0 then
189b27dc8ecSAlex Kiernan	  a default value of 10s is used.
190b27dc8ecSAlex Kiernan
1919060970fSMasahiro Yamada	  See doc/README.autoboot for details.
1929060970fSMasahiro Yamada
1935abc1a45SSam Protsenkoconfig USE_BOOTARGS
1945abc1a45SSam Protsenko	bool "Enable boot arguments"
1955abc1a45SSam Protsenko	help
1965abc1a45SSam Protsenko	  Provide boot arguments to bootm command. Boot arguments are specified
1975abc1a45SSam Protsenko	  in CONFIG_BOOTARGS option. Enable this option to be able to specify
1985abc1a45SSam Protsenko	  CONFIG_BOOTARGS string. If this option is disabled, CONFIG_BOOTARGS
1995abc1a45SSam Protsenko	  will be undefined and won't take any space in U-Boot image.
2005abc1a45SSam Protsenko
2015abc1a45SSam Protsenkoconfig BOOTARGS
2025abc1a45SSam Protsenko	string "Boot arguments"
2035abc1a45SSam Protsenko	depends on USE_BOOTARGS
2045abc1a45SSam Protsenko	help
2055abc1a45SSam Protsenko	  This can be used to pass arguments to the bootm command. The value of
2065abc1a45SSam Protsenko	  CONFIG_BOOTARGS goes into the environment value "bootargs". Note that
2075abc1a45SSam Protsenko	  this value will also override the "chosen" node in FDT blob.
2085abc1a45SSam Protsenko
209b6251db8STom Riniconfig USE_BOOTCOMMAND
210b6251db8STom Rini	bool "Enable a default value for bootcmd"
211b6251db8STom Rini	help
212b6251db8STom Rini	  Provide a default value for the bootcmd entry in the environment.  If
213b6251db8STom Rini	  autoboot is enabled this is what will be run automatically.  Enable
214b6251db8STom Rini	  this option to be able to specify CONFIG_BOOTCOMMAND as a string.  If
215b6251db8STom Rini	  this option is disabled, CONFIG_BOOTCOMMAND will be undefined and
216b6251db8STom Rini	  won't take any space in U-Boot image.
217b6251db8STom Rini
218b6251db8STom Riniconfig BOOTCOMMAND
219b6251db8STom Rini	string "bootcmd value"
220b6251db8STom Rini	depends on USE_BOOTCOMMAND
221b6251db8STom Rini	default "run distro_bootcmd" if DISTRO_DEFAULTS
222b6251db8STom Rini	help
223b6251db8STom Rini	  This is the string of commands that will be used as bootcmd and if
224b6251db8STom Rini	  AUTOBOOT is set, automatically run.
225b6251db8STom Rini
22698af8799SSimon Glassmenu "Console"
22798af8799SSimon Glass
2284880b026STom Riniconfig MENU
2294880b026STom Rini	bool
2304880b026STom Rini	help
2314880b026STom Rini	  This is the library functionality to provide a text-based menu of
2324880b026STom Rini	  choices for the user to make choices with.
2334880b026STom Rini
2349854a874SSimon Glassconfig CONSOLE_RECORD
2359854a874SSimon Glass	bool "Console recording"
2369854a874SSimon Glass	help
2379854a874SSimon Glass	  This provides a way to record console output (and provide console
23857247d9cSRobert P. J. Day	  input) through circular buffers. This is mostly useful for testing.
2399854a874SSimon Glass	  Console output is recorded even when the console is silent.
2409854a874SSimon Glass	  To enable console recording, call console_record_reset_enable()
2419854a874SSimon Glass	  from your code.
2429854a874SSimon Glass
2439854a874SSimon Glassconfig CONSOLE_RECORD_OUT_SIZE
2449854a874SSimon Glass	hex "Output buffer size"
2459854a874SSimon Glass	depends on CONSOLE_RECORD
2469854a874SSimon Glass	default 0x400 if CONSOLE_RECORD
2479854a874SSimon Glass	help
2489854a874SSimon Glass	  Set the size of the console output buffer. When this fills up, no
2499854a874SSimon Glass	  more data will be recorded until some is removed. The buffer is
2509854a874SSimon Glass	  allocated immediately after the malloc() region is ready.
2519854a874SSimon Glass
2529854a874SSimon Glassconfig CONSOLE_RECORD_IN_SIZE
2539854a874SSimon Glass	hex "Input buffer size"
2549854a874SSimon Glass	depends on CONSOLE_RECORD
2559854a874SSimon Glass	default 0x100 if CONSOLE_RECORD
2569854a874SSimon Glass	help
2579854a874SSimon Glass	  Set the size of the console input buffer. When this contains data,
2589854a874SSimon Glass	  tstc() and getc() will use this in preference to real device input.
2599854a874SSimon Glass	  The buffer is allocated immediately after the malloc() region is
2609854a874SSimon Glass	  ready.
2614d25507fSSiva Durga Prasad Paladugu
262a4d88920SSiva Durga Prasad Paladuguconfig IDENT_STRING
263a4d88920SSiva Durga Prasad Paladugu	string "Board specific string to be added to uboot version string"
264a4d88920SSiva Durga Prasad Paladugu	help
265a4d88920SSiva Durga Prasad Paladugu	  This options adds the board specific name to u-boot version.
266a4d88920SSiva Durga Prasad Paladugu
267b44b3026SMasahiro Yamadaconfig LOGLEVEL
268b44b3026SMasahiro Yamada	int "loglevel"
2696a3e65deSTom Rini	default 4
270b44b3026SMasahiro Yamada	range 0 8
271b44b3026SMasahiro Yamada	help
272b44b3026SMasahiro Yamada	  All Messages with a loglevel smaller than the console loglevel will
273b44b3026SMasahiro Yamada	  be compiled in. The loglevels are defined as follows:
274b44b3026SMasahiro Yamada
275b44b3026SMasahiro Yamada	  0 (KERN_EMERG)          system is unusable
276b44b3026SMasahiro Yamada	  1 (KERN_ALERT)          action must be taken immediately
277b44b3026SMasahiro Yamada	  2 (KERN_CRIT)           critical conditions
278b44b3026SMasahiro Yamada	  3 (KERN_ERR)            error conditions
279b44b3026SMasahiro Yamada	  4 (KERN_WARNING)        warning conditions
280b44b3026SMasahiro Yamada	  5 (KERN_NOTICE)         normal but significant condition
281b44b3026SMasahiro Yamada	  6 (KERN_INFO)           informational
282b44b3026SMasahiro Yamada	  7 (KERN_DEBUG)          debug-level messages
283b44b3026SMasahiro Yamada
284b44b3026SMasahiro Yamadaconfig SPL_LOGLEVEL
285b44b3026SMasahiro Yamada	int
286b44b3026SMasahiro Yamada	default LOGLEVEL
287b44b3026SMasahiro Yamada
28898af8799SSimon Glassconfig SILENT_CONSOLE
28998af8799SSimon Glass	bool "Support a silent console"
29098af8799SSimon Glass	help
29198af8799SSimon Glass	  This option allows the console to be silenced, meaning that no
29298af8799SSimon Glass	  output will appear on the console devices. This is controlled by
29398af8799SSimon Glass	  setting the environment vaariable 'silent' to a non-empty value.
29498af8799SSimon Glass	  Note this also silences the console when booting Linux.
29598af8799SSimon Glass
29698af8799SSimon Glass	  When the console is set up, the variable is checked, and the
29798af8799SSimon Glass	  GD_FLG_SILENT flag is set. Changing the environment variable later
29898af8799SSimon Glass	  will update the flag.
29998af8799SSimon Glass
30098af8799SSimon Glassconfig SILENT_U_BOOT_ONLY
30198af8799SSimon Glass	bool "Only silence the U-Boot console"
30298af8799SSimon Glass	depends on SILENT_CONSOLE
30398af8799SSimon Glass	help
30498af8799SSimon Glass	  Normally when the U-Boot console is silenced, Linux's console is
30598af8799SSimon Glass	  also silenced (assuming the board boots into Linux). This option
30698af8799SSimon Glass	  allows the linux console to operate normally, even if U-Boot's
30798af8799SSimon Glass	  is silenced.
30898af8799SSimon Glass
30998af8799SSimon Glassconfig SILENT_CONSOLE_UPDATE_ON_SET
31098af8799SSimon Glass	bool "Changes to the 'silent' environment variable update immediately"
31198af8799SSimon Glass	depends on SILENT_CONSOLE
31298af8799SSimon Glass	default y if SILENT_CONSOLE
31398af8799SSimon Glass	help
31498af8799SSimon Glass	  When the 'silent' environment variable is changed, update the
31598af8799SSimon Glass	  console silence flag immediately. This allows 'setenv' to be used
31698af8799SSimon Glass	  to silence or un-silence the console.
31798af8799SSimon Glass
31898af8799SSimon Glass	  The effect is that any change to the variable will affect the
31998af8799SSimon Glass	  GD_FLG_SILENT flag.
32098af8799SSimon Glass
32198af8799SSimon Glassconfig SILENT_CONSOLE_UPDATE_ON_RELOC
32298af8799SSimon Glass	bool "Allow flags to take effect on relocation"
32398af8799SSimon Glass	depends on SILENT_CONSOLE
32498af8799SSimon Glass	help
32598af8799SSimon Glass	  In some cases the environment is not available until relocation
32698af8799SSimon Glass	  (e.g. NAND). This option makes the value of the 'silent'
32798af8799SSimon Glass	  environment variable take effect at relocation.
32898af8799SSimon Glass
3298f925584SSimon Glassconfig PRE_CONSOLE_BUFFER
3308f925584SSimon Glass	bool "Buffer characters before the console is available"
3318f925584SSimon Glass	help
3328f925584SSimon Glass	  Prior to the console being initialised (i.e. serial UART
3338f925584SSimon Glass	  initialised etc) all console output is silently discarded.
3348f925584SSimon Glass	  Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to
3358f925584SSimon Glass	  buffer any console messages prior to the console being
3368f925584SSimon Glass	  initialised to a buffer. The buffer is a circular buffer, so
3378f925584SSimon Glass	  if it overflows, earlier output is discarded.
3388f925584SSimon Glass
3398f925584SSimon Glass	  Note that this is not currently supported in SPL. It would be
3408f925584SSimon Glass	  useful to be able to share the pre-console buffer with SPL.
3418f925584SSimon Glass
3428f925584SSimon Glassconfig PRE_CON_BUF_SZ
3438f925584SSimon Glass	int "Sets the size of the pre-console buffer"
3448f925584SSimon Glass	depends on PRE_CONSOLE_BUFFER
3458f925584SSimon Glass	default 4096
3468f925584SSimon Glass	help
3478f925584SSimon Glass	  The size of the pre-console buffer affects how much console output
3488f925584SSimon Glass	  can be held before it overflows and starts discarding earlier
3498f925584SSimon Glass	  output. Normally there is very little output at this early stage,
3508f925584SSimon Glass	  unless debugging is enabled, so allow enough for ~10 lines of
3518f925584SSimon Glass	  text.
3528f925584SSimon Glass
3538f925584SSimon Glass	  This is a useful feature if you are using a video console and
3548f925584SSimon Glass	  want to see the full boot output on the console. Without this
3558f925584SSimon Glass	  option only the post-relocation output will be displayed.
3568f925584SSimon Glass
3578f925584SSimon Glassconfig PRE_CON_BUF_ADDR
3588f925584SSimon Glass	hex "Address of the pre-console buffer"
3598f925584SSimon Glass	depends on PRE_CONSOLE_BUFFER
3608f925584SSimon Glass	default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I
3618f925584SSimon Glass	default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I
3628f925584SSimon Glass	help
3638f925584SSimon Glass	  This sets the start address of the pre-console buffer. This must
3648f925584SSimon Glass	  be in available memory and is accessed before relocation and
3658f925584SSimon Glass	  possibly before DRAM is set up. Therefore choose an address
3668f925584SSimon Glass	  carefully.
3678f925584SSimon Glass
3688f925584SSimon Glass	  We should consider removing this option and allocating the memory
3698f925584SSimon Glass	  in board_init_f_init_reserve() instead.
3708f925584SSimon Glass
371ef26d603SSimon Glassconfig CONSOLE_MUX
372ef26d603SSimon Glass	bool "Enable console multiplexing"
373ef26d603SSimon Glass	default y if DM_VIDEO || VIDEO || LCD
374ef26d603SSimon Glass	help
375ef26d603SSimon Glass	  This allows multiple devices to be used for each console 'file'.
376ef26d603SSimon Glass	  For example, stdout can be set to go to serial and video.
377ef26d603SSimon Glass	  Similarly, stdin can be set to come from serial and keyboard.
378ef26d603SSimon Glass	  Input can be provided from either source. Console multiplexing
379ef26d603SSimon Glass	  adds a small amount of size to U-Boot.  Changes to the environment
380ef26d603SSimon Glass	  variables stdout, stdin and stderr will take effect immediately.
381ef26d603SSimon Glass
382ef26d603SSimon Glassconfig SYS_CONSOLE_IS_IN_ENV
383ef26d603SSimon Glass	bool "Select console devices from the environment"
384ef26d603SSimon Glass	default y if CONSOLE_MUX
385ef26d603SSimon Glass	help
386ef26d603SSimon Glass	  This allows multiple input/output devices to be set at boot time.
387ef26d603SSimon Glass	  For example, if stdout is set to "serial,video" then output will
388ef26d603SSimon Glass	  be sent to both the serial and video devices on boot. The
389ef26d603SSimon Glass	  environment variables can be updated after boot to change the
390ef26d603SSimon Glass	  input/output devices.
391ef26d603SSimon Glass
39284f2a5d0SSimon Glassconfig SYS_CONSOLE_OVERWRITE_ROUTINE
39384f2a5d0SSimon Glass	bool "Allow board control over console overwriting"
39484f2a5d0SSimon Glass	help
39584f2a5d0SSimon Glass	  If this is enabled, and the board-specific function
39684f2a5d0SSimon Glass	  overwrite_console() returns 1, the stdin, stderr and stdout are
39784f2a5d0SSimon Glass	  switched to the serial port, else the settings in the environment
39884f2a5d0SSimon Glass	  are used. If this is not enabled, the console will not be switched
39984f2a5d0SSimon Glass	  to serial.
40084f2a5d0SSimon Glass
4013505bc55SSimon Glassconfig SYS_CONSOLE_ENV_OVERWRITE
4023505bc55SSimon Glass	bool "Update environment variables during console init"
4033505bc55SSimon Glass	help
4043505bc55SSimon Glass	  The console environment variables (stdout, stdin, stderr) can be
4053505bc55SSimon Glass	  used to determine the correct console devices on start-up. This
4063505bc55SSimon Glass	  option writes the console devices to these variables on console
4073505bc55SSimon Glass	  start-up (after relocation). This causes the environment to be
4083505bc55SSimon Glass	  updated to match the console devices actually chosen.
4093505bc55SSimon Glass
410f3f3efffSSimon Glassconfig SYS_CONSOLE_INFO_QUIET
411f3f3efffSSimon Glass	bool "Don't display the console devices on boot"
412f3f3efffSSimon Glass	help
413f3f3efffSSimon Glass	  Normally U-Boot displays the current settings for stdout, stdin
414f3f3efffSSimon Glass	  and stderr on boot when the post-relocation console is set up.
415f3f3efffSSimon Glass	  Enable this option to supress this output. It can be obtained by
416f3f3efffSSimon Glass	  calling stdio_print_current_devices() from board code.
417f3f3efffSSimon Glass
418869588deSSimon Glassconfig SYS_STDIO_DEREGISTER
419869588deSSimon Glass	bool "Allow deregistering stdio devices"
420869588deSSimon Glass	default y if USB_KEYBOARD
421869588deSSimon Glass	help
422869588deSSimon Glass	  Generally there is no need to deregister stdio devices since they
423869588deSSimon Glass	  are never deactivated. But if a stdio device is used which can be
424869588deSSimon Glass	  removed (for example a USB keyboard) then this option can be
425869588deSSimon Glass	  enabled to ensure this is handled correctly.
426869588deSSimon Glass
42798af8799SSimon Glassendmenu
42898af8799SSimon Glass
429e9c8d49dSSimon Glassmenu "Logging"
430e9c8d49dSSimon Glass
431e9c8d49dSSimon Glassconfig LOG
432e9c8d49dSSimon Glass	bool "Enable logging support"
433563273dfSMichal Simek	depends on DM
434e9c8d49dSSimon Glass	help
435e9c8d49dSSimon Glass	  This enables support for logging of status and debug messages. These
436e9c8d49dSSimon Glass	  can be displayed on the console, recorded in a memory buffer, or
437e9c8d49dSSimon Glass	  discarded if not needed. Logging supports various categories and
438e9c8d49dSSimon Glass	  levels of severity.
439e9c8d49dSSimon Glass
440e9c8d49dSSimon Glassconfig SPL_LOG
441e9c8d49dSSimon Glass	bool "Enable logging support in SPL"
442e9c8d49dSSimon Glass	help
443e9c8d49dSSimon Glass	  This enables support for logging of status and debug messages. These
444e9c8d49dSSimon Glass	  can be displayed on the console, recorded in a memory buffer, or
445e9c8d49dSSimon Glass	  discarded if not needed. Logging supports various categories and
446e9c8d49dSSimon Glass	  levels of severity.
447e9c8d49dSSimon Glass
448e9c8d49dSSimon Glassconfig LOG_MAX_LEVEL
449e9c8d49dSSimon Glass	int "Maximum log level to record"
450e9c8d49dSSimon Glass	depends on LOG
451e9c8d49dSSimon Glass	default 5
452e9c8d49dSSimon Glass	help
453e9c8d49dSSimon Glass	  This selects the maximum log level that will be recorded. Any value
454e9c8d49dSSimon Glass	  higher than this will be ignored. If possible log statements below
455e9c8d49dSSimon Glass	  this level will be discarded at build time. Levels:
456e9c8d49dSSimon Glass
457e9c8d49dSSimon Glass	    0 - panic
458e9c8d49dSSimon Glass	    1 - critical
459e9c8d49dSSimon Glass	    2 - error
460e9c8d49dSSimon Glass	    3 - warning
461e9c8d49dSSimon Glass	    4 - note
462e9c8d49dSSimon Glass	    5 - info
463e9c8d49dSSimon Glass	    6 - detail
464e9c8d49dSSimon Glass	    7 - debug
465e9c8d49dSSimon Glass
466e9c8d49dSSimon Glassconfig SPL_LOG_MAX_LEVEL
467e9c8d49dSSimon Glass	int "Maximum log level to record in SPL"
468e9c8d49dSSimon Glass	depends on SPL_LOG
469e9c8d49dSSimon Glass	default 3
470e9c8d49dSSimon Glass	help
471e9c8d49dSSimon Glass	  This selects the maximum log level that will be recorded. Any value
472e9c8d49dSSimon Glass	  higher than this will be ignored. If possible log statements below
473e9c8d49dSSimon Glass	  this level will be discarded at build time. Levels:
474e9c8d49dSSimon Glass
475e9c8d49dSSimon Glass	    0 - panic
476e9c8d49dSSimon Glass	    1 - critical
477e9c8d49dSSimon Glass	    2 - error
478e9c8d49dSSimon Glass	    3 - warning
479e9c8d49dSSimon Glass	    4 - note
480e9c8d49dSSimon Glass	    5 - info
481e9c8d49dSSimon Glass	    6 - detail
482e9c8d49dSSimon Glass	    7 - debug
483e9c8d49dSSimon Glass
484c6d47535SSimon Glassconfig LOG_CONSOLE
485c6d47535SSimon Glass	bool "Allow log output to the console"
486c6d47535SSimon Glass	depends on LOG
487c6d47535SSimon Glass	default y
488c6d47535SSimon Glass	help
489c6d47535SSimon Glass	  Enables a log driver which writes log records to the console.
490c6d47535SSimon Glass	  Generally the console is the serial port or LCD display. Only the
491c6d47535SSimon Glass	  log message is shown - other details like level, category, file and
492c6d47535SSimon Glass	  line number are omitted.
493c6d47535SSimon Glass
494c6d47535SSimon Glassconfig LOG_SPL_CONSOLE
495c6d47535SSimon Glass	bool "Allow log output to the console in SPL"
496c6d47535SSimon Glass	depends on LOG_SPL
497c6d47535SSimon Glass	default y
498c6d47535SSimon Glass	help
499c6d47535SSimon Glass	  Enables a log driver which writes log records to the console.
500c6d47535SSimon Glass	  Generally the console is the serial port or LCD display. Only the
501c6d47535SSimon Glass	  log message is shown - other details like level, category, file and
502c6d47535SSimon Glass	  line number are omitted.
503c6d47535SSimon Glass
504ef11ed82SSimon Glassconfig LOG_TEST
505ef11ed82SSimon Glass	bool "Provide a test for logging"
506ef11ed82SSimon Glass	depends on LOG
507ef11ed82SSimon Glass	default y if SANDBOX
508ef11ed82SSimon Glass	help
509ef11ed82SSimon Glass	  This enables a 'log test' command to test logging. It is normally
510ef11ed82SSimon Glass	  executed from a pytest and simply outputs logging information
511ef11ed82SSimon Glass	  in various different ways to test that the logging system works
512ef11ed82SSimon Glass	  correctly with varoius settings.
513ef11ed82SSimon Glass
5143707c6eeSSimon Glassconfig LOG_ERROR_RETURN
5153707c6eeSSimon Glass	bool "Log all functions which return an error"
5163707c6eeSSimon Glass	depends on LOG
5173707c6eeSSimon Glass	help
5183707c6eeSSimon Glass	  When an error is returned in U-Boot it is sometimes difficult to
5193707c6eeSSimon Glass	  figure out the root cause. For eaxmple, reading from SPI flash may
5203707c6eeSSimon Glass	  fail due to a problem in the SPI controller or due to the flash part
5213707c6eeSSimon Glass	  not returning the expected information. This option changes
5223707c6eeSSimon Glass	  log_ret() to log any errors it sees. With this option disabled,
5233707c6eeSSimon Glass	  log_ret() is a nop.
5243707c6eeSSimon Glass
5253707c6eeSSimon Glass	  You can add log_ret() to all functions which return an error code.
5263707c6eeSSimon Glass
527e9c8d49dSSimon Glassendmenu
528e9c8d49dSSimon Glass
529d021e942SAdam Fordconfig SUPPORT_RAW_INITRD
530d021e942SAdam Ford	bool "Enable raw initrd images"
531d021e942SAdam Ford	help
532d021e942SAdam Ford	  Note, defining the SUPPORT_RAW_INITRD allows user to supply
533d021e942SAdam Ford	  kernel with raw initrd images. The syntax is slightly different, the
534d021e942SAdam Ford	  address of the initrd must be augmented by it's size, in the following
535d021e942SAdam Ford	  format: "<initrd address>:<initrd size>".
536d021e942SAdam Ford
537d259c008SJagan Tekiconfig DEFAULT_FDT_FILE
538d259c008SJagan Teki	string "Default fdt file"
539d259c008SJagan Teki	help
540d259c008SJagan Teki	  This option is used to set the default fdt file to boot OS.
541d259c008SJagan Teki
542*8ccf98b1SAdam Fordconfig MISC_INIT_R
543*8ccf98b1SAdam Ford	bool "Execute Misc Init"
544*8ccf98b1SAdam Ford	default y if ARCH_KEYSTONE || ARCH_SUNXI || MPC85xx
545*8ccf98b1SAdam Ford	default y if ARCH_OMAP2PLUS && !AM33XX
546*8ccf98b1SAdam Ford	help
547*8ccf98b1SAdam Ford	  Enabling this option calls 'misc_init_r' function
548*8ccf98b1SAdam Ford
5499dd1d0aaSHeiko Schocherconfig VERSION_VARIABLE
5509dd1d0aaSHeiko Schocher	bool "add U-Boot environment variable vers"
5519dd1d0aaSHeiko Schocher	default n
5529dd1d0aaSHeiko Schocher	help
5539dd1d0aaSHeiko Schocher	  If this variable is defined, an environment variable
5549dd1d0aaSHeiko Schocher	  named "ver" is created by U-Boot showing the U-Boot
5559dd1d0aaSHeiko Schocher	  version as printed by the "version" command.
5569dd1d0aaSHeiko Schocher	  Any change to this variable will be reverted at the
5579dd1d0aaSHeiko Schocher	  next reset.
558c2ae7d82SSimon Glass
559de70fefbSJagan Tekiconfig BOARD_LATE_INIT
560e5ec4815STom Rini	bool
561de70fefbSJagan Teki	help
562de70fefbSJagan Teki	  Sometimes board require some initialization code that might
563de70fefbSJagan Teki	  require once the actual init done, example saving board specific env,
564de70fefbSJagan Teki	  boot-modes etc. which eventually done at late.
565de70fefbSJagan Teki
566de70fefbSJagan Teki	  So this config enable the late init code with the help of board_late_init
567de70fefbSJagan Teki	  function which should defined on respective boards.
568de70fefbSJagan Teki
56919a97475SLokesh Vutlaconfig DISPLAY_CPUINFO
57019a97475SLokesh Vutla	bool "Display information about the CPU during start up"
571b9153fe3SAngelo Dureghello	default y if ARM || NIOS2 || X86 || XTENSA || M68K
57219a97475SLokesh Vutla	help
57319a97475SLokesh Vutla	  Display information about the CPU that U-Boot is running on
57419a97475SLokesh Vutla	  when U-Boot starts up. The function print_cpuinfo() is called
57519a97475SLokesh Vutla	  to do this.
57619a97475SLokesh Vutla
57784351792SLokesh Vutlaconfig DISPLAY_BOARDINFO
57878eba69dSMario Six	bool "Display information about the board during early start up"
579d63b5b4fSSimon Glass	default y if ARM || M68K || MIPS || PPC || SANDBOX || XTENSA
58084351792SLokesh Vutla	help
58184351792SLokesh Vutla	  Display information about the board that U-Boot is running on
58284351792SLokesh Vutla	  when U-Boot starts up. The board function checkboard() is called
58384351792SLokesh Vutla	  to do this.
58484351792SLokesh Vutla
58578eba69dSMario Sixconfig DISPLAY_BOARDINFO_LATE
58678eba69dSMario Six	bool "Display information about the board during late start up"
58778eba69dSMario Six	help
58878eba69dSMario Six	  Display information about the board that U-Boot is running on after
58978eba69dSMario Six	  the relocation phase. The board function checkboard() is called to do
59078eba69dSMario Six	  this.
59178eba69dSMario Six
592a421192fSSimon Glassmenu "Start-up hooks"
593a421192fSSimon Glass
594a421192fSSimon Glassconfig ARCH_EARLY_INIT_R
595a421192fSSimon Glass	bool "Call arch-specific init soon after relocation"
596a421192fSSimon Glass	help
597a421192fSSimon Glass	  With this option U-Boot will call arch_early_init_r() soon after
598a421192fSSimon Glass	  relocation. Driver model is running by this point, and the cache
599a421192fSSimon Glass	  is on. Note that board_early_init_r() is called first, if
600a421192fSSimon Glass	  enabled. This can be used to set up architecture-specific devices.
601a421192fSSimon Glass
6024585601aSSimon Glassconfig ARCH_MISC_INIT
6034585601aSSimon Glass	bool "Call arch-specific init after relocation, when console is ready"
6044585601aSSimon Glass	help
6054585601aSSimon Glass	  With this option U-Boot will call arch_misc_init() after
6064585601aSSimon Glass	  relocation to allow miscellaneous arch-dependent initialisation
6074585601aSSimon Glass	  to be performed. This function should be defined by the board
6084585601aSSimon Glass	  and will be called after the console is set up, after relocaiton.
6094585601aSSimon Glass
610a5d67547SSimon Glassconfig BOARD_EARLY_INIT_F
611a5d67547SSimon Glass	bool "Call board-specific init before relocation"
612a5d67547SSimon Glass	help
613a5d67547SSimon Glass	  Some boards need to perform initialisation as soon as possible
614a5d67547SSimon Glass	  after boot. With this option, U-Boot calls board_early_init_f()
615a5d67547SSimon Glass	  after driver model is ready in the pre-relocation init sequence.
616a5d67547SSimon Glass	  Note that the normal serial console is not yet set up, but the
617a5d67547SSimon Glass	  debug UART will be available if enabled.
618a5d67547SSimon Glass
61902ddc147SMario Sixconfig BOARD_EARLY_INIT_R
62002ddc147SMario Six	bool "Call board-specific init after relocation"
62102ddc147SMario Six	help
62202ddc147SMario Six	  Some boards need to perform initialisation as directly after
62302ddc147SMario Six	  relocation. With this option, U-Boot calls board_early_init_r()
62402ddc147SMario Six	  in the post-relocation init sequence.
62502ddc147SMario Six
6262aeb22d9SMario Sixconfig LAST_STAGE_INIT
6272aeb22d9SMario Six	bool "Call board-specific as last setup step"
6282aeb22d9SMario Six	help
6292aeb22d9SMario Six	  Some boards need to perform initialisation immediately before control
6302aeb22d9SMario Six	  is passed to the command-line interpreter (e.g. for initializations
6312aeb22d9SMario Six	  that depend on later phases in the init sequence). With this option,
6322aeb22d9SMario Six	  U-Boot calls last_stage_init() before the command-line interpreter is
6332aeb22d9SMario Six	  started.
6342aeb22d9SMario Six
635a421192fSSimon Glassendmenu
636a421192fSSimon Glass
637d70f919eSSimon Glassmenu "Security support"
638d70f919eSSimon Glass
639d70f919eSSimon Glassconfig HASH
640d70f919eSSimon Glass	bool # "Support hashing API (SHA1, SHA256, etc.)"
641d70f919eSSimon Glass	help
642d70f919eSSimon Glass	  This provides a way to hash data in memory using various supported
643d70f919eSSimon Glass	  algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
644d70f919eSSimon Glass	  and the algorithms it supports are defined in common/hash.c. See
645d70f919eSSimon Glass	  also CMD_HASH for command-line access.
646d70f919eSSimon Glass
647b0aa74a2SIgor Opaniukconfig AVB_VERIFY
648b0aa74a2SIgor Opaniuk	bool "Build Android Verified Boot operations"
649b0aa74a2SIgor Opaniuk	depends on LIBAVB && FASTBOOT
650b0aa74a2SIgor Opaniuk	help
651b0aa74a2SIgor Opaniuk	  This option enables compilation of bootloader-dependent operations,
652b0aa74a2SIgor Opaniuk	  used by Android Verified Boot 2.0 library (libavb). Includes:
653b0aa74a2SIgor Opaniuk	    * Helpers to process strings in order to build OS bootargs.
654b0aa74a2SIgor Opaniuk	    * Helpers to access MMC, similar to drivers/fastboot/fb_mmc.c.
655b0aa74a2SIgor Opaniuk	    * Helpers to alloc/init/free avb ops.
656b0aa74a2SIgor Opaniuk
657d70f919eSSimon Glassendmenu
658d70f919eSSimon Glass
659b254c529SMarek Vasutmenu "Update support"
660b254c529SMarek Vasut
661b254c529SMarek Vasutconfig UPDATE_TFTP
662b254c529SMarek Vasut	bool "Auto-update using fitImage via TFTP"
663b254c529SMarek Vasut	depends on FIT
664b254c529SMarek Vasut	help
665b254c529SMarek Vasut	  This option allows performing update of NOR with data in fitImage
666b254c529SMarek Vasut	  sent via TFTP boot.
667b254c529SMarek Vasut
668b254c529SMarek Vasutconfig UPDATE_TFTP_CNT_MAX
669b254c529SMarek Vasut	int "The number of connection retries during auto-update"
670b254c529SMarek Vasut	default 0
671b254c529SMarek Vasut	depends on UPDATE_TFTP
672b254c529SMarek Vasut
673b254c529SMarek Vasutconfig UPDATE_TFTP_MSEC_MAX
674b254c529SMarek Vasut	int "Delay in mSec to wait for the TFTP server during auto-update"
675b254c529SMarek Vasut	default 100
676b254c529SMarek Vasut	depends on UPDATE_TFTP
677b254c529SMarek Vasut
678b254c529SMarek Vasutendmenu
679b254c529SMarek Vasut
680c2ae7d82SSimon Glasssource "common/spl/Kconfig"
681