Merge tag 'pci-v6.6-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci
[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 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
60 config 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
82 config 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
96 config 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
107 config 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
123 config 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
136 config 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
146 config 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
158 config 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
166 config 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
179 config SMPRO_ERRMON
180         tristate "Ampere Computing SMPro error monitor driver"
181         depends on MFD_SMPRO || COMPILE_TEST
182         help
183           Say Y here to get support for the SMpro error monitor function
184           provided by Ampere Computing's Altra and Altra Max SoCs. Upon
185           loading, the driver creates sysfs files which can be use to gather
186           multiple HW error data reported via read and write system calls.
187
188           To compile this driver as a module, say M here. The driver will be
189           called smpro-errmon.
190
191 config SMPRO_MISC
192         tristate "Ampere Computing SMPro miscellaneous driver"
193         depends on MFD_SMPRO || COMPILE_TEST
194         help
195           Say Y here to get support for the SMpro error miscellalenous function
196           provided by Ampere Computing's Altra and Altra Max SoCs.
197
198           To compile this driver as a module, say M here. The driver will be
199           called smpro-misc.
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 GEHC_ACHC
234         tristate "GEHC ACHC support"
235         depends on SPI && SYSFS
236         depends on SOC_IMX53 || COMPILE_TEST
237         select FW_LOADER
238         help
239           Support for GE ACHC microcontroller, that is part of the GE
240           PPD device.
241
242           To compile this driver as a module, choose M here: the
243           module will be called gehc-achc.
244
245 config HI6421V600_IRQ
246         tristate "HiSilicon Hi6421v600 IRQ and powerkey"
247         depends on OF
248         depends on SPMI
249         depends on HAS_IOMEM
250         select MFD_CORE
251         select REGMAP_SPMI
252         help
253           This driver provides IRQ handling for Hi6421v600, used on
254           some Kirin chipsets, like the one at Hikey 970.
255
256 config HP_ILO
257         tristate "Channel interface driver for the HP iLO processor"
258         depends on PCI
259         help
260           The channel interface driver allows applications to communicate
261           with iLO management processors present on HP ProLiant servers.
262           Upon loading, the driver creates /dev/hpilo/dXccbN files, which
263           can be used to gather data from the management processor, via
264           read and write system calls.
265
266           To compile this driver as a module, choose M here: the
267           module will be called hpilo.
268
269 config QCOM_COINCELL
270         tristate "Qualcomm coincell charger support"
271         depends on MFD_SPMI_PMIC || COMPILE_TEST
272         help
273           This driver supports the coincell block found inside of
274           Qualcomm PMICs.  The coincell charger provides a means to
275           charge a coincell battery or backup capacitor which is used
276           to maintain PMIC register and RTC state in the absence of
277           external power.
278
279 config QCOM_FASTRPC
280         tristate "Qualcomm FastRPC"
281         depends on ARCH_QCOM || COMPILE_TEST
282         depends on RPMSG
283         select DMA_SHARED_BUFFER
284         select QCOM_SCM
285         help
286           Provides a communication mechanism that allows for clients to
287           make remote method invocations across processor boundary to
288           applications DSP processor. Say M if you want to enable this
289           module.
290
291 config SGI_GRU
292         tristate "SGI GRU driver"
293         depends on X86_UV && SMP
294         select MMU_NOTIFIER
295         help
296         The GRU is a hardware resource located in the system chipset. The GRU
297         contains memory that can be mmapped into the user address space. This memory is
298         used to communicate with the GRU to perform functions such as load/store,
299         scatter/gather, bcopy, AMOs, etc.  The GRU is directly accessed by user
300         instructions using user virtual addresses. GRU instructions (ex., bcopy) use
301         user virtual addresses for operands.
302
303         If you are not running on a SGI UV system, say N.
304
305 config SGI_GRU_DEBUG
306         bool  "SGI GRU driver debug"
307         depends on SGI_GRU
308         help
309         This option enables additional debugging code for the SGI GRU driver.
310         If you are unsure, say N.
311
312 config APDS9802ALS
313         tristate "Medfield Avago APDS9802 ALS Sensor module"
314         depends on I2C
315         help
316           If you say yes here you get support for the ALS APDS9802 ambient
317           light sensor.
318
319           This driver can also be built as a module.  If so, the module
320           will be called apds9802als.
321
322 config ISL29003
323         tristate "Intersil ISL29003 ambient light sensor"
324         depends on I2C && SYSFS
325         help
326           If you say yes here you get support for the Intersil ISL29003
327           ambient light sensor.
328
329           This driver can also be built as a module.  If so, the module
330           will be called isl29003.
331
332 config ISL29020
333         tristate "Intersil ISL29020 ambient light sensor"
334         depends on I2C
335         help
336           If you say yes here you get support for the Intersil ISL29020
337           ambient light sensor.
338
339           This driver can also be built as a module.  If so, the module
340           will be called isl29020.
341
342 config SENSORS_TSL2550
343         tristate "Taos TSL2550 ambient light sensor"
344         depends on I2C && SYSFS
345         help
346           If you say yes here you get support for the Taos TSL2550
347           ambient light sensor.
348
349           This driver can also be built as a module.  If so, the module
350           will be called tsl2550.
351
352 config SENSORS_BH1770
353          tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor"
354          depends on I2C
355         help
356            Say Y here if you want to build a driver for BH1770GLC (ROHM) or
357            SFH7770 (Osram) combined ambient light and proximity sensor chip.
358
359            To compile this driver as a module, choose M here: the
360            module will be called bh1770glc. If unsure, say N here.
361
362 config SENSORS_APDS990X
363          tristate "APDS990X combined als and proximity sensors"
364          depends on I2C
365         help
366            Say Y here if you want to build a driver for Avago APDS990x
367            combined ambient light and proximity sensor chip.
368
369            To compile this driver as a module, choose M here: the
370            module will be called apds990x. If unsure, say N here.
371
372 config HMC6352
373         tristate "Honeywell HMC6352 compass"
374         depends on I2C
375         help
376           This driver provides support for the Honeywell HMC6352 compass,
377           providing configuration and heading data via sysfs.
378
379 config DS1682
380         tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm"
381         depends on I2C
382         help
383           If you say yes here you get support for Dallas Semiconductor
384           DS1682 Total Elapsed Time Recorder.
385
386           This driver can also be built as a module.  If so, the module
387           will be called ds1682.
388
389 config VMWARE_BALLOON
390         tristate "VMware Balloon Driver"
391         depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST
392         select MEMORY_BALLOON
393         help
394           This is VMware physical memory management driver which acts
395           like a "balloon" that can be inflated to reclaim physical pages
396           by reserving them in the guest and invalidating them in the
397           monitor, freeing up the underlying machine pages so they can
398           be allocated to other guests. The balloon can also be deflated
399           to allow the guest to use more physical memory.
400
401           If unsure, say N.
402
403           To compile this driver as a module, choose M here: the
404           module will be called vmw_balloon.
405
406 config PCH_PHUB
407         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB"
408         select GENERIC_NET_UTILS
409         depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
410         help
411           This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of
412           Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded
413           processor. The Topcliff has MAC address and Option ROM data in SROM.
414           This driver can access MAC address and Option ROM data in SROM.
415
416           This driver also can be used for LAPIS Semiconductor's IOH,
417           ML7213/ML7223/ML7831.
418           ML7213 which is for IVI(In-Vehicle Infotainment) use.
419           ML7223 IOH is for MP(Media Phone) use.
420           ML7831 IOH is for general purpose use.
421           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
422           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
423
424           To compile this driver as a module, choose M here: the module will
425           be called pch_phub.
426
427 config LATTICE_ECP3_CONFIG
428         tristate "Lattice ECP3 FPGA bitstream configuration via SPI"
429         depends on SPI && SYSFS
430         select FW_LOADER
431         default n
432         help
433           This option enables support for bitstream configuration (programming
434           or loading) of the Lattice ECP3 FPGA family via SPI.
435
436           If unsure, say N.
437
438 config SRAM
439         bool "Generic on-chip SRAM driver"
440         depends on HAS_IOMEM
441         select GENERIC_ALLOCATOR
442         select SRAM_EXEC if ARM
443         help
444           This driver allows you to declare a memory region to be managed by
445           the genalloc API. It is supposed to be used for small on-chip SRAM
446           areas found on many SoCs.
447
448 config SRAM_EXEC
449         bool
450
451 config DW_XDATA_PCIE
452         depends on PCI
453         tristate "Synopsys DesignWare xData PCIe driver"
454         help
455           This driver allows controlling Synopsys DesignWare PCIe traffic
456           generator IP also known as xData, present in Synopsys DesignWare
457           PCIe Endpoint prototype.
458
459           If unsure, say N.
460
461 config PCI_ENDPOINT_TEST
462         depends on PCI
463         select CRC32
464         tristate "PCI Endpoint Test driver"
465         help
466            Enable this configuration option to enable the host side test driver
467            for PCI Endpoint.
468
469 config XILINX_SDFEC
470         tristate "Xilinx SDFEC 16"
471         depends on HAS_IOMEM
472         help
473           This option enables support for the Xilinx SDFEC (Soft Decision
474           Forward Error Correction) driver. This enables a char driver
475           for the SDFEC.
476
477           You may select this driver if your design instantiates the
478           SDFEC(16nm) hardened block. To compile this as a module choose M.
479
480           If unsure, say N.
481
482 config MISC_RTSX
483         tristate
484         default MISC_RTSX_PCI || MISC_RTSX_USB
485
486 config HISI_HIKEY_USB
487         tristate "USB GPIO Hub on HiSilicon Hikey 960/970 Platform"
488         depends on (OF && GPIOLIB) || COMPILE_TEST
489         depends on USB_ROLE_SWITCH
490         help
491           If you say yes here this adds support for the on-board USB GPIO hub
492           found on HiKey 960/970 boards, which is necessary to support
493           switching between the dual-role USB-C port and the USB-A host ports
494           using only one USB controller.
495
496 config OPEN_DICE
497         tristate "Open Profile for DICE driver"
498         depends on OF_RESERVED_MEM
499         depends on HAS_IOMEM
500         help
501           This driver exposes a DICE reserved memory region to userspace via
502           a character device. The memory region contains Compound Device
503           Identifiers (CDIs) generated by firmware as an output of DICE
504           measured boot flow. Userspace can use CDIs for remote attestation
505           and sealing.
506
507           If unsure, say N.
508
509 config VCPU_STALL_DETECTOR
510         tristate "Guest vCPU stall detector"
511         depends on OF && HAS_IOMEM
512         help
513           When this driver is bound inside a KVM guest, it will
514           periodically "pet" an MMIO stall detector device from each vCPU
515           and allow the host to detect vCPU stalls.
516
517           To compile this driver as a module, choose M here: the module
518           will be called vcpu_stall_detector.
519
520           If you do not intend to run this kernel as a guest, say N.
521
522 config TMR_MANAGER
523         tristate "Select TMR Manager"
524         depends on MICROBLAZE && MB_MANAGER
525         help
526           This option enables the driver developed for TMR Manager.
527           The Triple Modular Redundancy(TMR) manager provides support for
528           fault detection.
529
530           Say N here unless you know what you are doing.
531
532 config TMR_INJECT
533         tristate "Select TMR Inject"
534         depends on TMR_MANAGER && FAULT_INJECTION_DEBUG_FS
535         help
536           This option enables the driver developed for TMR Inject.
537           The Triple Modular Redundancy(TMR) Inject provides
538           fault injection.
539
540           Say N here unless you know what you are doing.
541
542 config TPS6594_ESM
543         tristate "TI TPS6594 Error Signal Monitor support"
544         depends on MFD_TPS6594
545         default MFD_TPS6594
546         help
547           Support ESM (Error Signal Monitor) on TPS6594 PMIC devices.
548           ESM is used typically to reboot the board in error condition.
549
550           This driver can also be built as a module.  If so, the module
551           will be called tps6594-esm.
552
553 config TPS6594_PFSM
554         tristate "TI TPS6594 Pre-configurable Finite State Machine support"
555         depends on MFD_TPS6594
556         default MFD_TPS6594
557         help
558           Support PFSM (Pre-configurable Finite State Machine) on TPS6594 PMIC devices.
559           These devices integrate a finite state machine engine, which manages the state
560           of the device during operating state transition.
561
562           This driver can also be built as a module.  If so, the module
563           will be called tps6594-pfsm.
564
565 source "drivers/misc/c2port/Kconfig"
566 source "drivers/misc/eeprom/Kconfig"
567 source "drivers/misc/cb710/Kconfig"
568 source "drivers/misc/ti-st/Kconfig"
569 source "drivers/misc/lis3lv02d/Kconfig"
570 source "drivers/misc/altera-stapl/Kconfig"
571 source "drivers/misc/mei/Kconfig"
572 source "drivers/misc/vmw_vmci/Kconfig"
573 source "drivers/misc/genwqe/Kconfig"
574 source "drivers/misc/echo/Kconfig"
575 source "drivers/misc/cxl/Kconfig"
576 source "drivers/misc/ocxl/Kconfig"
577 source "drivers/misc/bcm-vk/Kconfig"
578 source "drivers/misc/cardreader/Kconfig"
579 source "drivers/misc/uacce/Kconfig"
580 source "drivers/misc/pvpanic/Kconfig"
581 source "drivers/misc/mchp_pci1xxxx/Kconfig"
582 endmenu