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