Merge tag 'perf-tools-fixes-2021-01-17' of git://git.kernel.org/pub/scm/linux/kernel...
[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
12 config 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
33 config 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
42 config 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
53 config ATMEL_TCLIB
54         bool "Atmel AT32/AT91 Timer/Counter Library"
55         depends on ARCH_AT91
56         help
57           Select this if you want a library to allocate the Timer/Counter
58           blocks found on many Atmel processors.  This facilitates using
59           these blocks by different drivers despite processor differences.
60
61 config DUMMY_IRQ
62         tristate "Dummy IRQ handler"
63         help
64           This module accepts a single 'irq' parameter, which it should register for.
65           The sole purpose of this module is to help with debugging of systems on
66           which spurious IRQs would happen on disabled IRQ vector.
67
68 config IBM_ASM
69         tristate "Device driver for IBM RSA service processor"
70         depends on X86 && PCI && INPUT
71         depends on SERIAL_8250 || SERIAL_8250=n
72         help
73           This option enables device driver support for in-band access to the
74           IBM RSA (Condor) service processor in eServer xSeries systems.
75           The ibmasm device driver allows user space application to access
76           ASM (Advanced Systems Management) functions on the service
77           processor. The driver is meant to be used in conjunction with
78           a user space API.
79           The ibmasm driver also enables the OS to use the UART on the
80           service processor board as a regular serial port. To make use of
81           this feature serial driver support (CONFIG_SERIAL_8250) must be
82           enabled.
83
84           WARNING: This software may not be supported or function
85           correctly on your IBM server. Please consult the IBM ServerProven
86           website <https://www-03.ibm.com/systems/info/x86servers/serverproven/compat/us/>
87           for information on the specific driver level and support statement
88           for your IBM server.
89
90 config IBMVMC
91         tristate "IBM Virtual Management Channel support"
92         depends on PPC_PSERIES
93         help
94           This is the IBM POWER Virtual Management Channel
95
96           This driver is to be used for the POWER Virtual
97           Management Channel virtual adapter on the PowerVM
98           platform. It provides both request/response and
99           async message support through the /dev/ibmvmc node.
100
101           To compile this driver as a module, choose M here: the
102           module will be called ibmvmc.
103
104 config PHANTOM
105         tristate "Sensable PHANToM (PCI)"
106         depends on PCI
107         help
108           Say Y here if you want to build a driver for Sensable PHANToM device.
109
110           This driver is only for PCI PHANToMs.
111
112           If you choose to build module, its name will be phantom. If unsure,
113           say N here.
114
115 config INTEL_MID_PTI
116         tristate "Parallel Trace Interface for MIPI P1149.7 cJTAG standard"
117         depends on PCI && TTY && (X86_INTEL_MID || COMPILE_TEST)
118         help
119           The PTI (Parallel Trace Interface) driver directs
120           trace data routed from various parts in the system out
121           through an Intel Penwell PTI port and out of the mobile
122           device for analysis with a debugging tool (Lauterbach or Fido).
123
124           You should select this driver if the target kernel is meant for
125           an Intel Atom (non-netbook) mobile device containing a MIPI
126           P1149.7 standard implementation.
127
128 config TIFM_CORE
129         tristate "TI Flash Media interface support"
130         depends on PCI
131         help
132           If you want support for Texas Instruments(R) Flash Media adapters
133           you should select this option and then also choose an appropriate
134           host adapter, such as 'TI Flash Media PCI74xx/PCI76xx host adapter
135           support', if you have a TI PCI74xx compatible card reader, for
136           example.
137           You will also have to select some flash card format drivers. MMC/SD
138           cards are supported via 'MMC/SD Card support: TI Flash Media MMC/SD
139           Interface support (MMC_TIFM_SD)'.
140
141           To compile this driver as a module, choose M here: the module will
142           be called tifm_core.
143
144 config TIFM_7XX1
145         tristate "TI Flash Media PCI74xx/PCI76xx host adapter support"
146         depends on PCI && TIFM_CORE
147         default TIFM_CORE
148         help
149           This option enables support for Texas Instruments(R) PCI74xx and
150           PCI76xx families of Flash Media adapters, found in many laptops.
151           To make actual use of the device, you will have to select some
152           flash card format drivers, as outlined in the TIFM_CORE Help.
153
154           To compile this driver as a module, choose M here: the module will
155           be called tifm_7xx1.
156
157 config ICS932S401
158         tristate "Integrated Circuits ICS932S401"
159         depends on I2C
160         help
161           If you say yes here you get support for the Integrated Circuits
162           ICS932S401 clock control chips.
163
164           This driver can also be built as a module. If so, the module
165           will be called ics932s401.
166
167 config ATMEL_SSC
168         tristate "Device driver for Atmel SSC peripheral"
169         depends on HAS_IOMEM && (ARCH_AT91 || COMPILE_TEST)
170         help
171           This option enables device driver support for Atmel Synchronized
172           Serial Communication peripheral (SSC).
173
174           The SSC peripheral supports a wide variety of serial frame based
175           communications, i.e. I2S, SPI, etc.
176
177           If unsure, say N.
178
179 config ENCLOSURE_SERVICES
180         tristate "Enclosure Services"
181         help
182           Provides support for intelligent enclosures (bays which
183           contain storage devices).  You also need either a host
184           driver (SCSI/ATA) which supports enclosures
185           or a SCSI enclosure device (SES) to use these services.
186
187 config SGI_XP
188         tristate "Support communication between SGI SSIs"
189         depends on NET
190         depends on (IA64_SGI_UV || X86_UV) && SMP
191         depends on X86_64 || BROKEN
192         select SGI_GRU if X86_64 && SMP
193         help
194           An SGI machine can be divided into multiple Single System
195           Images which act independently of each other and have
196           hardware based memory protection from the others.  Enabling
197           this feature will allow for direct communication between SSIs
198           based on a network adapter and DMA messaging.
199
200 config CS5535_MFGPT
201         tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support"
202         depends on MFD_CS5535
203         help
204           This driver provides access to MFGPT functionality for other
205           drivers that need timers.  MFGPTs are available in the CS5535 and
206           CS5536 companion chips that are found in AMD Geode and several
207           other platforms.  They have a better resolution and max interval
208           than the generic PIT, and are suitable for use as high-res timers.
209           You probably don't want to enable this manually; other drivers that
210           make use of it should enable it.
211
212 config CS5535_MFGPT_DEFAULT_IRQ
213         int
214         depends on CS5535_MFGPT
215         default 7
216         help
217           MFGPTs on the CS5535 require an interrupt.  The selected IRQ
218           can be overridden as a module option as well as by driver that
219           use the cs5535_mfgpt_ API; however, different architectures might
220           want to use a different IRQ by default.  This is here for
221           architectures to set as necessary.
222
223 config CS5535_CLOCK_EVENT_SRC
224         tristate "CS5535/CS5536 high-res timer (MFGPT) events"
225         depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT
226         help
227           This driver provides a clock event source based on the MFGPT
228           timer(s) in the CS5535 and CS5536 companion chips.
229           MFGPTs have a better resolution and max interval than the
230           generic PIT, and are suitable for use as high-res timers.
231
232 config HP_ILO
233         tristate "Channel interface driver for the HP iLO processor"
234         depends on PCI
235         help
236           The channel interface driver allows applications to communicate
237           with iLO management processors present on HP ProLiant servers.
238           Upon loading, the driver creates /dev/hpilo/dXccbN files, which
239           can be used to gather data from the management processor, via
240           read and write system calls.
241
242           To compile this driver as a module, choose M here: the
243           module will be called hpilo.
244
245 config QCOM_COINCELL
246         tristate "Qualcomm coincell charger support"
247         depends on MFD_SPMI_PMIC || COMPILE_TEST
248         help
249           This driver supports the coincell block found inside of
250           Qualcomm PMICs.  The coincell charger provides a means to
251           charge a coincell battery or backup capacitor which is used
252           to maintain PMIC register and RTC state in the absence of
253           external power.
254
255 config QCOM_FASTRPC
256         tristate "Qualcomm FastRPC"
257         depends on ARCH_QCOM || COMPILE_TEST
258         depends on RPMSG
259         select DMA_SHARED_BUFFER
260         help
261           Provides a communication mechanism that allows for clients to
262           make remote method invocations across processor boundary to
263           applications DSP processor. Say M if you want to enable this
264           module.
265
266 config SGI_GRU
267         tristate "SGI GRU driver"
268         depends on X86_UV && SMP
269         select MMU_NOTIFIER
270         help
271         The GRU is a hardware resource located in the system chipset. The GRU
272         contains memory that can be mmapped into the user address space. This memory is
273         used to communicate with the GRU to perform functions such as load/store,
274         scatter/gather, bcopy, AMOs, etc.  The GRU is directly accessed by user
275         instructions using user virtual addresses. GRU instructions (ex., bcopy) use
276         user virtual addresses for operands.
277
278         If you are not running on a SGI UV system, say N.
279
280 config SGI_GRU_DEBUG
281         bool  "SGI GRU driver debug"
282         depends on SGI_GRU
283         help
284         This option enables additional debugging code for the SGI GRU driver.
285         If you are unsure, say N.
286
287 config APDS9802ALS
288         tristate "Medfield Avago APDS9802 ALS Sensor module"
289         depends on I2C
290         help
291           If you say yes here you get support for the ALS APDS9802 ambient
292           light sensor.
293
294           This driver can also be built as a module.  If so, the module
295           will be called apds9802als.
296
297 config ISL29003
298         tristate "Intersil ISL29003 ambient light sensor"
299         depends on I2C && SYSFS
300         help
301           If you say yes here you get support for the Intersil ISL29003
302           ambient light sensor.
303
304           This driver can also be built as a module.  If so, the module
305           will be called isl29003.
306
307 config ISL29020
308         tristate "Intersil ISL29020 ambient light sensor"
309         depends on I2C
310         help
311           If you say yes here you get support for the Intersil ISL29020
312           ambient light sensor.
313
314           This driver can also be built as a module.  If so, the module
315           will be called isl29020.
316
317 config SENSORS_TSL2550
318         tristate "Taos TSL2550 ambient light sensor"
319         depends on I2C && SYSFS
320         help
321           If you say yes here you get support for the Taos TSL2550
322           ambient light sensor.
323
324           This driver can also be built as a module.  If so, the module
325           will be called tsl2550.
326
327 config SENSORS_BH1770
328          tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor"
329          depends on I2C
330         help
331            Say Y here if you want to build a driver for BH1770GLC (ROHM) or
332            SFH7770 (Osram) combined ambient light and proximity sensor chip.
333
334            To compile this driver as a module, choose M here: the
335            module will be called bh1770glc. If unsure, say N here.
336
337 config SENSORS_APDS990X
338          tristate "APDS990X combined als and proximity sensors"
339          depends on I2C
340         help
341            Say Y here if you want to build a driver for Avago APDS990x
342            combined ambient light and proximity sensor chip.
343
344            To compile this driver as a module, choose M here: the
345            module will be called apds990x. If unsure, say N here.
346
347 config HMC6352
348         tristate "Honeywell HMC6352 compass"
349         depends on I2C
350         help
351           This driver provides support for the Honeywell HMC6352 compass,
352           providing configuration and heading data via sysfs.
353
354 config DS1682
355         tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm"
356         depends on I2C
357         help
358           If you say yes here you get support for Dallas Semiconductor
359           DS1682 Total Elapsed Time Recorder.
360
361           This driver can also be built as a module.  If so, the module
362           will be called ds1682.
363
364 config VMWARE_BALLOON
365         tristate "VMware Balloon Driver"
366         depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST
367         select MEMORY_BALLOON
368         help
369           This is VMware physical memory management driver which acts
370           like a "balloon" that can be inflated to reclaim physical pages
371           by reserving them in the guest and invalidating them in the
372           monitor, freeing up the underlying machine pages so they can
373           be allocated to other guests. The balloon can also be deflated
374           to allow the guest to use more physical memory.
375
376           If unsure, say N.
377
378           To compile this driver as a module, choose M here: the
379           module will be called vmw_balloon.
380
381 config PCH_PHUB
382         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB"
383         select GENERIC_NET_UTILS
384         depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
385         help
386           This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of
387           Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded
388           processor. The Topcliff has MAC address and Option ROM data in SROM.
389           This driver can access MAC address and Option ROM data in SROM.
390
391           This driver also can be used for LAPIS Semiconductor's IOH,
392           ML7213/ML7223/ML7831.
393           ML7213 which is for IVI(In-Vehicle Infotainment) use.
394           ML7223 IOH is for MP(Media Phone) use.
395           ML7831 IOH is for general purpose use.
396           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
397           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
398
399           To compile this driver as a module, choose M here: the module will
400           be called pch_phub.
401
402 config LATTICE_ECP3_CONFIG
403         tristate "Lattice ECP3 FPGA bitstream configuration via SPI"
404         depends on SPI && SYSFS
405         select FW_LOADER
406         default n
407         help
408           This option enables support for bitstream configuration (programming
409           or loading) of the Lattice ECP3 FPGA family via SPI.
410
411           If unsure, say N.
412
413 config SRAM
414         bool "Generic on-chip SRAM driver"
415         depends on HAS_IOMEM
416         select GENERIC_ALLOCATOR
417         select SRAM_EXEC if ARM
418         help
419           This driver allows you to declare a memory region to be managed by
420           the genalloc API. It is supposed to be used for small on-chip SRAM
421           areas found on many SoCs.
422
423 config SRAM_EXEC
424         bool
425
426 config PCI_ENDPOINT_TEST
427         depends on PCI
428         select CRC32
429         tristate "PCI Endpoint Test driver"
430         help
431            Enable this configuration option to enable the host side test driver
432            for PCI Endpoint.
433
434 config XILINX_SDFEC
435         tristate "Xilinx SDFEC 16"
436         depends on HAS_IOMEM
437         help
438           This option enables support for the Xilinx SDFEC (Soft Decision
439           Forward Error Correction) driver. This enables a char driver
440           for the SDFEC.
441
442           You may select this driver if your design instantiates the
443           SDFEC(16nm) hardened block. To compile this as a module choose M.
444
445           If unsure, say N.
446
447 config MISC_RTSX
448         tristate
449         default MISC_RTSX_PCI || MISC_RTSX_USB
450
451 config PVPANIC
452         tristate "pvpanic device support"
453         depends on HAS_IOMEM && (ACPI || OF)
454         help
455           This driver provides support for the pvpanic device.  pvpanic is
456           a paravirtualized device provided by QEMU; it lets a virtual machine
457           (guest) communicate panic events to the host.
458
459 config HISI_HIKEY_USB
460         tristate "USB GPIO Hub on HiSilicon Hikey 960/970 Platform"
461         depends on (OF && GPIOLIB) || COMPILE_TEST
462         depends on USB_ROLE_SWITCH
463         help
464           If you say yes here this adds support for the on-board USB GPIO hub
465           found on HiKey 960/970 boards, which is necessary to support
466           switching between the dual-role USB-C port and the USB-A host ports
467           using only one USB controller.
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/genwqe/Kconfig"
478 source "drivers/misc/echo/Kconfig"
479 source "drivers/misc/cxl/Kconfig"
480 source "drivers/misc/ocxl/Kconfig"
481 source "drivers/misc/cardreader/Kconfig"
482 source "drivers/misc/habanalabs/Kconfig"
483 source "drivers/misc/uacce/Kconfig"
484 endmenu