projects/linux·blob master · refs

138 lines · 4.1 KiB

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_CFR
53 tristate "coreboot CFR firmware attributes"
54 depends on EFI
55 depends on COREBOOT_TABLE
56 depends on HAS_IOPORT
57 select CRC32
58 select FW_ATTR_CLASS
59 help
60 This driver parses the coreboot CFR table and exposes runtime EFI
61 variable-backed options through the firmware-attributes sysfs
62 interface.
63
64 If you have a system running coreboot with CFR runtime
65 configuration support, say Y or M here.
66
67config COREBOOT_MEMCONSOLE_COMMON
68 tristate
69 depends on GOOGLE_MEMCONSOLE_X86_LEGACY || COREBOOT_MEMCONSOLE
70 default GOOGLE_MEMCONSOLE
71
72config GOOGLE_MEMCONSOLE_X86_LEGACY
73 tristate "Firmware Memory Console - X86 Legacy support"
74 depends on X86 && ACPI && DMI
75 select COREBOOT_MEMCONSOLE_COMMON
76 help
77 This option enables the kernel to search for a firmware log in
78 the EBDA on Google servers. If found, this log is exported to
79 userland in the file /sys/firmware/log.
80 This driver is limited to x86 systems that expose the legacy
81 Google EBDA console format.
82
83config COREBOOT_FRAMEBUFFER
84 tristate "Coreboot Framebuffer"
85 depends on COREBOOT_TABLE
86 default GOOGLE_FRAMEBUFFER_COREBOOT
87 help
88 This option enables the kernel to search for a framebuffer in
89 the coreboot table. If found, it is registered with a platform
90 device of type coreboot-framebuffer. Using the old device of
91 type simple-framebuffer is deprecated.
92
93config COREBOOT_MEMCONSOLE
94 tristate "Firmware Memory Console"
95 depends on COREBOOT_TABLE
96 select COREBOOT_MEMCONSOLE_COMMON
97 default GOOGLE_MEMCONSOLE_COREBOOT
98 help
99 This option enables the kernel to search for a firmware log in
100 the coreboot table. If found, this log is exported to userland
101 in the file /sys/firmware/log.
102 This is the coreboot-table backed variant of the firmware memory
103 console driver.
104
105config GOOGLE_VPD
106 tristate "Vital Product Data"
107 depends on COREBOOT_TABLE
108 help
109 This option enables the kernel to expose the content of Google VPD
110 under /sys/firmware/vpd.
111 VPD records carry firmware-provided key/value data used by
112 Google devices.
113
114endif # COREBOOT_FIRMWARE
115
116config GOOGLE_FIRMWARE
117 bool
118 transitional
119
120config GOOGLE_CBMEM
121 tristate
122 transitional
123
124config GOOGLE_COREBOOT_TABLE
125 tristate
126 transitional
127
128config GOOGLE_MEMCONSOLE
129 tristate
130 transitional
131
132config GOOGLE_FRAMEBUFFER_COREBOOT
133 tristate
134 transitional
135
136config GOOGLE_MEMCONSOLE_COREBOOT
137 tristate
138 transitional