xref: /linux/drivers/misc/Kconfig (revision d1f278da6b11585f05b2755adfc8851cbf14a1ec)
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 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 (IA64_SGI_UV || 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 CS5535_MFGPT
180	tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support"
181	depends on MFD_CS5535
182	help
183	  This driver provides access to MFGPT functionality for other
184	  drivers that need timers.  MFGPTs are available in the CS5535 and
185	  CS5536 companion chips that are found in AMD Geode and several
186	  other platforms.  They have a better resolution and max interval
187	  than the generic PIT, and are suitable for use as high-res timers.
188	  You probably don't want to enable this manually; other drivers that
189	  make use of it should enable it.
190
191config CS5535_MFGPT_DEFAULT_IRQ
192	int
193	depends on CS5535_MFGPT
194	default 7
195	help
196	  MFGPTs on the CS5535 require an interrupt.  The selected IRQ
197	  can be overridden as a module option as well as by driver that
198	  use the cs5535_mfgpt_ API; however, different architectures might
199	  want to use a different IRQ by default.  This is here for
200	  architectures to set as necessary.
201
202config CS5535_CLOCK_EVENT_SRC
203	tristate "CS5535/CS5536 high-res timer (MFGPT) events"
204	depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT
205	help
206	  This driver provides a clock event source based on the MFGPT
207	  timer(s) in the CS5535 and CS5536 companion chips.
208	  MFGPTs have a better resolution and max interval than the
209	  generic PIT, and are suitable for use as high-res timers.
210
211config GEHC_ACHC
212	tristate "GEHC ACHC support"
213	depends on SPI && SYSFS
214	depends on SOC_IMX53 || COMPILE_TEST
215	select FW_LOADER
216	help
217	  Support for GE ACHC microcontroller, that is part of the GE
218	  PPD device.
219
220	  To compile this driver as a module, choose M here: the
221	  module will be called gehc-achc.
222
223config HP_ILO
224	tristate "Channel interface driver for the HP iLO processor"
225	depends on PCI
226	help
227	  The channel interface driver allows applications to communicate
228	  with iLO management processors present on HP ProLiant servers.
229	  Upon loading, the driver creates /dev/hpilo/dXccbN files, which
230	  can be used to gather data from the management processor, via
231	  read and write system calls.
232
233	  To compile this driver as a module, choose M here: the
234	  module will be called hpilo.
235
236config QCOM_COINCELL
237	tristate "Qualcomm coincell charger support"
238	depends on MFD_SPMI_PMIC || COMPILE_TEST
239	help
240	  This driver supports the coincell block found inside of
241	  Qualcomm PMICs.  The coincell charger provides a means to
242	  charge a coincell battery or backup capacitor which is used
243	  to maintain PMIC register and RTC state in the absence of
244	  external power.
245
246config QCOM_FASTRPC
247	tristate "Qualcomm FastRPC"
248	depends on ARCH_QCOM || COMPILE_TEST
249	depends on RPMSG
250	select DMA_SHARED_BUFFER
251	help
252	  Provides a communication mechanism that allows for clients to
253	  make remote method invocations across processor boundary to
254	  applications DSP processor. Say M if you want to enable this
255	  module.
256
257config SGI_GRU
258	tristate "SGI GRU driver"
259	depends on X86_UV && SMP
260	select MMU_NOTIFIER
261	help
262	The GRU is a hardware resource located in the system chipset. The GRU
263	contains memory that can be mmapped into the user address space. This memory is
264	used to communicate with the GRU to perform functions such as load/store,
265	scatter/gather, bcopy, AMOs, etc.  The GRU is directly accessed by user
266	instructions using user virtual addresses. GRU instructions (ex., bcopy) use
267	user virtual addresses for operands.
268
269	If you are not running on a SGI UV system, say N.
270
271config SGI_GRU_DEBUG
272	bool  "SGI GRU driver debug"
273	depends on SGI_GRU
274	help
275	This option enables additional debugging code for the SGI GRU driver.
276	If you are unsure, say N.
277
278config APDS9802ALS
279	tristate "Medfield Avago APDS9802 ALS Sensor module"
280	depends on I2C
281	help
282	  If you say yes here you get support for the ALS APDS9802 ambient
283	  light sensor.
284
285	  This driver can also be built as a module.  If so, the module
286	  will be called apds9802als.
287
288config ISL29003
289	tristate "Intersil ISL29003 ambient light sensor"
290	depends on I2C && SYSFS
291	help
292	  If you say yes here you get support for the Intersil ISL29003
293	  ambient light sensor.
294
295	  This driver can also be built as a module.  If so, the module
296	  will be called isl29003.
297
298config ISL29020
299	tristate "Intersil ISL29020 ambient light sensor"
300	depends on I2C
301	help
302	  If you say yes here you get support for the Intersil ISL29020
303	  ambient light sensor.
304
305	  This driver can also be built as a module.  If so, the module
306	  will be called isl29020.
307
308config SENSORS_TSL2550
309	tristate "Taos TSL2550 ambient light sensor"
310	depends on I2C && SYSFS
311	help
312	  If you say yes here you get support for the Taos TSL2550
313	  ambient light sensor.
314
315	  This driver can also be built as a module.  If so, the module
316	  will be called tsl2550.
317
318config SENSORS_BH1770
319	 tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor"
320	 depends on I2C
321	help
322	   Say Y here if you want to build a driver for BH1770GLC (ROHM) or
323	   SFH7770 (Osram) combined ambient light and proximity sensor chip.
324
325	   To compile this driver as a module, choose M here: the
326	   module will be called bh1770glc. If unsure, say N here.
327
328config SENSORS_APDS990X
329	 tristate "APDS990X combined als and proximity sensors"
330	 depends on I2C
331	help
332	   Say Y here if you want to build a driver for Avago APDS990x
333	   combined ambient light and proximity sensor chip.
334
335	   To compile this driver as a module, choose M here: the
336	   module will be called apds990x. If unsure, say N here.
337
338config HMC6352
339	tristate "Honeywell HMC6352 compass"
340	depends on I2C
341	help
342	  This driver provides support for the Honeywell HMC6352 compass,
343	  providing configuration and heading data via sysfs.
344
345config DS1682
346	tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm"
347	depends on I2C
348	help
349	  If you say yes here you get support for Dallas Semiconductor
350	  DS1682 Total Elapsed Time Recorder.
351
352	  This driver can also be built as a module.  If so, the module
353	  will be called ds1682.
354
355config VMWARE_BALLOON
356	tristate "VMware Balloon Driver"
357	depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST
358	select MEMORY_BALLOON
359	help
360	  This is VMware physical memory management driver which acts
361	  like a "balloon" that can be inflated to reclaim physical pages
362	  by reserving them in the guest and invalidating them in the
363	  monitor, freeing up the underlying machine pages so they can
364	  be allocated to other guests. The balloon can also be deflated
365	  to allow the guest to use more physical memory.
366
367	  If unsure, say N.
368
369	  To compile this driver as a module, choose M here: the
370	  module will be called vmw_balloon.
371
372config PCH_PHUB
373	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB"
374	select GENERIC_NET_UTILS
375	depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
376	help
377	  This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of
378	  Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded
379	  processor. The Topcliff has MAC address and Option ROM data in SROM.
380	  This driver can access MAC address and Option ROM data in SROM.
381
382	  This driver also can be used for LAPIS Semiconductor's IOH,
383	  ML7213/ML7223/ML7831.
384	  ML7213 which is for IVI(In-Vehicle Infotainment) use.
385	  ML7223 IOH is for MP(Media Phone) use.
386	  ML7831 IOH is for general purpose use.
387	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
388	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
389
390	  To compile this driver as a module, choose M here: the module will
391	  be called pch_phub.
392
393config LATTICE_ECP3_CONFIG
394	tristate "Lattice ECP3 FPGA bitstream configuration via SPI"
395	depends on SPI && SYSFS
396	select FW_LOADER
397	default	n
398	help
399	  This option enables support for bitstream configuration (programming
400	  or loading) of the Lattice ECP3 FPGA family via SPI.
401
402	  If unsure, say N.
403
404config SRAM
405	bool "Generic on-chip SRAM driver"
406	depends on HAS_IOMEM
407	select GENERIC_ALLOCATOR
408	select SRAM_EXEC if ARM
409	help
410	  This driver allows you to declare a memory region to be managed by
411	  the genalloc API. It is supposed to be used for small on-chip SRAM
412	  areas found on many SoCs.
413
414config SRAM_EXEC
415	bool
416
417config DW_XDATA_PCIE
418	depends on PCI
419	tristate "Synopsys DesignWare xData PCIe driver"
420	help
421	  This driver allows controlling Synopsys DesignWare PCIe traffic
422	  generator IP also known as xData, present in Synopsys DesignWare
423	  PCIe Endpoint prototype.
424
425	  If unsure, say N.
426
427config PCI_ENDPOINT_TEST
428	depends on PCI
429	select CRC32
430	tristate "PCI Endpoint Test driver"
431	help
432	   Enable this configuration option to enable the host side test driver
433	   for PCI Endpoint.
434
435config XILINX_SDFEC
436	tristate "Xilinx SDFEC 16"
437	depends on HAS_IOMEM
438	help
439	  This option enables support for the Xilinx SDFEC (Soft Decision
440	  Forward Error Correction) driver. This enables a char driver
441	  for the SDFEC.
442
443	  You may select this driver if your design instantiates the
444	  SDFEC(16nm) hardened block. To compile this as a module choose M.
445
446	  If unsure, say N.
447
448config MISC_RTSX
449	tristate
450	default MISC_RTSX_PCI || MISC_RTSX_USB
451
452config HISI_HIKEY_USB
453	tristate "USB GPIO Hub on HiSilicon Hikey 960/970 Platform"
454	depends on (OF && GPIOLIB) || COMPILE_TEST
455	depends on USB_ROLE_SWITCH
456	help
457	  If you say yes here this adds support for the on-board USB GPIO hub
458	  found on HiKey 960/970 boards, which is necessary to support
459	  switching between the dual-role USB-C port and the USB-A host ports
460	  using only one USB controller.
461
462source "drivers/misc/c2port/Kconfig"
463source "drivers/misc/eeprom/Kconfig"
464source "drivers/misc/cb710/Kconfig"
465source "drivers/misc/ti-st/Kconfig"
466source "drivers/misc/lis3lv02d/Kconfig"
467source "drivers/misc/altera-stapl/Kconfig"
468source "drivers/misc/mei/Kconfig"
469source "drivers/misc/vmw_vmci/Kconfig"
470source "drivers/misc/genwqe/Kconfig"
471source "drivers/misc/echo/Kconfig"
472source "drivers/misc/cxl/Kconfig"
473source "drivers/misc/ocxl/Kconfig"
474source "drivers/misc/bcm-vk/Kconfig"
475source "drivers/misc/cardreader/Kconfig"
476source "drivers/misc/habanalabs/Kconfig"
477source "drivers/misc/uacce/Kconfig"
478source "drivers/misc/pvpanic/Kconfig"
479endmenu
480