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