coreboot/src/include
Duncan Laurie 36e6c6f8d2 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>
2020-06-02 16:40:04 +00:00
..
acpi acpi: Add definitions for device sleep states 2020-06-02 07:16:41 +00:00
boot
console treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
cpu cpu/x86/mtrr: add x86_setup_mtrrs_with_detect_no_above_4gb() 2020-06-02 16:10:13 +00:00
device fw_config: Add firmware configuration interface 2020-06-02 16:40:04 +00:00
efi treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
pc80 treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
smp
superio treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
sys
adainit.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
assert.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
b64_decode.h treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
base3.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
bcd.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
boardid.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
boot_device.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
bootblock_common.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
bootmem.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
bootmode.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
bootsplash.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
bootstate.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
cbfs.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
cbmem.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
cper.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
crc_byte.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
ctype.h
delay.h
device_tree.h treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
dimm_info_util.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
edid.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
elog.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
endian.h treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
espi.h Remove new additions of "this file is part of" lines 2020-05-13 08:37:21 +00:00
fallback.h drivers/pc80/rtc: Clean up some headers 2020-01-07 18:40:02 +00:00
fit.h treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
fit_payload.h treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
fmap.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
fw_config.h fw_config: Add firmware configuration interface 2020-06-02 16:40:04 +00:00
gic.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
gpio.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
halt.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
imd.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
input-event-codes.h include/input-event-codes.h: Add Linux input key codes header file 2020-04-13 19:54:30 +00:00
inttypes.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
ip_checksum.h
kconfig.h
lib.h src: Remove redundant includes 2020-06-02 07:42:32 +00:00
list.h treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
main_decl.h
memlayout.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
memory_info.h treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
memrange.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
mrc_cache.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
nhlt.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
option.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
post.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
program_loading.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
ramdetect.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
random.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
reg_script.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
region_file.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
reset.h
rmodule.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
romstage_handoff.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
rtc.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
rules.h Remove MAYBE_STATIC_BSS and ENV_STAGE_HAS_BSS_SECTION 2020-05-26 15:04:08 +00:00
sar.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
sdram_mode.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
smbios.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
smmstore.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
spd.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
spd_bin.h lib/spd_bin: add get_spd_sn function 2020-05-13 12:04:03 +00:00
spd_cache.h Remove new additions of "this file is part of" lines 2020-05-28 09:38:17 +00:00
spd_ddr2.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
spi-generic.h treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
spi_bitbang.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
spi_flash.h treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
spi_sdcard.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
stage_cache.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
stdarg.h create stdio.h and stdarg.h for {,v}snprintf 2020-03-25 23:38:46 +00:00
stdbool.h
stddef.h Remove MAYBE_STATIC_BSS and ENV_STAGE_HAS_BSS_SECTION 2020-05-26 15:04:08 +00:00
stdint.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
stdio.h create stdio.h and stdarg.h for {,v}snprintf 2020-03-25 23:38:46 +00:00
stdlib.h lib/malloc: Implement a simple free() only for last malloc() 2020-01-02 18:22:53 +00:00
string.h lib: Add strtok() and strtok_r() 2020-05-28 09:52:51 +00:00
swab.h
symbols.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
thread.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
timer.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
timestamp.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
trace.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
types.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
uuid.h include/uuid.h: Add missing include 2020-05-28 16:20:40 +00:00
vbe.h
version.h
watchdog.h
wrdd.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00