xref: /linux/drivers/firmware/google/Kconfig (revision b501d4dc83aa3940189b68045cadc8b3eac73988)
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