1 # SPDX-License-Identifier: GPL-2.0-only
2 menuconfig GOOGLE_FIRMWARE
3 bool "Google Firmware Drivers"
6 These firmware drivers are used by Google servers,
7 Chromebooks and other devices using coreboot firmware.
13 tristate "SMI interface for Google platforms"
14 depends on X86 && ACPI && DMI
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
23 tristate "CBMEM entries in sysfs"
24 depends on GOOGLE_COREBOOT_TABLE
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,
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>.
37 config GOOGLE_COREBOOT_TABLE
38 tristate "Coreboot Table Access"
39 depends on HAS_IOMEM && (ACPI || OF)
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.
47 config GOOGLE_MEMCONSOLE
49 depends on GOOGLE_MEMCONSOLE_X86_LEGACY || GOOGLE_MEMCONSOLE_COREBOOT
51 config GOOGLE_MEMCONSOLE_X86_LEGACY
52 tristate "Firmware Memory Console - X86 Legacy support"
53 depends on X86 && ACPI && DMI
54 select GOOGLE_MEMCONSOLE
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.
60 config GOOGLE_FRAMEBUFFER_COREBOOT
61 tristate "Coreboot Framebuffer"
62 depends on FB_SIMPLE || DRM_SIMPLEDRM
63 depends on GOOGLE_COREBOOT_TABLE
65 This option enables the kernel to search for a framebuffer in
66 the coreboot table. If found, it is registered with simplefb.
68 config GOOGLE_MEMCONSOLE_COREBOOT
69 tristate "Firmware Memory Console"
70 depends on GOOGLE_COREBOOT_TABLE
71 select GOOGLE_MEMCONSOLE
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.
78 tristate "Vital Product Data"
79 depends on GOOGLE_COREBOOT_TABLE
81 This option enables the kernel to expose the content of Google VPD
82 under /sys/firmware/vpd.
84 endif # GOOGLE_FIRMWARE