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