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