| # SPDX-License-Identifier: GPL-2.0-only | 
 | menuconfig GOOGLE_FIRMWARE | 
 | 	bool "Google Firmware Drivers" | 
 | 	default n | 
 | 	help | 
 | 	  These firmware drivers are used by Google servers, | 
 | 	  Chromebooks and other devices using coreboot firmware. | 
 | 	  If in doubt, say "N". | 
 |  | 
 | if GOOGLE_FIRMWARE | 
 |  | 
 | config GOOGLE_SMI | 
 | 	tristate "SMI interface for Google platforms" | 
 | 	depends on X86 && ACPI && DMI | 
 | 	help | 
 | 	  Say Y here if you want to enable SMI callbacks for Google | 
 | 	  platforms.  This provides an interface for writing to and | 
 | 	  clearing the event log.  If CONFIG_EFI is also enabled this | 
 | 	  driver provides an interface for reading and writing NVRAM | 
 | 	  variables. | 
 |  | 
 | config GOOGLE_CBMEM | 
 | 	tristate "CBMEM entries in sysfs" | 
 | 	depends on GOOGLE_COREBOOT_TABLE | 
 | 	help | 
 | 	  CBMEM is a downwards-growing memory region created by the | 
 | 	  Coreboot BIOS containing tagged data structures from the | 
 | 	  BIOS.  These data structures expose things like the verified | 
 | 	  boot firmware variables, flash layout, firmware event log, | 
 | 	  and more. | 
 |  | 
 | 	  This option enables the cbmem module, which causes the | 
 | 	  kernel to search for Coreboot CBMEM entries, and expose the | 
 | 	  memory for each entry in sysfs under | 
 | 	  /sys/bus/coreboot/devices/cbmem-<id>. | 
 |  | 
 | config GOOGLE_COREBOOT_TABLE | 
 | 	tristate "Coreboot Table Access" | 
 | 	depends on HAS_IOMEM && (ACPI || OF) | 
 | 	help | 
 | 	  This option enables the coreboot_table module, which provides other | 
 | 	  firmware modules access to the coreboot table. The coreboot table | 
 | 	  pointer is accessed through the ACPI "GOOGCB00" object or the | 
 | 	  device tree node /firmware/coreboot. | 
 | 	  If unsure say N. | 
 |  | 
 | config GOOGLE_MEMCONSOLE | 
 | 	tristate | 
 | 	depends on GOOGLE_MEMCONSOLE_X86_LEGACY || GOOGLE_MEMCONSOLE_COREBOOT | 
 |  | 
 | config GOOGLE_MEMCONSOLE_X86_LEGACY | 
 | 	tristate "Firmware Memory Console - X86 Legacy support" | 
 | 	depends on X86 && ACPI && DMI | 
 | 	select GOOGLE_MEMCONSOLE | 
 | 	help | 
 | 	  This option enables the kernel to search for a firmware log in | 
 | 	  the EBDA on Google servers.  If found, this log is exported to | 
 | 	  userland in the file /sys/firmware/log. | 
 |  | 
 | config GOOGLE_FRAMEBUFFER_COREBOOT | 
 | 	tristate "Coreboot Framebuffer" | 
 | 	depends on FB_SIMPLE || DRM_SIMPLEDRM | 
 | 	depends on GOOGLE_COREBOOT_TABLE | 
 | 	help | 
 | 	  This option enables the kernel to search for a framebuffer in | 
 | 	  the coreboot table.  If found, it is registered with simplefb. | 
 |  | 
 | config GOOGLE_MEMCONSOLE_COREBOOT | 
 | 	tristate "Firmware Memory Console" | 
 | 	depends on GOOGLE_COREBOOT_TABLE | 
 | 	select GOOGLE_MEMCONSOLE | 
 | 	help | 
 | 	  This option enables the kernel to search for a firmware log in | 
 | 	  the coreboot table.  If found, this log is exported to userland | 
 | 	  in the file /sys/firmware/log. | 
 |  | 
 | config GOOGLE_VPD | 
 | 	tristate "Vital Product Data" | 
 | 	depends on GOOGLE_COREBOOT_TABLE | 
 | 	help | 
 | 	  This option enables the kernel to expose the content of Google VPD | 
 | 	  under /sys/firmware/vpd. | 
 |  | 
 | endif # GOOGLE_FIRMWARE |