| menu "Boot timing" | 
|   | 
| config BOOTSTAGE | 
|     bool "Boot timing and reporting" | 
|     help | 
|       Enable recording of boot time while booting. To use it, insert | 
|       calls to bootstage_mark() with a suitable BOOTSTAGE_ID from | 
|       bootstage.h. Only a single entry is recorded for each ID. You can | 
|       give the entry a name with bootstage_mark_name(). You can also | 
|       record elapsed time in a particular stage using bootstage_start() | 
|       before starting and bootstage_accum() when finished. Bootstage will | 
|       add up all the accumulated time and report it. | 
|   | 
|       Normally, IDs are defined in bootstage.h but a small number of | 
|       additional 'user' IDs can be used by passing BOOTSTAGE_ID_ALLOC | 
|       as the ID. | 
|   | 
|       Calls to show_boot_progress() will also result in log entries but | 
|       these will not have names. | 
|   | 
| config SPL_BOOTSTAGE | 
|     bool "Boot timing and reported in SPL" | 
|     depends on BOOTSTAGE | 
|     help | 
|       Enable recording of boot time in SPL. To make this visible to U-Boot | 
|       proper, enable BOOTSTAGE_STASH as well. This will stash the timing | 
|       information when SPL finishes and load it when U-Boot proper starts | 
|       up. | 
|   | 
| config BOOTSTAGE_REPORT | 
|     bool "Display a detailed boot timing report before booting the OS" | 
|     depends on BOOTSTAGE | 
|     help | 
|       Enable output of a boot time report just before the OS is booted. | 
|       This shows how long it took U-Boot to go through each stage of the | 
|       boot process. The report looks something like this: | 
|   | 
|         Timer summary in microseconds: | 
|                Mark    Elapsed  Stage | 
|               0          0  reset | 
|           3,575,678  3,575,678  board_init_f start | 
|           3,575,695         17  arch_cpu_init A9 | 
|           3,575,777         82  arch_cpu_init done | 
|           3,659,598     83,821  board_init_r start | 
|           3,910,375    250,777  main_loop | 
|          29,916,167 26,005,792  bootm_start | 
|          30,361,327    445,160  start_kernel | 
|   | 
| config BOOTSTAGE_USER_COUNT | 
|     int "Number of boot ID numbers available for user use" | 
|     default 20 | 
|     help | 
|       This is the number of available user bootstage records. | 
|       Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...) | 
|       a new ID will be allocated from this stash. If you exceed | 
|       the limit, recording will stop. | 
|   | 
| config BOOTSTAGE_RECORD_COUNT | 
|     int "Number of boot stage records to store" | 
|     default 30 | 
|     help | 
|       This is the size of the bootstage record list and is the maximum | 
|       number of bootstage records that can be recorded. | 
|   | 
| config BOOTSTAGE_FDT | 
|     bool "Store boot timing information in the OS device tree" | 
|     depends on BOOTSTAGE | 
|     help | 
|       Stash the bootstage information in the FDT. A root 'bootstage' | 
|       node is created with each bootstage id as a child. Each child | 
|       has a 'name' property and either 'mark' containing the | 
|       mark time in microseconds, or 'accum' containing the | 
|       accumulated time for that bootstage id in microseconds. | 
|       For example: | 
|   | 
|         bootstage { | 
|             154 { | 
|                 name = "board_init_f"; | 
|                 mark = <3575678>; | 
|             }; | 
|             170 { | 
|                 name = "lcd"; | 
|                 accum = <33482>; | 
|             }; | 
|         }; | 
|   | 
|       Code in the Linux kernel can find this in /proc/devicetree. | 
|   | 
| config BOOTSTAGE_STASH | 
|     bool "Stash the boot timing information in memory before booting OS" | 
|     depends on BOOTSTAGE | 
|     help | 
|       Some OSes do not support device tree. Bootstage can instead write | 
|       the boot timing information in a binary format at a given address. | 
|       This happens through a call to bootstage_stash(), typically in | 
|       the CPU's cleanup_before_linux() function. You can use the | 
|       'bootstage stash' and 'bootstage unstash' commands to do this on | 
|       the command line. | 
|   | 
| config BOOTSTAGE_STASH_ADDR | 
|     hex "Address to stash boot timing information" | 
|     default 0 | 
|     help | 
|       Provide an address which will not be overwritten by the OS when it | 
|       starts, so that it can read this information when ready. | 
|   | 
| config BOOTSTAGE_STASH_SIZE | 
|     hex "Size of boot timing stash region" | 
|     default 0x1000 | 
|     help | 
|       This should be large enough to hold the bootstage stash. A value of | 
|       4096 (4KiB) is normally plenty. | 
|   | 
| config BOOTSTAGE_PRINTF_TIMESTAMP | 
|     bool "Support printf timestamp" | 
|     help | 
|       Enabling this will support printf timestamp. | 
| endmenu | 
|   | 
| menu "Boot media" | 
|   | 
| config NOR_BOOT | 
|     bool "Support for booting from NOR flash" | 
|     depends on NOR | 
|     help | 
|       Enabling this will make a U-Boot binary that is capable of being | 
|       booted via NOR.  In this case we will enable certain pinmux early | 
|       as the ROM only partially sets up pinmux.  We also default to using | 
|       NOR for environment. | 
|   | 
| config NAND_BOOT | 
|     bool "Support for booting from NAND flash" | 
|     default n | 
|     help | 
|       Enabling this will make a U-Boot binary that is capable of being | 
|       booted via NAND flash. This is not a must, some SoCs need this, | 
|       some not. | 
|   | 
| config ONENAND_BOOT | 
|     bool "Support for booting from ONENAND" | 
|     default n | 
|     help | 
|       Enabling this will make a U-Boot binary that is capable of being | 
|       booted via ONENAND. This is not a must, some SoCs need this, | 
|       some not. | 
|   | 
| config QSPI_BOOT | 
|     bool "Support for booting from QSPI flash" | 
|     default n | 
|     help | 
|       Enabling this will make a U-Boot binary that is capable of being | 
|       booted via QSPI flash. This is not a must, some SoCs need this, | 
|       some not. | 
|   | 
| config SATA_BOOT | 
|     bool "Support for booting from SATA" | 
|     default n | 
|     help | 
|       Enabling this will make a U-Boot binary that is capable of being | 
|       booted via SATA. This is not a must, some SoCs need this, | 
|       some not. | 
|   | 
| config SD_BOOT | 
|     bool "Support for booting from SD/EMMC" | 
|     default n | 
|     help | 
|       Enabling this will make a U-Boot binary that is capable of being | 
|       booted via SD/EMMC. This is not a must, some SoCs need this, | 
|       some not. | 
|   | 
| config SPI_BOOT | 
|     bool "Support for booting from SPI flash" | 
|     default n | 
|     help | 
|       Enabling this will make a U-Boot binary that is capable of being | 
|       booted via SPI flash. This is not a must, some SoCs need this, | 
|       some not. | 
|   | 
| endmenu | 
|   | 
| config PASS_DEVICE_SERIAL_BY_FDT | 
|     bool "Pass the device serial number to kernel through devicetree" | 
|     default y | 
|     help | 
|       Enabling this will pass a device serial number to kernel by devicetree | 
|       "serial-number" properties. | 
|   | 
| config BOOTDELAY | 
|     int "delay in seconds before automatically booting" | 
|     default 2 | 
|     depends on AUTOBOOT | 
|     help | 
|       Delay before automatically running bootcmd; | 
|       set to 0 to autoboot with no delay, but you can stop it by key input. | 
|       set to -1 to disable autoboot. | 
|       set to -2 to autoboot with no delay and not check for abort | 
|   | 
|       See doc/README.autoboot for details. | 
|   | 
| config USE_BOOTARGS | 
|     bool "Enable boot arguments" | 
|     help | 
|       Provide boot arguments to bootm command. Boot arguments are specified | 
|       in CONFIG_BOOTARGS option. Enable this option to be able to specify | 
|       CONFIG_BOOTARGS string. If this option is disabled, CONFIG_BOOTARGS | 
|       will be undefined and won't take any space in U-Boot image. | 
|   | 
| config BOOTARGS | 
|     string "Boot arguments" | 
|     depends on USE_BOOTARGS | 
|     help | 
|       This can be used to pass arguments to the bootm command. The value of | 
|       CONFIG_BOOTARGS goes into the environment value "bootargs". Note that | 
|       this value will also override the "chosen" node in FDT blob. | 
|   | 
| config IO_TRACE | 
|     bool "Enable iotrace" | 
|     help | 
|       This enable iotrace feature. | 
|   | 
| 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_OUT_SIZE | 
|     hex "Output buffer size" | 
|     depends on CONSOLE_RECORD | 
|     default 0x400 if CONSOLE_RECORD && !ARCH_ROCKCHIP | 
|     default 0x2000 if CONSOLE_RECORD && ARCH_ROCKCHIP | 
|     help | 
|       Set the size of the console output buffer. When this fills up, no | 
|       more data will be recorded until some is removed. The buffer is | 
|       allocated immediately after the malloc() region is ready. | 
|   | 
| config CONSOLE_RECORD_IN_SIZE | 
|     hex "Input buffer size" | 
|     depends on CONSOLE_RECORD | 
|     default 0x100 if CONSOLE_RECORD | 
|     help | 
|       Set the size of the console input buffer. When this contains data, | 
|       tstc() and getc() will use this in preference to real device input. | 
|       The buffer is allocated immediately after the malloc() region is | 
|       ready. | 
|   | 
| config CONSOLE_DISABLE_CLI | 
|     bool "disable ctrlc" | 
|     default n | 
|     help | 
|       This disable CLI interactive in verified-boot. | 
|   | 
| config DISABLE_CONSOLE | 
|     bool "disable console in & out" | 
|     help | 
|      This 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 8 | 
|     help | 
|       All Messages with a loglevel smaller than the console loglevel will | 
|       be compiled in. The loglevels are defined as follows: | 
|   | 
|       0 (KERN_EMERG)          system is unusable | 
|       1 (KERN_ALERT)          action must be taken immediately | 
|       2 (KERN_CRIT)           critical conditions | 
|       3 (KERN_ERR)            error conditions | 
|       4 (KERN_WARNING)        warning conditions | 
|       5 (KERN_NOTICE)         normal but significant condition | 
|       6 (KERN_INFO)           informational | 
|       7 (KERN_DEBUG)          debug-level messages | 
|   | 
| config SPL_LOGLEVEL | 
|     int | 
|     default LOGLEVEL | 
|   | 
| config SILENT_CONSOLE | 
|     bool "Support a silent console" | 
|     help | 
|       This option allows the console to be silenced, meaning that no | 
|       output will appear on the console devices. This is controlled by | 
|       setting the environment vaariable 'silent' to a non-empty value. | 
|       Note this also silences the console when booting Linux. | 
|   | 
|       When the console is set up, the variable is checked, and the | 
|       GD_FLG_SILENT flag is set. Changing the environment variable later | 
|       will update the flag. | 
|   | 
| config SILENT_U_BOOT_ONLY | 
|     bool "Only silence the U-Boot console" | 
|     depends on SILENT_CONSOLE | 
|     help | 
|       Normally when the U-Boot console is silenced, Linux's console is | 
|       also silenced (assuming the board boots into Linux). This option | 
|       allows the linux console to operate normally, even if U-Boot's | 
|       is silenced. | 
|   | 
| config SILENT_CONSOLE_UPDATE_ON_SET | 
|     bool "Changes to the 'silent' environment variable update immediately" | 
|     depends on SILENT_CONSOLE | 
|     default y if SILENT_CONSOLE | 
|     help | 
|       When the 'silent' environment variable is changed, update the | 
|       console silence flag immediately. This allows 'setenv' to be used | 
|       to silence or un-silence the console. | 
|   | 
|       The effect is that any change to the variable will affect the | 
|       GD_FLG_SILENT flag. | 
|   | 
| config SILENT_CONSOLE_UPDATE_ON_RELOC | 
|     bool "Allow flags to take effect on relocation" | 
|     depends on SILENT_CONSOLE | 
|     help | 
|       In some cases the environment is not available until relocation | 
|       (e.g. NAND). This option makes the value of the 'silent' | 
|       environment variable take effect at relocation. | 
|   | 
| config PRE_CONSOLE_BUFFER | 
|     bool "Buffer characters before the console is available" | 
|     help | 
|       Prior to the console being initialised (i.e. serial UART | 
|       initialised etc) all console output is silently discarded. | 
|       Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to | 
|       buffer any console messages prior to the console being | 
|       initialised to a buffer. The buffer is a circular buffer, so | 
|       if it overflows, earlier output is discarded. | 
|   | 
|       Note that this is not currently supported in SPL. It would be | 
|       useful to be able to share the pre-console buffer with SPL. | 
|   | 
| config PRE_CON_BUF_SZ | 
|     int "Sets the size of the pre-console buffer" | 
|     depends on PRE_CONSOLE_BUFFER | 
|     default 4096 | 
|     help | 
|       The size of the pre-console buffer affects how much console output | 
|       can be held before it overflows and starts discarding earlier | 
|       output. Normally there is very little output at this early stage, | 
|       unless debugging is enabled, so allow enough for ~10 lines of | 
|       text. | 
|   | 
|       This is a useful feature if you are using a video console and | 
|       want to see the full boot output on the console. Without this | 
|       option only the post-relocation output will be displayed. | 
|   | 
| config PRE_CON_BUF_ADDR | 
|     hex "Address of the pre-console buffer" | 
|     depends on PRE_CONSOLE_BUFFER | 
|     default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I | 
|     default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I | 
|     help | 
|       This sets the start address of the pre-console buffer. This must | 
|       be in available memory and is accessed before relocation and | 
|       possibly before DRAM is set up. Therefore choose an address | 
|       carefully. | 
|   | 
|       We should consider removing this option and allocating the memory | 
|       in board_init_f_init_reserve() instead. | 
|   | 
| config CONSOLE_MUX | 
|     bool "Enable console multiplexing" | 
|     default y if DM_VIDEO || VIDEO || LCD | 
|     help | 
|       This allows multiple devices to be used for each console 'file'. | 
|       For example, stdout can be set to go to serial and video. | 
|       Similarly, stdin can be set to come from serial and keyboard. | 
|       Input can be provided from either source. Console multiplexing | 
|       adds a small amount of size to U-Boot.  Changes to the environment | 
|       variables stdout, stdin and stderr will take effect immediately. | 
|   | 
| config SYS_CONSOLE_IS_IN_ENV | 
|     bool "Select console devices from the environment" | 
|     default y if CONSOLE_MUX | 
|     help | 
|       This allows multiple input/output devices to be set at boot time. | 
|       For example, if stdout is set to "serial,video" then output will | 
|       be sent to both the serial and video devices on boot. The | 
|       environment variables can be updated after boot to change the | 
|       input/output devices. | 
|   | 
| 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" | 
|     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 supress 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. | 
|   | 
| endmenu | 
|   | 
| menu "Logging" | 
|   | 
| config LOG | 
|     bool "Enable logging support" | 
|     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. | 
|   | 
| config SPL_LOG | 
|     bool "Enable logging support in 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. | 
|   | 
| config LOG_MAX_LEVEL | 
|     int "Maximum log level to record" | 
|     depends on LOG | 
|     default 5 | 
|     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 - panic | 
|         1 - critical | 
|         2 - error | 
|         3 - warning | 
|         4 - note | 
|         5 - info | 
|         6 - detail | 
|         7 - debug | 
|   | 
| config SPL_LOG_MAX_LEVEL | 
|     int "Maximum log level to record in SPL" | 
|     depends on SPL_LOG | 
|     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 - panic | 
|         1 - critical | 
|         2 - error | 
|         3 - warning | 
|         4 - note | 
|         5 - info | 
|         6 - detail | 
|         7 - debug | 
|   | 
| config LOG_CONSOLE | 
|     bool "Allow log output to the console" | 
|     depends on LOG | 
|     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 LOG_SPL_CONSOLE | 
|     bool "Allow log output to the console in SPL" | 
|     depends on LOG_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. | 
|   | 
| config LOG_TEST | 
|     bool "Provide a test for logging" | 
|     depends on LOG | 
|     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 varoius settings. | 
|   | 
| endmenu | 
|   | 
| config DEFAULT_FDT_FILE | 
|     string "Default fdt file" | 
|     help | 
|       This option is used to set the default fdt file to boot OS. | 
|   | 
| config VERSION_VARIABLE | 
|     bool "add U-Boot environment variable vers" | 
|     default n | 
|     help | 
|       If this variable is defined, an environment variable | 
|       named "ver" is created by U-Boot showing the U-Boot | 
|       version as printed by the "version" command. | 
|       Any change to this variable will be reverted at the | 
|       next reset. | 
|   | 
| config BOARD_LATE_INIT | 
|     bool | 
|     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 DISPLAY_CPUINFO | 
|     bool "Display information about the CPU during start up" | 
|     default y if ARM || NIOS2 || X86 || XTENSA | 
|     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 start up" | 
|     default y if 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. | 
|   | 
| menu "Start-up hooks" | 
|   | 
| config ARCH_EARLY_INIT_R | 
|     bool "Call arch-specific init soon after relocation" | 
|     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 relocaiton. | 
|   | 
| 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. | 
|   | 
| endmenu | 
|   | 
| menu "Android features support" | 
| config ANDROID_BOOTLOADER | 
|     bool "Support for Android Bootloader boot flow" | 
|     default n | 
|     depends on ANDROID_BOOT_IMAGE | 
|     help | 
|       If enabled, adds support to boot an Android device following the | 
|       Android Bootloader boot flow. This flow requires an Android Bootloader | 
|       to handle the Android Bootloader Message stored in the Boot Control | 
|       Block (BCB), normally in the "misc" partition of an Android device. | 
|       The BCB is used to determine the boot mode of the device (normal mode, | 
|       recovery mode or bootloader mode) and, if enabled, the slot to boot | 
|       from in devices with multiple boot slots (A/B devices). | 
|   | 
| config ANDROID_AB | 
|     bool "Support for Android A/B updates" | 
|     default n | 
|     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_WRITE_KEYBOX | 
|     bool "Support Write Keybox" | 
|     default y | 
|     depends on OPTEE_CLIENT | 
|     help | 
|       This enable support write keybox to secure storage. | 
|   | 
| config ANDROID_AVB | 
|     bool"Support Android Verified Boot" | 
|     default n | 
|     help | 
|       If enabled, adds support the android verified boot. The avb get the | 
|       digital signature and key from vemeta. Then use the RSA2048 and sha256 | 
|       to verify the boot images. The vbmeta must be matched with images, | 
|       if not, verify failed. | 
|   | 
| config ANDROID_AVB_ROLLBACK_INDEX | 
|     bool"Support Android Verified Boot Rollback Index" | 
|     default n | 
|     help | 
|       If enabled, support the android verified boot rollback index. | 
|   | 
| config ANDROID_KEYMASTER_CA | 
|     bool "Support Keymaster CA" | 
|     default y | 
|     depends on OPTEE_CLIENT | 
|     help | 
|      This enable support read/write data in keymaster. | 
|   | 
| config ANDROID_BOOT_IMAGE | 
|     bool "Enable support for Android Boot Images" | 
|     help | 
|       This enables support for booting images which use the Android | 
|       image format header. | 
|   | 
| config ANDROID_BOOT_IMAGE_HASH | 
|     bool "Enable support for Android image hash verify" | 
|     depends on ANDROID_BOOT_IMAGE | 
|     select SHA1 if !DM_CRYPTO | 
|     help | 
|       This enables support for Android image hash verify, the mkbootimg always use | 
|       SHA1 for images. | 
| endmenu | 
|   | 
| config SKIP_RELOCATE_UBOOT | 
|     bool "Skip U-Boot relocation" | 
|     default y if !ARM64 && !ARM64_BOOT_AARCH32 | 
|     help | 
|       This enable support for skipping U-Boot relocation. | 
|   | 
| 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. | 
|   | 
| endmenu | 
|   | 
| menu "MT support" | 
|   | 
| config MP_BOOT | 
|     bool "Support MT boot" | 
|     default n | 
|   | 
| config MP_BOOT_BOOTM | 
|     bool "MT simple bootm image" | 
|     depends on MP_BOOT | 
|   | 
| endmenu | 
|   | 
| source "common/spl/Kconfig" | 
| source "common/usbplug/Kconfig" |