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