summaryrefslogtreecommitdiff
path: root/src/Kconfig
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@google.com>2020-05-09 19:20:10 -0700
committerDuncan Laurie <dlaurie@chromium.org>2020-06-02 16:40:04 +0000
commit36e6c6f8d2b63428b0829ff615903715766b8c20 (patch)
tree0db66d9ab7addfab097c59037e44c38a8579771d /src/Kconfig
parent1ebbb165efe71e83fbf19a9ce6c4bf14e2448d81 (diff)
downloadcoreboot-36e6c6f8d2b63428b0829ff615903715766b8c20.tar.xz
fw_config: Add firmware configuration interface
This change introduces a new top-level interface for interacting with a bitmask providing firmware configuration information. This is motivated by Chromebook mainboards that need to support multiple different configurations at runtime with the same BIOS. In these devices the Embedded Controller provides a bitmask that can be broken down into different fields and each field can then be broken down into different options. The firmware configuration value could also be stored in CBFS and this interface will look in CBFS first to allow the Embedded Controller value to be overridden. The firmware configuration interface is intended to easily integrate into devicetree.cb and lead to less code duplication for new mainboards that make use of this feature. BUG=b:147462631 TEST=this provides a new interface that is tested in subsequent commits Change-Id: I1e889c235a81545e2ec0e3a34dfa750ac828a330 Signed-off-by: Duncan Laurie <dlaurie@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/41209 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
Diffstat (limited to 'src/Kconfig')
-rw-r--r--src/Kconfig27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/Kconfig b/src/Kconfig
index 2a2a144235..b96d51f526 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -323,6 +323,33 @@ config BOOTSPLASH_FILE
The path and filename of the file to use as graphical bootsplash
screen. The file format has to be jpg.
+config FW_CONFIG
+ bool "Firmware Configuration Probing"
+ default n
+ help
+ Enable support for probing devices with fw_config. This is a simple
+ bitmask broken into fields and options for probing.
+
+config FW_CONFIG_SOURCE_CBFS
+ bool "Obtain Firmware Configuration value from CBFS"
+ depends on FW_CONFIG
+ default n
+ help
+ With this option enabled coreboot will look for the 32bit firmware
+ configuration value in CBFS at the selected prefix with the file name
+ "fw_config". This option will override other sources and allow the
+ local image to preempt the mainboard selected source.
+
+config FW_CONFIG_SOURCE_CHROMEEC_CBI
+ bool "Obtain Firmware Configuration value from Google Chrome EC CBI"
+ depends on FW_CONFIG && EC_GOOGLE_CHROMEEC
+ default n
+ help
+ This option tells coreboot to read the firmware configuration value
+ from the Google Chrome Embedded Controller CBI interface. This source
+ is not tried if FW_CONFIG_SOURCE_CBFS is enabled and the value was
+ found in CBFS.
+
config HAVE_RAMPAYLOAD
bool