misc: xilinx-sdfec: fix dependency and build error
[platform/kernel/linux-rpi.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 SGI_IOC4
130         tristate "SGI IOC4 Base IO support"
131         depends on PCI
132         ---help---
133           This option enables basic support for the IOC4 chip on certain
134           SGI IO controller cards (IO9, IO10, and PCI-RT).  This option
135           does not enable any specific functions on such a card, but provides
136           necessary infrastructure for other drivers to utilize.
137
138           If you have an SGI Altix with an IOC4-based card say Y.
139           Otherwise say N.
140
141 config TIFM_CORE
142         tristate "TI Flash Media interface support"
143         depends on PCI
144         help
145           If you want support for Texas Instruments(R) Flash Media adapters
146           you should select this option and then also choose an appropriate
147           host adapter, such as 'TI Flash Media PCI74xx/PCI76xx host adapter
148           support', if you have a TI PCI74xx compatible card reader, for
149           example.
150           You will also have to select some flash card format drivers. MMC/SD
151           cards are supported via 'MMC/SD Card support: TI Flash Media MMC/SD
152           Interface support (MMC_TIFM_SD)'.
153
154           To compile this driver as a module, choose M here: the module will
155           be called tifm_core.
156
157 config TIFM_7XX1
158         tristate "TI Flash Media PCI74xx/PCI76xx host adapter support"
159         depends on PCI && TIFM_CORE
160         default TIFM_CORE
161         help
162           This option enables support for Texas Instruments(R) PCI74xx and
163           PCI76xx families of Flash Media adapters, found in many laptops.
164           To make actual use of the device, you will have to select some
165           flash card format drivers, as outlined in the TIFM_CORE Help.
166
167           To compile this driver as a module, choose M here: the module will
168           be called tifm_7xx1.
169
170 config ICS932S401
171         tristate "Integrated Circuits ICS932S401"
172         depends on I2C
173         help
174           If you say yes here you get support for the Integrated Circuits
175           ICS932S401 clock control chips.
176
177           This driver can also be built as a module. If so, the module
178           will be called ics932s401.
179
180 config ATMEL_SSC
181         tristate "Device driver for Atmel SSC peripheral"
182         depends on HAS_IOMEM && (ARCH_AT91 || COMPILE_TEST)
183         ---help---
184           This option enables device driver support for Atmel Synchronized
185           Serial Communication peripheral (SSC).
186
187           The SSC peripheral supports a wide variety of serial frame based
188           communications, i.e. I2S, SPI, etc.
189
190           If unsure, say N.
191
192 config ENCLOSURE_SERVICES
193         tristate "Enclosure Services"
194         help
195           Provides support for intelligent enclosures (bays which
196           contain storage devices).  You also need either a host
197           driver (SCSI/ATA) which supports enclosures
198           or a SCSI enclosure device (SES) to use these services.
199
200 config SGI_XP
201         tristate "Support communication between SGI SSIs"
202         depends on NET
203         depends on (IA64_GENERIC || IA64_SGI_SN2 || IA64_SGI_UV || X86_UV) && SMP
204         select IA64_UNCACHED_ALLOCATOR if IA64_GENERIC || IA64_SGI_SN2
205         select GENERIC_ALLOCATOR if IA64_GENERIC || IA64_SGI_SN2
206         select SGI_GRU if X86_64 && SMP
207         ---help---
208           An SGI machine can be divided into multiple Single System
209           Images which act independently of each other and have
210           hardware based memory protection from the others.  Enabling
211           this feature will allow for direct communication between SSIs
212           based on a network adapter and DMA messaging.
213
214 config CS5535_MFGPT
215         tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support"
216         depends on MFD_CS5535
217         help
218           This driver provides access to MFGPT functionality for other
219           drivers that need timers.  MFGPTs are available in the CS5535 and
220           CS5536 companion chips that are found in AMD Geode and several
221           other platforms.  They have a better resolution and max interval
222           than the generic PIT, and are suitable for use as high-res timers.
223           You probably don't want to enable this manually; other drivers that
224           make use of it should enable it.
225
226 config CS5535_MFGPT_DEFAULT_IRQ
227         int
228         depends on CS5535_MFGPT
229         default 7
230         help
231           MFGPTs on the CS5535 require an interrupt.  The selected IRQ
232           can be overridden as a module option as well as by driver that
233           use the cs5535_mfgpt_ API; however, different architectures might
234           want to use a different IRQ by default.  This is here for
235           architectures to set as necessary.
236
237 config CS5535_CLOCK_EVENT_SRC
238         tristate "CS5535/CS5536 high-res timer (MFGPT) events"
239         depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT
240         help
241           This driver provides a clock event source based on the MFGPT
242           timer(s) in the CS5535 and CS5536 companion chips.
243           MFGPTs have a better resolution and max interval than the
244           generic PIT, and are suitable for use as high-res timers.
245
246 config HP_ILO
247         tristate "Channel interface driver for the HP iLO processor"
248         depends on PCI
249         help
250           The channel interface driver allows applications to communicate
251           with iLO management processors present on HP ProLiant servers.
252           Upon loading, the driver creates /dev/hpilo/dXccbN files, which
253           can be used to gather data from the management processor, via
254           read and write system calls.
255
256           To compile this driver as a module, choose M here: the
257           module will be called hpilo.
258
259 config QCOM_COINCELL
260         tristate "Qualcomm coincell charger support"
261         depends on MFD_SPMI_PMIC || COMPILE_TEST
262         help
263           This driver supports the coincell block found inside of
264           Qualcomm PMICs.  The coincell charger provides a means to
265           charge a coincell battery or backup capacitor which is used
266           to maintain PMIC register and RTC state in the absence of
267           external power.
268
269 config QCOM_FASTRPC
270         tristate "Qualcomm FastRPC"
271         depends on ARCH_QCOM || COMPILE_TEST
272         depends on RPMSG
273         select DMA_SHARED_BUFFER
274         help
275           Provides a communication mechanism that allows for clients to
276           make remote method invocations across processor boundary to
277           applications DSP processor. Say M if you want to enable this
278           module.
279
280 config SGI_GRU
281         tristate "SGI GRU driver"
282         depends on X86_UV && SMP
283         select MMU_NOTIFIER
284         ---help---
285         The GRU is a hardware resource located in the system chipset. The GRU
286         contains memory that can be mmapped into the user address space. This memory is
287         used to communicate with the GRU to perform functions such as load/store,
288         scatter/gather, bcopy, AMOs, etc.  The GRU is directly accessed by user
289         instructions using user virtual addresses. GRU instructions (ex., bcopy) use
290         user virtual addresses for operands.
291
292         If you are not running on a SGI UV system, say N.
293
294 config SGI_GRU_DEBUG
295         bool  "SGI GRU driver debug"
296         depends on SGI_GRU
297         ---help---
298         This option enables additional debugging code for the SGI GRU driver.
299         If you are unsure, say N.
300
301 config APDS9802ALS
302         tristate "Medfield Avago APDS9802 ALS Sensor module"
303         depends on I2C
304         help
305           If you say yes here you get support for the ALS APDS9802 ambient
306           light sensor.
307
308           This driver can also be built as a module.  If so, the module
309           will be called apds9802als.
310
311 config ISL29003
312         tristate "Intersil ISL29003 ambient light sensor"
313         depends on I2C && SYSFS
314         help
315           If you say yes here you get support for the Intersil ISL29003
316           ambient light sensor.
317
318           This driver can also be built as a module.  If so, the module
319           will be called isl29003.
320
321 config ISL29020
322         tristate "Intersil ISL29020 ambient light sensor"
323         depends on I2C
324         help
325           If you say yes here you get support for the Intersil ISL29020
326           ambient light sensor.
327
328           This driver can also be built as a module.  If so, the module
329           will be called isl29020.
330
331 config SENSORS_TSL2550
332         tristate "Taos TSL2550 ambient light sensor"
333         depends on I2C && SYSFS
334         help
335           If you say yes here you get support for the Taos TSL2550
336           ambient light sensor.
337
338           This driver can also be built as a module.  If so, the module
339           will be called tsl2550.
340
341 config SENSORS_BH1770
342          tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor"
343          depends on I2C
344          ---help---
345            Say Y here if you want to build a driver for BH1770GLC (ROHM) or
346            SFH7770 (Osram) combined ambient light and proximity sensor chip.
347
348            To compile this driver as a module, choose M here: the
349            module will be called bh1770glc. If unsure, say N here.
350
351 config SENSORS_APDS990X
352          tristate "APDS990X combined als and proximity sensors"
353          depends on I2C
354          ---help---
355            Say Y here if you want to build a driver for Avago APDS990x
356            combined ambient light and proximity sensor chip.
357
358            To compile this driver as a module, choose M here: the
359            module will be called apds990x. If unsure, say N here.
360
361 config HMC6352
362         tristate "Honeywell HMC6352 compass"
363         depends on I2C
364         help
365           This driver provides support for the Honeywell HMC6352 compass,
366           providing configuration and heading data via sysfs.
367
368 config DS1682
369         tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm"
370         depends on I2C
371         help
372           If you say yes here you get support for Dallas Semiconductor
373           DS1682 Total Elapsed Time Recorder.
374
375           This driver can also be built as a module.  If so, the module
376           will be called ds1682.
377
378 config SPEAR13XX_PCIE_GADGET
379         bool "PCIe gadget support for SPEAr13XX platform"
380         depends on ARCH_SPEAR13XX && BROKEN
381         help
382          This option enables gadget support for PCIe controller. If
383          board file defines any controller as PCIe endpoint then a sysfs
384          entry will be created for that controller. User can use these
385          sysfs node to configure PCIe EP as per his requirements.
386
387 config VMWARE_BALLOON
388         tristate "VMware Balloon Driver"
389         depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST
390         select MEMORY_BALLOON
391         help
392           This is VMware physical memory management driver which acts
393           like a "balloon" that can be inflated to reclaim physical pages
394           by reserving them in the guest and invalidating them in the
395           monitor, freeing up the underlying machine pages so they can
396           be allocated to other guests. The balloon can also be deflated
397           to allow the guest to use more physical memory.
398
399           If unsure, say N.
400
401           To compile this driver as a module, choose M here: the
402           module will be called vmw_balloon.
403
404 config PCH_PHUB
405         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB"
406         select GENERIC_NET_UTILS
407         depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
408         help
409           This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of
410           Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded
411           processor. The Topcliff has MAC address and Option ROM data in SROM.
412           This driver can access MAC address and Option ROM data in SROM.
413
414           This driver also can be used for LAPIS Semiconductor's IOH,
415           ML7213/ML7223/ML7831.
416           ML7213 which is for IVI(In-Vehicle Infotainment) use.
417           ML7223 IOH is for MP(Media Phone) use.
418           ML7831 IOH is for general purpose use.
419           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
420           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
421
422           To compile this driver as a module, choose M here: the module will
423           be called pch_phub.
424
425 config LATTICE_ECP3_CONFIG
426         tristate "Lattice ECP3 FPGA bitstream configuration via SPI"
427         depends on SPI && SYSFS
428         select FW_LOADER
429         default n
430         help
431           This option enables support for bitstream configuration (programming
432           or loading) of the Lattice ECP3 FPGA family via SPI.
433
434           If unsure, say N.
435
436 config SRAM
437         bool "Generic on-chip SRAM driver"
438         depends on HAS_IOMEM
439         select GENERIC_ALLOCATOR
440         select SRAM_EXEC if ARM
441         help
442           This driver allows you to declare a memory region to be managed by
443           the genalloc API. It is supposed to be used for small on-chip SRAM
444           areas found on many SoCs.
445
446 config SRAM_EXEC
447         bool
448
449 config VEXPRESS_SYSCFG
450         bool "Versatile Express System Configuration driver"
451         depends on VEXPRESS_CONFIG
452         default y
453         help
454           ARM Ltd. Versatile Express uses specialised platform configuration
455           bus. System Configuration interface is one of the possible means
456           of generating transactions on this bus.
457
458 config PCI_ENDPOINT_TEST
459         depends on PCI
460         select CRC32
461         tristate "PCI Endpoint Test driver"
462         ---help---
463            Enable this configuration option to enable the host side test driver
464            for PCI Endpoint.
465
466 config XILINX_SDFEC
467         tristate "Xilinx SDFEC 16"
468         depends on HAS_IOMEM
469         help
470           This option enables support for the Xilinx SDFEC (Soft Decision
471           Forward Error Correction) driver. This enables a char driver
472           for the SDFEC.
473
474           You may select this driver if your design instantiates the
475           SDFEC(16nm) hardened block. To compile this as a module choose M.
476
477           If unsure, say N.
478
479 config MISC_RTSX
480         tristate
481         default MISC_RTSX_PCI || MISC_RTSX_USB
482
483 config PVPANIC
484         tristate "pvpanic device support"
485         depends on HAS_IOMEM && (ACPI || OF)
486         help
487           This driver provides support for the pvpanic device.  pvpanic is
488           a paravirtualized device provided by QEMU; it lets a virtual machine
489           (guest) communicate panic events to the host.
490
491 source "drivers/misc/c2port/Kconfig"
492 source "drivers/misc/eeprom/Kconfig"
493 source "drivers/misc/cb710/Kconfig"
494 source "drivers/misc/ti-st/Kconfig"
495 source "drivers/misc/lis3lv02d/Kconfig"
496 source "drivers/misc/altera-stapl/Kconfig"
497 source "drivers/misc/mei/Kconfig"
498 source "drivers/misc/vmw_vmci/Kconfig"
499 source "drivers/misc/mic/Kconfig"
500 source "drivers/misc/genwqe/Kconfig"
501 source "drivers/misc/echo/Kconfig"
502 source "drivers/misc/cxl/Kconfig"
503 source "drivers/misc/ocxl/Kconfig"
504 source "drivers/misc/cardreader/Kconfig"
505 source "drivers/misc/habanalabs/Kconfig"
506 endmenu