0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menuconfig GOOGLE_FIRMWARE
0003 bool "Google Firmware Drivers"
0004 default n
0005 help
0006 These firmware drivers are used by Google servers,
0007 Chromebooks and other devices using coreboot firmware.
0008 If in doubt, say "N".
0009
0010 if GOOGLE_FIRMWARE
0011
0012 config GOOGLE_SMI
0013 tristate "SMI interface for Google platforms"
0014 depends on X86 && ACPI && DMI
0015 help
0016 Say Y here if you want to enable SMI callbacks for Google
0017 platforms. This provides an interface for writing to and
0018 clearing the event log. If CONFIG_EFI is also enabled this
0019 driver provides an interface for reading and writing NVRAM
0020 variables.
0021
0022 config GOOGLE_COREBOOT_TABLE
0023 tristate "Coreboot Table Access"
0024 depends on HAS_IOMEM && (ACPI || OF)
0025 help
0026 This option enables the coreboot_table module, which provides other
0027 firmware modules access to the coreboot table. The coreboot table
0028 pointer is accessed through the ACPI "GOOGCB00" object or the
0029 device tree node /firmware/coreboot.
0030 If unsure say N.
0031
0032 config GOOGLE_COREBOOT_TABLE_ACPI
0033 tristate
0034 select GOOGLE_COREBOOT_TABLE
0035
0036 config GOOGLE_COREBOOT_TABLE_OF
0037 tristate
0038 select GOOGLE_COREBOOT_TABLE
0039
0040 config GOOGLE_MEMCONSOLE
0041 tristate
0042 depends on GOOGLE_MEMCONSOLE_X86_LEGACY || GOOGLE_MEMCONSOLE_COREBOOT
0043
0044 config GOOGLE_MEMCONSOLE_X86_LEGACY
0045 tristate "Firmware Memory Console - X86 Legacy support"
0046 depends on X86 && ACPI && DMI
0047 select GOOGLE_MEMCONSOLE
0048 help
0049 This option enables the kernel to search for a firmware log in
0050 the EBDA on Google servers. If found, this log is exported to
0051 userland in the file /sys/firmware/log.
0052
0053 config GOOGLE_FRAMEBUFFER_COREBOOT
0054 tristate "Coreboot Framebuffer"
0055 depends on FB_SIMPLE
0056 depends on GOOGLE_COREBOOT_TABLE
0057 help
0058 This option enables the kernel to search for a framebuffer in
0059 the coreboot table. If found, it is registered with simplefb.
0060
0061 config GOOGLE_MEMCONSOLE_COREBOOT
0062 tristate "Firmware Memory Console"
0063 depends on GOOGLE_COREBOOT_TABLE
0064 select GOOGLE_MEMCONSOLE
0065 help
0066 This option enables the kernel to search for a firmware log in
0067 the coreboot table. If found, this log is exported to userland
0068 in the file /sys/firmware/log.
0069
0070 config GOOGLE_VPD
0071 tristate "Vital Product Data"
0072 depends on GOOGLE_COREBOOT_TABLE
0073 help
0074 This option enables the kernel to expose the content of Google VPD
0075 under /sys/firmware/vpd.
0076
0077 endif # GOOGLE_FIRMWARE