xref: /linux/drivers/misc/Kconfig (revision 26c2e922614074da5146aa538c5afaf19112bae1)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Misc strange devices
4#
5
6menu "Misc devices"
7
8config SENSORS_LIS3LV02D
9	tristate
10	depends on INPUT
11
12config AD525X_DPOT
13	tristate "Analog Devices Digital Potentiometers"
14	depends on (I2C || SPI) && SYSFS
15	help
16	  If you say yes here, you get support for the Analog Devices
17	  AD5258, AD5259, AD5251, AD5252, AD5253, AD5254, AD5255
18	  AD5160, AD5161, AD5162, AD5165, AD5200, AD5201, AD5203,
19	  AD5204, AD5206, AD5207, AD5231, AD5232, AD5233, AD5235,
20	  AD5260, AD5262, AD5263, AD5290, AD5291, AD5292, AD5293,
21	  AD7376, AD8400, AD8402, AD8403, ADN2850, AD5241, AD5242,
22	  AD5243, AD5245, AD5246, AD5247, AD5248, AD5280, AD5282,
23	  ADN2860, AD5273, AD5171, AD5170, AD5172, AD5173, AD5270,
24	  AD5271, AD5272, AD5274
25	  digital potentiometer chips.
26
27	  See Documentation/misc-devices/ad525x_dpot.rst for the
28	  userspace interface.
29
30	  This driver can also be built as a module.  If so, the module
31	  will be called ad525x_dpot.
32
33config AD525X_DPOT_I2C
34	tristate "support I2C bus connection"
35	depends on AD525X_DPOT && I2C
36	help
37	  Say Y here if you have a digital potentiometers hooked to an I2C bus.
38
39	  To compile this driver as a module, choose M here: the
40	  module will be called ad525x_dpot-i2c.
41
42config AD525X_DPOT_SPI
43	tristate "support SPI bus connection"
44	depends on AD525X_DPOT && SPI_MASTER
45	help
46	  Say Y here if you have a digital potentiometers hooked to an SPI bus.
47
48	  If unsure, say N (but it's safe to say "Y").
49
50	  To compile this driver as a module, choose M here: the
51	  module will be called ad525x_dpot-spi.
52
53config DUMMY_IRQ
54	tristate "Dummy IRQ handler"
55	help
56	  This module accepts a single 'irq' parameter, which it should register for.
57	  The sole purpose of this module is to help with debugging of systems on
58	  which spurious IRQs would happen on disabled IRQ vector.
59
60config IBM_ASM
61	tristate "Device driver for IBM RSA service processor"
62	depends on X86 && PCI && INPUT
63	depends on SERIAL_8250 || SERIAL_8250=n
64	help
65	  This option enables device driver support for in-band access to the
66	  IBM RSA (Condor) service processor in eServer xSeries systems.
67	  The ibmasm device driver allows user space application to access
68	  ASM (Advanced Systems Management) functions on the service
69	  processor. The driver is meant to be used in conjunction with
70	  a user space API.
71	  The ibmasm driver also enables the OS to use the UART on the
72	  service processor board as a regular serial port. To make use of
73	  this feature serial driver support (CONFIG_SERIAL_8250) must be
74	  enabled.
75
76	  WARNING: This software may not be supported or function
77	  correctly on your IBM server. Please consult the IBM ServerProven
78	  website <https://www-03.ibm.com/systems/info/x86servers/serverproven/compat/us/>
79	  for information on the specific driver level and support statement
80	  for your IBM server.
81
82config IBMVMC
83	tristate "IBM Virtual Management Channel support"
84	depends on PPC_PSERIES
85	help
86	  This is the IBM POWER Virtual Management Channel
87
88	  This driver is to be used for the POWER Virtual
89	  Management Channel virtual adapter on the PowerVM
90	  platform. It provides both request/response and
91	  async message support through the /dev/ibmvmc node.
92
93	  To compile this driver as a module, choose M here: the
94	  module will be called ibmvmc.
95
96config PHANTOM
97	tristate "Sensable PHANToM (PCI)"
98	depends on PCI
99	help
100	  Say Y here if you want to build a driver for Sensable PHANToM device.
101
102	  This driver is only for PCI PHANToMs.
103
104	  If you choose to build module, its name will be phantom. If unsure,
105	  say N here.
106
107config INTEL_MID_PTI
108	tristate "Parallel Trace Interface for MIPI P1149.7 cJTAG standard"
109	depends on PCI && TTY && (X86_INTEL_MID || COMPILE_TEST)
110	help
111	  The PTI (Parallel Trace Interface) driver directs
112	  trace data routed from various parts in the system out
113	  through an Intel Penwell PTI port and out of the mobile
114	  device for analysis with a debugging tool (Lauterbach or Fido).
115
116	  You should select this driver if the target kernel is meant for
117	  an Intel Atom (non-netbook) mobile device containing a MIPI
118	  P1149.7 standard implementation.
119
120config TIFM_CORE
121	tristate "TI Flash Media interface support"
122	depends on PCI
123	help
124	  If you want support for Texas Instruments(R) Flash Media adapters
125	  you should select this option and then also choose an appropriate
126	  host adapter, such as 'TI Flash Media PCI74xx/PCI76xx host adapter
127	  support', if you have a TI PCI74xx compatible card reader, for
128	  example.
129	  You will also have to select some flash card format drivers. MMC/SD
130	  cards are supported via 'MMC/SD Card support: TI Flash Media MMC/SD
131	  Interface support (MMC_TIFM_SD)'.
132
133	  To compile this driver as a module, choose M here: the module will
134	  be called tifm_core.
135
136config TIFM_7XX1
137	tristate "TI Flash Media PCI74xx/PCI76xx host adapter support"
138	depends on PCI && TIFM_CORE
139	default TIFM_CORE
140	help
141	  This option enables support for Texas Instruments(R) PCI74xx and
142	  PCI76xx families of Flash Media adapters, found in many laptops.
143	  To make actual use of the device, you will have to select some
144	  flash card format drivers, as outlined in the TIFM_CORE Help.
145
146	  To compile this driver as a module, choose M here: the module will
147	  be called tifm_7xx1.
148
149config ICS932S401
150	tristate "Integrated Circuits ICS932S401"
151	depends on I2C
152	help
153	  If you say yes here you get support for the Integrated Circuits
154	  ICS932S401 clock control chips.
155
156	  This driver can also be built as a module. If so, the module
157	  will be called ics932s401.
158
159config ATMEL_SSC
160	tristate "Device driver for Atmel SSC peripheral"
161	depends on HAS_IOMEM && (ARCH_AT91 || COMPILE_TEST)
162	help
163	  This option enables device driver support for Atmel Synchronized
164	  Serial Communication peripheral (SSC).
165
166	  The SSC peripheral supports a wide variety of serial frame based
167	  communications, i.e. I2S, SPI, etc.
168
169	  If unsure, say N.
170
171config ENCLOSURE_SERVICES
172	tristate "Enclosure Services"
173	help
174	  Provides support for intelligent enclosures (bays which
175	  contain storage devices).  You also need either a host
176	  driver (SCSI/ATA) which supports enclosures
177	  or a SCSI enclosure device (SES) to use these services.
178
179config SGI_XP
180	tristate "Support communication between SGI SSIs"
181	depends on NET
182	depends on (IA64_SGI_UV || X86_UV) && SMP
183	depends on X86_64 || BROKEN
184	select SGI_GRU if X86_64 && SMP
185	help
186	  An SGI machine can be divided into multiple Single System
187	  Images which act independently of each other and have
188	  hardware based memory protection from the others.  Enabling
189	  this feature will allow for direct communication between SSIs
190	  based on a network adapter and DMA messaging.
191
192config CS5535_MFGPT
193	tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support"
194	depends on MFD_CS5535
195	help
196	  This driver provides access to MFGPT functionality for other
197	  drivers that need timers.  MFGPTs are available in the CS5535 and
198	  CS5536 companion chips that are found in AMD Geode and several
199	  other platforms.  They have a better resolution and max interval
200	  than the generic PIT, and are suitable for use as high-res timers.
201	  You probably don't want to enable this manually; other drivers that
202	  make use of it should enable it.
203
204config CS5535_MFGPT_DEFAULT_IRQ
205	int
206	depends on CS5535_MFGPT
207	default 7
208	help
209	  MFGPTs on the CS5535 require an interrupt.  The selected IRQ
210	  can be overridden as a module option as well as by driver that
211	  use the cs5535_mfgpt_ API; however, different architectures might
212	  want to use a different IRQ by default.  This is here for
213	  architectures to set as necessary.
214
215config CS5535_CLOCK_EVENT_SRC
216	tristate "CS5535/CS5536 high-res timer (MFGPT) events"
217	depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT
218	help
219	  This driver provides a clock event source based on the MFGPT
220	  timer(s) in the CS5535 and CS5536 companion chips.
221	  MFGPTs have a better resolution and max interval than the
222	  generic PIT, and are suitable for use as high-res timers.
223
224config HP_ILO
225	tristate "Channel interface driver for the HP iLO processor"
226	depends on PCI
227	help
228	  The channel interface driver allows applications to communicate
229	  with iLO management processors present on HP ProLiant servers.
230	  Upon loading, the driver creates /dev/hpilo/dXccbN files, which
231	  can be used to gather data from the management processor, via
232	  read and write system calls.
233
234	  To compile this driver as a module, choose M here: the
235	  module will be called hpilo.
236
237config QCOM_COINCELL
238	tristate "Qualcomm coincell charger support"
239	depends on MFD_SPMI_PMIC || COMPILE_TEST
240	help
241	  This driver supports the coincell block found inside of
242	  Qualcomm PMICs.  The coincell charger provides a means to
243	  charge a coincell battery or backup capacitor which is used
244	  to maintain PMIC register and RTC state in the absence of
245	  external power.
246
247config QCOM_FASTRPC
248	tristate "Qualcomm FastRPC"
249	depends on ARCH_QCOM || COMPILE_TEST
250	depends on RPMSG
251	select DMA_SHARED_BUFFER
252	help
253	  Provides a communication mechanism that allows for clients to
254	  make remote method invocations across processor boundary to
255	  applications DSP processor. Say M if you want to enable this
256	  module.
257
258config SGI_GRU
259	tristate "SGI GRU driver"
260	depends on X86_UV && SMP
261	select MMU_NOTIFIER
262	help
263	The GRU is a hardware resource located in the system chipset. The GRU
264	contains memory that can be mmapped into the user address space. This memory is
265	used to communicate with the GRU to perform functions such as load/store,
266	scatter/gather, bcopy, AMOs, etc.  The GRU is directly accessed by user
267	instructions using user virtual addresses. GRU instructions (ex., bcopy) use
268	user virtual addresses for operands.
269
270	If you are not running on a SGI UV system, say N.
271
272config SGI_GRU_DEBUG
273	bool  "SGI GRU driver debug"
274	depends on SGI_GRU
275	help
276	This option enables additional debugging code for the SGI GRU driver.
277	If you are unsure, say N.
278
279config APDS9802ALS
280	tristate "Medfield Avago APDS9802 ALS Sensor module"
281	depends on I2C
282	help
283	  If you say yes here you get support for the ALS APDS9802 ambient
284	  light sensor.
285
286	  This driver can also be built as a module.  If so, the module
287	  will be called apds9802als.
288
289config ISL29003
290	tristate "Intersil ISL29003 ambient light sensor"
291	depends on I2C && SYSFS
292	help
293	  If you say yes here you get support for the Intersil ISL29003
294	  ambient light sensor.
295
296	  This driver can also be built as a module.  If so, the module
297	  will be called isl29003.
298
299config ISL29020
300	tristate "Intersil ISL29020 ambient light sensor"
301	depends on I2C
302	help
303	  If you say yes here you get support for the Intersil ISL29020
304	  ambient light sensor.
305
306	  This driver can also be built as a module.  If so, the module
307	  will be called isl29020.
308
309config SENSORS_TSL2550
310	tristate "Taos TSL2550 ambient light sensor"
311	depends on I2C && SYSFS
312	help
313	  If you say yes here you get support for the Taos TSL2550
314	  ambient light sensor.
315
316	  This driver can also be built as a module.  If so, the module
317	  will be called tsl2550.
318
319config SENSORS_BH1770
320	 tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor"
321	 depends on I2C
322	help
323	   Say Y here if you want to build a driver for BH1770GLC (ROHM) or
324	   SFH7770 (Osram) combined ambient light and proximity sensor chip.
325
326	   To compile this driver as a module, choose M here: the
327	   module will be called bh1770glc. If unsure, say N here.
328
329config SENSORS_APDS990X
330	 tristate "APDS990X combined als and proximity sensors"
331	 depends on I2C
332	help
333	   Say Y here if you want to build a driver for Avago APDS990x
334	   combined ambient light and proximity sensor chip.
335
336	   To compile this driver as a module, choose M here: the
337	   module will be called apds990x. If unsure, say N here.
338
339config HMC6352
340	tristate "Honeywell HMC6352 compass"
341	depends on I2C
342	help
343	  This driver provides support for the Honeywell HMC6352 compass,
344	  providing configuration and heading data via sysfs.
345
346config DS1682
347	tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm"
348	depends on I2C
349	help
350	  If you say yes here you get support for Dallas Semiconductor
351	  DS1682 Total Elapsed Time Recorder.
352
353	  This driver can also be built as a module.  If so, the module
354	  will be called ds1682.
355
356config VMWARE_BALLOON
357	tristate "VMware Balloon Driver"
358	depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST
359	select MEMORY_BALLOON
360	help
361	  This is VMware physical memory management driver which acts
362	  like a "balloon" that can be inflated to reclaim physical pages
363	  by reserving them in the guest and invalidating them in the
364	  monitor, freeing up the underlying machine pages so they can
365	  be allocated to other guests. The balloon can also be deflated
366	  to allow the guest to use more physical memory.
367
368	  If unsure, say N.
369
370	  To compile this driver as a module, choose M here: the
371	  module will be called vmw_balloon.
372
373config PCH_PHUB
374	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB"
375	select GENERIC_NET_UTILS
376	depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
377	help
378	  This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of
379	  Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded
380	  processor. The Topcliff has MAC address and Option ROM data in SROM.
381	  This driver can access MAC address and Option ROM data in SROM.
382
383	  This driver also can be used for LAPIS Semiconductor's IOH,
384	  ML7213/ML7223/ML7831.
385	  ML7213 which is for IVI(In-Vehicle Infotainment) use.
386	  ML7223 IOH is for MP(Media Phone) use.
387	  ML7831 IOH is for general purpose use.
388	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
389	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
390
391	  To compile this driver as a module, choose M here: the module will
392	  be called pch_phub.
393
394config LATTICE_ECP3_CONFIG
395	tristate "Lattice ECP3 FPGA bitstream configuration via SPI"
396	depends on SPI && SYSFS
397	select FW_LOADER
398	default	n
399	help
400	  This option enables support for bitstream configuration (programming
401	  or loading) of the Lattice ECP3 FPGA family via SPI.
402
403	  If unsure, say N.
404
405config SRAM
406	bool "Generic on-chip SRAM driver"
407	depends on HAS_IOMEM
408	select GENERIC_ALLOCATOR
409	select SRAM_EXEC if ARM
410	help
411	  This driver allows you to declare a memory region to be managed by
412	  the genalloc API. It is supposed to be used for small on-chip SRAM
413	  areas found on many SoCs.
414
415config SRAM_EXEC
416	bool
417
418config PCI_ENDPOINT_TEST
419	depends on PCI
420	select CRC32
421	tristate "PCI Endpoint Test driver"
422	help
423	   Enable this configuration option to enable the host side test driver
424	   for PCI Endpoint.
425
426config XILINX_SDFEC
427	tristate "Xilinx SDFEC 16"
428	depends on HAS_IOMEM
429	help
430	  This option enables support for the Xilinx SDFEC (Soft Decision
431	  Forward Error Correction) driver. This enables a char driver
432	  for the SDFEC.
433
434	  You may select this driver if your design instantiates the
435	  SDFEC(16nm) hardened block. To compile this as a module choose M.
436
437	  If unsure, say N.
438
439config MISC_RTSX
440	tristate
441	default MISC_RTSX_PCI || MISC_RTSX_USB
442
443config PVPANIC
444	tristate "pvpanic device support"
445	depends on HAS_IOMEM && (ACPI || OF)
446	help
447	  This driver provides support for the pvpanic device.  pvpanic is
448	  a paravirtualized device provided by QEMU; it lets a virtual machine
449	  (guest) communicate panic events to the host.
450
451config HISI_HIKEY_USB
452	tristate "USB GPIO Hub on HiSilicon Hikey 960/970 Platform"
453	depends on (OF && GPIOLIB) || COMPILE_TEST
454	depends on USB_ROLE_SWITCH
455	help
456	  If you say yes here this adds support for the on-board USB GPIO hub
457	  found on HiKey 960/970 boards, which is necessary to support
458	  switching between the dual-role USB-C port and the USB-A host ports
459	  using only one USB controller.
460
461source "drivers/misc/c2port/Kconfig"
462source "drivers/misc/eeprom/Kconfig"
463source "drivers/misc/cb710/Kconfig"
464source "drivers/misc/ti-st/Kconfig"
465source "drivers/misc/lis3lv02d/Kconfig"
466source "drivers/misc/altera-stapl/Kconfig"
467source "drivers/misc/mei/Kconfig"
468source "drivers/misc/vmw_vmci/Kconfig"
469source "drivers/misc/genwqe/Kconfig"
470source "drivers/misc/echo/Kconfig"
471source "drivers/misc/cxl/Kconfig"
472source "drivers/misc/ocxl/Kconfig"
473source "drivers/misc/bcm-vk/Kconfig"
474source "drivers/misc/cardreader/Kconfig"
475source "drivers/misc/habanalabs/Kconfig"
476source "drivers/misc/uacce/Kconfig"
477endmenu
478