# 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-. 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