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_COREBOOT_TABLE
23	tristate "Coreboot Table Access"
24	depends on HAS_IOMEM && (ACPI || OF)
25	help
26	  This option enables the coreboot_table module, which provides other
27	  firmware modules access to the coreboot table. The coreboot table
28	  pointer is accessed through the ACPI "GOOGCB00" object or the
29	  device tree node /firmware/coreboot.
30	  If unsure say N.
31
32config GOOGLE_COREBOOT_TABLE_ACPI
33	tristate
34	select GOOGLE_COREBOOT_TABLE
35
36config GOOGLE_COREBOOT_TABLE_OF
37	tristate
38	select GOOGLE_COREBOOT_TABLE
39
40config GOOGLE_MEMCONSOLE
41	tristate
42	depends on GOOGLE_MEMCONSOLE_X86_LEGACY || GOOGLE_MEMCONSOLE_COREBOOT
43
44config GOOGLE_MEMCONSOLE_X86_LEGACY
45	tristate "Firmware Memory Console - X86 Legacy support"
46	depends on X86 && ACPI && DMI
47	select GOOGLE_MEMCONSOLE
48	help
49	  This option enables the kernel to search for a firmware log in
50	  the EBDA on Google servers.  If found, this log is exported to
51	  userland in the file /sys/firmware/log.
52
53config GOOGLE_FRAMEBUFFER_COREBOOT
54	tristate "Coreboot Framebuffer"
55	depends on FB_SIMPLE
56	depends on GOOGLE_COREBOOT_TABLE
57	help
58	  This option enables the kernel to search for a framebuffer in
59	  the coreboot table.  If found, it is registered with simplefb.
60
61config GOOGLE_MEMCONSOLE_COREBOOT
62	tristate "Firmware Memory Console"
63	depends on GOOGLE_COREBOOT_TABLE
64	select GOOGLE_MEMCONSOLE
65	help
66	  This option enables the kernel to search for a firmware log in
67	  the coreboot table.  If found, this log is exported to userland
68	  in the file /sys/firmware/log.
69
70config GOOGLE_VPD
71	tristate "Vital Product Data"
72	depends on GOOGLE_COREBOOT_TABLE
73	help
74	  This option enables the kernel to expose the content of Google VPD
75	  under /sys/firmware/vpd.
76
77endif # GOOGLE_FIRMWARE
78