Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[linux-2.6-microblaze.git] / drivers / firmware / Kconfig
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
8 config ARM_PSCI_FW
9         bool
10
11 config ARM_PSCI_CHECKER
12         bool "ARM PSCI checker"
13         depends on ARM_PSCI_FW && HOTPLUG_CPU && CPU_IDLE && !TORTURE_TEST
14         help
15           Run the PSCI checker during startup. This checks that hotplug and
16           suspend operations work correctly when using PSCI.
17
18           The torture tests may interfere with the PSCI checker by turning CPUs
19           on and off through hotplug, so for now torture tests and PSCI checker
20           are mutually exclusive.
21
22 config ARM_SCPI_PROTOCOL
23         tristate "ARM System Control and Power Interface (SCPI) Message Protocol"
24         depends on ARM || ARM64 || COMPILE_TEST
25         depends on MAILBOX
26         help
27           System Control and Power Interface (SCPI) Message Protocol is
28           defined for the purpose of communication between the Application
29           Cores(AP) and the System Control Processor(SCP). The MHU peripheral
30           provides a mechanism for inter-processor communication between SCP
31           and AP.
32
33           SCP controls most of the power managament on the Application
34           Processors. It offers control and management of: the core/cluster
35           power states, various power domain DVFS including the core/cluster,
36           certain system clocks configuration, thermal sensors and many
37           others.
38
39           This protocol library provides interface for all the client drivers
40           making use of the features offered by the SCP.
41
42 config ARM_SCPI_POWER_DOMAIN
43         tristate "SCPI power domain driver"
44         depends on ARM_SCPI_PROTOCOL || (COMPILE_TEST && OF)
45         default y
46         select PM_GENERIC_DOMAINS if PM
47         help
48           This enables support for the SCPI power domains which can be
49           enabled or disabled via the SCP firmware
50
51 config ARM_SDE_INTERFACE
52         bool "ARM Software Delegated Exception Interface (SDEI)"
53         depends on ARM64
54         help
55           The Software Delegated Exception Interface (SDEI) is an ARM
56           standard for registering callbacks from the platform firmware
57           into the OS. This is typically used to implement RAS notifications.
58
59 config EDD
60         tristate "BIOS Enhanced Disk Drive calls determine boot disk"
61         depends on X86
62         help
63           Say Y or M here if you want to enable BIOS Enhanced Disk Drive
64           Services real mode BIOS calls to determine which disk
65           BIOS tries boot from.  This information is then exported via sysfs.
66
67           This option is experimental and is known to fail to boot on some
68           obscure configurations. Most disk controller BIOS vendors do
69           not yet implement this feature.
70
71 config EDD_OFF
72         bool "Sets default behavior for EDD detection to off"
73         depends on EDD
74         default n
75         help
76           Say Y if you want EDD disabled by default, even though it is compiled into the
77           kernel. Say N if you want EDD enabled by default. EDD can be dynamically set
78           using the kernel parameter 'edd={on|skipmbr|off}'.
79
80 config FIRMWARE_MEMMAP
81     bool "Add firmware-provided memory map to sysfs" if EXPERT
82     default X86
83     help
84       Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap.
85       That memory map is used for example by kexec to set up parameter area
86       for the next kernel, but can also be used for debugging purposes.
87
88       See also Documentation/ABI/testing/sysfs-firmware-memmap.
89
90 config EFI_PCDP
91         bool "Console device selection via EFI PCDP or HCDP table"
92         depends on ACPI && EFI && IA64
93         default y if IA64
94         help
95           If your firmware supplies the PCDP table, and you want to
96           automatically use the primary console device it describes
97           as the Linux console, say Y here.
98
99           If your firmware supplies the HCDP table, and you want to
100           use the first serial port it describes as the Linux console,
101           say Y here.  If your EFI ConOut path contains only a UART
102           device, it will become the console automatically.  Otherwise,
103           you must specify the "console=hcdp" kernel boot argument.
104
105           Neither the PCDP nor the HCDP affects naming of serial devices,
106           so a serial console may be /dev/ttyS0, /dev/ttyS1, etc, depending
107           on how the driver discovers devices.
108
109           You must also enable the appropriate drivers (serial, VGA, etc.)
110
111           See DIG64_HCDPv20_042804.pdf available from
112           <http://www.dig64.org/specifications/> 
113
114 config DELL_RBU
115         tristate "BIOS update support for DELL systems via sysfs"
116         depends on X86
117         select FW_LOADER
118         select FW_LOADER_USER_HELPER
119         help
120          Say m if you want to have the option of updating the BIOS for your
121          DELL system. Note you need a Dell OpenManage or Dell Update package (DUP)
122          supporting application to communicate with the BIOS regarding the new
123          image for the image update to take effect.
124          See <file:Documentation/dell_rbu.txt> for more details on the driver.
125
126 config DCDBAS
127         tristate "Dell Systems Management Base Driver"
128         depends on X86
129         help
130           The Dell Systems Management Base Driver provides a sysfs interface
131           for systems management software to perform System Management
132           Interrupts (SMIs) and Host Control Actions (system power cycle or
133           power off after OS shutdown) on certain Dell systems.
134
135           See <file:Documentation/dcdbas.txt> for more details on the driver
136           and the Dell systems on which Dell systems management software makes
137           use of this driver.
138
139           Say Y or M here to enable the driver for use by Dell systems
140           management software such as Dell OpenManage.
141
142 config DMIID
143     bool "Export DMI identification via sysfs to userspace"
144     depends on DMI
145     default y
146         help
147           Say Y here if you want to query SMBIOS/DMI system identification
148           information from userspace through /sys/class/dmi/id/ or if you want
149           DMI-based module auto-loading.
150
151 config DMI_SYSFS
152         tristate "DMI table support in sysfs"
153         depends on SYSFS && DMI
154         default n
155         help
156           Say Y or M here to enable the exporting of the raw DMI table
157           data via sysfs.  This is useful for consuming the data without
158           requiring any access to /dev/mem at all.  Tables are found
159           under /sys/firmware/dmi when this option is enabled and
160           loaded.
161
162 config DMI_SCAN_MACHINE_NON_EFI_FALLBACK
163         bool
164
165 config ISCSI_IBFT_FIND
166         bool "iSCSI Boot Firmware Table Attributes"
167         depends on X86 && ACPI
168         default n
169         help
170           This option enables the kernel to find the region of memory
171           in which the ISCSI Boot Firmware Table (iBFT) resides. This
172           is necessary for iSCSI Boot Firmware Table Attributes module to work
173           properly.
174
175 config ISCSI_IBFT
176         tristate "iSCSI Boot Firmware Table Attributes module"
177         select ISCSI_BOOT_SYSFS
178         depends on ISCSI_IBFT_FIND && SCSI && SCSI_LOWLEVEL
179         default n
180         help
181           This option enables support for detection and exposing of iSCSI
182           Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to
183           detect iSCSI boot parameters dynamically during system boot, say Y.
184           Otherwise, say N.
185
186 config RASPBERRYPI_FIRMWARE
187         tristate "Raspberry Pi Firmware Driver"
188         depends on BCM2835_MBOX
189         help
190           This option enables support for communicating with the firmware on the
191           Raspberry Pi.
192
193 config FW_CFG_SYSFS
194         tristate "QEMU fw_cfg device support in sysfs"
195         depends on SYSFS && (ARM || ARM64 || PPC_PMAC || SPARC || X86)
196         depends on HAS_IOPORT_MAP
197         default n
198         help
199           Say Y or M here to enable the exporting of the QEMU firmware
200           configuration (fw_cfg) file entries via sysfs. Entries are
201           found under /sys/firmware/fw_cfg when this option is enabled
202           and loaded.
203
204 config FW_CFG_SYSFS_CMDLINE
205         bool "QEMU fw_cfg device parameter parsing"
206         depends on FW_CFG_SYSFS
207         help
208           Allow the qemu_fw_cfg device to be initialized via the kernel
209           command line or using a module parameter.
210           WARNING: Using incorrect parameters (base address in particular)
211           may crash your system.
212
213 config QCOM_SCM
214         bool
215         depends on ARM || ARM64
216         select RESET_CONTROLLER
217
218 config QCOM_SCM_32
219         def_bool y
220         depends on QCOM_SCM && ARM
221
222 config QCOM_SCM_64
223         def_bool y
224         depends on QCOM_SCM && ARM64
225
226 config QCOM_SCM_DOWNLOAD_MODE_DEFAULT
227         bool "Qualcomm download mode enabled by default"
228         depends on QCOM_SCM
229         help
230           A device with "download mode" enabled will upon an unexpected
231           warm-restart enter a special debug mode that allows the user to
232           "download" memory content over USB for offline postmortem analysis.
233           The feature can be enabled/disabled on the kernel command line.
234
235           Say Y here to enable "download mode" by default.
236
237 config TI_SCI_PROTOCOL
238         tristate "TI System Control Interface (TISCI) Message Protocol"
239         depends on TI_MESSAGE_MANAGER
240         help
241           TI System Control Interface (TISCI) Message Protocol is used to manage
242           compute systems such as ARM, DSP etc with the system controller in
243           complex System on Chip(SoC) such as those found on certain keystone
244           generation SoC from TI.
245
246           System controller provides various facilities including power
247           management function support.
248
249           This protocol library is used by client drivers to use the features
250           provided by the system controller.
251
252 config HAVE_ARM_SMCCC
253         bool
254
255 source "drivers/firmware/broadcom/Kconfig"
256 source "drivers/firmware/google/Kconfig"
257 source "drivers/firmware/efi/Kconfig"
258 source "drivers/firmware/meson/Kconfig"
259 source "drivers/firmware/tegra/Kconfig"
260
261 endmenu