xref: /openbmc/linux/drivers/firmware/google/Kconfig (revision dff054e6)
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