Merge tag 'x86-urgent-2023-09-10' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / drivers / firmware / google / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 menuconfig 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
10 if GOOGLE_FIRMWARE
11
12 config 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
22 config 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
37 config 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
47 config GOOGLE_MEMCONSOLE
48         tristate
49         depends on GOOGLE_MEMCONSOLE_X86_LEGACY || GOOGLE_MEMCONSOLE_COREBOOT
50
51 config 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
60 config GOOGLE_FRAMEBUFFER_COREBOOT
61         tristate "Coreboot Framebuffer"
62         depends on FB_SIMPLE || DRM_SIMPLEDRM
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
68 config 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
77 config 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
84 endif # GOOGLE_FIRMWARE