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 2219d54020SJack Rosenthalconfig GOOGLE_CBMEM 2319d54020SJack Rosenthal tristate "CBMEM entries in sysfs" 2419d54020SJack Rosenthal depends on GOOGLE_COREBOOT_TABLE 2519d54020SJack Rosenthal help 2619d54020SJack Rosenthal CBMEM is a downwards-growing memory region created by the 2719d54020SJack Rosenthal Coreboot BIOS containing tagged data structures from the 2819d54020SJack Rosenthal BIOS. These data structures expose things like the verified 2919d54020SJack Rosenthal boot firmware variables, flash layout, firmware event log, 3019d54020SJack Rosenthal and more. 3119d54020SJack Rosenthal 3219d54020SJack Rosenthal This option enables the cbmem module, which causes the 3319d54020SJack Rosenthal kernel to search for Coreboot CBMEM entries, and expose the 3419d54020SJack Rosenthal memory for each entry in sysfs under 3519d54020SJack Rosenthal /sys/bus/coreboot/devices/cbmem-<id>. 3619d54020SJack 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 47e561bc45SMike Waychisonconfig GOOGLE_MEMCONSOLE 48afe9dba4SThierry Escande tristate 49d384d6f4SThierry Escande depends on GOOGLE_MEMCONSOLE_X86_LEGACY || GOOGLE_MEMCONSOLE_COREBOOT 50afe9dba4SThierry Escande 51afe9dba4SThierry Escandeconfig GOOGLE_MEMCONSOLE_X86_LEGACY 52afe9dba4SThierry Escande tristate "Firmware Memory Console - X86 Legacy support" 53afe9dba4SThierry Escande depends on X86 && ACPI && DMI 54afe9dba4SThierry Escande select GOOGLE_MEMCONSOLE 55e561bc45SMike Waychison help 56e561bc45SMike Waychison This option enables the kernel to search for a firmware log in 57e561bc45SMike Waychison the EBDA on Google servers. If found, this log is exported to 58e561bc45SMike Waychison userland in the file /sys/firmware/log. 59a1d9a09aSMike Waychison 60851b4c14SSamuel Hollandconfig GOOGLE_FRAMEBUFFER_COREBOOT 61851b4c14SSamuel Holland tristate "Coreboot Framebuffer" 62*dff054e6SAlper Nebi Yasak depends on FB_SIMPLE || DRM_SIMPLEDRM 63851b4c14SSamuel Holland depends on GOOGLE_COREBOOT_TABLE 64851b4c14SSamuel Holland help 65851b4c14SSamuel Holland This option enables the kernel to search for a framebuffer in 66851b4c14SSamuel Holland the coreboot table. If found, it is registered with simplefb. 67851b4c14SSamuel Holland 68d384d6f4SThierry Escandeconfig GOOGLE_MEMCONSOLE_COREBOOT 69d384d6f4SThierry Escande tristate "Firmware Memory Console" 70d384d6f4SThierry Escande depends on GOOGLE_COREBOOT_TABLE 71d384d6f4SThierry Escande select GOOGLE_MEMCONSOLE 72d384d6f4SThierry Escande help 73d384d6f4SThierry Escande This option enables the kernel to search for a firmware log in 74d384d6f4SThierry Escande the coreboot table. If found, this log is exported to userland 75d384d6f4SThierry Escande in the file /sys/firmware/log. 76d384d6f4SThierry Escande 77049a59dbSWei-Ning Huangconfig GOOGLE_VPD 78049a59dbSWei-Ning Huang tristate "Vital Product Data" 79049a59dbSWei-Ning Huang depends on GOOGLE_COREBOOT_TABLE 80049a59dbSWei-Ning Huang help 81049a59dbSWei-Ning Huang This option enables the kernel to expose the content of Google VPD 82049a59dbSWei-Ning Huang under /sys/firmware/vpd. 83049a59dbSWei-Ning Huang 84f952a401SThierry Escandeendif # GOOGLE_FIRMWARE 85