xref: /openbmc/linux/drivers/firmware/Kconfig (revision 981ab3f1)
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 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
42config 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
51config EDD
52	tristate "BIOS Enhanced Disk Drive calls determine boot disk"
53	depends on X86
54	help
55	  Say Y or M here if you want to enable BIOS Enhanced Disk Drive
56	  Services real mode BIOS calls to determine which disk
57	  BIOS tries boot from.  This information is then exported via sysfs.
58
59	  This option is experimental and is known to fail to boot on some
60          obscure configurations. Most disk controller BIOS vendors do
61          not yet implement this feature.
62
63config EDD_OFF
64	bool "Sets default behavior for EDD detection to off"
65	depends on EDD
66	default n
67	help
68	  Say Y if you want EDD disabled by default, even though it is compiled into the
69	  kernel. Say N if you want EDD enabled by default. EDD can be dynamically set
70	  using the kernel parameter 'edd={on|skipmbr|off}'.
71
72config FIRMWARE_MEMMAP
73    bool "Add firmware-provided memory map to sysfs" if EXPERT
74    default X86
75    help
76      Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap.
77      That memory map is used for example by kexec to set up parameter area
78      for the next kernel, but can also be used for debugging purposes.
79
80      See also Documentation/ABI/testing/sysfs-firmware-memmap.
81
82config EFI_PCDP
83	bool "Console device selection via EFI PCDP or HCDP table"
84	depends on ACPI && EFI && IA64
85	default y if IA64
86	help
87	  If your firmware supplies the PCDP table, and you want to
88	  automatically use the primary console device it describes
89	  as the Linux console, say Y here.
90
91	  If your firmware supplies the HCDP table, and you want to
92	  use the first serial port it describes as the Linux console,
93	  say Y here.  If your EFI ConOut path contains only a UART
94	  device, it will become the console automatically.  Otherwise,
95	  you must specify the "console=hcdp" kernel boot argument.
96
97	  Neither the PCDP nor the HCDP affects naming of serial devices,
98	  so a serial console may be /dev/ttyS0, /dev/ttyS1, etc, depending
99	  on how the driver discovers devices.
100
101	  You must also enable the appropriate drivers (serial, VGA, etc.)
102
103	  See DIG64_HCDPv20_042804.pdf available from
104	  <http://www.dig64.org/specifications/>
105
106config DELL_RBU
107	tristate "BIOS update support for DELL systems via sysfs"
108	depends on X86
109	select FW_LOADER
110	select FW_LOADER_USER_HELPER
111	help
112	 Say m if you want to have the option of updating the BIOS for your
113	 DELL system. Note you need a Dell OpenManage or Dell Update package (DUP)
114	 supporting application to communicate with the BIOS regarding the new
115	 image for the image update to take effect.
116	 See <file:Documentation/dell_rbu.txt> for more details on the driver.
117
118config DCDBAS
119	tristate "Dell Systems Management Base Driver"
120	depends on X86
121	help
122	  The Dell Systems Management Base Driver provides a sysfs interface
123	  for systems management software to perform System Management
124	  Interrupts (SMIs) and Host Control Actions (system power cycle or
125	  power off after OS shutdown) on certain Dell systems.
126
127	  See <file:Documentation/dcdbas.txt> for more details on the driver
128	  and the Dell systems on which Dell systems management software makes
129	  use of this driver.
130
131	  Say Y or M here to enable the driver for use by Dell systems
132	  management software such as Dell OpenManage.
133
134config 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
143config 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
154config DMI_SCAN_MACHINE_NON_EFI_FALLBACK
155	bool
156
157config ISCSI_IBFT_FIND
158	bool "iSCSI Boot Firmware Table Attributes"
159	depends on X86 && ACPI
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
167config ISCSI_IBFT
168	tristate "iSCSI Boot Firmware Table Attributes module"
169	select ISCSI_BOOT_SYSFS
170	depends on ISCSI_IBFT_FIND && SCSI && SCSI_LOWLEVEL
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
178config 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
185config FW_CFG_SYSFS
186	tristate "QEMU fw_cfg device support in sysfs"
187	depends on SYSFS && (ARM || ARM64 || PPC_PMAC || SPARC || X86)
188	depends on HAS_IOPORT_MAP
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
196config 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
205config QCOM_SCM
206	bool
207	depends on ARM || ARM64
208	select RESET_CONTROLLER
209
210config QCOM_SCM_32
211	def_bool y
212	depends on QCOM_SCM && ARM
213
214config QCOM_SCM_64
215	def_bool y
216	depends on QCOM_SCM && ARM64
217
218config TI_SCI_PROTOCOL
219	tristate "TI System Control Interface (TISCI) Message Protocol"
220	depends on TI_MESSAGE_MANAGER
221	help
222	  TI System Control Interface (TISCI) Message Protocol is used to manage
223	  compute systems such as ARM, DSP etc with the system controller in
224	  complex System on Chip(SoC) such as those found on certain keystone
225	  generation SoC from TI.
226
227	  System controller provides various facilities including power
228	  management function support.
229
230	  This protocol library is used by client drivers to use the features
231	  provided by the system controller.
232
233config HAVE_ARM_SMCCC
234	bool
235
236source "drivers/firmware/broadcom/Kconfig"
237source "drivers/firmware/google/Kconfig"
238source "drivers/firmware/efi/Kconfig"
239source "drivers/firmware/meson/Kconfig"
240source "drivers/firmware/tegra/Kconfig"
241
242endmenu
243