vpl: Add Kconfig options for VPL
Add VPL versions of commonly used Kconfig options. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
f86ca5ad8f
commit
747093dd40
10
Kconfig
10
Kconfig
@ -319,6 +319,16 @@ config VALGRIND
|
|||||||
it can be handled accurately by Valgrind. If you aren't planning on
|
it can be handled accurately by Valgrind. If you aren't planning on
|
||||||
using valgrind to debug U-Boot, say 'n'.
|
using valgrind to debug U-Boot, say 'n'.
|
||||||
|
|
||||||
|
config VPL_SYS_MALLOC_F_LEN
|
||||||
|
hex "Size of malloc() pool in VPL before relocation"
|
||||||
|
depends on SYS_MALLOC_F && VPL
|
||||||
|
default SYS_MALLOC_F_LEN
|
||||||
|
help
|
||||||
|
Before relocation, memory is very limited on many platforms. Still,
|
||||||
|
we can provide a small malloc() pool if needed. Driver model in
|
||||||
|
particular needs this to operate, so that it can allocate the
|
||||||
|
initial serial device and any others that are needed.
|
||||||
|
|
||||||
menuconfig EXPERT
|
menuconfig EXPERT
|
||||||
bool "Configure standard U-Boot features (expert users)"
|
bool "Configure standard U-Boot features (expert users)"
|
||||||
default y
|
default y
|
||||||
|
@ -89,6 +89,15 @@ config TPL_LOGLEVEL
|
|||||||
int
|
int
|
||||||
default LOGLEVEL
|
default LOGLEVEL
|
||||||
|
|
||||||
|
config VPL_LOGLEVEL
|
||||||
|
int "loglevel for 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
|
config SILENT_CONSOLE
|
||||||
bool "Support a silent console"
|
bool "Support a silent console"
|
||||||
help
|
help
|
||||||
@ -262,6 +271,15 @@ config LOG
|
|||||||
|
|
||||||
if LOG
|
if LOG
|
||||||
|
|
||||||
|
config VPL_LOG
|
||||||
|
bool "Enable logging support in VPL"
|
||||||
|
depends on LOG
|
||||||
|
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
|
config LOG_MAX_LEVEL
|
||||||
int "Maximum log level to record"
|
int "Maximum log level to record"
|
||||||
default 6
|
default 6
|
||||||
@ -431,6 +449,47 @@ config TPL_LOG_CONSOLE
|
|||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
config VPL_LOG
|
||||||
|
bool "Enable logging support in VPL"
|
||||||
|
depends on LOG
|
||||||
|
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
|
config LOG_ERROR_RETURN
|
||||||
bool "Log all functions which return an error"
|
bool "Log all functions which return an error"
|
||||||
help
|
help
|
||||||
@ -777,6 +836,14 @@ config TPL_BLOBLIST
|
|||||||
This enables a bloblist in TPL. The bloblist is set up in TPL and
|
This enables a bloblist in TPL. The bloblist is set up in TPL and
|
||||||
passed to SPL and U-Boot proper.
|
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
|
if BLOBLIST
|
||||||
|
|
||||||
choice
|
choice
|
||||||
|
@ -189,6 +189,13 @@ config SPL_BOARD_INIT
|
|||||||
spl_board_init() from board_init_r(). This function should be
|
spl_board_init() from board_init_r(). This function should be
|
||||||
provided by the board.
|
provided by the board.
|
||||||
|
|
||||||
|
config VPL_BOARD_INIT
|
||||||
|
bool "Call board-specific initialization in VPL"
|
||||||
|
help
|
||||||
|
If this option is enabled, U-Boot will call the function
|
||||||
|
spl_board_init() from board_init_r(). This function should be
|
||||||
|
provided by the board.
|
||||||
|
|
||||||
config SPL_BOOTROM_SUPPORT
|
config SPL_BOOTROM_SUPPORT
|
||||||
bool "Support returning to the BOOTROM"
|
bool "Support returning to the BOOTROM"
|
||||||
help
|
help
|
||||||
@ -1632,6 +1639,218 @@ config TPL_YMODEM_SUPPORT
|
|||||||
|
|
||||||
endif # TPL
|
endif # TPL
|
||||||
|
|
||||||
|
config VPL
|
||||||
|
bool
|
||||||
|
depends on SUPPORT_SPL
|
||||||
|
prompt "Enable VPL"
|
||||||
|
help
|
||||||
|
If you want to build VPL as well as the normal image, TPL and SPL,
|
||||||
|
say Y.
|
||||||
|
|
||||||
|
if VPL
|
||||||
|
|
||||||
|
config VPL_BANNER_PRINT
|
||||||
|
bool "Enable output of the VPL banner 'U-Boot VPL ...'"
|
||||||
|
depends on VPL
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
If this option is enabled, VPL will print the banner with version
|
||||||
|
info. Disabling this option could be useful to reduce VPL boot time
|
||||||
|
(e.g. approx. 6 ms faster, when output on i.MX6 with 115200 baud).
|
||||||
|
|
||||||
|
config VPL_BOARD_INIT
|
||||||
|
bool "Call board-specific initialization in VPL"
|
||||||
|
help
|
||||||
|
If this option is enabled, U-Boot will call the function
|
||||||
|
spl_board_init() from board_init_r(). This function should be
|
||||||
|
provided by the board.
|
||||||
|
|
||||||
|
config VPL_CACHE
|
||||||
|
depends on CACHE
|
||||||
|
bool "Support cache drivers in VPL"
|
||||||
|
help
|
||||||
|
Enable support for cache drivers in VPL.
|
||||||
|
|
||||||
|
config VPL_CRC32
|
||||||
|
bool "Support CRC32 in VPL"
|
||||||
|
default y if VPL_ENV_SUPPORT || VPL_BLOBLIST
|
||||||
|
help
|
||||||
|
Enable this to support CRC32 in uImages or FIT images within VPL.
|
||||||
|
This is a 32-bit checksum value that can be used to verify images.
|
||||||
|
For FIT images, this is the least secure type of checksum, suitable
|
||||||
|
for detected accidental image corruption. For secure applications you
|
||||||
|
should consider SHA1 or SHA256.
|
||||||
|
|
||||||
|
config VPL_DM_SPI
|
||||||
|
bool "Support SPI DM drivers in VPL"
|
||||||
|
help
|
||||||
|
Enable support for SPI DM drivers in VPL.
|
||||||
|
|
||||||
|
config VPL_DM_SPI_FLASH
|
||||||
|
bool "Support SPI DM FLASH drivers in VPL"
|
||||||
|
help
|
||||||
|
Enable support for SPI DM flash drivers in VPL.
|
||||||
|
|
||||||
|
config VPL_FRAMEWORK
|
||||||
|
bool "Support VPL based upon the common SPL framework"
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Enable the SPL framework under common/spl/ for VPL builds.
|
||||||
|
This framework supports MMC, NAND and YMODEM and other methods
|
||||||
|
loading of U-Boot's next stage. If unsure, say Y.
|
||||||
|
|
||||||
|
config VPL_HANDOFF
|
||||||
|
bool "Pass hand-off information from VPL to SPL"
|
||||||
|
depends on HANDOFF && VPL_BLOBLIST
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
This option enables VPL to write handoff information. This can be
|
||||||
|
used to pass information like the size of SDRAM from VPL to SPL. Also
|
||||||
|
VPL can receive information from TPL in the same place if that is
|
||||||
|
enabled.
|
||||||
|
|
||||||
|
config VPL_LIBCOMMON_SUPPORT
|
||||||
|
bool "Support common libraries"
|
||||||
|
default y if SPL_LIBCOMMON_SUPPORT
|
||||||
|
help
|
||||||
|
Enable support for common U-Boot libraries within VPL. See
|
||||||
|
SPL_LIBCOMMON_SUPPORT for details.
|
||||||
|
|
||||||
|
config VPL_LIBGENERIC_SUPPORT
|
||||||
|
bool "Support generic libraries"
|
||||||
|
default y if SPL_LIBGENERIC_SUPPORT
|
||||||
|
help
|
||||||
|
Enable support for generic U-Boot libraries within VPL. These
|
||||||
|
libraries include generic code to deal with device tree, hashing,
|
||||||
|
printf(), compression and the like. This option is enabled on many
|
||||||
|
boards. Enable this option to build the code in lib/ as part of a
|
||||||
|
VPL build.
|
||||||
|
|
||||||
|
config VPL_DRIVERS_MISC
|
||||||
|
bool "Support misc drivers"
|
||||||
|
default y if TPL_DRIVERS_MISC
|
||||||
|
help
|
||||||
|
Enable miscellaneous drivers in VPL. These drivers perform various
|
||||||
|
tasks that don't fall nicely into other categories, Enable this
|
||||||
|
option to build the drivers in drivers/misc as part of a VPL
|
||||||
|
build, for those that support building in VPL (not all drivers do).
|
||||||
|
|
||||||
|
config VPL_ENV_SUPPORT
|
||||||
|
bool "Support an environment"
|
||||||
|
help
|
||||||
|
Enable environment support in VPL. The U-Boot environment provides
|
||||||
|
a number of settings (essentially name/value pairs) which can
|
||||||
|
control many aspects of U-Boot's operation. Enabling this option will
|
||||||
|
make env_get() and env_set() available in VSPL.
|
||||||
|
|
||||||
|
config VPL_GPIO
|
||||||
|
bool "Support GPIO in VPL"
|
||||||
|
default y if SPL_GPIO
|
||||||
|
help
|
||||||
|
Enable support for GPIOs (General-purpose Input/Output) in VPL.
|
||||||
|
GPIOs allow U-Boot to read the state of an input line (high or
|
||||||
|
low) and set the state of an output line. This can be used to
|
||||||
|
drive LEDs, control power to various system parts and read user
|
||||||
|
input. GPIOs can be useful in VPL to enable a 'sign-of-life' LED,
|
||||||
|
for example. Enable this option to build the drivers in
|
||||||
|
drivers/gpio as part of a VPL build.
|
||||||
|
|
||||||
|
config VPL_HANDOFF
|
||||||
|
bool "Pass hand-off information from VPL to SPL and U-Boot proper"
|
||||||
|
depends on HANDOFF && VPL_BLOBLIST
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
This option enables VPL to write handoff information. This can be
|
||||||
|
used to pass information like the size of SDRAM from VPL to U-Boot
|
||||||
|
proper. The information is also available to VPL if it is useful
|
||||||
|
there.
|
||||||
|
|
||||||
|
config VPL_HASH
|
||||||
|
bool "Support hashing drivers in VPL"
|
||||||
|
depends on VPL
|
||||||
|
select SHA1
|
||||||
|
select SHA256
|
||||||
|
help
|
||||||
|
Enable hashing drivers in VPL. These drivers can be used to
|
||||||
|
accelerate secure boot processing in secure applications. Enable
|
||||||
|
this option to build system-specific drivers for hash acceleration
|
||||||
|
as part of a VPL build.
|
||||||
|
|
||||||
|
config VPL_I2C_SUPPORT
|
||||||
|
bool "Support I2C in VPL"
|
||||||
|
default y if SPL_I2C_SUPPORT
|
||||||
|
help
|
||||||
|
Enable support for the I2C bus in VPL. Vee SPL_I2C_SUPPORT for
|
||||||
|
details.
|
||||||
|
|
||||||
|
config VPL_PCH_SUPPORT
|
||||||
|
bool "Support PCH drivers"
|
||||||
|
default y if TPL_PCH_SUPPORT
|
||||||
|
help
|
||||||
|
Enable support for PCH (Platform Controller Hub) devices in VPL.
|
||||||
|
These are used to set up GPIOs and the SPI peripheral early in
|
||||||
|
boot. This enables the drivers in drivers/pch as part of a VPL
|
||||||
|
build.
|
||||||
|
|
||||||
|
config VPL_PCI
|
||||||
|
bool "Support PCI drivers"
|
||||||
|
default y if SPL_PCI
|
||||||
|
help
|
||||||
|
Enable support for PCI in VPL. For platforms that need PCI to boot,
|
||||||
|
or must perform some init using PCI in VPL, this provides the
|
||||||
|
necessary driver support. This enables the drivers in drivers/pci
|
||||||
|
as part of a VPL build.
|
||||||
|
|
||||||
|
config VPL_RTC
|
||||||
|
bool "Support RTC drivers"
|
||||||
|
help
|
||||||
|
Enable RTC (Real-time Clock) support in VPL. This includes support
|
||||||
|
for reading and setting the time. Some RTC devices also have some
|
||||||
|
non-volatile (battery-backed) memory which is accessible if
|
||||||
|
needed. This enables the drivers in drivers/rtc as part of a VPL
|
||||||
|
build.
|
||||||
|
|
||||||
|
config VPL_SERIAL
|
||||||
|
bool "Support serial"
|
||||||
|
default y if TPL_SERIAL
|
||||||
|
select VPL_PRINTF
|
||||||
|
select VPL_STRTO
|
||||||
|
help
|
||||||
|
Enable support for serial in VPL. See SPL_SERIAL_SUPPORT for
|
||||||
|
details.
|
||||||
|
|
||||||
|
config VPL_SIZE_LIMIT
|
||||||
|
hex "Maximum size of VPL image"
|
||||||
|
depends on VPL
|
||||||
|
default 0x0
|
||||||
|
help
|
||||||
|
Specifies the maximum length of the U-Boot VPL image.
|
||||||
|
If this value is zero, it is ignored.
|
||||||
|
|
||||||
|
config VPL_SPI
|
||||||
|
bool "Support SPI drivers"
|
||||||
|
help
|
||||||
|
Enable support for using SPI in VPL. See SPL_SPI_SUPPORT for
|
||||||
|
details.
|
||||||
|
|
||||||
|
config VPL_SPI_FLASH_SUPPORT
|
||||||
|
bool "Support SPI flash drivers"
|
||||||
|
help
|
||||||
|
Enable support for using SPI flash in VPL, and loading U-Boot from
|
||||||
|
SPI flash. SPI flash (Serial Peripheral Bus flash) is named after
|
||||||
|
the SPI bus that is used to connect it to a system. It is a simple
|
||||||
|
but fast bidirectional 4-wire bus (clock, chip select and two data
|
||||||
|
lines). This enables the drivers in drivers/mtd/spi as part of a
|
||||||
|
VPL build. This normally requires VPL_SPI_SUPPORT.
|
||||||
|
|
||||||
|
config VPL_TEXT_BASE
|
||||||
|
hex "VPL Text Base"
|
||||||
|
default 0x0
|
||||||
|
help
|
||||||
|
The address in memory that VPL will be running from.
|
||||||
|
|
||||||
|
endif # VPL
|
||||||
|
|
||||||
config SPL_AT91_MCK_BYPASS
|
config SPL_AT91_MCK_BYPASS
|
||||||
bool "Use external clock signal as a source of main clock for AT91 platforms"
|
bool "Use external clock signal as a source of main clock for AT91 platforms"
|
||||||
depends on ARCH_AT91
|
depends on ARCH_AT91
|
||||||
|
@ -39,6 +39,18 @@ config TPL_BLK
|
|||||||
be partitioned into several areas, called 'partitions' in U-Boot.
|
be partitioned into several areas, called 'partitions' in U-Boot.
|
||||||
A filesystem can be placed in each partition.
|
A filesystem can be placed in each partition.
|
||||||
|
|
||||||
|
config VPL_BLK
|
||||||
|
bool "Support block devices in VPL"
|
||||||
|
depends on VPL_DM && BLK
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Enable support for block devices, such as SCSI, MMC and USB
|
||||||
|
flash sticks. These provide a block-level interface which permits
|
||||||
|
reading, writing and (in some cases) erasing blocks. Block
|
||||||
|
devices often have a partition table which allows the device to
|
||||||
|
be partitioned into several areas, called 'partitions' in U-Boot.
|
||||||
|
A filesystem can be placed in each partition.
|
||||||
|
|
||||||
config BLOCK_CACHE
|
config BLOCK_CACHE
|
||||||
bool "Use block device cache"
|
bool "Use block device cache"
|
||||||
depends on BLK
|
depends on BLK
|
||||||
|
@ -30,6 +30,32 @@ config TPL_CLK
|
|||||||
setting up clocks within TPL, and allows the same drivers to be
|
setting up clocks within TPL, and allows the same drivers to be
|
||||||
used as U-Boot proper.
|
used as U-Boot proper.
|
||||||
|
|
||||||
|
config VPL_CLK
|
||||||
|
bool "Enable clock support in VPL"
|
||||||
|
depends on CLK && VPL_DM
|
||||||
|
help
|
||||||
|
The clock subsystem adds a small amount of overhead to the image.
|
||||||
|
If this is acceptable and you have a need to use clock drivers in
|
||||||
|
SPL, enable this option. It might provide a cleaner interface to
|
||||||
|
setting up clocks within TPL, and allows the same drivers to be
|
||||||
|
used as U-Boot proper.
|
||||||
|
|
||||||
|
config CLK_BCM6345
|
||||||
|
bool "Clock controller driver for BCM6345"
|
||||||
|
depends on CLK && ARCH_BMIPS
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
This clock driver adds support for enabling and disabling peripheral
|
||||||
|
clocks on BCM6345 SoCs. HW has no rate changing capabilities.
|
||||||
|
|
||||||
|
config CLK_BOSTON
|
||||||
|
def_bool y if TARGET_BOSTON
|
||||||
|
depends on CLK
|
||||||
|
select REGMAP
|
||||||
|
select SYSCON
|
||||||
|
help
|
||||||
|
Enable this to support the clocks
|
||||||
|
|
||||||
config SPL_CLK_CCF
|
config SPL_CLK_CCF
|
||||||
bool "SPL Common Clock Framework [CCF] support "
|
bool "SPL Common Clock Framework [CCF] support "
|
||||||
depends on SPL
|
depends on SPL
|
||||||
|
@ -35,6 +35,16 @@ config TPL_DM
|
|||||||
CONFIG_SPL_SYS_MALLOC_F_LEN for more details on how to enable it.
|
CONFIG_SPL_SYS_MALLOC_F_LEN for more details on how to enable it.
|
||||||
Disable this for very small implementations.
|
Disable this for very small implementations.
|
||||||
|
|
||||||
|
config VPL_DM
|
||||||
|
bool "Enable Driver Model for VPL"
|
||||||
|
depends on DM && VPL
|
||||||
|
default y if SPL_DM
|
||||||
|
help
|
||||||
|
Enable driver model in VPL. You will need to provide a
|
||||||
|
suitable malloc() implementation. If you are not using the
|
||||||
|
full malloc() enabled by CONFIG_SYS_SPL_MALLOC_START,
|
||||||
|
consider using CONFIG_SYS_MALLOC_SIMPLE.
|
||||||
|
|
||||||
config DM_WARN
|
config DM_WARN
|
||||||
bool "Enable warnings in driver model"
|
bool "Enable warnings in driver model"
|
||||||
depends on DM
|
depends on DM
|
||||||
@ -121,6 +131,15 @@ config SPL_DM_SEQ_ALIAS
|
|||||||
numbered devices (e.g. serial0 = &serial0). This feature can be
|
numbered devices (e.g. serial0 = &serial0). This feature can be
|
||||||
disabled if it is not required, to save code space in SPL.
|
disabled if it is not required, to save code space in SPL.
|
||||||
|
|
||||||
|
config VPL_DM_SEQ_ALIAS
|
||||||
|
bool "Support numbered aliases in device tree in VPL"
|
||||||
|
depends on VPL_DM
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Most boards will have a '/aliases' node containing the path to
|
||||||
|
numbered devices (e.g. serial0 = &serial0). This feature can be
|
||||||
|
disabled if it is not required, to save code space in VPL.
|
||||||
|
|
||||||
config SPL_DM_INLINE_OFNODE
|
config SPL_DM_INLINE_OFNODE
|
||||||
bool "Inline some ofnode functions which are seldom used in SPL"
|
bool "Inline some ofnode functions which are seldom used in SPL"
|
||||||
depends on SPL_DM
|
depends on SPL_DM
|
||||||
@ -176,6 +195,16 @@ config TPL_REGMAP
|
|||||||
support any bus type (I2C, SPI) but so far this only supports
|
support any bus type (I2C, SPI) but so far this only supports
|
||||||
direct memory access.
|
direct memory access.
|
||||||
|
|
||||||
|
config VPL_REGMAP
|
||||||
|
bool "Support register maps in VPL"
|
||||||
|
depends on VPL_DM
|
||||||
|
help
|
||||||
|
Hardware peripherals tend to have one or more sets of registers
|
||||||
|
which can be accessed to control the hardware. A register map
|
||||||
|
models this with a simple read/write interface. It can in principle
|
||||||
|
support any bus type (I2C, SPI) but so far this only supports
|
||||||
|
direct memory access.
|
||||||
|
|
||||||
config SYSCON
|
config SYSCON
|
||||||
bool "Support system controllers"
|
bool "Support system controllers"
|
||||||
depends on REGMAP
|
depends on REGMAP
|
||||||
@ -196,7 +225,16 @@ config SPL_SYSCON
|
|||||||
|
|
||||||
config TPL_SYSCON
|
config TPL_SYSCON
|
||||||
bool "Support system controllers in TPL"
|
bool "Support system controllers in TPL"
|
||||||
depends on TPL_REGMAP
|
depends on SPL_REGMAP
|
||||||
|
help
|
||||||
|
Many SoCs have a number of system controllers which are dealt with
|
||||||
|
as a group by a single driver. Some common functionality is provided
|
||||||
|
by this uclass, including accessing registers via regmap and
|
||||||
|
assigning a unique number to each.
|
||||||
|
|
||||||
|
config VPL_SYSCON
|
||||||
|
bool "Support system controllers in VPL"
|
||||||
|
depends on VPL_REGMAP
|
||||||
help
|
help
|
||||||
Many SoCs have a number of system controllers which are dealt with
|
Many SoCs have a number of system controllers which are dealt with
|
||||||
as a group by a single driver. Some common functionality is provided
|
as a group by a single driver. Some common functionality is provided
|
||||||
@ -292,6 +330,20 @@ config SPL_OF_TRANSLATE
|
|||||||
used for the address translation. This function is faster and
|
used for the address translation. This function is faster and
|
||||||
smaller in size than fdt_translate_address().
|
smaller in size than fdt_translate_address().
|
||||||
|
|
||||||
|
config VPL_OF_TRANSLATE
|
||||||
|
bool "Translate addresses using fdt_translate_address in SPL"
|
||||||
|
depends on SPL_DM && VPL_OF_CONTROL
|
||||||
|
help
|
||||||
|
If this option is enabled, the reg property will be translated
|
||||||
|
using the fdt_translate_address() function. This is necessary
|
||||||
|
on some platforms (e.g. MVEBU) using complex "ranges"
|
||||||
|
properties in many nodes. As this translation is not handled
|
||||||
|
correctly in the default simple_bus_translate() function.
|
||||||
|
|
||||||
|
If this option is not enabled, simple_bus_translate() will be
|
||||||
|
used for the address translation. This function is faster and
|
||||||
|
smaller in size than fdt_translate_address().
|
||||||
|
|
||||||
config TRANSLATION_OFFSET
|
config TRANSLATION_OFFSET
|
||||||
bool "Platforms specific translation offset"
|
bool "Platforms specific translation offset"
|
||||||
depends on DM && OF_CONTROL
|
depends on DM && OF_CONTROL
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
obj-y += device.o fdtaddr.o lists.o root.o uclass.o util.o tag.o
|
obj-y += device.o fdtaddr.o lists.o root.o uclass.o util.o tag.o
|
||||||
obj-$(CONFIG_$(SPL_TPL_)ACPIGEN) += acpi.o
|
obj-$(CONFIG_$(SPL_TPL_)ACPIGEN) += acpi.o
|
||||||
obj-$(CONFIG_$(SPL_TPL_)DEVRES) += devres.o
|
obj-$(CONFIG_$(SPL_TPL_)DEVRES) += devres.o
|
||||||
obj-$(CONFIG_$(SPL_)DM_DEVICE_REMOVE) += device-remove.o
|
obj-$(CONFIG_$(SPL_TPL_)DM_DEVICE_REMOVE) += device-remove.o
|
||||||
obj-$(CONFIG_$(SPL_)SIMPLE_BUS) += simple-bus.o
|
obj-$(CONFIG_$(SPL_)SIMPLE_BUS) += simple-bus.o
|
||||||
obj-$(CONFIG_SIMPLE_PM_BUS) += simple-pm-bus.o
|
obj-$(CONFIG_SIMPLE_PM_BUS) += simple-pm-bus.o
|
||||||
obj-$(CONFIG_DM) += dump.o
|
obj-$(CONFIG_DM) += dump.o
|
||||||
|
@ -48,6 +48,17 @@ config TPL_DM_GPIO
|
|||||||
particular GPIOs that they provide. The uclass interface
|
particular GPIOs that they provide. The uclass interface
|
||||||
is defined in include/asm-generic/gpio.h.
|
is defined in include/asm-generic/gpio.h.
|
||||||
|
|
||||||
|
config VPL_DM_GPIO
|
||||||
|
bool "Enable Driver Model for GPIO drivers in VPL"
|
||||||
|
depends on DM_GPIO && VPL_DM && VPL_GPIO
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Enable driver model for GPIO access in VPL. The standard GPIO
|
||||||
|
interface (gpio_get_value(), etc.) is then implemented by
|
||||||
|
the GPIO uclass. Drivers provide methods to query the
|
||||||
|
particular GPIOs that they provide. The uclass interface
|
||||||
|
is defined in include/asm-generic/gpio.h.
|
||||||
|
|
||||||
config GPIO_HOG
|
config GPIO_HOG
|
||||||
bool "Enable GPIO hog support"
|
bool "Enable GPIO hog support"
|
||||||
depends on DM_GPIO
|
depends on DM_GPIO
|
||||||
|
@ -47,6 +47,17 @@ config SPL_DM_I2C
|
|||||||
device (bus child) info is kept as parent platdata. The interface
|
device (bus child) info is kept as parent platdata. The interface
|
||||||
is defined in include/i2c.h.
|
is defined in include/i2c.h.
|
||||||
|
|
||||||
|
config VPL_DM_I2C
|
||||||
|
bool "Enable Driver Model for I2C drivers in VPL"
|
||||||
|
depends on VPL_DM && DM_I2C
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Enable driver model for I2C. The I2C uclass interface: probe, read,
|
||||||
|
write and speed, is implemented with the bus drivers operations,
|
||||||
|
which provide methods for bus setting and data transfer. Each chip
|
||||||
|
device (bus child) info is kept as parent platdata. The interface
|
||||||
|
is defined in include/i2c.h.
|
||||||
|
|
||||||
config SYS_I2C_LEGACY
|
config SYS_I2C_LEGACY
|
||||||
bool "Enable legacy I2C subsystem and drivers"
|
bool "Enable legacy I2C subsystem and drivers"
|
||||||
depends on !DM_I2C
|
depends on !DM_I2C
|
||||||
|
@ -131,6 +131,16 @@ config TPL_CROS_EC
|
|||||||
control access to the battery and main PMIC depending on the
|
control access to the battery and main PMIC depending on the
|
||||||
device. You can use the 'crosec' command to access it.
|
device. You can use the 'crosec' command to access it.
|
||||||
|
|
||||||
|
config VPL_CROS_EC
|
||||||
|
bool "Enable Chrome OS EC in VPL"
|
||||||
|
depends on VPL
|
||||||
|
help
|
||||||
|
Enable access to the Chrome OS EC in VPL. This is a separate
|
||||||
|
microcontroller typically available on a SPI bus on Chromebooks. It
|
||||||
|
provides access to the keyboard, some internal storage and may
|
||||||
|
control access to the battery and main PMIC depending on the
|
||||||
|
device. You can use the 'crosec' command to access it.
|
||||||
|
|
||||||
config CROS_EC_I2C
|
config CROS_EC_I2C
|
||||||
bool "Enable Chrome OS EC I2C driver"
|
bool "Enable Chrome OS EC I2C driver"
|
||||||
depends on CROS_EC
|
depends on CROS_EC
|
||||||
@ -167,6 +177,15 @@ config TPL_CROS_EC_LPC
|
|||||||
through a legacy port interface, so on x86 machines the main
|
through a legacy port interface, so on x86 machines the main
|
||||||
function of the EC is power and thermal management.
|
function of the EC is power and thermal management.
|
||||||
|
|
||||||
|
config VPL_CROS_EC_LPC
|
||||||
|
bool "Enable Chrome OS EC LPC driver in VPL"
|
||||||
|
depends on CROS_EC
|
||||||
|
help
|
||||||
|
Enable I2C access to the Chrome OS EC. This is used on x86
|
||||||
|
Chromebooks such as link and falco. The keyboard is provided
|
||||||
|
through a legacy port interface, so on x86 machines the main
|
||||||
|
function of the EC is power and thermal management.
|
||||||
|
|
||||||
config CROS_EC_SANDBOX
|
config CROS_EC_SANDBOX
|
||||||
bool "Enable Chrome OS EC sandbox driver"
|
bool "Enable Chrome OS EC sandbox driver"
|
||||||
depends on CROS_EC && SANDBOX
|
depends on CROS_EC && SANDBOX
|
||||||
@ -194,6 +213,15 @@ config TPL_CROS_EC_SANDBOX
|
|||||||
EC flash read/write/erase support and a few other things. It is
|
EC flash read/write/erase support and a few other things. It is
|
||||||
enough to perform a Chrome OS verified boot on sandbox.
|
enough to perform a Chrome OS verified boot on sandbox.
|
||||||
|
|
||||||
|
config VPL_CROS_EC_SANDBOX
|
||||||
|
bool "Enable Chrome OS EC sandbox driver in VPL"
|
||||||
|
depends on VPL_CROS_EC && SANDBOX
|
||||||
|
help
|
||||||
|
Enable a sandbox emulation of the Chrome OS EC in VPL. This supports
|
||||||
|
keyboard (use the -l flag to enable the LCD), verified boot context,
|
||||||
|
EC flash read/write/erase support and a few other things. It is
|
||||||
|
enough to perform a Chrome OS verified boot on sandbox.
|
||||||
|
|
||||||
config CROS_EC_SPI
|
config CROS_EC_SPI
|
||||||
bool "Enable Chrome OS EC SPI driver"
|
bool "Enable Chrome OS EC SPI driver"
|
||||||
depends on CROS_EC
|
depends on CROS_EC
|
||||||
|
@ -89,20 +89,34 @@ config TPL_PINCTRL
|
|||||||
This option is an TPL variant of the PINCTRL option.
|
This option is an TPL variant of the PINCTRL option.
|
||||||
See the help of PINCTRL for details.
|
See the help of PINCTRL for details.
|
||||||
|
|
||||||
|
config VPL_PINCTRL
|
||||||
|
bool "Support pin controllers in VPL"
|
||||||
|
depends on VPL && VPL_DM
|
||||||
|
help
|
||||||
|
This option is an VPL variant of the PINCTRL option.
|
||||||
|
See the help of PINCTRL for details.
|
||||||
|
|
||||||
config SPL_PINCTRL_FULL
|
config SPL_PINCTRL_FULL
|
||||||
bool "Support full pin controllers in SPL"
|
bool "Support full pin controllers in SPL"
|
||||||
depends on SPL_PINCTRL && SPL_OF_CONTROL
|
depends on SPL_PINCTRL && SPL_OF_CONTROL
|
||||||
default n if TARGET_STM32F746_DISCO
|
default n if TARGET_STM32F746_DISCO
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
This option is an SPL-variant of the PINCTRL_FULL option.
|
This option is an SPL variant of the PINCTRL_FULL option.
|
||||||
See the help of PINCTRL_FULL for details.
|
See the help of PINCTRL_FULL for details.
|
||||||
|
|
||||||
config TPL_PINCTRL_FULL
|
config TPL_PINCTRL_FULL
|
||||||
bool "Support full pin controllers in TPL"
|
bool "Support full pin controllers in TPL"
|
||||||
depends on TPL_PINCTRL && TPL_OF_CONTROL
|
depends on TPL_PINCTRL && TPL_OF_CONTROL
|
||||||
help
|
help
|
||||||
This option is an TPL-variant of the PINCTRL_FULL option.
|
This option is a TPL variant of the PINCTRL_FULL option.
|
||||||
|
See the help of PINCTRL_FULL for details.
|
||||||
|
|
||||||
|
config VPL_PINCTRL_FULL
|
||||||
|
bool "Support full pin controllers in VPL"
|
||||||
|
depends on VPL_PINCTRL && VPL_OF_CONTROL
|
||||||
|
help
|
||||||
|
This option is a VPL variant of the PINCTRL_FULL option.
|
||||||
See the help of PINCTRL_FULL for details.
|
See the help of PINCTRL_FULL for details.
|
||||||
|
|
||||||
config SPL_PINCTRL_GENERIC
|
config SPL_PINCTRL_GENERIC
|
||||||
|
@ -32,6 +32,15 @@ config TPL_DM_RTC
|
|||||||
drivers to perform the actual functions. See rtc.h for a
|
drivers to perform the actual functions. See rtc.h for a
|
||||||
description of the API.
|
description of the API.
|
||||||
|
|
||||||
|
config VPL_DM_RTC
|
||||||
|
bool "Enable Driver Model for RTC drivers in VPL"
|
||||||
|
depends on VPL_DM
|
||||||
|
help
|
||||||
|
Enable drver model for real-time-clock drivers. The RTC uclass
|
||||||
|
then provides the rtc_get()/rtc_set() interface, delegating to
|
||||||
|
drivers to perform the actual functions. See rtc.h for a
|
||||||
|
description of the API.
|
||||||
|
|
||||||
config RTC_ENABLE_32KHZ_OUTPUT
|
config RTC_ENABLE_32KHZ_OUTPUT
|
||||||
bool "Enable RTC 32Khz output"
|
bool "Enable RTC 32Khz output"
|
||||||
help
|
help
|
||||||
|
@ -74,6 +74,16 @@ config TPL_SERIAL_PRESENT
|
|||||||
This option enables the full UART in TPL, so if is it disabled,
|
This option enables the full UART in TPL, so if is it disabled,
|
||||||
the full UART driver will be omitted, thus saving space.
|
the full UART driver will be omitted, thus saving space.
|
||||||
|
|
||||||
|
config VPL_SERIAL_PRESENT
|
||||||
|
bool "Provide a serial driver in VPL"
|
||||||
|
depends on DM_SERIAL && VPL
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
In very space-constrained devices even the full UART driver is too
|
||||||
|
large. In this case the debug UART can still be used in some cases.
|
||||||
|
This option enables the full UART in TPL, so if is it disabled,
|
||||||
|
the full UART driver will be omitted, thus saving space.
|
||||||
|
|
||||||
# Logic to allow us to use the imply keyword to set what the default port
|
# Logic to allow us to use the imply keyword to set what the default port
|
||||||
# should be. The default is otherwise 1.
|
# should be. The default is otherwise 1.
|
||||||
config CONS_INDEX_0
|
config CONS_INDEX_0
|
||||||
@ -195,6 +205,16 @@ config TPL_DM_SERIAL
|
|||||||
implements serial_putc() etc. The uclass interface is
|
implements serial_putc() etc. The uclass interface is
|
||||||
defined in include/serial.h.
|
defined in include/serial.h.
|
||||||
|
|
||||||
|
config VPL_DM_SERIAL
|
||||||
|
bool "Enable Driver Model for serial drivers in VPL"
|
||||||
|
depends on DM_SERIAL
|
||||||
|
default y if VPL && DM_SERIAL
|
||||||
|
help
|
||||||
|
Enable driver model for serial in VPL. This replaces
|
||||||
|
drivers/serial/serial.c with the serial uclass, which
|
||||||
|
implements serial_putc() etc. The uclass interface is
|
||||||
|
defined in include/serial.h.
|
||||||
|
|
||||||
config DEBUG_UART
|
config DEBUG_UART
|
||||||
bool "Enable an early debug UART for debugging"
|
bool "Enable an early debug UART for debugging"
|
||||||
help
|
help
|
||||||
|
@ -31,6 +31,16 @@ config TPL_SYSRESET
|
|||||||
to effect a reset. The uclass will try all available drivers when
|
to effect a reset. The uclass will try all available drivers when
|
||||||
reset_walk() is called.
|
reset_walk() is called.
|
||||||
|
|
||||||
|
config VPL_SYSRESET
|
||||||
|
bool "Enable support for system reset drivers in VPL mode"
|
||||||
|
depends on SYSRESET && VPL_DM
|
||||||
|
default y if TPL_SYSRESET
|
||||||
|
help
|
||||||
|
Enable system reset drivers which can be used to reset the CPU or
|
||||||
|
board. Each driver can provide a reset method which will be called
|
||||||
|
to effect a reset. The uclass will try all available drivers when
|
||||||
|
reset_walk() is called.
|
||||||
|
|
||||||
if SYSRESET
|
if SYSRESET
|
||||||
|
|
||||||
config SYSRESET_CMD_RESET
|
config SYSRESET_CMD_RESET
|
||||||
|
@ -27,6 +27,16 @@ config TPL_TIMER
|
|||||||
function. This enables the drivers in drivers/timer as part of an
|
function. This enables the drivers in drivers/timer as part of an
|
||||||
TPL build.
|
TPL build.
|
||||||
|
|
||||||
|
config VPL_TIMER
|
||||||
|
bool "Enable driver model for timer drivers in VPL"
|
||||||
|
depends on TIMER && VPL
|
||||||
|
default y if TPL_TIMER
|
||||||
|
help
|
||||||
|
Enable support for timer drivers in VPL. These can be used to get
|
||||||
|
a timer value when in VPL, or perhaps for implementing a delay
|
||||||
|
function. This enables the drivers in drivers/timer as part of an
|
||||||
|
TPL build.
|
||||||
|
|
||||||
config TIMER_EARLY
|
config TIMER_EARLY
|
||||||
bool "Allow timer to be used early in U-Boot"
|
bool "Allow timer to be used early in U-Boot"
|
||||||
depends on TIMER
|
depends on TIMER
|
||||||
|
@ -137,6 +137,36 @@ config TPM2_CR50_I2C
|
|||||||
trust for a device, It operates like a TPM and can be used with
|
trust for a device, It operates like a TPM and can be used with
|
||||||
verified boot. Cr50 is used on recent Chromebooks (since 2017).
|
verified boot. Cr50 is used on recent Chromebooks (since 2017).
|
||||||
|
|
||||||
|
config SPL_TPM2_CR50_I2C
|
||||||
|
bool "Enable support for Google cr50 TPM"
|
||||||
|
depends on DM_I2C && SPL_TPM
|
||||||
|
help
|
||||||
|
Cr50 is an implementation of a TPM on Google's H1 security chip.
|
||||||
|
This uses the same open-source firmware as the Chromium OS EC.
|
||||||
|
While Cr50 has other features, its primary role is as the root of
|
||||||
|
trust for a device, It operates like a TPM and can be used with
|
||||||
|
verified boot. Cr50 is used on recent Chromebooks (since 2017).
|
||||||
|
|
||||||
|
config TPL_TPM2_CR50_I2C
|
||||||
|
bool "Enable support for Google cr50 TPM"
|
||||||
|
depends on DM_I2C && TPL_TPM
|
||||||
|
help
|
||||||
|
Cr50 is an implementation of a TPM on Google's H1 security chip.
|
||||||
|
This uses the same open-source firmware as the Chromium OS EC.
|
||||||
|
While Cr50 has other features, its primary role is as the root of
|
||||||
|
trust for a device, It operates like a TPM and can be used with
|
||||||
|
verified boot. Cr50 is used on recent Chromebooks (since 2017).
|
||||||
|
|
||||||
|
config VPL_TPM2_CR50_I2C
|
||||||
|
bool "Enable support for Google cr50 TPM"
|
||||||
|
depends on DM_I2C && VPL_TPM
|
||||||
|
help
|
||||||
|
Cr50 is an implementation of a TPM on Google's H1 security chip.
|
||||||
|
This uses the same open-source firmware as the Chromium OS EC.
|
||||||
|
While Cr50 has other features, its primary role is as the root of
|
||||||
|
trust for a device, It operates like a TPM and can be used with
|
||||||
|
verified boot. Cr50 is used on recent Chromebooks (since 2017).
|
||||||
|
|
||||||
config TPM2_TIS_SANDBOX
|
config TPM2_TIS_SANDBOX
|
||||||
bool "Enable sandbox TPMv2.x driver"
|
bool "Enable sandbox TPMv2.x driver"
|
||||||
depends on TPM_V2 && SANDBOX
|
depends on TPM_V2 && SANDBOX
|
||||||
|
17
dts/Kconfig
17
dts/Kconfig
@ -65,6 +65,15 @@ config TPL_OF_CONTROL
|
|||||||
which is not enough to support device tree. Enable this option to
|
which is not enough to support device tree. Enable this option to
|
||||||
allow such boards to be supported by U-Boot TPL.
|
allow such boards to be supported by U-Boot TPL.
|
||||||
|
|
||||||
|
config VPL_OF_CONTROL
|
||||||
|
bool "Enable run-time configuration via Device Tree in VPL"
|
||||||
|
depends on VPL && OF_CONTROL
|
||||||
|
default y if SPL_OF_CONTROL
|
||||||
|
help
|
||||||
|
Some boards use device tree in U-Boot but only have 4KB of SRAM
|
||||||
|
which is not enough to support device tree. Enable this option to
|
||||||
|
allow such boards to be supported by U-Boot VPL.
|
||||||
|
|
||||||
config OF_LIVE
|
config OF_LIVE
|
||||||
bool "Enable use of a live tree"
|
bool "Enable use of a live tree"
|
||||||
depends on DM && OF_CONTROL
|
depends on DM && OF_CONTROL
|
||||||
@ -523,4 +532,12 @@ config TPL_OF_PLATDATA_DRIVER_RT
|
|||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
config VPL_OF_REAL
|
||||||
|
def_bool y
|
||||||
|
help
|
||||||
|
Indicates that a real devicetree is available which can be accessed
|
||||||
|
at runtime. This means that dev_read_...() functions can be used to
|
||||||
|
read data from the devicetree for each device. This is true if
|
||||||
|
TPL_OF_CONTROL is enabled and not TPL_OF_PLATDATA
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
62
lib/Kconfig
62
lib/Kconfig
@ -90,6 +90,11 @@ config TPL_PRINTF
|
|||||||
select TPL_SPRINTF
|
select TPL_SPRINTF
|
||||||
select TPL_STRTO if !TPL_USE_TINY_PRINTF
|
select TPL_STRTO if !TPL_USE_TINY_PRINTF
|
||||||
|
|
||||||
|
config VPL_PRINTF
|
||||||
|
bool
|
||||||
|
select VPL_SPRINTF
|
||||||
|
select VPL_STRTO if !VPL_USE_TINY_PRINTF
|
||||||
|
|
||||||
config SPRINTF
|
config SPRINTF
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
@ -100,6 +105,9 @@ config SPL_SPRINTF
|
|||||||
config TPL_SPRINTF
|
config TPL_SPRINTF
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
config VPL_SPRINTF
|
||||||
|
bool
|
||||||
|
|
||||||
config SSCANF
|
config SSCANF
|
||||||
bool
|
bool
|
||||||
|
|
||||||
@ -113,6 +121,9 @@ config SPL_STRTO
|
|||||||
config TPL_STRTO
|
config TPL_STRTO
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
config VPL_STRTO
|
||||||
|
bool
|
||||||
|
|
||||||
config IMAGE_SPARSE
|
config IMAGE_SPARSE
|
||||||
bool
|
bool
|
||||||
|
|
||||||
@ -165,6 +176,17 @@ config TPL_USE_TINY_PRINTF
|
|||||||
|
|
||||||
The supported format specifiers are %c, %s, %u/%d and %x.
|
The supported format specifiers are %c, %s, %u/%d and %x.
|
||||||
|
|
||||||
|
config VPL_USE_TINY_PRINTF
|
||||||
|
bool "Enable tiny printf() version for VPL"
|
||||||
|
depends on VPL
|
||||||
|
help
|
||||||
|
This option enables a tiny, stripped down printf version.
|
||||||
|
This should only be used in space limited environments,
|
||||||
|
like SPL versions with hard memory limits. This version
|
||||||
|
reduces the code size by about 2.5KiB on armv7.
|
||||||
|
|
||||||
|
The supported format specifiers are %c, %s, %u/%d and %x.
|
||||||
|
|
||||||
config PANIC_HANG
|
config PANIC_HANG
|
||||||
bool "Do not reset the system on fatal error"
|
bool "Do not reset the system on fatal error"
|
||||||
help
|
help
|
||||||
@ -371,6 +393,17 @@ config TPL_TPM
|
|||||||
for the low-level TPM interface, but only one TPM is supported at
|
for the low-level TPM interface, but only one TPM is supported at
|
||||||
a time by the TPM library.
|
a time by the TPM library.
|
||||||
|
|
||||||
|
config VPL_TPM
|
||||||
|
bool "Trusted Platform Module (TPM) Support in VPL"
|
||||||
|
depends on VPL_DM
|
||||||
|
help
|
||||||
|
This enables support for TPMs which can be used to provide security
|
||||||
|
features for your board. The TPM can be connected via LPC or I2C
|
||||||
|
and a sandbox TPM is provided for testing purposes. Use the 'tpm'
|
||||||
|
command to interactive the TPM. Driver model support is provided
|
||||||
|
for the low-level TPM interface, but only one TPM is supported at
|
||||||
|
a time by the TPM library.
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
menu "Android Verified Boot"
|
menu "Android Verified Boot"
|
||||||
@ -625,6 +658,12 @@ config SPL_LZMA
|
|||||||
help
|
help
|
||||||
This enables support for LZMA compression algorithm for SPL boot.
|
This enables support for LZMA compression algorithm for SPL boot.
|
||||||
|
|
||||||
|
config VPL_LZMA
|
||||||
|
bool "Enable LZMA decompression support for VPL build"
|
||||||
|
default y if LZMA
|
||||||
|
help
|
||||||
|
This enables support for LZMA compression algorithm for VPL boot.
|
||||||
|
|
||||||
config SPL_LZO
|
config SPL_LZO
|
||||||
bool "Enable LZO decompression support in SPL"
|
bool "Enable LZO decompression support in SPL"
|
||||||
help
|
help
|
||||||
@ -704,6 +743,7 @@ config OF_LIBFDT_OVERLAY
|
|||||||
|
|
||||||
config SPL_OF_LIBFDT
|
config SPL_OF_LIBFDT
|
||||||
bool "Enable the FDT library for SPL"
|
bool "Enable the FDT library for SPL"
|
||||||
|
depends on SPL_LIBGENERIC_SUPPORT
|
||||||
default y if SPL_OF_CONTROL
|
default y if SPL_OF_CONTROL
|
||||||
help
|
help
|
||||||
This enables the FDT library (libfdt). It provides functions for
|
This enables the FDT library (libfdt). It provides functions for
|
||||||
@ -725,6 +765,7 @@ config SPL_OF_LIBFDT_ASSUME_MASK
|
|||||||
|
|
||||||
config TPL_OF_LIBFDT
|
config TPL_OF_LIBFDT
|
||||||
bool "Enable the FDT library for TPL"
|
bool "Enable the FDT library for TPL"
|
||||||
|
depends on TPL_LIBGENERIC_SUPPORT
|
||||||
default y if TPL_OF_CONTROL
|
default y if TPL_OF_CONTROL
|
||||||
help
|
help
|
||||||
This enables the FDT library (libfdt). It provides functions for
|
This enables the FDT library (libfdt). It provides functions for
|
||||||
@ -744,6 +785,27 @@ config TPL_OF_LIBFDT_ASSUME_MASK
|
|||||||
0xff means all assumptions are made and any invalid data may cause
|
0xff means all assumptions are made and any invalid data may cause
|
||||||
unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
|
unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
|
||||||
|
|
||||||
|
config VPL_OF_LIBFDT
|
||||||
|
bool "Enable the FDT library for VPL"
|
||||||
|
default y if VPL_OF_CONTROL && !VPL_OF_PLATDATA
|
||||||
|
help
|
||||||
|
This enables the FDT library (libfdt). It provides functions for
|
||||||
|
accessing binary device tree images in memory, such as adding and
|
||||||
|
removing nodes and properties, scanning through the tree and finding
|
||||||
|
particular compatible nodes. The library operates on a flattened
|
||||||
|
version of the device tree.
|
||||||
|
|
||||||
|
config VPL_OF_LIBFDT_ASSUME_MASK
|
||||||
|
hex "Mask of conditions to assume for libfdt"
|
||||||
|
depends on VPL_OF_LIBFDT || FIT
|
||||||
|
default 0xff
|
||||||
|
help
|
||||||
|
Use this to change the assumptions made by libfdt in SPL about the
|
||||||
|
device tree it is working with. A value of 0 means that no assumptions
|
||||||
|
are made, and libfdt is able to deal with malicious data. A value of
|
||||||
|
0xff means all assumptions are made and any invalid data may cause
|
||||||
|
unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
|
||||||
|
|
||||||
config FDT_FIXUP_PARTITIONS
|
config FDT_FIXUP_PARTITIONS
|
||||||
bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
|
bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
|
||||||
depends on OF_LIBFDT
|
depends on OF_LIBFDT
|
||||||
|
Loading…
Reference in New Issue
Block a user