^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) menuconfig GOOGLE_FIRMWARE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) bool "Google Firmware Drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) These firmware drivers are used by Google servers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) Chromebooks and other devices using coreboot firmware.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) If in doubt, say "N".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) if GOOGLE_FIRMWARE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) config GOOGLE_SMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) tristate "SMI interface for Google platforms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) depends on X86 && ACPI && DMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) Say Y here if you want to enable SMI callbacks for Google
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) platforms. This provides an interface for writing to and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) clearing the event log. If CONFIG_EFI is also enabled this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) driver provides an interface for reading and writing NVRAM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) variables.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) config GOOGLE_COREBOOT_TABLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) tristate "Coreboot Table Access"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) depends on HAS_IOMEM && (ACPI || OF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) This option enables the coreboot_table module, which provides other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) firmware modules access to the coreboot table. The coreboot table
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) pointer is accessed through the ACPI "GOOGCB00" object or the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) device tree node /firmware/coreboot.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) If unsure say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) config GOOGLE_COREBOOT_TABLE_ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) select GOOGLE_COREBOOT_TABLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) config GOOGLE_COREBOOT_TABLE_OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) select GOOGLE_COREBOOT_TABLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) config GOOGLE_MEMCONSOLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) depends on GOOGLE_MEMCONSOLE_X86_LEGACY || GOOGLE_MEMCONSOLE_COREBOOT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) config GOOGLE_MEMCONSOLE_X86_LEGACY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) tristate "Firmware Memory Console - X86 Legacy support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) depends on X86 && ACPI && DMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) select GOOGLE_MEMCONSOLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) This option enables the kernel to search for a firmware log in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) the EBDA on Google servers. If found, this log is exported to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) userland in the file /sys/firmware/log.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) config GOOGLE_FRAMEBUFFER_COREBOOT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) tristate "Coreboot Framebuffer"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) depends on FB_SIMPLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) depends on GOOGLE_COREBOOT_TABLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) This option enables the kernel to search for a framebuffer in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) the coreboot table. If found, it is registered with simplefb.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) config GOOGLE_MEMCONSOLE_COREBOOT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) tristate "Firmware Memory Console"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) depends on GOOGLE_COREBOOT_TABLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) select GOOGLE_MEMCONSOLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) This option enables the kernel to search for a firmware log in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) the coreboot table. If found, this log is exported to userland
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) in the file /sys/firmware/log.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) config GOOGLE_VPD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) tristate "Vital Product Data"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) depends on GOOGLE_COREBOOT_TABLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) This option enables the kernel to expose the content of Google VPD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) under /sys/firmware/vpd.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) endif # GOOGLE_FIRMWARE