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