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