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_COREBOOT_TABLE_ACPI 48 tristate 49 select GOOGLE_COREBOOT_TABLE 50 51config GOOGLE_COREBOOT_TABLE_OF 52 tristate 53 select GOOGLE_COREBOOT_TABLE 54 55config GOOGLE_MEMCONSOLE 56 tristate 57 depends on GOOGLE_MEMCONSOLE_X86_LEGACY || GOOGLE_MEMCONSOLE_COREBOOT 58 59config GOOGLE_MEMCONSOLE_X86_LEGACY 60 tristate "Firmware Memory Console - X86 Legacy support" 61 depends on X86 && ACPI && DMI 62 select GOOGLE_MEMCONSOLE 63 help 64 This option enables the kernel to search for a firmware log in 65 the EBDA on Google servers. If found, this log is exported to 66 userland in the file /sys/firmware/log. 67 68config GOOGLE_FRAMEBUFFER_COREBOOT 69 tristate "Coreboot Framebuffer" 70 depends on FB_SIMPLE 71 depends on GOOGLE_COREBOOT_TABLE 72 help 73 This option enables the kernel to search for a framebuffer in 74 the coreboot table. If found, it is registered with simplefb. 75 76config GOOGLE_MEMCONSOLE_COREBOOT 77 tristate "Firmware Memory Console" 78 depends on GOOGLE_COREBOOT_TABLE 79 select GOOGLE_MEMCONSOLE 80 help 81 This option enables the kernel to search for a firmware log in 82 the coreboot table. If found, this log is exported to userland 83 in the file /sys/firmware/log. 84 85config GOOGLE_VPD 86 tristate "Vital Product Data" 87 depends on GOOGLE_COREBOOT_TABLE 88 help 89 This option enables the kernel to expose the content of Google VPD 90 under /sys/firmware/vpd. 91 92endif # GOOGLE_FIRMWARE 93