1# SPDX-License-Identifier: GPL-2.0-only 2menuconfig GOOGLE_FIRMWARE 3 bool "Google Firmware Drivers" 4 default n 5 help 6 These firmware drivers are used by Google servers, 7 Chromebooks and other devices using coreboot firmware. 8 If in doubt, say "N". 9 10if GOOGLE_FIRMWARE 11 12config GOOGLE_SMI 13 tristate "SMI interface for Google platforms" 14 depends on X86 && ACPI && DMI 15 help 16 Say Y here if you want to enable SMI callbacks for Google 17 platforms. This provides an interface for writing to and 18 clearing the event log. If CONFIG_EFI is also enabled this 19 driver provides an interface for reading and writing NVRAM 20 variables. 21 22config GOOGLE_CBMEM 23 tristate "CBMEM entries in sysfs" 24 depends on GOOGLE_COREBOOT_TABLE 25 help 26 CBMEM is a downwards-growing memory region created by the 27 Coreboot BIOS containing tagged data structures from the 28 BIOS. These data structures expose things like the verified 29 boot firmware variables, flash layout, firmware event log, 30 and more. 31 32 This option enables the cbmem module, which causes the 33 kernel to search for Coreboot CBMEM entries, and expose the 34 memory for each entry in sysfs under 35 /sys/bus/coreboot/devices/cbmem-<id>. 36 37config GOOGLE_COREBOOT_TABLE 38 tristate "Coreboot Table Access" 39 depends on HAS_IOMEM && (ACPI || OF) 40 help 41 This option enables the coreboot_table module, which provides other 42 firmware modules access to the coreboot table. The coreboot table 43 pointer is accessed through the ACPI "GOOGCB00" object or the 44 device tree node /firmware/coreboot. 45 If unsure say N. 46 47config GOOGLE_MEMCONSOLE 48 tristate 49 depends on GOOGLE_MEMCONSOLE_X86_LEGACY || GOOGLE_MEMCONSOLE_COREBOOT 50 51config GOOGLE_MEMCONSOLE_X86_LEGACY 52 tristate "Firmware Memory Console - X86 Legacy support" 53 depends on X86 && ACPI && DMI 54 select GOOGLE_MEMCONSOLE 55 help 56 This option enables the kernel to search for a firmware log in 57 the EBDA on Google servers. If found, this log is exported to 58 userland in the file /sys/firmware/log. 59 60config GOOGLE_FRAMEBUFFER_COREBOOT 61 tristate "Coreboot Framebuffer" 62 depends on FB_SIMPLE 63 depends on GOOGLE_COREBOOT_TABLE 64 help 65 This option enables the kernel to search for a framebuffer in 66 the coreboot table. If found, it is registered with simplefb. 67 68config GOOGLE_MEMCONSOLE_COREBOOT 69 tristate "Firmware Memory Console" 70 depends on GOOGLE_COREBOOT_TABLE 71 select GOOGLE_MEMCONSOLE 72 help 73 This option enables the kernel to search for a firmware log in 74 the coreboot table. If found, this log is exported to userland 75 in the file /sys/firmware/log. 76 77config GOOGLE_VPD 78 tristate "Vital Product Data" 79 depends on GOOGLE_COREBOOT_TABLE 80 help 81 This option enables the kernel to expose the content of Google VPD 82 under /sys/firmware/vpd. 83 84endif # GOOGLE_FIRMWARE 85