xref: /openbmc/u-boot/common/Kconfig (revision 064b55cfcb25c0f7692ecf6d4a38f12cd82739f7)
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
49ee2b2434SSimon Glassconfig BOOTSTAGE_USER_COUNT
505a0e275cSSimon Glass	int "Number of boot ID numbers available for user use"
51ee2b2434SSimon Glass	default 20
52ee2b2434SSimon Glass	help
53ee2b2434SSimon Glass	  This is the number of available user bootstage records.
54ee2b2434SSimon Glass	  Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
55ee2b2434SSimon Glass	  a new ID will be allocated from this stash. If you exceed
56ee2b2434SSimon Glass	  the limit, recording will stop.
57ee2b2434SSimon Glass
5803ecac31SSimon Glassconfig BOOTSTAGE_RECORD_COUNT
5903ecac31SSimon Glass	int "Number of boot stage records to store"
6003ecac31SSimon Glass	default 30
6103ecac31SSimon Glass	help
6203ecac31SSimon Glass	  This is the size of the bootstage record list and is the maximum
6303ecac31SSimon Glass	  number of bootstage records that can be recorded.
6403ecac31SSimon Glass
65ee2b2434SSimon Glassconfig BOOTSTAGE_FDT
66ee2b2434SSimon Glass	bool "Store boot timing information in the OS device tree"
67ee2b2434SSimon Glass	depends on BOOTSTAGE
68ee2b2434SSimon Glass	help
69ee2b2434SSimon Glass	  Stash the bootstage information in the FDT. A root 'bootstage'
70ee2b2434SSimon Glass	  node is created with each bootstage id as a child. Each child
71ee2b2434SSimon Glass	  has a 'name' property and either 'mark' containing the
7257247d9cSRobert P. J. Day	  mark time in microseconds, or 'accum' containing the
73ee2b2434SSimon Glass	  accumulated time for that bootstage id in microseconds.
74ee2b2434SSimon Glass	  For example:
75ee2b2434SSimon Glass
76ee2b2434SSimon Glass		bootstage {
77ee2b2434SSimon Glass			154 {
78ee2b2434SSimon Glass				name = "board_init_f";
79ee2b2434SSimon Glass				mark = <3575678>;
80ee2b2434SSimon Glass			};
81ee2b2434SSimon Glass			170 {
82ee2b2434SSimon Glass				name = "lcd";
83ee2b2434SSimon Glass				accum = <33482>;
84ee2b2434SSimon Glass			};
85ee2b2434SSimon Glass		};
86ee2b2434SSimon Glass
87ee2b2434SSimon Glass	  Code in the Linux kernel can find this in /proc/devicetree.
88ee2b2434SSimon Glass
89ee2b2434SSimon Glassconfig BOOTSTAGE_STASH
90ee2b2434SSimon Glass	bool "Stash the boot timing information in memory before booting OS"
91ee2b2434SSimon Glass	depends on BOOTSTAGE
92ee2b2434SSimon Glass	help
93ee2b2434SSimon Glass	  Some OSes do not support device tree. Bootstage can instead write
94ee2b2434SSimon Glass	  the boot timing information in a binary format at a given address.
95ee2b2434SSimon Glass	  This happens through a call to bootstage_stash(), typically in
96ee2b2434SSimon Glass	  the CPU's cleanup_before_linux() function. You can use the
97ee2b2434SSimon Glass	  'bootstage stash' and 'bootstage unstash' commands to do this on
98ee2b2434SSimon Glass	  the command line.
99ee2b2434SSimon Glass
100ee2b2434SSimon Glassconfig BOOTSTAGE_STASH_ADDR
101ee2b2434SSimon Glass	hex "Address to stash boot timing information"
102ee2b2434SSimon Glass	default 0
103ee2b2434SSimon Glass	help
104ee2b2434SSimon Glass	  Provide an address which will not be overwritten by the OS when it
105ee2b2434SSimon Glass	  starts, so that it can read this information when ready.
106ee2b2434SSimon Glass
107ee2b2434SSimon Glassconfig BOOTSTAGE_STASH_SIZE
108ee2b2434SSimon Glass	hex "Size of boot timing stash region"
109fad6a2b7SNobuhiro Iwamatsu	default 0x1000
110ee2b2434SSimon Glass	help
111ee2b2434SSimon Glass	  This should be large enough to hold the bootstage stash. A value of
112ee2b2434SSimon Glass	  4096 (4KiB) is normally plenty.
113ee2b2434SSimon Glass
114ee2b2434SSimon Glassendmenu
115ee2b2434SSimon Glass
116d14739ffSPeng Fanmenu "Boot media"
117d14739ffSPeng Fan
118d14739ffSPeng Fanconfig NOR_BOOT
119d14739ffSPeng Fan	bool "Support for booting from NOR flash"
120d14739ffSPeng Fan	depends on NOR
121d14739ffSPeng Fan	help
122d14739ffSPeng Fan	  Enabling this will make a U-Boot binary that is capable of being
123d14739ffSPeng Fan	  booted via NOR.  In this case we will enable certain pinmux early
124d14739ffSPeng Fan	  as the ROM only partially sets up pinmux.  We also default to using
125d14739ffSPeng Fan	  NOR for environment.
126d14739ffSPeng Fan
127faaef73fSPeng Fanconfig NAND_BOOT
128faaef73fSPeng Fan	bool "Support for booting from NAND flash"
129faaef73fSPeng Fan	default n
130faaef73fSPeng Fan	help
131faaef73fSPeng Fan	  Enabling this will make a U-Boot binary that is capable of being
132faaef73fSPeng Fan	  booted via NAND flash. This is not a must, some SoCs need this,
13357247d9cSRobert P. J. Day	  some not.
134faaef73fSPeng Fan
135faaef73fSPeng Fanconfig ONENAND_BOOT
136faaef73fSPeng Fan	bool "Support for booting from ONENAND"
137faaef73fSPeng Fan	default n
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
177fb1c43ccSMaxime Ripardmenu "Environment"
178fb1c43ccSMaxime Ripard
179fb1c43ccSMaxime Ripardif ARCH_SUNXI
180fb1c43ccSMaxime Ripard
181fb1c43ccSMaxime Ripardchoice
182fb1c43ccSMaxime Ripard	prompt "Environment Device"
183fb1c43ccSMaxime Ripard	default ENV_IS_IN_MMC if ARCH_SUNXI
184fb1c43ccSMaxime Ripard
185fb1c43ccSMaxime Ripardconfig ENV_IS_IN_MMC
186fb1c43ccSMaxime Ripard	bool "Environment in an MMC device"
187fb1c43ccSMaxime Ripard	depends on CMD_MMC
188fb1c43ccSMaxime Ripard	help
189fb1c43ccSMaxime Ripard	  Define this if you have an MMC device which you want to use for the
190fb1c43ccSMaxime Ripard	  environment.
191fb1c43ccSMaxime Ripard
192fb1c43ccSMaxime Ripardconfig ENV_IS_IN_NAND
193fb1c43ccSMaxime Ripard	bool "Environment in a NAND device"
194fb1c43ccSMaxime Ripard	depends on CMD_NAND
195fb1c43ccSMaxime Ripard	help
196fb1c43ccSMaxime Ripard	  Define this if you have a NAND device which you want to use for the
197fb1c43ccSMaxime Ripard	  environment.
198fb1c43ccSMaxime Ripard
199fb1c43ccSMaxime Ripardconfig ENV_IS_IN_UBI
200fb1c43ccSMaxime Ripard	bool "Environment in a UBI volume"
201fb1c43ccSMaxime Ripard	depends on CMD_UBI
202fb1c43ccSMaxime Ripard	depends on CMD_MTDPARTS
203fb1c43ccSMaxime Ripard	help
204fb1c43ccSMaxime Ripard	  Define this if you have a UBI volume which you want to use for the
205fb1c43ccSMaxime Ripard	  environment.
206fb1c43ccSMaxime Ripard
207fb1c43ccSMaxime Ripardconfig ENV_IS_NOWHERE
208fb1c43ccSMaxime Ripard	bool "Environment is not stored"
209fb1c43ccSMaxime Ripard	help
210fb1c43ccSMaxime Ripard	  Define this if you don't want to or can't have an environment stored
211fb1c43ccSMaxime Ripard	  on a storage medium
212fb1c43ccSMaxime Ripard
213fb1c43ccSMaxime Ripardendchoice
214fb1c43ccSMaxime Ripard
215fb1c43ccSMaxime Ripardconfig ENV_OFFSET
216fb1c43ccSMaxime Ripard	hex "Environment Offset"
217fb1c43ccSMaxime Ripard	depends on !ENV_IS_IN_UBI
218fb1c43ccSMaxime Ripard	depends on !ENV_IS_NOWHERE
219fb1c43ccSMaxime Ripard	default 0x88000 if ARCH_SUNXI
220fb1c43ccSMaxime Ripard	help
221fb1c43ccSMaxime Ripard	  Offset from the start of the device (or partition)
222fb1c43ccSMaxime Ripard
223fb1c43ccSMaxime Ripardconfig ENV_SIZE
224fb1c43ccSMaxime Ripard	hex "Environment Size"
225fb1c43ccSMaxime Ripard	depends on !ENV_IS_NOWHERE
226fb1c43ccSMaxime Ripard	default 0x20000 if ARCH_SUNXI
227fb1c43ccSMaxime Ripard	help
228fb1c43ccSMaxime Ripard	  Size of the environment storage area
229fb1c43ccSMaxime Ripard
230fb1c43ccSMaxime Ripardconfig ENV_UBI_PART
231fb1c43ccSMaxime Ripard	string "UBI partition name"
232fb1c43ccSMaxime Ripard	depends on ENV_IS_IN_UBI
233fb1c43ccSMaxime Ripard	help
234fb1c43ccSMaxime Ripard	  MTD partition containing the UBI device
235fb1c43ccSMaxime Ripard
236fb1c43ccSMaxime Ripardconfig ENV_UBI_VOLUME
237fb1c43ccSMaxime Ripard	string "UBI volume name"
238fb1c43ccSMaxime Ripard	depends on ENV_IS_IN_UBI
239fb1c43ccSMaxime Ripard	help
240fb1c43ccSMaxime Ripard	  Name of the volume that you want to store the environment in.
241fb1c43ccSMaxime Ripard
242fb1c43ccSMaxime Ripardendif
243fb1c43ccSMaxime Ripard
244fb1c43ccSMaxime Ripardendmenu
245fb1c43ccSMaxime Ripard
246bb597c0eSHeiko Schocherconfig BOOTDELAY
247bb597c0eSHeiko Schocher	int "delay in seconds before automatically booting"
2485e4e8741STom Rini	default 2
24941598c82SMasahiro Yamada	depends on AUTOBOOT
250bb597c0eSHeiko Schocher	help
251bb597c0eSHeiko Schocher	  Delay before automatically running bootcmd;
2522fbb8462SMasahiro Yamada	  set to 0 to autoboot with no delay, but you can stop it by key input.
253bb597c0eSHeiko Schocher	  set to -1 to disable autoboot.
254bb597c0eSHeiko Schocher	  set to -2 to autoboot with no delay and not check for abort
255bb597c0eSHeiko Schocher
2569060970fSMasahiro Yamada	  See doc/README.autoboot for details.
2579060970fSMasahiro Yamada
25898af8799SSimon Glassmenu "Console"
25998af8799SSimon Glass
2604880b026STom Riniconfig MENU
2614880b026STom Rini	bool
2624880b026STom Rini	help
2634880b026STom Rini	  This is the library functionality to provide a text-based menu of
2644880b026STom Rini	  choices for the user to make choices with.
2654880b026STom Rini
2669854a874SSimon Glassconfig CONSOLE_RECORD
2679854a874SSimon Glass	bool "Console recording"
2689854a874SSimon Glass	help
2699854a874SSimon Glass	  This provides a way to record console output (and provide console
27057247d9cSRobert P. J. Day	  input) through circular buffers. This is mostly useful for testing.
2719854a874SSimon Glass	  Console output is recorded even when the console is silent.
2729854a874SSimon Glass	  To enable console recording, call console_record_reset_enable()
2739854a874SSimon Glass	  from your code.
2749854a874SSimon Glass
2759854a874SSimon Glassconfig CONSOLE_RECORD_OUT_SIZE
2769854a874SSimon Glass	hex "Output buffer size"
2779854a874SSimon Glass	depends on CONSOLE_RECORD
2789854a874SSimon Glass	default 0x400 if CONSOLE_RECORD
2799854a874SSimon Glass	help
2809854a874SSimon Glass	  Set the size of the console output buffer. When this fills up, no
2819854a874SSimon Glass	  more data will be recorded until some is removed. The buffer is
2829854a874SSimon Glass	  allocated immediately after the malloc() region is ready.
2839854a874SSimon Glass
2849854a874SSimon Glassconfig CONSOLE_RECORD_IN_SIZE
2859854a874SSimon Glass	hex "Input buffer size"
2869854a874SSimon Glass	depends on CONSOLE_RECORD
2879854a874SSimon Glass	default 0x100 if CONSOLE_RECORD
2889854a874SSimon Glass	help
2899854a874SSimon Glass	  Set the size of the console input buffer. When this contains data,
2909854a874SSimon Glass	  tstc() and getc() will use this in preference to real device input.
2919854a874SSimon Glass	  The buffer is allocated immediately after the malloc() region is
2929854a874SSimon Glass	  ready.
2934d25507fSSiva Durga Prasad Paladugu
294a4d88920SSiva Durga Prasad Paladuguconfig IDENT_STRING
295a4d88920SSiva Durga Prasad Paladugu	string "Board specific string to be added to uboot version string"
296a4d88920SSiva Durga Prasad Paladugu	help
297a4d88920SSiva Durga Prasad Paladugu	  This options adds the board specific name to u-boot version.
298a4d88920SSiva Durga Prasad Paladugu
29998af8799SSimon Glassconfig SILENT_CONSOLE
30098af8799SSimon Glass	bool "Support a silent console"
30198af8799SSimon Glass	help
30298af8799SSimon Glass	  This option allows the console to be silenced, meaning that no
30398af8799SSimon Glass	  output will appear on the console devices. This is controlled by
30498af8799SSimon Glass	  setting the environment vaariable 'silent' to a non-empty value.
30598af8799SSimon Glass	  Note this also silences the console when booting Linux.
30698af8799SSimon Glass
30798af8799SSimon Glass	  When the console is set up, the variable is checked, and the
30898af8799SSimon Glass	  GD_FLG_SILENT flag is set. Changing the environment variable later
30998af8799SSimon Glass	  will update the flag.
31098af8799SSimon Glass
31198af8799SSimon Glassconfig SILENT_U_BOOT_ONLY
31298af8799SSimon Glass	bool "Only silence the U-Boot console"
31398af8799SSimon Glass	depends on SILENT_CONSOLE
31498af8799SSimon Glass	help
31598af8799SSimon Glass	  Normally when the U-Boot console is silenced, Linux's console is
31698af8799SSimon Glass	  also silenced (assuming the board boots into Linux). This option
31798af8799SSimon Glass	  allows the linux console to operate normally, even if U-Boot's
31898af8799SSimon Glass	  is silenced.
31998af8799SSimon Glass
32098af8799SSimon Glassconfig SILENT_CONSOLE_UPDATE_ON_SET
32198af8799SSimon Glass	bool "Changes to the 'silent' environment variable update immediately"
32298af8799SSimon Glass	depends on SILENT_CONSOLE
32398af8799SSimon Glass	default y if SILENT_CONSOLE
32498af8799SSimon Glass	help
32598af8799SSimon Glass	  When the 'silent' environment variable is changed, update the
32698af8799SSimon Glass	  console silence flag immediately. This allows 'setenv' to be used
32798af8799SSimon Glass	  to silence or un-silence the console.
32898af8799SSimon Glass
32998af8799SSimon Glass	  The effect is that any change to the variable will affect the
33098af8799SSimon Glass	  GD_FLG_SILENT flag.
33198af8799SSimon Glass
33298af8799SSimon Glassconfig SILENT_CONSOLE_UPDATE_ON_RELOC
33398af8799SSimon Glass	bool "Allow flags to take effect on relocation"
33498af8799SSimon Glass	depends on SILENT_CONSOLE
33598af8799SSimon Glass	help
33698af8799SSimon Glass	  In some cases the environment is not available until relocation
33798af8799SSimon Glass	  (e.g. NAND). This option makes the value of the 'silent'
33898af8799SSimon Glass	  environment variable take effect at relocation.
33998af8799SSimon Glass
3408f925584SSimon Glassconfig PRE_CONSOLE_BUFFER
3418f925584SSimon Glass	bool "Buffer characters before the console is available"
3428f925584SSimon Glass	help
3438f925584SSimon Glass	  Prior to the console being initialised (i.e. serial UART
3448f925584SSimon Glass	  initialised etc) all console output is silently discarded.
3458f925584SSimon Glass	  Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to
3468f925584SSimon Glass	  buffer any console messages prior to the console being
3478f925584SSimon Glass	  initialised to a buffer. The buffer is a circular buffer, so
3488f925584SSimon Glass	  if it overflows, earlier output is discarded.
3498f925584SSimon Glass
3508f925584SSimon Glass	  Note that this is not currently supported in SPL. It would be
3518f925584SSimon Glass	  useful to be able to share the pre-console buffer with SPL.
3528f925584SSimon Glass
3538f925584SSimon Glassconfig PRE_CON_BUF_SZ
3548f925584SSimon Glass	int "Sets the size of the pre-console buffer"
3558f925584SSimon Glass	depends on PRE_CONSOLE_BUFFER
3568f925584SSimon Glass	default 4096
3578f925584SSimon Glass	help
3588f925584SSimon Glass	  The size of the pre-console buffer affects how much console output
3598f925584SSimon Glass	  can be held before it overflows and starts discarding earlier
3608f925584SSimon Glass	  output. Normally there is very little output at this early stage,
3618f925584SSimon Glass	  unless debugging is enabled, so allow enough for ~10 lines of
3628f925584SSimon Glass	  text.
3638f925584SSimon Glass
3648f925584SSimon Glass	  This is a useful feature if you are using a video console and
3658f925584SSimon Glass	  want to see the full boot output on the console. Without this
3668f925584SSimon Glass	  option only the post-relocation output will be displayed.
3678f925584SSimon Glass
3688f925584SSimon Glassconfig PRE_CON_BUF_ADDR
3698f925584SSimon Glass	hex "Address of the pre-console buffer"
3708f925584SSimon Glass	depends on PRE_CONSOLE_BUFFER
3718f925584SSimon Glass	default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I
3728f925584SSimon Glass	default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I
3738f925584SSimon Glass	help
3748f925584SSimon Glass	  This sets the start address of the pre-console buffer. This must
3758f925584SSimon Glass	  be in available memory and is accessed before relocation and
3768f925584SSimon Glass	  possibly before DRAM is set up. Therefore choose an address
3778f925584SSimon Glass	  carefully.
3788f925584SSimon Glass
3798f925584SSimon Glass	  We should consider removing this option and allocating the memory
3808f925584SSimon Glass	  in board_init_f_init_reserve() instead.
3818f925584SSimon Glass
382ef26d603SSimon Glassconfig CONSOLE_MUX
383ef26d603SSimon Glass	bool "Enable console multiplexing"
384ef26d603SSimon Glass	default y if DM_VIDEO || VIDEO || LCD
385ef26d603SSimon Glass	help
386ef26d603SSimon Glass	  This allows multiple devices to be used for each console 'file'.
387ef26d603SSimon Glass	  For example, stdout can be set to go to serial and video.
388ef26d603SSimon Glass	  Similarly, stdin can be set to come from serial and keyboard.
389ef26d603SSimon Glass	  Input can be provided from either source. Console multiplexing
390ef26d603SSimon Glass	  adds a small amount of size to U-Boot.  Changes to the environment
391ef26d603SSimon Glass	  variables stdout, stdin and stderr will take effect immediately.
392ef26d603SSimon Glass
393ef26d603SSimon Glassconfig SYS_CONSOLE_IS_IN_ENV
394ef26d603SSimon Glass	bool "Select console devices from the environment"
395ef26d603SSimon Glass	default y if CONSOLE_MUX
396ef26d603SSimon Glass	help
397ef26d603SSimon Glass	  This allows multiple input/output devices to be set at boot time.
398ef26d603SSimon Glass	  For example, if stdout is set to "serial,video" then output will
399ef26d603SSimon Glass	  be sent to both the serial and video devices on boot. The
400ef26d603SSimon Glass	  environment variables can be updated after boot to change the
401ef26d603SSimon Glass	  input/output devices.
402ef26d603SSimon Glass
40384f2a5d0SSimon Glassconfig SYS_CONSOLE_OVERWRITE_ROUTINE
40484f2a5d0SSimon Glass	bool "Allow board control over console overwriting"
40584f2a5d0SSimon Glass	help
40684f2a5d0SSimon Glass	  If this is enabled, and the board-specific function
40784f2a5d0SSimon Glass	  overwrite_console() returns 1, the stdin, stderr and stdout are
40884f2a5d0SSimon Glass	  switched to the serial port, else the settings in the environment
40984f2a5d0SSimon Glass	  are used. If this is not enabled, the console will not be switched
41084f2a5d0SSimon Glass	  to serial.
41184f2a5d0SSimon Glass
4123505bc55SSimon Glassconfig SYS_CONSOLE_ENV_OVERWRITE
4133505bc55SSimon Glass	bool "Update environment variables during console init"
4143505bc55SSimon Glass	help
4153505bc55SSimon Glass	  The console environment variables (stdout, stdin, stderr) can be
4163505bc55SSimon Glass	  used to determine the correct console devices on start-up. This
4173505bc55SSimon Glass	  option writes the console devices to these variables on console
4183505bc55SSimon Glass	  start-up (after relocation). This causes the environment to be
4193505bc55SSimon Glass	  updated to match the console devices actually chosen.
4203505bc55SSimon Glass
421f3f3efffSSimon Glassconfig SYS_CONSOLE_INFO_QUIET
422f3f3efffSSimon Glass	bool "Don't display the console devices on boot"
423f3f3efffSSimon Glass	help
424f3f3efffSSimon Glass	  Normally U-Boot displays the current settings for stdout, stdin
425f3f3efffSSimon Glass	  and stderr on boot when the post-relocation console is set up.
426f3f3efffSSimon Glass	  Enable this option to supress this output. It can be obtained by
427f3f3efffSSimon Glass	  calling stdio_print_current_devices() from board code.
428f3f3efffSSimon Glass
429869588deSSimon Glassconfig SYS_STDIO_DEREGISTER
430869588deSSimon Glass	bool "Allow deregistering stdio devices"
431869588deSSimon Glass	default y if USB_KEYBOARD
432869588deSSimon Glass	help
433869588deSSimon Glass	  Generally there is no need to deregister stdio devices since they
434869588deSSimon Glass	  are never deactivated. But if a stdio device is used which can be
435869588deSSimon Glass	  removed (for example a USB keyboard) then this option can be
436869588deSSimon Glass	  enabled to ensure this is handled correctly.
437869588deSSimon Glass
43898af8799SSimon Glassendmenu
43998af8799SSimon Glass
440d259c008SJagan Tekiconfig DEFAULT_FDT_FILE
441d259c008SJagan Teki	string "Default fdt file"
442d259c008SJagan Teki	help
443d259c008SJagan Teki	  This option is used to set the default fdt file to boot OS.
444d259c008SJagan Teki
4459dd1d0aaSHeiko Schocherconfig VERSION_VARIABLE
4469dd1d0aaSHeiko Schocher	bool "add U-Boot environment variable vers"
4479dd1d0aaSHeiko Schocher	default n
4489dd1d0aaSHeiko Schocher	help
4499dd1d0aaSHeiko Schocher	  If this variable is defined, an environment variable
4509dd1d0aaSHeiko Schocher	  named "ver" is created by U-Boot showing the U-Boot
4519dd1d0aaSHeiko Schocher	  version as printed by the "version" command.
4529dd1d0aaSHeiko Schocher	  Any change to this variable will be reverted at the
4539dd1d0aaSHeiko Schocher	  next reset.
454c2ae7d82SSimon Glass
455de70fefbSJagan Tekiconfig BOARD_LATE_INIT
456e5ec4815STom Rini	bool
457de70fefbSJagan Teki	help
458de70fefbSJagan Teki	  Sometimes board require some initialization code that might
459de70fefbSJagan Teki	  require once the actual init done, example saving board specific env,
460de70fefbSJagan Teki	  boot-modes etc. which eventually done at late.
461de70fefbSJagan Teki
462de70fefbSJagan Teki	  So this config enable the late init code with the help of board_late_init
463de70fefbSJagan Teki	  function which should defined on respective boards.
464de70fefbSJagan Teki
46519a97475SLokesh Vutlaconfig DISPLAY_CPUINFO
46619a97475SLokesh Vutla	bool "Display information about the CPU during start up"
467*064b55cfSHeiko Schocher	default y if ARM || NIOS2 || X86 || XTENSA
46819a97475SLokesh Vutla	help
46919a97475SLokesh Vutla	  Display information about the CPU that U-Boot is running on
47019a97475SLokesh Vutla	  when U-Boot starts up. The function print_cpuinfo() is called
47119a97475SLokesh Vutla	  to do this.
47219a97475SLokesh Vutla
47384351792SLokesh Vutlaconfig DISPLAY_BOARDINFO
47484351792SLokesh Vutla	bool "Display information about the board during start up"
475936478e7STom Rini	default y if ARM || M68K || MIPS || PPC || XTENSA
47684351792SLokesh Vutla	help
47784351792SLokesh Vutla	  Display information about the board that U-Boot is running on
47884351792SLokesh Vutla	  when U-Boot starts up. The board function checkboard() is called
47984351792SLokesh Vutla	  to do this.
48084351792SLokesh Vutla
481a421192fSSimon Glassmenu "Start-up hooks"
482a421192fSSimon Glass
483a421192fSSimon Glassconfig ARCH_EARLY_INIT_R
484a421192fSSimon Glass	bool "Call arch-specific init soon after relocation"
485a421192fSSimon Glass	default y if X86
486a421192fSSimon Glass	help
487a421192fSSimon Glass	  With this option U-Boot will call arch_early_init_r() soon after
488a421192fSSimon Glass	  relocation. Driver model is running by this point, and the cache
489a421192fSSimon Glass	  is on. Note that board_early_init_r() is called first, if
490a421192fSSimon Glass	  enabled. This can be used to set up architecture-specific devices.
491a421192fSSimon Glass
4924585601aSSimon Glassconfig ARCH_MISC_INIT
4934585601aSSimon Glass	bool "Call arch-specific init after relocation, when console is ready"
4944585601aSSimon Glass	help
4954585601aSSimon Glass	  With this option U-Boot will call arch_misc_init() after
4964585601aSSimon Glass	  relocation to allow miscellaneous arch-dependent initialisation
4974585601aSSimon Glass	  to be performed. This function should be defined by the board
4984585601aSSimon Glass	  and will be called after the console is set up, after relocaiton.
4994585601aSSimon Glass
500a5d67547SSimon Glassconfig BOARD_EARLY_INIT_F
501a5d67547SSimon Glass	bool "Call board-specific init before relocation"
502a5d67547SSimon Glass	default y if X86
503a5d67547SSimon Glass	help
504a5d67547SSimon Glass	  Some boards need to perform initialisation as soon as possible
505a5d67547SSimon Glass	  after boot. With this option, U-Boot calls board_early_init_f()
506a5d67547SSimon Glass	  after driver model is ready in the pre-relocation init sequence.
507a5d67547SSimon Glass	  Note that the normal serial console is not yet set up, but the
508a5d67547SSimon Glass	  debug UART will be available if enabled.
509a5d67547SSimon Glass
510a421192fSSimon Glassendmenu
511a421192fSSimon Glass
512d70f919eSSimon Glassmenu "Security support"
513d70f919eSSimon Glass
514d70f919eSSimon Glassconfig HASH
515d70f919eSSimon Glass	bool # "Support hashing API (SHA1, SHA256, etc.)"
516d70f919eSSimon Glass	help
517d70f919eSSimon Glass	  This provides a way to hash data in memory using various supported
518d70f919eSSimon Glass	  algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
519d70f919eSSimon Glass	  and the algorithms it supports are defined in common/hash.c. See
520d70f919eSSimon Glass	  also CMD_HASH for command-line access.
521d70f919eSSimon Glass
522d70f919eSSimon Glassendmenu
523d70f919eSSimon Glass
524c2ae7d82SSimon Glasssource "common/spl/Kconfig"
525