1# SPDX-License-Identifier: GPL-2.0-only 2menuconfig COREBOOT_FIRMWARE 3 bool "coreboot firmware drivers" 4 default GOOGLE_FIRMWARE 5 default n 6 help 7 These firmware drivers are used by devices running coreboot 8 firmware, including Chromebooks and some Google servers. 9 They include shared support for coreboot table entries and 10 drivers for CBMEM, framebuffer, firmware console and VPD records. 11 If in doubt, say "N". 12 13if COREBOOT_FIRMWARE 14 15config GOOGLE_SMI 16 tristate "SMI interface for Google platforms" 17 depends on X86 && ACPI && DMI 18 help 19 Say Y here if you want to enable SMI callbacks for Google 20 platforms. This provides an interface for writing to and 21 clearing the event log. If CONFIG_EFI is also enabled this 22 driver provides an interface for reading and writing NVRAM 23 variables. 24 25config COREBOOT_CBMEM 26 tristate "CBMEM entries in sysfs" 27 depends on COREBOOT_TABLE 28 default GOOGLE_CBMEM 29 help 30 CBMEM is a downwards-growing memory region created by the 31 Coreboot BIOS containing tagged data structures from the 32 BIOS. These data structures expose things like the verified 33 boot firmware variables, flash layout, firmware event log, 34 and more. 35 36 This option enables the cbmem module, which causes the 37 kernel to search for Coreboot CBMEM entries, and expose the 38 memory for each entry in sysfs under 39 /sys/bus/coreboot/devices/cbmem-<id>. 40 41config COREBOOT_TABLE 42 tristate "Coreboot Table Access" 43 depends on HAS_IOMEM && (ACPI || OF) 44 default GOOGLE_COREBOOT_TABLE 45 help 46 This option enables the coreboot_table module, which provides other 47 firmware modules access to the coreboot table. The coreboot table 48 pointer is accessed through the ACPI "GOOGCB00" object or the 49 device tree node /firmware/coreboot. 50 If unsure say N. 51 52config COREBOOT_MEMCONSOLE_COMMON 53 tristate 54 depends on GOOGLE_MEMCONSOLE_X86_LEGACY || COREBOOT_MEMCONSOLE 55 default GOOGLE_MEMCONSOLE 56 57config GOOGLE_MEMCONSOLE_X86_LEGACY 58 tristate "Firmware Memory Console - X86 Legacy support" 59 depends on X86 && ACPI && DMI 60 select COREBOOT_MEMCONSOLE_COMMON 61 help 62 This option enables the kernel to search for a firmware log in 63 the EBDA on Google servers. If found, this log is exported to 64 userland in the file /sys/firmware/log. 65 This driver is limited to x86 systems that expose the legacy 66 Google EBDA console format. 67 68config COREBOOT_FRAMEBUFFER 69 tristate "Coreboot Framebuffer" 70 depends on COREBOOT_TABLE 71 default GOOGLE_FRAMEBUFFER_COREBOOT 72 help 73 This option enables the kernel to search for a framebuffer in 74 the coreboot table. If found, it is registered with a platform 75 device of type coreboot-framebuffer. Using the old device of 76 type simple-framebuffer is deprecated. 77 78config COREBOOT_MEMCONSOLE 79 tristate "Firmware Memory Console" 80 depends on COREBOOT_TABLE 81 select COREBOOT_MEMCONSOLE_COMMON 82 default GOOGLE_MEMCONSOLE_COREBOOT 83 help 84 This option enables the kernel to search for a firmware log in 85 the coreboot table. If found, this log is exported to userland 86 in the file /sys/firmware/log. 87 This is the coreboot-table backed variant of the firmware memory 88 console driver. 89 90config GOOGLE_VPD 91 tristate "Vital Product Data" 92 depends on COREBOOT_TABLE 93 help 94 This option enables the kernel to expose the content of Google VPD 95 under /sys/firmware/vpd. 96 VPD records carry firmware-provided key/value data used by 97 Google devices. 98 99endif # COREBOOT_FIRMWARE 100 101config GOOGLE_FIRMWARE 102 bool 103 transitional 104 105config GOOGLE_CBMEM 106 tristate 107 transitional 108 109config GOOGLE_COREBOOT_TABLE 110 tristate 111 transitional 112 113config GOOGLE_MEMCONSOLE 114 tristate 115 transitional 116 117config GOOGLE_FRAMEBUFFER_COREBOOT 118 tristate 119 transitional 120 121config GOOGLE_MEMCONSOLE_COREBOOT 122 tristate 123 transitional 124