xref: /linux/drivers/firmware/coreboot/Kconfig (revision 44e33a5aaa2de3f5cf2701d6f4b0a7c63d4fe602)
1# SPDX-License-Identifier: GPL-2.0-only
2menuconfig COREBOOT_FIRMWARE
3	bool "coreboot firmware drivers"
4	default GOOGLE_FIRMWARE
5	default n
6	help
7	  These firmware drivers are used by devices running coreboot
8	  firmware, including Chromebooks and some Google servers.
9	  They include shared support for coreboot table entries and
10	  drivers for CBMEM, framebuffer, firmware console and VPD records.
11	  If in doubt, say "N".
12
13if COREBOOT_FIRMWARE
14
15config GOOGLE_SMI
16	tristate "SMI interface for Google platforms"
17	depends on X86 && ACPI && DMI
18	help
19	  Say Y here if you want to enable SMI callbacks for Google
20	  platforms.  This provides an interface for writing to and
21	  clearing the event log.  If CONFIG_EFI is also enabled this
22	  driver provides an interface for reading and writing NVRAM
23	  variables.
24
25config COREBOOT_CBMEM
26	tristate "CBMEM entries in sysfs"
27	depends on COREBOOT_TABLE
28	default GOOGLE_CBMEM
29	help
30	  CBMEM is a downwards-growing memory region created by the
31	  Coreboot BIOS containing tagged data structures from the
32	  BIOS.  These data structures expose things like the verified
33	  boot firmware variables, flash layout, firmware event log,
34	  and more.
35
36	  This option enables the cbmem module, which causes the
37	  kernel to search for Coreboot CBMEM entries, and expose the
38	  memory for each entry in sysfs under
39	  /sys/bus/coreboot/devices/cbmem-<id>.
40
41config COREBOOT_TABLE
42	tristate "Coreboot Table Access"
43	depends on HAS_IOMEM && (ACPI || OF)
44	default GOOGLE_COREBOOT_TABLE
45	help
46	  This option enables the coreboot_table module, which provides other
47	  firmware modules access to the coreboot table. The coreboot table
48	  pointer is accessed through the ACPI "GOOGCB00" object or the
49	  device tree node /firmware/coreboot.
50	  If unsure say N.
51
52config COREBOOT_MEMCONSOLE_COMMON
53	tristate
54	depends on GOOGLE_MEMCONSOLE_X86_LEGACY || COREBOOT_MEMCONSOLE
55	default GOOGLE_MEMCONSOLE
56
57config GOOGLE_MEMCONSOLE_X86_LEGACY
58	tristate "Firmware Memory Console - X86 Legacy support"
59	depends on X86 && ACPI && DMI
60	select COREBOOT_MEMCONSOLE_COMMON
61	help
62	  This option enables the kernel to search for a firmware log in
63	  the EBDA on Google servers.  If found, this log is exported to
64	  userland in the file /sys/firmware/log.
65	  This driver is limited to x86 systems that expose the legacy
66	  Google EBDA console format.
67
68config COREBOOT_FRAMEBUFFER
69	tristate "Coreboot Framebuffer"
70	depends on COREBOOT_TABLE
71	default GOOGLE_FRAMEBUFFER_COREBOOT
72	help
73	  This option enables the kernel to search for a framebuffer in
74	  the coreboot table.  If found, it is registered with a platform
75	  device of type coreboot-framebuffer. Using the old device of
76	  type simple-framebuffer is deprecated.
77
78config COREBOOT_MEMCONSOLE
79	tristate "Firmware Memory Console"
80	depends on COREBOOT_TABLE
81	select COREBOOT_MEMCONSOLE_COMMON
82	default GOOGLE_MEMCONSOLE_COREBOOT
83	help
84	  This option enables the kernel to search for a firmware log in
85	  the coreboot table.  If found, this log is exported to userland
86	  in the file /sys/firmware/log.
87	  This is the coreboot-table backed variant of the firmware memory
88	  console driver.
89
90config GOOGLE_VPD
91	tristate "Vital Product Data"
92	depends on COREBOOT_TABLE
93	help
94	  This option enables the kernel to expose the content of Google VPD
95	  under /sys/firmware/vpd.
96	  VPD records carry firmware-provided key/value data used by
97	  Google devices.
98
99endif # COREBOOT_FIRMWARE
100
101config GOOGLE_FIRMWARE
102	bool
103	transitional
104
105config GOOGLE_CBMEM
106	tristate
107	transitional
108
109config GOOGLE_COREBOOT_TABLE
110	tristate
111	transitional
112
113config GOOGLE_MEMCONSOLE
114	tristate
115	transitional
116
117config GOOGLE_FRAMEBUFFER_COREBOOT
118	tristate
119	transitional
120
121config GOOGLE_MEMCONSOLE_COREBOOT
122	tristate
123	transitional
124