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