Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
1da177e4 LT |
2 | # |
3 | # For a description of the syntax of this configuration file, | |
cd238eff | 4 | # see Documentation/kbuild/kconfig-language.rst. |
1da177e4 LT |
5 | # |
6 | ||
7 | menu "Firmware Drivers" | |
8 | ||
e8419c24 | 9 | source "drivers/firmware/arm_scmi/Kconfig" |
898216c9 | 10 | |
8cb7cf56 SH |
11 | config ARM_SCPI_PROTOCOL |
12 | tristate "ARM System Control and Power Interface (SCPI) Message Protocol" | |
92f3e6eb | 13 | depends on ARM || ARM64 || COMPILE_TEST |
8f1498c0 | 14 | depends on MAILBOX |
8cb7cf56 SH |
15 | help |
16 | System Control and Power Interface (SCPI) Message Protocol is | |
17 | defined for the purpose of communication between the Application | |
18 | Cores(AP) and the System Control Processor(SCP). The MHU peripheral | |
19 | provides a mechanism for inter-processor communication between SCP | |
20 | and AP. | |
21 | ||
54da51a8 | 22 | SCP controls most of the power management on the Application |
8cb7cf56 SH |
23 | Processors. It offers control and management of: the core/cluster |
24 | power states, various power domain DVFS including the core/cluster, | |
25 | certain system clocks configuration, thermal sensors and many | |
26 | others. | |
27 | ||
28 | This protocol library provides interface for all the client drivers | |
29 | making use of the features offered by the SCP. | |
30 | ||
ad6eb31e JM |
31 | config ARM_SDE_INTERFACE |
32 | bool "ARM Software Delegated Exception Interface (SDEI)" | |
33 | depends on ARM64 | |
dc4e8c07 | 34 | depends on ACPI_APEI_GHES |
ad6eb31e JM |
35 | help |
36 | The Software Delegated Exception Interface (SDEI) is an ARM | |
37 | standard for registering callbacks from the platform firmware | |
38 | into the OS. This is typically used to implement RAS notifications. | |
39 | ||
1da177e4 | 40 | config EDD |
5d18639a | 41 | tristate "BIOS Enhanced Disk Drive calls determine boot disk" |
9b6e3e42 | 42 | depends on X86 |
1da177e4 LT |
43 | help |
44 | Say Y or M here if you want to enable BIOS Enhanced Disk Drive | |
45 | Services real mode BIOS calls to determine which disk | |
46 | BIOS tries boot from. This information is then exported via sysfs. | |
47 | ||
48 | This option is experimental and is known to fail to boot on some | |
49 | obscure configurations. Most disk controller BIOS vendors do | |
50 | not yet implement this feature. | |
51 | ||
8c4dd606 TG |
52 | config EDD_OFF |
53 | bool "Sets default behavior for EDD detection to off" | |
54 | depends on EDD | |
55 | default n | |
56 | help | |
57 | Say Y if you want EDD disabled by default, even though it is compiled into the | |
58 | kernel. Say N if you want EDD enabled by default. EDD can be dynamically set | |
59 | using the kernel parameter 'edd={on|skipmbr|off}'. | |
60 | ||
69ac9cd6 | 61 | config FIRMWARE_MEMMAP |
6a108a14 | 62 | bool "Add firmware-provided memory map to sysfs" if EXPERT |
9b6e3e42 | 63 | default X86 |
69ac9cd6 BW |
64 | help |
65 | Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap. | |
66 | That memory map is used for example by kexec to set up parameter area | |
67 | for the next kernel, but can also be used for debugging purposes. | |
68 | ||
69 | See also Documentation/ABI/testing/sysfs-firmware-memmap. | |
70 | ||
4f5c791a LP |
71 | config DMIID |
72 | bool "Export DMI identification via sysfs to userspace" | |
73 | depends on DMI | |
74 | default y | |
75 | help | |
76 | Say Y here if you want to query SMBIOS/DMI system identification | |
77 | information from userspace through /sys/class/dmi/id/ or if you want | |
78 | DMI-based module auto-loading. | |
79 | ||
948af1f0 MW |
80 | config DMI_SYSFS |
81 | tristate "DMI table support in sysfs" | |
82 | depends on SYSFS && DMI | |
83 | default n | |
84 | help | |
85 | Say Y or M here to enable the exporting of the raw DMI table | |
86 | data via sysfs. This is useful for consuming the data without | |
87 | requiring any access to /dev/mem at all. Tables are found | |
88 | under /sys/firmware/dmi when this option is enabled and | |
89 | loaded. | |
90 | ||
cf074402 AB |
91 | config DMI_SCAN_MACHINE_NON_EFI_FALLBACK |
92 | bool | |
93 | ||
138fe4e0 KR |
94 | config ISCSI_IBFT_FIND |
95 | bool "iSCSI Boot Firmware Table Attributes" | |
94bccc34 | 96 | depends on X86 && ISCSI_IBFT |
138fe4e0 KR |
97 | default n |
98 | help | |
99 | This option enables the kernel to find the region of memory | |
100 | in which the ISCSI Boot Firmware Table (iBFT) resides. This | |
101 | is necessary for iSCSI Boot Firmware Table Attributes module to work | |
102 | properly. | |
103 | ||
104 | config ISCSI_IBFT | |
105 | tristate "iSCSI Boot Firmware Table Attributes module" | |
b33a84a3 | 106 | select ISCSI_BOOT_SYSFS |
94bccc34 TT |
107 | select ISCSI_IBFT_FIND if X86 |
108 | depends on ACPI && SCSI && SCSI_LOWLEVEL | |
138fe4e0 KR |
109 | default n |
110 | help | |
111 | This option enables support for detection and exposing of iSCSI | |
112 | Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to | |
113 | detect iSCSI boot parameters dynamically during system boot, say Y. | |
114 | Otherwise, say N. | |
115 | ||
4e3d6065 | 116 | config RASPBERRYPI_FIRMWARE |
83a06a10 | 117 | tristate "Raspberry Pi Firmware Driver" |
4e3d6065 EA |
118 | depends on BCM2835_MBOX |
119 | help | |
120 | This option enables support for communicating with the firmware on the | |
121 | Raspberry Pi. | |
122 | ||
75f3e8e4 GS |
123 | config FW_CFG_SYSFS |
124 | tristate "QEMU fw_cfg device support in sysfs" | |
f2de37a5 | 125 | depends on SYSFS && (ARM || ARM64 || PARISC || PPC_PMAC || RISCV || SPARC || X86) |
28c09ec4 | 126 | depends on HAS_IOPORT_MAP |
75f3e8e4 GS |
127 | default n |
128 | help | |
129 | Say Y or M here to enable the exporting of the QEMU firmware | |
130 | configuration (fw_cfg) file entries via sysfs. Entries are | |
131 | found under /sys/firmware/fw_cfg when this option is enabled | |
132 | and loaded. | |
133 | ||
134 | config FW_CFG_SYSFS_CMDLINE | |
135 | bool "QEMU fw_cfg device parameter parsing" | |
136 | depends on FW_CFG_SYSFS | |
137 | help | |
138 | Allow the qemu_fw_cfg device to be initialized via the kernel | |
139 | command line or using a module parameter. | |
140 | WARNING: Using incorrect parameters (base address in particular) | |
141 | may crash your system. | |
142 | ||
7ca5ce89 RG |
143 | config INTEL_STRATIX10_SERVICE |
144 | tristate "Intel Stratix10 Service Layer" | |
38ad957b | 145 | depends on ARCH_INTEL_SOCFPGA && ARM64 && HAVE_ARM_SMCCC |
7ca5ce89 RG |
146 | default n |
147 | help | |
148 | Intel Stratix10 service layer runs at privileged exception level, | |
149 | interfaces with the service providers (FPGA manager is one of them) | |
150 | and manages secure monitor call to communicate with secure monitor | |
151 | software at secure monitor exception level. | |
152 | ||
153 | Say Y here if you want Stratix10 service layer support. | |
154 | ||
4526ebbc RG |
155 | config INTEL_STRATIX10_RSU |
156 | tristate "Intel Stratix10 Remote System Update" | |
157 | depends on INTEL_STRATIX10_SERVICE | |
158 | help | |
159 | The Intel Remote System Update (RSU) driver exposes interfaces | |
160 | access through the Intel Service Layer to user space via sysfs | |
161 | device attribute nodes. The RSU interfaces report/control some of | |
162 | the optional RSU features of the Stratix 10 SoC FPGA. | |
163 | ||
164 | The RSU provides a way for customers to update the boot | |
165 | configuration of a Stratix 10 SoC device with significantly reduced | |
166 | risk of corrupting the bitstream storage and bricking the system. | |
167 | ||
168 | Enable RSU support if you are using an Intel SoC FPGA with the RSU | |
169 | feature enabled and you want Linux user space control. | |
170 | ||
171 | Say Y here if you want Intel RSU support. | |
172 | ||
9db69df4 TS |
173 | config MTK_ADSP_IPC |
174 | tristate "MTK ADSP IPC Protocol driver" | |
175 | depends on MTK_ADSP_MBOX | |
176 | help | |
177 | Say yes here to add support for the MediaTek ADSP IPC | |
178 | between host AP (Linux) and the firmware running on ADSP. | |
179 | ADSP exists on some mtk processors. | |
180 | Client might use shared memory to exchange information with ADSP. | |
181 | ||
d391c582 JMC |
182 | config SYSFB |
183 | bool | |
8b766b0f | 184 | select BOOT_VESA_SUPPORT |
75fa9b7e | 185 | select SCREEN_INFO |
d391c582 | 186 | |
8633ef82 | 187 | config SYSFB_SIMPLEFB |
d391c582 | 188 | bool "Mark VGA/VBE/EFI FB as generic system framebuffer" |
a4a072d9 MS |
189 | depends on X86 || EFI |
190 | select SYSFB | |
d391c582 JMC |
191 | help |
192 | Firmwares often provide initial graphics framebuffers so the BIOS, | |
193 | bootloader or kernel can show basic video-output during boot for | |
194 | user-guidance and debugging. Historically, x86 used the VESA BIOS | |
195 | Extensions and EFI-framebuffers for this, which are mostly limited | |
8633ef82 | 196 | to x86 BIOS or EFI systems. |
d391c582 JMC |
197 | This option, if enabled, marks VGA/VBE/EFI framebuffers as generic |
198 | framebuffers so the new generic system-framebuffer drivers can be | |
8633ef82 | 199 | used instead. If the framebuffer is not compatible with the generic |
d391c582 JMC |
200 | modes, it is advertised as fallback platform framebuffer so legacy |
201 | drivers like efifb, vesafb and uvesafb can pick it up. | |
202 | If this option is not selected, all system framebuffers are always | |
203 | marked as fallback platform framebuffers as usual. | |
204 | ||
205 | Note: Legacy fbdev drivers, including vesafb, efifb, uvesafb, will | |
206 | not be able to pick up generic system framebuffers if this option | |
207 | is selected. You are highly encouraged to enable simplefb as | |
208 | replacement if you select this option. simplefb can correctly deal | |
209 | with generic system framebuffers. But you should still keep vesafb | |
210 | and others enabled as fallback if a system framebuffer is | |
211 | incompatible with simplefb. | |
212 | ||
213 | If unsure, say Y. | |
214 | ||
aa276781 NM |
215 | config TI_SCI_PROTOCOL |
216 | tristate "TI System Control Interface (TISCI) Message Protocol" | |
217 | depends on TI_MESSAGE_MANAGER | |
218 | help | |
219 | TI System Control Interface (TISCI) Message Protocol is used to manage | |
220 | compute systems such as ARM, DSP etc with the system controller in | |
221 | complex System on Chip(SoC) such as those found on certain keystone | |
222 | generation SoC from TI. | |
223 | ||
224 | System controller provides various facilities including power | |
225 | management function support. | |
226 | ||
227 | This protocol library is used by client drivers to use the features | |
228 | provided by the system controller. | |
229 | ||
4cb5d9ec TR |
230 | config TRUSTED_FOUNDATIONS |
231 | bool "Trusted Foundations secure monitor support" | |
cad47b32 | 232 | depends on ARM && CPU_V7 |
4cb5d9ec TR |
233 | help |
234 | Some devices (including most early Tegra-based consumer devices on | |
235 | the market) are booted with the Trusted Foundations secure monitor | |
236 | active, requiring some core operations to be performed by the secure | |
237 | monitor instead of the kernel. | |
238 | ||
239 | This option allows the kernel to invoke the secure monitor whenever | |
240 | required on devices using Trusted Foundations. See the functions and | |
241 | comments in linux/firmware/trusted_foundations.h or the device tree | |
242 | bindings for "tlm,trusted-foundations" for details on how to use it. | |
243 | ||
244 | Choose N if you don't know what this is about. | |
245 | ||
389711b3 MB |
246 | config TURRIS_MOX_RWTM |
247 | tristate "Turris Mox rWTM secure firmware driver" | |
248 | depends on ARCH_MVEBU || COMPILE_TEST | |
249 | depends on HAS_DMA && OF | |
250 | depends on MAILBOX | |
251 | select HW_RANDOM | |
252 | select ARMADA_37XX_RWTM_MBOX | |
253 | help | |
254 | This driver communicates with the firmware on the Cortex-M3 secure | |
255 | processor of the Turris Mox router. Enable if you are building for | |
256 | Turris Mox, and you will be able to read the device serial number and | |
257 | other manufacturing data and also utilize the Entropy Bit Generator | |
258 | for hardware random number generation. | |
259 | ||
e7818584 | 260 | source "drivers/firmware/arm_ffa/Kconfig" |
f6e734a8 | 261 | source "drivers/firmware/broadcom/Kconfig" |
f6bc909e | 262 | source "drivers/firmware/cirrus/Kconfig" |
74c5b31c | 263 | source "drivers/firmware/google/Kconfig" |
04851772 | 264 | source "drivers/firmware/efi/Kconfig" |
edbee095 | 265 | source "drivers/firmware/imx/Kconfig" |
2c4ddb21 | 266 | source "drivers/firmware/meson/Kconfig" |
ec5b0f11 | 267 | source "drivers/firmware/microchip/Kconfig" |
e5bfb21d | 268 | source "drivers/firmware/psci/Kconfig" |
bdac188e | 269 | source "drivers/firmware/qcom/Kconfig" |
e5bfb21d | 270 | source "drivers/firmware/smccc/Kconfig" |
ca791d7f | 271 | source "drivers/firmware/tegra/Kconfig" |
76582671 | 272 | source "drivers/firmware/xilinx/Kconfig" |
74c5b31c | 273 | |
1da177e4 | 274 | endmenu |