]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | # |
2 | # For a description of the syntax of this configuration file, | |
3 | # see Documentation/kbuild/kconfig-language.txt. | |
4 | # | |
5 | ||
6 | menu "Firmware Drivers" | |
7 | ||
aa4f886f SH |
8 | config ARM_SCMI_PROTOCOL |
9 | bool "ARM System Control and Management Interface (SCMI) Message Protocol" | |
10 | depends on ARM || ARM64 || COMPILE_TEST | |
11 | depends on MAILBOX | |
12 | help | |
13 | ARM System Control and Management Interface (SCMI) protocol is a | |
14 | set of operating system-independent software interfaces that are | |
15 | used in system management. SCMI is extensible and currently provides | |
16 | interfaces for: Discovery and self-description of the interfaces | |
17 | it supports, Power domain management which is the ability to place | |
18 | a given device or domain into the various power-saving states that | |
19 | it supports, Performance management which is the ability to control | |
20 | the performance of a domain that is composed of compute engines | |
21 | such as application processors and other accelerators, Clock | |
22 | management which is the ability to set and inquire rates on platform | |
23 | managed clocks and Sensor management which is the ability to read | |
24 | sensor data, and be notified of sensor value. | |
25 | ||
26 | This protocol library provides interface for all the client drivers | |
27 | making use of the features offered by the SCMI. | |
28 | ||
898216c9 SH |
29 | config ARM_SCMI_POWER_DOMAIN |
30 | tristate "SCMI power domain driver" | |
31 | depends on ARM_SCMI_PROTOCOL || (COMPILE_TEST && OF) | |
32 | default y | |
33 | select PM_GENERIC_DOMAINS if PM | |
34 | help | |
35 | This enables support for the SCMI power domains which can be | |
36 | enabled or disabled via the SCP firmware | |
37 | ||
38 | This driver can also be built as a module. If so, the module | |
39 | will be called scmi_pm_domain. Note this may needed early in boot | |
40 | before rootfs may be available. | |
41 | ||
8cb7cf56 SH |
42 | config ARM_SCPI_PROTOCOL |
43 | tristate "ARM System Control and Power Interface (SCPI) Message Protocol" | |
92f3e6eb | 44 | depends on ARM || ARM64 || COMPILE_TEST |
8f1498c0 | 45 | depends on MAILBOX |
8cb7cf56 SH |
46 | help |
47 | System Control and Power Interface (SCPI) Message Protocol is | |
48 | defined for the purpose of communication between the Application | |
49 | Cores(AP) and the System Control Processor(SCP). The MHU peripheral | |
50 | provides a mechanism for inter-processor communication between SCP | |
51 | and AP. | |
52 | ||
53 | SCP controls most of the power managament on the Application | |
54 | Processors. It offers control and management of: the core/cluster | |
55 | power states, various power domain DVFS including the core/cluster, | |
56 | certain system clocks configuration, thermal sensors and many | |
57 | others. | |
58 | ||
59 | This protocol library provides interface for all the client drivers | |
60 | making use of the features offered by the SCP. | |
61 | ||
8bec4337 SH |
62 | config ARM_SCPI_POWER_DOMAIN |
63 | tristate "SCPI power domain driver" | |
e517dfe6 | 64 | depends on ARM_SCPI_PROTOCOL || (COMPILE_TEST && OF) |
8bec4337 SH |
65 | default y |
66 | select PM_GENERIC_DOMAINS if PM | |
8bec4337 SH |
67 | help |
68 | This enables support for the SCPI power domains which can be | |
69 | enabled or disabled via the SCP firmware | |
70 | ||
ad6eb31e JM |
71 | config ARM_SDE_INTERFACE |
72 | bool "ARM Software Delegated Exception Interface (SDEI)" | |
73 | depends on ARM64 | |
74 | help | |
75 | The Software Delegated Exception Interface (SDEI) is an ARM | |
76 | standard for registering callbacks from the platform firmware | |
77 | into the OS. This is typically used to implement RAS notifications. | |
78 | ||
1da177e4 | 79 | config EDD |
5d18639a | 80 | tristate "BIOS Enhanced Disk Drive calls determine boot disk" |
9b6e3e42 | 81 | depends on X86 |
1da177e4 LT |
82 | help |
83 | Say Y or M here if you want to enable BIOS Enhanced Disk Drive | |
84 | Services real mode BIOS calls to determine which disk | |
85 | BIOS tries boot from. This information is then exported via sysfs. | |
86 | ||
87 | This option is experimental and is known to fail to boot on some | |
88 | obscure configurations. Most disk controller BIOS vendors do | |
89 | not yet implement this feature. | |
90 | ||
8c4dd606 TG |
91 | config EDD_OFF |
92 | bool "Sets default behavior for EDD detection to off" | |
93 | depends on EDD | |
94 | default n | |
95 | help | |
96 | Say Y if you want EDD disabled by default, even though it is compiled into the | |
97 | kernel. Say N if you want EDD enabled by default. EDD can be dynamically set | |
98 | using the kernel parameter 'edd={on|skipmbr|off}'. | |
99 | ||
69ac9cd6 | 100 | config FIRMWARE_MEMMAP |
6a108a14 | 101 | bool "Add firmware-provided memory map to sysfs" if EXPERT |
9b6e3e42 | 102 | default X86 |
69ac9cd6 BW |
103 | help |
104 | Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap. | |
105 | That memory map is used for example by kexec to set up parameter area | |
106 | for the next kernel, but can also be used for debugging purposes. | |
107 | ||
108 | See also Documentation/ABI/testing/sysfs-firmware-memmap. | |
109 | ||
1da177e4 LT |
110 | config EFI_PCDP |
111 | bool "Console device selection via EFI PCDP or HCDP table" | |
112 | depends on ACPI && EFI && IA64 | |
113 | default y if IA64 | |
114 | help | |
115 | If your firmware supplies the PCDP table, and you want to | |
116 | automatically use the primary console device it describes | |
117 | as the Linux console, say Y here. | |
118 | ||
119 | If your firmware supplies the HCDP table, and you want to | |
120 | use the first serial port it describes as the Linux console, | |
121 | say Y here. If your EFI ConOut path contains only a UART | |
122 | device, it will become the console automatically. Otherwise, | |
123 | you must specify the "console=hcdp" kernel boot argument. | |
124 | ||
125 | Neither the PCDP nor the HCDP affects naming of serial devices, | |
126 | so a serial console may be /dev/ttyS0, /dev/ttyS1, etc, depending | |
127 | on how the driver discovers devices. | |
128 | ||
129 | You must also enable the appropriate drivers (serial, VGA, etc.) | |
130 | ||
631dd1a8 JM |
131 | See DIG64_HCDPv20_042804.pdf available from |
132 | <http://www.dig64.org/specifications/> | |
1da177e4 | 133 | |
4f5c791a LP |
134 | config DMIID |
135 | bool "Export DMI identification via sysfs to userspace" | |
136 | depends on DMI | |
137 | default y | |
138 | help | |
139 | Say Y here if you want to query SMBIOS/DMI system identification | |
140 | information from userspace through /sys/class/dmi/id/ or if you want | |
141 | DMI-based module auto-loading. | |
142 | ||
948af1f0 MW |
143 | config DMI_SYSFS |
144 | tristate "DMI table support in sysfs" | |
145 | depends on SYSFS && DMI | |
146 | default n | |
147 | help | |
148 | Say Y or M here to enable the exporting of the raw DMI table | |
149 | data via sysfs. This is useful for consuming the data without | |
150 | requiring any access to /dev/mem at all. Tables are found | |
151 | under /sys/firmware/dmi when this option is enabled and | |
152 | loaded. | |
153 | ||
cf074402 AB |
154 | config DMI_SCAN_MACHINE_NON_EFI_FALLBACK |
155 | bool | |
156 | ||
138fe4e0 KR |
157 | config ISCSI_IBFT_FIND |
158 | bool "iSCSI Boot Firmware Table Attributes" | |
9d24622c | 159 | depends on X86 && ACPI |
138fe4e0 KR |
160 | default n |
161 | help | |
162 | This option enables the kernel to find the region of memory | |
163 | in which the ISCSI Boot Firmware Table (iBFT) resides. This | |
164 | is necessary for iSCSI Boot Firmware Table Attributes module to work | |
165 | properly. | |
166 | ||
167 | config ISCSI_IBFT | |
168 | tristate "iSCSI Boot Firmware Table Attributes module" | |
b33a84a3 | 169 | select ISCSI_BOOT_SYSFS |
3e0f686e | 170 | depends on ISCSI_IBFT_FIND && SCSI && SCSI_LOWLEVEL |
138fe4e0 KR |
171 | default n |
172 | help | |
173 | This option enables support for detection and exposing of iSCSI | |
174 | Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to | |
175 | detect iSCSI boot parameters dynamically during system boot, say Y. | |
176 | Otherwise, say N. | |
177 | ||
4e3d6065 EA |
178 | config RASPBERRYPI_FIRMWARE |
179 | tristate "Raspberry Pi Firmware Driver" | |
180 | depends on BCM2835_MBOX | |
181 | help | |
182 | This option enables support for communicating with the firmware on the | |
183 | Raspberry Pi. | |
184 | ||
75f3e8e4 GS |
185 | config FW_CFG_SYSFS |
186 | tristate "QEMU fw_cfg device support in sysfs" | |
187 | depends on SYSFS && (ARM || ARM64 || PPC_PMAC || SPARC || X86) | |
28c09ec4 | 188 | depends on HAS_IOPORT_MAP |
75f3e8e4 GS |
189 | default n |
190 | help | |
191 | Say Y or M here to enable the exporting of the QEMU firmware | |
192 | configuration (fw_cfg) file entries via sysfs. Entries are | |
193 | found under /sys/firmware/fw_cfg when this option is enabled | |
194 | and loaded. | |
195 | ||
196 | config FW_CFG_SYSFS_CMDLINE | |
197 | bool "QEMU fw_cfg device parameter parsing" | |
198 | depends on FW_CFG_SYSFS | |
199 | help | |
200 | Allow the qemu_fw_cfg device to be initialized via the kernel | |
201 | command line or using a module parameter. | |
202 | WARNING: Using incorrect parameters (base address in particular) | |
203 | may crash your system. | |
204 | ||
7ca5ce89 RG |
205 | config INTEL_STRATIX10_SERVICE |
206 | tristate "Intel Stratix10 Service Layer" | |
7cbc2b42 | 207 | depends on ARCH_STRATIX10 && HAVE_ARM_SMCCC |
7ca5ce89 RG |
208 | default n |
209 | help | |
210 | Intel Stratix10 service layer runs at privileged exception level, | |
211 | interfaces with the service providers (FPGA manager is one of them) | |
212 | and manages secure monitor call to communicate with secure monitor | |
213 | software at secure monitor exception level. | |
214 | ||
215 | Say Y here if you want Stratix10 service layer support. | |
216 | ||
916f743d KG |
217 | config QCOM_SCM |
218 | bool | |
219 | depends on ARM || ARM64 | |
dd4fe5b2 | 220 | select RESET_CONTROLLER |
916f743d | 221 | |
50b956f3 AG |
222 | config QCOM_SCM_32 |
223 | def_bool y | |
224 | depends on QCOM_SCM && ARM | |
225 | ||
226 | config QCOM_SCM_64 | |
227 | def_bool y | |
228 | depends on QCOM_SCM && ARM64 | |
229 | ||
8c1b7dc9 BA |
230 | config QCOM_SCM_DOWNLOAD_MODE_DEFAULT |
231 | bool "Qualcomm download mode enabled by default" | |
232 | depends on QCOM_SCM | |
233 | help | |
234 | A device with "download mode" enabled will upon an unexpected | |
235 | warm-restart enter a special debug mode that allows the user to | |
236 | "download" memory content over USB for offline postmortem analysis. | |
237 | The feature can be enabled/disabled on the kernel command line. | |
238 | ||
239 | Say Y here to enable "download mode" by default. | |
240 | ||
aa276781 NM |
241 | config TI_SCI_PROTOCOL |
242 | tristate "TI System Control Interface (TISCI) Message Protocol" | |
243 | depends on TI_MESSAGE_MANAGER | |
244 | help | |
245 | TI System Control Interface (TISCI) Message Protocol is used to manage | |
246 | compute systems such as ARM, DSP etc with the system controller in | |
247 | complex System on Chip(SoC) such as those found on certain keystone | |
248 | generation SoC from TI. | |
249 | ||
250 | System controller provides various facilities including power | |
251 | management function support. | |
252 | ||
253 | This protocol library is used by client drivers to use the features | |
254 | provided by the system controller. | |
255 | ||
4cb5d9ec TR |
256 | config TRUSTED_FOUNDATIONS |
257 | bool "Trusted Foundations secure monitor support" | |
258 | depends on ARM | |
259 | help | |
260 | Some devices (including most early Tegra-based consumer devices on | |
261 | the market) are booted with the Trusted Foundations secure monitor | |
262 | active, requiring some core operations to be performed by the secure | |
263 | monitor instead of the kernel. | |
264 | ||
265 | This option allows the kernel to invoke the secure monitor whenever | |
266 | required on devices using Trusted Foundations. See the functions and | |
267 | comments in linux/firmware/trusted_foundations.h or the device tree | |
268 | bindings for "tlm,trusted-foundations" for details on how to use it. | |
269 | ||
270 | Choose N if you don't know what this is about. | |
271 | ||
98dd64f3 JW |
272 | config HAVE_ARM_SMCCC |
273 | bool | |
274 | ||
e720a6c8 | 275 | source "drivers/firmware/psci/Kconfig" |
f6e734a8 | 276 | source "drivers/firmware/broadcom/Kconfig" |
74c5b31c | 277 | source "drivers/firmware/google/Kconfig" |
04851772 | 278 | source "drivers/firmware/efi/Kconfig" |
edbee095 | 279 | source "drivers/firmware/imx/Kconfig" |
2c4ddb21 | 280 | source "drivers/firmware/meson/Kconfig" |
ca791d7f | 281 | source "drivers/firmware/tegra/Kconfig" |
76582671 | 282 | source "drivers/firmware/xilinx/Kconfig" |
74c5b31c | 283 | |
1da177e4 | 284 | endmenu |