xref: /linux/drivers/misc/Kconfig (revision 42b16d3ac371a2fac9b6f08fd75f23f34ba3955a)
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 RPMB
108	tristate "RPMB partition interface"
109	depends on MMC
110	help
111	  Unified RPMB unit interface for RPMB capable devices such as eMMC and
112	  UFS. Provides interface for in-kernel security controllers to access
113	  RPMB unit.
114
115	  If unsure, select N.
116
117config TIFM_CORE
118	tristate "TI Flash Media interface support"
119	depends on PCI
120	help
121	  If you want support for Texas Instruments(R) Flash Media adapters
122	  you should select this option and then also choose an appropriate
123	  host adapter, such as 'TI Flash Media PCI74xx/PCI76xx host adapter
124	  support', if you have a TI PCI74xx compatible card reader, for
125	  example.
126	  You will also have to select some flash card format drivers. MMC/SD
127	  cards are supported via 'MMC/SD Card support: TI Flash Media MMC/SD
128	  Interface support (MMC_TIFM_SD)'.
129
130	  To compile this driver as a module, choose M here: the module will
131	  be called tifm_core.
132
133config TIFM_7XX1
134	tristate "TI Flash Media PCI74xx/PCI76xx host adapter support"
135	depends on PCI && TIFM_CORE
136	default TIFM_CORE
137	help
138	  This option enables support for Texas Instruments(R) PCI74xx and
139	  PCI76xx families of Flash Media adapters, found in many laptops.
140	  To make actual use of the device, you will have to select some
141	  flash card format drivers, as outlined in the TIFM_CORE Help.
142
143	  To compile this driver as a module, choose M here: the module will
144	  be called tifm_7xx1.
145
146config ICS932S401
147	tristate "Integrated Circuits ICS932S401"
148	depends on I2C
149	help
150	  If you say yes here you get support for the Integrated Circuits
151	  ICS932S401 clock control chips.
152
153	  This driver can also be built as a module. If so, the module
154	  will be called ics932s401.
155
156config ATMEL_SSC
157	tristate "Device driver for Atmel SSC peripheral"
158	depends on HAS_IOMEM && (ARCH_AT91 || COMPILE_TEST)
159	help
160	  This option enables device driver support for Atmel Synchronized
161	  Serial Communication peripheral (SSC).
162
163	  The SSC peripheral supports a wide variety of serial frame based
164	  communications, i.e. I2S, SPI, etc.
165
166	  If unsure, say N.
167
168config ENCLOSURE_SERVICES
169	tristate "Enclosure Services"
170	help
171	  Provides support for intelligent enclosures (bays which
172	  contain storage devices).  You also need either a host
173	  driver (SCSI/ATA) which supports enclosures
174	  or a SCSI enclosure device (SES) to use these services.
175
176config SGI_XP
177	tristate "Support communication between SGI SSIs"
178	depends on NET
179	depends on X86_UV && SMP
180	depends on X86_64 || BROKEN
181	select SGI_GRU if X86_64 && SMP
182	help
183	  An SGI machine can be divided into multiple Single System
184	  Images which act independently of each other and have
185	  hardware based memory protection from the others.  Enabling
186	  this feature will allow for direct communication between SSIs
187	  based on a network adapter and DMA messaging.
188
189config SMPRO_ERRMON
190	tristate "Ampere Computing SMPro error monitor driver"
191	depends on MFD_SMPRO || COMPILE_TEST
192	help
193	  Say Y here to get support for the SMpro error monitor function
194	  provided by Ampere Computing's Altra and Altra Max SoCs. Upon
195	  loading, the driver creates sysfs files which can be use to gather
196	  multiple HW error data reported via read and write system calls.
197
198	  To compile this driver as a module, say M here. The driver will be
199	  called smpro-errmon.
200
201config SMPRO_MISC
202	tristate "Ampere Computing SMPro miscellaneous driver"
203	depends on MFD_SMPRO || COMPILE_TEST
204	help
205	  Say Y here to get support for the SMpro error miscellalenous function
206	  provided by Ampere Computing's Altra and Altra Max SoCs.
207
208	  To compile this driver as a module, say M here. The driver will be
209	  called smpro-misc.
210
211config CS5535_MFGPT
212	tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support"
213	depends on MFD_CS5535
214	help
215	  This driver provides access to MFGPT functionality for other
216	  drivers that need timers.  MFGPTs are available in the CS5535 and
217	  CS5536 companion chips that are found in AMD Geode and several
218	  other platforms.  They have a better resolution and max interval
219	  than the generic PIT, and are suitable for use as high-res timers.
220	  You probably don't want to enable this manually; other drivers that
221	  make use of it should enable it.
222
223config CS5535_MFGPT_DEFAULT_IRQ
224	int
225	depends on CS5535_MFGPT
226	default 7
227	help
228	  MFGPTs on the CS5535 require an interrupt.  The selected IRQ
229	  can be overridden as a module option as well as by driver that
230	  use the cs5535_mfgpt_ API; however, different architectures might
231	  want to use a different IRQ by default.  This is here for
232	  architectures to set as necessary.
233
234config CS5535_CLOCK_EVENT_SRC
235	tristate "CS5535/CS5536 high-res timer (MFGPT) events"
236	depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT
237	help
238	  This driver provides a clock event source based on the MFGPT
239	  timer(s) in the CS5535 and CS5536 companion chips.
240	  MFGPTs have a better resolution and max interval than the
241	  generic PIT, and are suitable for use as high-res timers.
242
243config GEHC_ACHC
244	tristate "GEHC ACHC support"
245	depends on SPI && SYSFS
246	depends on SOC_IMX53 || COMPILE_TEST
247	select FW_LOADER
248	help
249	  Support for GE ACHC microcontroller, that is part of the GE
250	  PPD device.
251
252	  To compile this driver as a module, choose M here: the
253	  module will be called gehc-achc.
254
255config HI6421V600_IRQ
256	tristate "HiSilicon Hi6421v600 IRQ and powerkey"
257	depends on OF
258	depends on SPMI
259	depends on HAS_IOMEM
260	select MFD_CORE
261	select REGMAP_SPMI
262	help
263	  This driver provides IRQ handling for Hi6421v600, used on
264	  some Kirin chipsets, like the one at Hikey 970.
265
266config HP_ILO
267	tristate "Channel interface driver for the HP iLO processor"
268	depends on PCI
269	help
270	  The channel interface driver allows applications to communicate
271	  with iLO management processors present on HP ProLiant servers.
272	  Upon loading, the driver creates /dev/hpilo/dXccbN files, which
273	  can be used to gather data from the management processor, via
274	  read and write system calls.
275
276	  To compile this driver as a module, choose M here: the
277	  module will be called hpilo.
278
279config QCOM_COINCELL
280	tristate "Qualcomm coincell charger support"
281	depends on MFD_SPMI_PMIC || COMPILE_TEST
282	help
283	  This driver supports the coincell block found inside of
284	  Qualcomm PMICs.  The coincell charger provides a means to
285	  charge a coincell battery or backup capacitor which is used
286	  to maintain PMIC register and RTC state in the absence of
287	  external power.
288
289config QCOM_FASTRPC
290	tristate "Qualcomm FastRPC"
291	depends on ARCH_QCOM || COMPILE_TEST
292	depends on RPMSG
293	select DMA_SHARED_BUFFER
294	select QCOM_SCM
295	help
296	  Provides a communication mechanism that allows for clients to
297	  make remote method invocations across processor boundary to
298	  applications DSP processor. Say M if you want to enable this
299	  module.
300
301config SGI_GRU
302	tristate "SGI GRU driver"
303	depends on X86_UV && SMP
304	select MMU_NOTIFIER
305	help
306	  The GRU is a hardware resource located in the system chipset. The GRU
307	  contains memory that can be mmapped into the user address space.
308	  This memory is used to communicate with the GRU to perform functions
309	  such as load/store, scatter/gather, bcopy, AMOs, etc.  The GRU is
310	  directly accessed by user instructions using user virtual addresses.
311	  GRU instructions (ex., bcopy) use user virtual addresses for operands.
312
313	  If you are not running on a SGI UV system, say N.
314
315config SGI_GRU_DEBUG
316	bool  "SGI GRU driver debug"
317	depends on SGI_GRU
318	help
319	  This option enables additional debugging code for the SGI GRU driver.
320	  If you are unsure, say N.
321
322config APDS9802ALS
323	tristate "Medfield Avago APDS9802 ALS Sensor module"
324	depends on I2C
325	help
326	  If you say yes here you get support for the ALS APDS9802 ambient
327	  light sensor.
328
329	  This driver can also be built as a module.  If so, the module
330	  will be called apds9802als.
331
332config ISL29003
333	tristate "Intersil ISL29003 ambient light sensor"
334	depends on I2C && SYSFS
335	help
336	  If you say yes here you get support for the Intersil ISL29003
337	  ambient light sensor.
338
339	  This driver can also be built as a module.  If so, the module
340	  will be called isl29003.
341
342config ISL29020
343	tristate "Intersil ISL29020 ambient light sensor"
344	depends on I2C
345	help
346	  If you say yes here you get support for the Intersil ISL29020
347	  ambient light sensor.
348
349	  This driver can also be built as a module.  If so, the module
350	  will be called isl29020.
351
352config SENSORS_TSL2550
353	tristate "Taos TSL2550 ambient light sensor"
354	depends on I2C && SYSFS
355	help
356	  If you say yes here you get support for the Taos TSL2550
357	  ambient light sensor.
358
359	  This driver can also be built as a module.  If so, the module
360	  will be called tsl2550.
361
362config SENSORS_BH1770
363	 tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor"
364	 depends on I2C
365	help
366	   Say Y here if you want to build a driver for BH1770GLC (ROHM) or
367	   SFH7770 (Osram) combined ambient light and proximity sensor chip.
368
369	   To compile this driver as a module, choose M here: the
370	   module will be called bh1770glc. If unsure, say N here.
371
372config SENSORS_APDS990X
373	 tristate "APDS990X combined als and proximity sensors"
374	 depends on I2C
375	help
376	   Say Y here if you want to build a driver for Avago APDS990x
377	   combined ambient light and proximity sensor chip.
378
379	   To compile this driver as a module, choose M here: the
380	   module will be called apds990x. If unsure, say N here.
381
382config HMC6352
383	tristate "Honeywell HMC6352 compass"
384	depends on I2C
385	help
386	  This driver provides support for the Honeywell HMC6352 compass,
387	  providing configuration and heading data via sysfs.
388
389config DS1682
390	tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm"
391	depends on I2C
392	help
393	  If you say yes here you get support for Dallas Semiconductor
394	  DS1682 Total Elapsed Time Recorder.
395
396	  This driver can also be built as a module.  If so, the module
397	  will be called ds1682.
398
399config VMWARE_BALLOON
400	tristate "VMware Balloon Driver"
401	depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST
402	select MEMORY_BALLOON
403	help
404	  This is VMware physical memory management driver which acts
405	  like a "balloon" that can be inflated to reclaim physical pages
406	  by reserving them in the guest and invalidating them in the
407	  monitor, freeing up the underlying machine pages so they can
408	  be allocated to other guests. The balloon can also be deflated
409	  to allow the guest to use more physical memory.
410
411	  If unsure, say N.
412
413	  To compile this driver as a module, choose M here: the
414	  module will be called vmw_balloon.
415
416config PCH_PHUB
417	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB"
418	select GENERIC_NET_UTILS
419	depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
420	help
421	  This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of
422	  Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded
423	  processor. The Topcliff has MAC address and Option ROM data in SROM.
424	  This driver can access MAC address and Option ROM data in SROM.
425
426	  This driver also can be used for LAPIS Semiconductor's IOH,
427	  ML7213/ML7223/ML7831.
428	  ML7213 which is for IVI(In-Vehicle Infotainment) use.
429	  ML7223 IOH is for MP(Media Phone) use.
430	  ML7831 IOH is for general purpose use.
431	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
432	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
433
434	  To compile this driver as a module, choose M here: the module will
435	  be called pch_phub.
436
437config LATTICE_ECP3_CONFIG
438	tristate "Lattice ECP3 FPGA bitstream configuration via SPI"
439	depends on SPI && SYSFS
440	select FW_LOADER
441	help
442	  This option enables support for bitstream configuration (programming
443	  or loading) of the Lattice ECP3 FPGA family via SPI.
444
445	  If unsure, say N.
446
447config SRAM
448	bool "Generic on-chip SRAM driver"
449	depends on HAS_IOMEM
450	select GENERIC_ALLOCATOR
451	select SRAM_EXEC if ARM
452	help
453	  This driver allows you to declare a memory region to be managed by
454	  the genalloc API. It is supposed to be used for small on-chip SRAM
455	  areas found on many SoCs.
456
457config SRAM_EXEC
458	bool
459
460config DW_XDATA_PCIE
461	depends on PCI
462	tristate "Synopsys DesignWare xData PCIe driver"
463	help
464	  This driver allows controlling Synopsys DesignWare PCIe traffic
465	  generator IP also known as xData, present in Synopsys DesignWare
466	  PCIe Endpoint prototype.
467
468	  If unsure, say N.
469
470config PCI_ENDPOINT_TEST
471	depends on PCI
472	select CRC32
473	tristate "PCI Endpoint Test driver"
474	help
475	   Enable this configuration option to enable the host side test driver
476	   for PCI Endpoint.
477
478config XILINX_SDFEC
479	tristate "Xilinx SDFEC 16"
480	depends on HAS_IOMEM
481	help
482	  This option enables support for the Xilinx SDFEC (Soft Decision
483	  Forward Error Correction) driver. This enables a char driver
484	  for the SDFEC.
485
486	  You may select this driver if your design instantiates the
487	  SDFEC(16nm) hardened block. To compile this as a module choose M.
488
489	  If unsure, say N.
490
491config MISC_RTSX
492	tristate
493	default MISC_RTSX_PCI || MISC_RTSX_USB
494
495config HISI_HIKEY_USB
496	tristate "USB GPIO Hub on HiSilicon Hikey 960/970 Platform"
497	depends on (OF && GPIOLIB) || COMPILE_TEST
498	depends on USB_ROLE_SWITCH
499	help
500	  If you say yes here this adds support for the on-board USB GPIO hub
501	  found on HiKey 960/970 boards, which is necessary to support
502	  switching between the dual-role USB-C port and the USB-A host ports
503	  using only one USB controller.
504
505config OPEN_DICE
506	tristate "Open Profile for DICE driver"
507	depends on OF_RESERVED_MEM
508	depends on HAS_IOMEM
509	help
510	  This driver exposes a DICE reserved memory region to userspace via
511	  a character device. The memory region contains Compound Device
512	  Identifiers (CDIs) generated by firmware as an output of DICE
513	  measured boot flow. Userspace can use CDIs for remote attestation
514	  and sealing.
515
516	  If unsure, say N.
517
518config NTSYNC
519	tristate "NT synchronization primitive emulation"
520	depends on BROKEN
521	help
522	  This module provides kernel support for emulation of Windows NT
523	  synchronization primitives. It is not a hardware driver.
524
525	  To compile this driver as a module, choose M here: the
526	  module will be called ntsync.
527
528	  If unsure, say N.
529
530config VCPU_STALL_DETECTOR
531	tristate "Guest vCPU stall detector"
532	depends on OF && HAS_IOMEM
533	help
534	  When this driver is bound inside a KVM guest, it will
535	  periodically "pet" an MMIO stall detector device from each vCPU
536	  and allow the host to detect vCPU stalls.
537
538	  To compile this driver as a module, choose M here: the module
539	  will be called vcpu_stall_detector.
540
541	  If you do not intend to run this kernel as a guest, say N.
542
543config TMR_MANAGER
544	tristate "Select TMR Manager"
545	depends on MICROBLAZE && MB_MANAGER
546	help
547	  This option enables the driver developed for TMR Manager.
548	  The Triple Modular Redundancy(TMR) manager provides support for
549	  fault detection.
550
551	  Say N here unless you know what you are doing.
552
553config TMR_INJECT
554	tristate "Select TMR Inject"
555	depends on TMR_MANAGER && FAULT_INJECTION_DEBUG_FS
556	help
557	  This option enables the driver developed for TMR Inject.
558	  The Triple Modular Redundancy(TMR) Inject provides
559	  fault injection.
560
561	  Say N here unless you know what you are doing.
562
563config TPS6594_ESM
564	tristate "TI TPS6594 Error Signal Monitor support"
565	depends on MFD_TPS6594
566	default MFD_TPS6594
567	help
568	  Support ESM (Error Signal Monitor) on TPS6594 PMIC devices.
569	  ESM is used typically to reboot the board in error condition.
570
571	  This driver can also be built as a module.  If so, the module
572	  will be called tps6594-esm.
573
574config TPS6594_PFSM
575	tristate "TI TPS6594 Pre-configurable Finite State Machine support"
576	depends on MFD_TPS6594
577	default MFD_TPS6594
578	help
579	  Support PFSM (Pre-configurable Finite State Machine) on TPS6594 PMIC devices.
580	  These devices integrate a finite state machine engine, which manages the state
581	  of the device during operating state transition.
582
583	  This driver can also be built as a module.  If so, the module
584	  will be called tps6594-pfsm.
585
586config NSM
587	tristate "Nitro (Enclaves) Security Module support"
588	depends on VIRTIO
589	select HW_RANDOM
590	help
591	  This driver provides support for the Nitro Security Module
592	  in AWS EC2 Nitro based Enclaves. The driver exposes a /dev/nsm
593	  device user space can use to communicate with the hypervisor.
594
595	  To compile this driver as a module, choose M here.
596	  The module will be called nsm.
597
598config MARVELL_CN10K_DPI
599	tristate "Octeon CN10K DPI driver"
600	depends on PCI && PCI_IOV
601	depends on ARCH_THUNDER || (COMPILE_TEST && 64BIT)
602	help
603	  Enables Octeon CN10K DMA packet interface (DPI) driver which
604	  intializes DPI hardware's physical function (PF) device's
605	  global configuration and its virtual function (VFs) resource
606	  configuration to enable DMA transfers. DPI PF device does not
607	  have any data movement functionality, it only serves VF's
608	  resource configuration requests.
609
610	  To compile this driver as a module, choose M here: the module
611	  will be called mrvl_cn10k_dpi.
612
613source "drivers/misc/c2port/Kconfig"
614source "drivers/misc/eeprom/Kconfig"
615source "drivers/misc/cb710/Kconfig"
616source "drivers/misc/ti-st/Kconfig"
617source "drivers/misc/lis3lv02d/Kconfig"
618source "drivers/misc/altera-stapl/Kconfig"
619source "drivers/misc/mei/Kconfig"
620source "drivers/misc/vmw_vmci/Kconfig"
621source "drivers/misc/genwqe/Kconfig"
622source "drivers/misc/echo/Kconfig"
623source "drivers/misc/cxl/Kconfig"
624source "drivers/misc/ocxl/Kconfig"
625source "drivers/misc/bcm-vk/Kconfig"
626source "drivers/misc/cardreader/Kconfig"
627source "drivers/misc/uacce/Kconfig"
628source "drivers/misc/pvpanic/Kconfig"
629source "drivers/misc/mchp_pci1xxxx/Kconfig"
630source "drivers/misc/keba/Kconfig"
631endmenu
632