1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2f952a401SThierry Escandemenuconfig GOOGLE_FIRMWARE 3a1d9a09aSMike Waychison bool "Google Firmware Drivers" 4a1d9a09aSMike Waychison default n 5a1d9a09aSMike Waychison help 6d185a346SBen Hutchings These firmware drivers are used by Google servers, 7d185a346SBen Hutchings Chromebooks and other devices using coreboot firmware. 8d185a346SBen Hutchings If in doubt, say "N". 9a1d9a09aSMike Waychison 10f952a401SThierry Escandeif GOOGLE_FIRMWARE 11a1d9a09aSMike Waychison 1274c5b31cSMike Waychisonconfig GOOGLE_SMI 1374c5b31cSMike Waychison tristate "SMI interface for Google platforms" 14d31655baSDuncan Laurie depends on X86 && ACPI && DMI 1574c5b31cSMike Waychison help 1674c5b31cSMike Waychison Say Y here if you want to enable SMI callbacks for Google 1774c5b31cSMike Waychison platforms. This provides an interface for writing to and 189846d860SArd Biesheuvel clearing the event log. If CONFIG_EFI is also enabled this 19d31655baSDuncan Laurie driver provides an interface for reading and writing NVRAM 2074c5b31cSMike Waychison variables. 21e561bc45SMike Waychison 22*19d54020SJack Rosenthalconfig GOOGLE_CBMEM 23*19d54020SJack Rosenthal tristate "CBMEM entries in sysfs" 24*19d54020SJack Rosenthal depends on GOOGLE_COREBOOT_TABLE 25*19d54020SJack Rosenthal help 26*19d54020SJack Rosenthal CBMEM is a downwards-growing memory region created by the 27*19d54020SJack Rosenthal Coreboot BIOS containing tagged data structures from the 28*19d54020SJack Rosenthal BIOS. These data structures expose things like the verified 29*19d54020SJack Rosenthal boot firmware variables, flash layout, firmware event log, 30*19d54020SJack Rosenthal and more. 31*19d54020SJack Rosenthal 32*19d54020SJack Rosenthal This option enables the cbmem module, which causes the 33*19d54020SJack Rosenthal kernel to search for Coreboot CBMEM entries, and expose the 34*19d54020SJack Rosenthal memory for each entry in sysfs under 35*19d54020SJack Rosenthal /sys/bus/coreboot/devices/cbmem-<id>. 36*19d54020SJack Rosenthal 37d384d6f4SThierry Escandeconfig GOOGLE_COREBOOT_TABLE 38a28aad66SStephen Boyd tristate "Coreboot Table Access" 3937fd8391SDavid Gow depends on HAS_IOMEM && (ACPI || OF) 40d384d6f4SThierry Escande help 41d384d6f4SThierry Escande This option enables the coreboot_table module, which provides other 42a28aad66SStephen Boyd firmware modules access to the coreboot table. The coreboot table 43a28aad66SStephen Boyd pointer is accessed through the ACPI "GOOGCB00" object or the 44a28aad66SStephen Boyd device tree node /firmware/coreboot. 45d384d6f4SThierry Escande If unsure say N. 46d384d6f4SThierry Escande 47a28aad66SStephen Boydconfig GOOGLE_COREBOOT_TABLE_ACPI 48a28aad66SStephen Boyd tristate 49a1d6f9cfSThierry Escande select GOOGLE_COREBOOT_TABLE 50a28aad66SStephen Boyd 51a28aad66SStephen Boydconfig GOOGLE_COREBOOT_TABLE_OF 52a28aad66SStephen Boyd tristate 53a28aad66SStephen Boyd select GOOGLE_COREBOOT_TABLE 54a1d6f9cfSThierry Escande 55e561bc45SMike Waychisonconfig GOOGLE_MEMCONSOLE 56afe9dba4SThierry Escande tristate 57d384d6f4SThierry Escande depends on GOOGLE_MEMCONSOLE_X86_LEGACY || GOOGLE_MEMCONSOLE_COREBOOT 58afe9dba4SThierry Escande 59afe9dba4SThierry Escandeconfig GOOGLE_MEMCONSOLE_X86_LEGACY 60afe9dba4SThierry Escande tristate "Firmware Memory Console - X86 Legacy support" 61afe9dba4SThierry Escande depends on X86 && ACPI && DMI 62afe9dba4SThierry Escande select GOOGLE_MEMCONSOLE 63e561bc45SMike Waychison help 64e561bc45SMike Waychison This option enables the kernel to search for a firmware log in 65e561bc45SMike Waychison the EBDA on Google servers. If found, this log is exported to 66e561bc45SMike Waychison userland in the file /sys/firmware/log. 67a1d9a09aSMike Waychison 68851b4c14SSamuel Hollandconfig GOOGLE_FRAMEBUFFER_COREBOOT 69851b4c14SSamuel Holland tristate "Coreboot Framebuffer" 70851b4c14SSamuel Holland depends on FB_SIMPLE 71851b4c14SSamuel Holland depends on GOOGLE_COREBOOT_TABLE 72851b4c14SSamuel Holland help 73851b4c14SSamuel Holland This option enables the kernel to search for a framebuffer in 74851b4c14SSamuel Holland the coreboot table. If found, it is registered with simplefb. 75851b4c14SSamuel Holland 76d384d6f4SThierry Escandeconfig GOOGLE_MEMCONSOLE_COREBOOT 77d384d6f4SThierry Escande tristate "Firmware Memory Console" 78d384d6f4SThierry Escande depends on GOOGLE_COREBOOT_TABLE 79d384d6f4SThierry Escande select GOOGLE_MEMCONSOLE 80d384d6f4SThierry Escande help 81d384d6f4SThierry Escande This option enables the kernel to search for a firmware log in 82d384d6f4SThierry Escande the coreboot table. If found, this log is exported to userland 83d384d6f4SThierry Escande in the file /sys/firmware/log. 84d384d6f4SThierry Escande 85049a59dbSWei-Ning Huangconfig GOOGLE_VPD 86049a59dbSWei-Ning Huang tristate "Vital Product Data" 87049a59dbSWei-Ning Huang depends on GOOGLE_COREBOOT_TABLE 88049a59dbSWei-Ning Huang help 89049a59dbSWei-Ning Huang This option enables the kernel to expose the content of Google VPD 90049a59dbSWei-Ning Huang under /sys/firmware/vpd. 91049a59dbSWei-Ning Huang 92f952a401SThierry Escandeendif # GOOGLE_FIRMWARE 93