1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180 |
- menu "Console"
- config MENU
- bool
- help
- This is the library functionality to provide a text-based menu of
- choices for the user to make choices with.
- config CONSOLE_RECORD
- bool "Console recording"
- help
- This provides a way to record console output (and provide console
- input) through circular buffers. This is mostly useful for testing.
- 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_INIT_F
- bool "Enable console recording during pre-relocation init"
- depends on CONSOLE_RECORD && SYS_MALLOC_F
- default y
- help
- This option enables console recording during pre-relocation init.
- CONFIG_SYS_MALLOC_F must be enabled to use this feature.
- 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_OUT_SIZE_F
- hex "Output buffer size before relocation"
- depends on CONSOLE_RECORD
- default 0x400 if CONSOLE_RECORD
- help
- Set the size of the console output buffer before relocation. When
- this fills up, no more data will be recorded until some is removed.
- The buffer is allocated immediately after the early 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.
- config DISABLE_CONSOLE
- bool "Add functionality to disable console completely"
- help
- Disable console (in & out).
- 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.
- config LOGLEVEL
- int "loglevel"
- default 4
- range 0 10
- help
- All Messages with a loglevel smaller than the console loglevel will
- be compiled in. The loglevels are defined as follows:
- 0 - emergency
- 1 - alert
- 2 - critical
- 3 - error
- 4 - warning
- 5 - note
- 6 - info
- 7 - debug
- 8 - debug content
- 9 - debug hardware I/O
- config SPL_LOGLEVEL
- int
- depends on SPL
- default LOGLEVEL
- config TPL_LOGLEVEL
- int
- depends on TPL
- default LOGLEVEL
- config VPL_LOGLEVEL
- int "loglevel for VPL"
- depends on VPL
- default LOGLEVEL
- help
- All Messages with a loglevel smaller than the console loglevel will
- be compiled in to VPL. See LOGLEVEL for a list of available log
- levels. Setting this to a value above 4 may increase the code size
- significantly.
- 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 variable '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 SPL_SILENT_CONSOLE
- bool "Use a silent console in SPL"
- default y if SILENT_CONSOLE && !SANDBOX
- help
- This selects a silent console in SPL. When enabled it drops some
- output messages. The GD_FLG_SILENT flag is not used in SPL so there
- is no run-time control of console messages in SPL.
- Future work may allow the SPL console to be silenced completely using
- this option.
- config TPL_SILENT_CONSOLE
- bool "Use a silent console in TPL"
- default y if SILENT_CONSOLE && !SANDBOX
- help
- This selects a silent console in TPL. When enabled it drops some
- output messages. The GD_FLG_SILENT flag is not used in TPL so there
- is no run-time control of console messages in TPL.
- Future work may allow the TPL console to be silenced completely using
- this option.
- 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.
- config SILENT_CONSOLE_UNTIL_ENV
- bool "Keep console silent until environment is loaded"
- depends on SILENT_CONSOLE
- help
- This option makes sure U-Boot will never use the console unless the
- environment from flash does not contain the 'silent' variable. If
- set, the console is kept silent until after the environment was
- loaded. Use this in combination with PRE_CONSOLE_BUFFER to print out
- earlier messages after loading the environment when allowed.
- 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
- default 0x0f000000 if ROCKCHIP_RK3288
- default 0x0f200000 if ROCKCHIP_RK3399
- 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.
- config CONSOLE_FLUSH_SUPPORT
- bool "Enable console flush support"
- default y
- help
- This enables compilation of flush() function for console flush support.
- config CONSOLE_MUX
- bool "Enable console multiplexing"
- default y if 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,vidconsole" 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.
- 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.
- config SYS_CONSOLE_ENV_OVERWRITE
- bool "Update environment variables during console init"
- depends on SYS_CONSOLE_IS_IN_ENV
- 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.
- 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 suppress this output. It can be obtained by
- calling stdio_print_current_devices() from board code.
- 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.
- config SPL_SYS_STDIO_DEREGISTER
- bool "Allow deregistering stdio devices in SPL"
- 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. This is very rarely
- needed in SPL.
- config SYS_DEVICE_NULLDEV
- bool "Enable a null device for stdio"
- default y if SPLASH_SCREEN || SYS_STDIO_DEREGISTER
- help
- Enable creation of a "nulldev" stdio device. This allows silent
- operation of the console by setting stdout to "nulldev". Enable
- this to use a serial console under board control.
- endmenu
- menu "Logging"
- config LOG
- bool "Enable logging support"
- depends on DM
- help
- This enables support for logging of status and debug messages. These
- can be displayed on the console, recorded in a memory buffer, or
- discarded if not needed. Logging supports various categories and
- levels of severity.
- if LOG
- config LOG_MAX_LEVEL
- int "Maximum log level to record"
- default 6
- range 0 9
- help
- This selects the maximum log level that will be recorded. Any value
- higher than this will be ignored. If possible log statements below
- this level will be discarded at build time. Levels:
- 0 - emergency
- 1 - alert
- 2 - critical
- 3 - error
- 4 - warning
- 5 - note
- 6 - info
- 7 - debug
- 8 - debug content
- 9 - debug hardware I/O
- config LOG_DEFAULT_LEVEL
- int "Default logging level to display"
- default LOG_MAX_LEVEL
- range 0 LOG_MAX_LEVEL
- help
- This is the default logging level set when U-Boot starts. It can
- be adjusted later using the 'log level' command. Note that setting
- this to a value above LOG_MAX_LEVEL will be ineffective, since the
- higher levels are not compiled in to U-Boot.
- 0 - emergency
- 1 - alert
- 2 - critical
- 3 - error
- 4 - warning
- 5 - note
- 6 - info
- 7 - debug
- 8 - debug content
- 9 - debug hardware I/O
- config LOG_CONSOLE
- bool "Allow log output to the console"
- default y
- help
- Enables a log driver which writes log records to the console.
- Generally the console is the serial port or LCD display. Only the
- log message is shown - other details like level, category, file and
- line number are omitted.
- config LOGF_FILE
- bool "Show source file name in log messages by default"
- help
- Show the source file name in log messages by default. This value
- can be overridden using the 'log format' command.
- config LOGF_LINE
- bool "Show source line number in log messages by default"
- help
- Show the source line number in log messages by default. This value
- can be overridden using the 'log format' command.
- config LOGF_FUNC
- bool "Show function name in log messages by default"
- help
- Show the function name in log messages by default. This value can
- be overridden using the 'log format' command.
- config LOGF_FUNC_PAD
- int "Number of characters to use for function"
- default 20
- help
- Sets the field width to use when showing the function. Set this to
- a larger value if you have lots of long function names, and want
- things to line up.
- config LOG_SYSLOG
- bool "Log output to syslog server"
- depends on NET
- help
- Enables a log driver which broadcasts log records via UDP port 514
- to syslog servers.
- config SPL_LOG
- bool "Enable logging support in SPL"
- depends on LOG && SPL
- help
- This enables support for logging of status and debug messages. These
- can be displayed on the console, recorded in a memory buffer, or
- discarded if not needed. Logging supports various categories and
- levels of severity.
- if SPL_LOG
- config SPL_LOG_MAX_LEVEL
- int "Maximum log level to record in SPL"
- depends on SPL_LOG
- default 3
- range 0 9
- help
- This selects the maximum log level that will be recorded. Any value
- higher than this will be ignored. If possible log statements below
- this level will be discarded at build time. Levels:
- 0 - emergency
- 1 - alert
- 2 - critical
- 3 - error
- 4 - warning
- 5 - note
- 6 - info
- 7 - debug
- 8 - debug content
- 9 - debug hardware I/O
- config SPL_LOG_CONSOLE
- bool "Allow log output to the console in SPL"
- default y
- help
- Enables a log driver which writes log records to the console.
- Generally the console is the serial port or LCD display. Only the
- log message is shown - other details like level, category, file and
- line number are omitted.
- endif
- config TPL_LOG
- bool "Enable logging support in TPL"
- depends on LOG && TPL
- help
- This enables support for logging of status and debug messages. These
- can be displayed on the console, recorded in a memory buffer, or
- discarded if not needed. Logging supports various categories and
- levels of severity.
- if TPL_LOG
- config TPL_LOG_MAX_LEVEL
- int "Maximum log level to record in TPL"
- depends on TPL_LOG
- default 3
- range 0 9
- help
- This selects the maximum log level that will be recorded. Any value
- higher than this will be ignored. If possible log statements below
- this level will be discarded at build time. Levels:
- 0 - emergency
- 1 - alert
- 2 - critical
- 3 - error
- 4 - warning
- 5 - note
- 6 - info
- 7 - debug
- 8 - debug content
- 9 - debug hardware I/O
- config TPL_LOG_CONSOLE
- bool "Allow log output to the console in TPL"
- default y
- help
- Enables a log driver which writes log records to the console.
- Generally the console is the serial port or LCD display. Only the
- log message is shown - other details like level, category, file and
- line number are omitted.
- endif
- config VPL_LOG
- bool "Enable logging support in VPL"
- depends on LOG && VPL
- help
- This enables support for logging of status and debug messages. These
- can be displayed on the console, recorded in a memory buffer, or
- discarded if not needed. Logging supports various categories and
- levels of severity.
- if VPL_LOG
- config VPL_LOG_MAX_LEVEL
- int "Maximum log level to record in VPL"
- default 3
- help
- This selects the maximum log level that will be recorded. Any value
- higher than this will be ignored. If possible log statements below
- this level will be discarded at build time. Levels:
- 0 - emergency
- 1 - alert
- 2 - critical
- 3 - error
- 4 - warning
- 5 - note
- 6 - info
- 7 - debug
- 8 - debug content
- 9 - debug hardware I/O
- config VPL_LOG_CONSOLE
- bool "Allow log output to the console in VPL"
- default y
- help
- Enables a log driver which writes log records to the console.
- Generally the console is the serial port or LCD display. Only the
- log message is shown - other details like level, category, file and
- line number are omitted.
- endif
- config LOG_ERROR_RETURN
- bool "Log all functions which return an error"
- help
- When an error is returned in U-Boot it is sometimes difficult to
- figure out the root cause. For example, reading from SPI flash may
- fail due to a problem in the SPI controller or due to the flash part
- not returning the expected information. This option changes
- log_ret() to log any errors it sees. With this option disabled,
- log_ret() is a nop.
- You can add log_ret() to all functions which return an error code.
- config LOG_TEST
- bool "Provide a test for logging"
- depends on UNIT_TEST
- default y if SANDBOX
- help
- This enables a 'log test' command to test logging. It is normally
- executed from a pytest and simply outputs logging information
- in various different ways to test that the logging system works
- correctly with various settings.
- endif
- endmenu
- menu "Init options"
- config BOARD_TYPES
- bool "Enable board_type entry in global data struct"
- help
- If this option is enabled, a field will be added to the global
- data struct to store an unsigned long value for the type of
- platform that we have determined we are on, at run-time.
- config DISPLAY_CPUINFO
- bool "Display information about the CPU during start up"
- default y if ARC || ARM || NIOS2 || X86 || XTENSA || M68K
- 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.
- config DISPLAY_BOARDINFO
- bool "Display information about the board during early start up"
- default y if ARC || ARM || M68K || MIPS || PPC || SANDBOX || XTENSA
- 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.
- config DISPLAY_BOARDINFO_LATE
- bool "Display information about the board during late start up"
- help
- Display information about the board that U-Boot is running on after
- the relocation phase. The board function checkboard() is called to do
- this.
- menu "Start-up hooks"
- config CYCLIC
- bool "General-purpose cyclic execution mechanism"
- help
- This enables a general-purpose cyclic execution infrastructure,
- to allow "small" (run-time wise) functions to be executed at
- a specified frequency. Things like LED blinking or watchdog
- triggering are examples for such tasks.
- if CYCLIC
- config CYCLIC_MAX_CPU_TIME_US
- int "Sets the max allowed time for a cyclic function in us"
- default 1000
- help
- The max allowed time for a cyclic function in us. If a functions
- takes longer than this duration this function will get unregistered
- automatically.
- endif # CYCLIC
- config EVENT
- bool
- help
- This adds a framework for general purpose sending and processing of
- events, to allow interested parties to be alerted when something
- happens. This is an attempt to stem the flow of weak functions,
- hooks, functions in board_f.c and board_r.c and the Kconfig options
- below.
- See doc/develop/event.rst for more information.
- if EVENT
- config EVENT_DYNAMIC
- bool
- help
- Enable this to support adding an event spy at runtime, without adding
- it to the EVENT_SPY() linker list. This increases code size slightly
- but provides more flexibility for boards and subsystems that need it.
- config EVENT_DEBUG
- bool "Enable event debugging assistance"
- default y if SANDBOX
- help
- Enable this to get useful features for seeing what is happening with
- events, such as event-type names. This adds to the code size of
- U-Boot so can be turned off for production builds.
- config SPL_EVENT
- bool # General-purpose event-handling mechanism in SPL
- depends on SPL
- help
- This adds a framework for general purpose sending and processing of
- events, to allow interested parties to be alerted when something
- happens. This is an attempt to stem the flow of weak functions,
- hooks, functions in board_f.c and board_r.c and the Kconfig options
- below.
- See doc/develop/event.rst for more information.
- config SPL_EVENT_DYNAMIC
- bool
- depends on SPL_EVENT && EVENT_DYNAMIC
- help
- Enable this to support adding an event spy at runtime, without adding
- it to the EVENT_SPY() linker list. This increases code size slightly
- but provides more flexibility for boards and subsystems that need it.
- endif # EVENT
- config ARCH_EARLY_INIT_R
- bool
- 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.
- 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 relocation.
- config BOARD_EARLY_INIT_F
- bool "Call board-specific init before relocation"
- 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.
- config BOARD_EARLY_INIT_R
- bool "Call board-specific init after relocation"
- help
- Some boards need to perform initialisation as directly after
- relocation. With this option, U-Boot calls board_early_init_r()
- in the post-relocation init sequence.
- config BOARD_POSTCLK_INIT
- bool "Call board_postclk_init"
- help
- Some boards need this to initialize select items, after clocks /
- timebase and before env / serial.
- config BOARD_LATE_INIT
- bool "Execute Board late init"
- 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.
- config CLOCKS
- bool "Call set_cpu_clk_info"
- depends on ARM
- config HWCONFIG
- bool "hwconfig infrastructure"
- default y if PPC || ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3
- config SYS_FSL_CLK
- bool
- depends on ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3 || \
- (FSL_ESDHC_IMX && (ARCH_MX5 || ARCH_MX6 || ARCH_MX7))
- default y
- help
- Enable to call get_clocks() in board_init_f() for platforms other
- than PowerPC or M68k. This is a legacy option. If not TARGET_BRPPT2
- config LAST_STAGE_INIT
- bool "Call board-specific as last setup step"
- help
- Some boards need to perform initialisation immediately before control
- is passed to the command-line interpreter (e.g. for initializations
- that depend on later phases in the init sequence). With this option,
- U-Boot calls last_stage_init() before the command-line interpreter is
- started.
- config MISC_INIT_R
- bool "Execute Misc Init"
- default y if ARCH_KEYSTONE || ARCH_SUNXI || MPC85xx
- default y if ARCH_OMAP2PLUS && !AM33XX
- help
- Enabling this option calls 'misc_init_r' function
- config SYS_MALLOC_BOOTPARAMS
- bool "Malloc a buffer to use for bootparams"
- help
- In some cases rather than using a known location to store the
- bi_boot_params portion of gd we need to allocate it from our malloc pool.
- config SYS_BOOTPARAMS_LEN
- hex "Size of the bootparam buffer to malloc in bytes"
- depends on SYS_MALLOC_BOOTPARAMS
- default 0x20000 if MIPS || RCAR_64
- default 0x10000
- config ID_EEPROM
- bool "Enable I2C connected system identifier EEPROM"
- help
- A number of different systems and vendors enable a vendor-specified
- EEPROM that contains various identifying features.
- config SYS_EEPROM_BUS_NUM
- int "I2C bus number of the system identifier EEPROM"
- depends on ID_EEPROM
- default 0
- choice
- prompt "EEPROM starts with 'CCID' or 'NXID'"
- depends on ID_EEPROM && (PPC || ARCH_LS1021A || FSL_LAYERSCAPE)
- default SYS_I2C_EEPROM_NXID
- help
- Specify if the Freescale / NXP ID EEPROM starts with 'CCID' or 'NXID'
- ASCII literal string.
- config SYS_I2C_EEPROM_CCID
- bool "EEPROM starts with 'CCID'"
- config SYS_I2C_EEPROM_NXID
- bool "EEPROM starts with 'NXID'"
- endchoice
- config PCI_INIT_R
- bool "Enumerate PCI buses during init"
- depends on PCI
- help
- With this option U-Boot will call pci_init() soon after relocation,
- which will enumerate PCI buses. This is needed, for instance, in the
- case of DM PCI-based Ethernet devices, which will not be detected
- without having the enumeration performed earlier.
- config RESET_PHY_R
- bool "Reset ethernet PHY during init"
- help
- Implement reset_phy() in board code if required to reset the ethernet
- PHY.
- endmenu
- endmenu # Init options
- menu "Security support"
- config HASH
- bool # "Support hashing API (SHA1, SHA256, etc.)"
- help
- This provides a way to hash data in memory using various supported
- algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
- and the algorithms it supports are defined in common/hash.c. See
- also CMD_HASH for command-line access.
- config AVB_VERIFY
- bool "Build Android Verified Boot operations"
- depends on LIBAVB
- depends on MMC
- depends on PARTITION_UUIDS
- help
- This option enables compilation of bootloader-dependent operations,
- used by Android Verified Boot 2.0 library (libavb). Includes:
- * Helpers to process strings in order to build OS bootargs.
- * Helpers to access MMC, similar to drivers/fastboot/fb_mmc.c.
- * Helpers to alloc/init/free avb ops.
- if AVB_VERIFY
- config AVB_BUF_ADDR
- hex "Define AVB buffer address"
- default FASTBOOT_BUF_ADDR
- help
- AVB requires a buffer for memory transactions. This variable defines the
- buffer address.
- config AVB_BUF_SIZE
- hex "Define AVB buffer SIZE"
- default FASTBOOT_BUF_SIZE
- help
- AVB requires a buffer for memory transactions. This variable defines the
- buffer size.
- endif # AVB_VERIFY
- config SCP03
- bool "Build SCP03 - Secure Channel Protocol O3 - controls"
- depends on OPTEE || SANDBOX
- depends on TEE
- help
- This option allows U-Boot to enable and or provision SCP03 on an OPTEE
- controlled Secured Element.
- config SPL_HASH
- bool # "Support hashing API (SHA1, SHA256, etc.)"
- help
- This provides a way to hash data in memory using various supported
- algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
- and the algorithms it supports are defined in common/hash.c. See
- also CMD_HASH for command-line access.
- config TPL_HASH
- bool # "Support hashing API (SHA1, SHA256, etc.)"
- help
- This provides a way to hash data in memory using various supported
- algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
- and the algorithms it supports are defined in common/hash.c. See
- also CMD_HASH for command-line access.
- config STACKPROTECTOR
- bool "Stack Protector buffer overflow detection"
- help
- Enable stack smash detection through compiler's stack-protector
- canary logic
- config SPL_STACKPROTECTOR
- bool "Stack Protector buffer overflow detection for SPL"
- depends on STACKPROTECTOR && SPL
- config TPL_STACKPROTECTOR
- bool "Stack Protector buffer overflow detection for TPL"
- depends on STACKPROTECTOR && TPL
- config BOARD_RNG_SEED
- bool "Provide /chosen/rng-seed property to the linux kernel"
- help
- Selecting this option requires the board to define a
- board_rng_seed() function, which should return a buffer
- which will be used to populate the /chosen/rng-seed property
- in the device tree for the OS being booted.
- It is up to the board code (and more generally the whole
- BSP) where and how to store (or generate) such a seed, how
- to ensure a given seed is only used once, how to create a
- new seed for use on subsequent boots, and whether or not the
- kernel should account any entropy from the given seed.
- endmenu
- menu "Update support"
- config UPDATE_COMMON
- bool
- select DFU_WRITE_ALT
- config UPDATE_TFTP
- bool "Auto-update using fitImage via TFTP"
- depends on FIT && OF_LIBFDT && !MTD_NOR_FLASH
- select UPDATE_COMMON
- help
- This option allows performing update of NOR with data in fitImage
- sent via TFTP boot.
- config UPDATE_TFTP_CNT_MAX
- int "The number of connection retries during auto-update"
- default 0
- depends on UPDATE_TFTP || DFU_TFTP
- config UPDATE_TFTP_MSEC_MAX
- int "Delay in mSec to wait for the TFTP server during auto-update"
- default 100
- depends on UPDATE_TFTP || DFU_TFTP
- config UPDATE_LOAD_ADDR
- hex "Address in memory to load the update to"
- depends on UPDATE_TFTP || DFU_TFTP
- default 0x100000
- help
- This option defines the location in memory to be used to load the
- update to, if 'loadaddr' is not set in the environment.
- config UPDATE_FIT
- bool "Firmware update using fitImage"
- depends on FIT && OF_LIBFDT
- depends on DFU
- select UPDATE_COMMON
- help
- This option allows performing update of DFU-capable storage with
- data in fitImage.
- config ANDROID_AB
- bool "Android A/B updates"
- help
- If enabled, adds support for the new Android A/B update model. This
- allows the bootloader to select which slot to boot from based on the
- information provided by userspace via the Android boot_ctrl HAL. This
- allows a bootloader to try a new version of the system but roll back
- to previous version if the new one didn't boot all the way.
- config ANDROID_AB_BACKUP_OFFSET
- hex "Offset of backup bootloader control"
- depends on ANDROID_AB
- default 0x0
- help
- If non-zero, a backup bootloader message starting at this offset in
- the partition will tried in the event that the primary one (starting
- at offset 0) fails its checksum.
- endmenu
- menu "Blob list"
- config BLOBLIST
- bool "Support for a bloblist"
- select CRC32
- help
- This enables support for a bloblist in U-Boot, which can be passed
- from TPL to SPL to U-Boot proper (and potentially to Linux). The
- blob list supports multiple binary blobs of data, each with a tag,
- so that different U-Boot components can store data which can survive
- through to the next phase of the boot.
- config SPL_BLOBLIST
- bool "Support for a bloblist in SPL"
- depends on BLOBLIST && SPL_LIBGENERIC_SUPPORT && SPL_LIBCOMMON_SUPPORT
- select SPL_CRC32
- default y if SPL
- help
- This enables a bloblist in SPL. If this is the first part of U-Boot
- to run, then the bloblist is set up in SPL and passed to U-Boot
- proper. If TPL also has a bloblist, then SPL uses the one from there.
- config TPL_BLOBLIST
- bool "Support for a bloblist in TPL"
- depends on BLOBLIST && TPL_LIBGENERIC_SUPPORT && TPL_LIBCOMMON_SUPPORT
- select TPL_CRC32
- default y if TPL
- help
- This enables a bloblist in TPL. The bloblist is set up in TPL and
- passed to SPL and U-Boot proper.
- config VPL_BLOBLIST
- bool "Support for a bloblist in VPL"
- depends on BLOBLIST && VPL_LIBGENERIC_SUPPORT && VPL_LIBCOMMON_SUPPORT
- default y if VPL
- help
- This enables a bloblist in VPL. The bloblist is set up in VPL and
- passed to SPL and U-Boot proper.
- if BLOBLIST
- choice
- prompt "Bloblist location"
- help
- Select the location of the bloblist, via various means.
- config BLOBLIST_FIXED
- bool "Place bloblist at a fixed address in memory"
- help
- Select this to used a fixed memory address for the bloblist. If the
- bloblist exists at this address from a previous phase, it used as is.
- If not it is created at this address in U-Boot.
- config BLOBLIST_ALLOC
- bool "Allocate bloblist"
- help
- Allocate the bloblist using malloc(). This avoids the need to
- specify a fixed address on systems where this is unknown or can
- change at runtime.
- endchoice
- config BLOBLIST_ADDR
- hex "Address of bloblist"
- default 0xc000 if SANDBOX
- depends on BLOBLIST_FIXED
- help
- Sets the address of the bloblist, set up by the first part of U-Boot
- which runs. Subsequent U-Boot phases typically use the same address.
- This is not used if BLOBLIST_ALLOC is selected.
- config BLOBLIST_SIZE
- hex "Size of bloblist"
- default 0x400
- help
- Sets the size of the bloblist in bytes. This must include all
- overhead (alignment, bloblist header, record header). The bloblist
- is set up in the first part of U-Boot to run (TPL, SPL or U-Boot
- proper), and this sane bloblist is used for subsequent phases.
- config BLOBLIST_SIZE_RELOC
- hex "Size of bloblist after relocation"
- default BLOBLIST_SIZE if BLOBLIST_FIXED || BLOBLIST_ALLOC
- default 0 if BLOBLIST_PASSAGE
- help
- Sets the size of the bloblist in bytes after relocation. Since U-Boot
- has a lot more memory available then, it is possible to use a larger
- size than the one set up by SPL. This bloblist is set up during the
- relocation process.
- endif # BLOBLIST
- if SPL_BLOBLIST
- choice
- prompt "Bloblist location in SPL"
- help
- Select the location of the bloblist, via various means. Typically
- you should use the same value for SPL as for U-Boot, since they need
- to look in the same place. But if BLOBLIST_ALLOC is used, then a
- fresh bloblist will be created each time, since there is no shared
- address (between phases) for the bloblist.
- config SPL_BLOBLIST_FIXED
- bool "Place bloblist at a fixed address in memory"
- help
- Select this to used a fixed memory address for the bloblist. If the
- bloblist exists at this address from a previous phase, it used as is.
- If not it is created at this address in SPL.
- config SPL_BLOBLIST_ALLOC
- bool "Allocate bloblist"
- help
- Allocate the bloblist using malloc(). This avoids the need to
- specify a fixed address on systems where this is unknown or can
- change at runtime.
- endchoice
- endif # SPL_BLOBLIST
- if TPL_BLOBLIST
- choice
- prompt "Bloblist location in TPL"
- help
- Select the location of the bloblist, via various means. Typically
- you should use the same value for TPL as for U-Boot, since they need
- to look in the same place. But if BLOBLIST_ALLOC is used, then a
- fresh bloblist will be created each time, since there is no shared
- address (between phases) for the bloblist.
- config TPL_BLOBLIST_FIXED
- bool "Place bloblist at a fixed address in memory"
- help
- Select this to used a fixed memory address for the bloblist. If the
- bloblist exists at this address from a previous phase, it used as is.
- If not it is created at this address in TPL.
- config TPL_BLOBLIST_ALLOC
- bool "Allocate bloblist"
- help
- Allocate the bloblist using malloc(). This avoids the need to
- specify a fixed address on systems where this is unknown or can
- change at runtime.
- endchoice
- endif # TPL_BLOBLIST
- if VPL_BLOBLIST
- choice
- prompt "Bloblist location in VPL"
- help
- Select the location of the bloblist, via various means. Typically
- you should use the same value for VPL as for U-Boot, since they need
- to look in the same place. But if BLOBLIST_ALLOC is used, then a
- fresh bloblist will be created each time, since there is no shared
- address (between phases) for the bloblist.
- config VPL_BLOBLIST_FIXED
- bool "Place bloblist at a fixed address in memory"
- help
- Select this to used a fixed memory address for the bloblist. If the
- bloblist exists at this address from a previous phase, it used as is.
- If not it is created at this address in VPL.
- config VPL_BLOBLIST_ALLOC
- bool "Allocate bloblist"
- help
- Allocate the bloblist using malloc(). This avoids the need to
- specify a fixed address on systems where this is unknown or can
- change at runtime.
- endchoice
- endif # VPL_BLOBLIST
- endmenu
- source "common/spl/Kconfig"
- config IMAGE_SIGN_INFO
- bool
- select SHA1
- select SHA256
- help
- Enable image_sign_info helper functions.
- if IMAGE_SIGN_INFO
- config SPL_IMAGE_SIGN_INFO
- bool
- select SHA1
- select SHA256
- help
- Enable image_sign_info helper functions in SPL.
- config VPL_IMAGE_SIGN_INFO
- bool
- select SHA1
- select SHA256
- help
- Enable image_sign_info helper functions in SPL.
- endif
- config FDT_SIMPLEFB
- bool "FDT tools for simplefb support"
- depends on OF_LIBFDT
- help
- Enable the fdt tools to manage the simple fb nodes in device tree.
- These functions can be used by board to indicate to the OS
- the presence of the simple frame buffer with associated reserved
- memory
- config IO_TRACE
- bool
- config BMP
- bool "Enable bmp image display"
- help
- Enable bmp functions to display bmp image and get bmp info.
- config SPL_BMP
- bool "Enable bmp image display at SPL"
- depends on SPL_VIDEO
- help
- Enable bmp functions to display bmp image and get bmp info at SPL.
|