| # SPDX-License-Identifier: GPL-2.0-only | |
| menuconfig COREBOOT_FIRMWARE | |
| bool "coreboot firmware drivers" | |
| default GOOGLE_FIRMWARE | |
| default n | |
| help | |
| These firmware drivers are used by devices running coreboot | |
| firmware, including Chromebooks and some Google servers. | |
| They include shared support for coreboot table entries and | |
| drivers for CBMEM, framebuffer, firmware console and VPD records. | |
| If in doubt, say "N". | |
| if COREBOOT_FIRMWARE | |
| config GOOGLE_SMI | |
| tristate "SMI interface for Google platforms" | |
| depends on X86 && ACPI && DMI | |
| help | |
| Say Y here if you want to enable SMI callbacks for Google | |
| platforms. This provides an interface for writing to and | |
| clearing the event log. If CONFIG_EFI is also enabled this | |
| driver provides an interface for reading and writing NVRAM | |
| variables. | |
| config COREBOOT_CBMEM | |
| tristate "CBMEM entries in sysfs" | |
| depends on COREBOOT_TABLE | |
| default GOOGLE_CBMEM | |
| help | |
| CBMEM is a downwards-growing memory region created by the | |
| Coreboot BIOS containing tagged data structures from the | |
| BIOS. These data structures expose things like the verified | |
| boot firmware variables, flash layout, firmware event log, | |
| and more. | |
| This option enables the cbmem module, which causes the | |
| kernel to search for Coreboot CBMEM entries, and expose the | |
| memory for each entry in sysfs under | |
| /sys/bus/coreboot/devices/cbmem-<id>. | |
| config COREBOOT_TABLE | |
| tristate "Coreboot Table Access" | |
| depends on HAS_IOMEM && (ACPI || OF) | |
| default GOOGLE_COREBOOT_TABLE | |
| help | |
| This option enables the coreboot_table module, which provides other | |
| firmware modules access to the coreboot table. The coreboot table | |
| pointer is accessed through the ACPI "GOOGCB00" object or the | |
| device tree node /firmware/coreboot. | |
| If unsure say N. | |
| config COREBOOT_CFR | |
| tristate "coreboot CFR firmware attributes" | |
| depends on EFI | |
| depends on COREBOOT_TABLE | |
| depends on HAS_IOPORT | |
| select CRC32 | |
| select FW_ATTR_CLASS | |
| help | |
| This driver parses the coreboot CFR table and exposes runtime EFI | |
| variable-backed options through the firmware-attributes sysfs | |
| interface. | |
| If you have a system running coreboot with CFR runtime | |
| configuration support, say Y or M here. | |
| config COREBOOT_MEMCONSOLE_COMMON | |
| tristate | |
| depends on GOOGLE_MEMCONSOLE_X86_LEGACY || COREBOOT_MEMCONSOLE | |
| default GOOGLE_MEMCONSOLE | |
| config GOOGLE_MEMCONSOLE_X86_LEGACY | |
| tristate "Firmware Memory Console - X86 Legacy support" | |
| depends on X86 && ACPI && DMI | |
| select COREBOOT_MEMCONSOLE_COMMON | |
| help | |
| This option enables the kernel to search for a firmware log in | |
| the EBDA on Google servers. If found, this log is exported to | |
| userland in the file /sys/firmware/log. | |
| This driver is limited to x86 systems that expose the legacy | |
| Google EBDA console format. | |
| config COREBOOT_FRAMEBUFFER | |
| tristate "Coreboot Framebuffer" | |
| depends on COREBOOT_TABLE | |
| default GOOGLE_FRAMEBUFFER_COREBOOT | |
| help | |
| This option enables the kernel to search for a framebuffer in | |
| the coreboot table. If found, it is registered with a platform | |
| device of type coreboot-framebuffer. Using the old device of | |
| type simple-framebuffer is deprecated. | |
| config COREBOOT_MEMCONSOLE | |
| tristate "Firmware Memory Console" | |
| depends on COREBOOT_TABLE | |
| select COREBOOT_MEMCONSOLE_COMMON | |
| default GOOGLE_MEMCONSOLE_COREBOOT | |
| help | |
| This option enables the kernel to search for a firmware log in | |
| the coreboot table. If found, this log is exported to userland | |
| in the file /sys/firmware/log. | |
| This is the coreboot-table backed variant of the firmware memory | |
| console driver. | |
| config GOOGLE_VPD | |
| tristate "Vital Product Data" | |
| depends on COREBOOT_TABLE | |
| help | |
| This option enables the kernel to expose the content of Google VPD | |
| under /sys/firmware/vpd. | |
| VPD records carry firmware-provided key/value data used by | |
| Google devices. | |
| endif # COREBOOT_FIRMWARE | |
| config GOOGLE_FIRMWARE | |
| bool | |
| transitional | |
| config GOOGLE_CBMEM | |
| tristate | |
| transitional | |
| config GOOGLE_COREBOOT_TABLE | |
| tristate | |
| transitional | |
| config GOOGLE_MEMCONSOLE | |
| tristate | |
| transitional | |
| config GOOGLE_FRAMEBUFFER_COREBOOT | |
| tristate | |
| transitional | |
| config GOOGLE_MEMCONSOLE_COREBOOT | |
| tristate | |
| transitional |