| # SPDX-License-Identifier: GPL-2.0-only |
| menuconfig GOOGLE_FIRMWARE |
| bool "Google Firmware Drivers" |
| default n |
| help |
| These firmware drivers are used by Google servers, |
| Chromebooks and other devices using coreboot firmware. |
| If in doubt, say "N". |
| |
| if GOOGLE_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 GOOGLE_CBMEM |
| tristate "CBMEM entries in sysfs" |
| depends on GOOGLE_COREBOOT_TABLE |
| 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 GOOGLE_COREBOOT_TABLE |
| tristate "Coreboot Table Access" |
| depends on HAS_IOMEM && (ACPI || OF) |
| 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 GOOGLE_MEMCONSOLE |
| tristate |
| depends on GOOGLE_MEMCONSOLE_X86_LEGACY || GOOGLE_MEMCONSOLE_COREBOOT |
| |
| config GOOGLE_MEMCONSOLE_X86_LEGACY |
| tristate "Firmware Memory Console - X86 Legacy support" |
| depends on X86 && ACPI && DMI |
| select GOOGLE_MEMCONSOLE |
| 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. |
| |
| config GOOGLE_FRAMEBUFFER_COREBOOT |
| tristate "Coreboot Framebuffer" |
| depends on FB_SIMPLE || DRM_SIMPLEDRM |
| depends on GOOGLE_COREBOOT_TABLE |
| help |
| This option enables the kernel to search for a framebuffer in |
| the coreboot table. If found, it is registered with simplefb. |
| |
| config GOOGLE_MEMCONSOLE_COREBOOT |
| tristate "Firmware Memory Console" |
| depends on GOOGLE_COREBOOT_TABLE |
| select GOOGLE_MEMCONSOLE |
| 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. |
| |
| config GOOGLE_VPD |
| tristate "Vital Product Data" |
| depends on GOOGLE_COREBOOT_TABLE |
| help |
| This option enables the kernel to expose the content of Google VPD |
| under /sys/firmware/vpd. |
| |
| endif # GOOGLE_FIRMWARE |